qsiprep icon indicating copy to clipboard operation
qsiprep copied to clipboard

QSIPrep failed: Workflow did not execute cleanly

Open barisgenc12 opened this issue 3 years ago • 7 comments

Hi everyone.

I wanted to preprocess my 32-way b=1000 dataset with QSIprep. The computer I use is macbook pro 2012 For this I wrote the following code:

sudo /Users/barisgenc/.local/bin/qsiprep-docker /Users/barisgenc/Documents/BIDStest /Users/barisgenc/Documents/BIDStest/derivatives --output-resolution 1.2 --fs-license-file ../license. txt -w /Users/barisgenc/Documents/BIDStrial/derivatives --use-syn-sdc --force-syn --nthreads 7 --low-mem --mem-mb 16000

I got the following error after T1 data was partially processed.

211218-22:39:09,130 ​​nipype.workflow ERROR: could not run node: qsiprep_wf.single_subject_01_wf.dwi_preproc_wf.hmc_sdc_wf.gather_inputs 211218-22:39:09,144 nipype.workflow ERROR: could not run node: qsiprep_wf.single_subject_02_wf.dwi_preproc_wf.hmc_sdc_wf.gather_inputs QSIPrep failed: Workflow did not execute cleanly. Check log for details Traceback (most recent call last): File "/usr/local/miniconda/bin/qsiprep", line 8, in sys.exit(main()) File "/usr/local/miniconda/lib/python3.7/site-packages/qsiprep/cli/run.py", line 647, in main qsiprep_wf.run(**plugin_settings) File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/workflows.py", line 638, in run runner.run(execgraph, updatehash=updatehash, config=self.config) File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/base.py", line 192, in run report_nodes_not_run(notrun) File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/tools.py", line 97, in report_nodes_not_run ("Workflow did not execute cleanly. " "Check log for details") RuntimeError: Workflow did not execute cleanly. Check log for details

How can I solve this?

barisgenc12 avatar Dec 19 '21 10:12 barisgenc12

Hi, a few questions to help address the issue:

  1. What version QSIPrep are you using (if not the current version - 0.14.3 - update to current version)?
  2. Is your dataset BIDS valid (if not, make it BIDS valid)?
  3. Can you paste the output of the log file (should be in the subject's qsiprep derivatives folder)?

I would also recommend not putting the workdir as the same as the output directory.

Steven

smeisler avatar Dec 19 '21 17:12 smeisler

1- QSI prep version is QSIPrep 0.14.3 2- my data set is valid. 3- Log folder contains only citation.html. I couldn't find log file.

barisgenc12 avatar Dec 24 '21 21:12 barisgenc12

The log would be in the subject’s output directory

smeisler avatar Dec 24 '21 22:12 smeisler

Node: qsiprep_wf.single_subject_01_wf.dwi_preproc_wf.hmc_sdc_wf.gather_inputs Working directory: /tmp/work/qsiprep_wf/single_subject_01_wf/dwi_preproc_wf/hmc_sdc_wf/gather_inputs

Node inputs:

b0_threshold = 100 bval_file = bvec_file = dwi_file = epi_fmaps = original_files = topup_max_b0s_per_spec = 3 topup_requested = False

Traceback (most recent call last): File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node result["result"] = node.run(updatehash=updatehash) File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 516, in run result = self._run_interface(execute=True) File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 635, in _run_interface return self._run_command(execute) File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 741, in _run_command result = self._interface.run(cwd=outdir) File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 428, in run runtime = self._run_interface(runtime) File "/usr/local/miniconda/lib/python3.7/site-packages/qsiprep/interfaces/eddy.py", line 83, in _run_interface topup_requested=self.inputs.topup_requested) File "/usr/local/miniconda/lib/python3.7/site-packages/qsiprep/interfaces/epi_fmap.py", line 202, in get_best_b0_topup_inputs_from spec_lookup[unique_bids_file] = spec_line % spec['TotalReadoutTime'] TypeError: must be real number, not NoneType

barisgenc12 avatar Dec 24 '21 22:12 barisgenc12

Your DWI json file must be missing the field TotalReadoutTime. If that data is not available you should not run SYN SDC. You can try to use the most recent dcm2niix to get the info if you have the dicoms available.

smeisler avatar Dec 24 '21 23:12 smeisler

hello smeisler.

I solved the problem with the command export PATH=/Users/baris/Library/Python/3.8/bin:$PATH.

Thank you very much for your help

barisgenc12 avatar Jan 06 '22 19:01 barisgenc12

@barisgenc12 I don't think environment variables in your shell session will have any effect on the qsiprep run inside of docker. Where did you change the path?

mattcieslak avatar Jan 13 '22 15:01 mattcieslak