Hi,
I am trying to use the qsiprep reconstruction pipeline but the execution quickly crashes, I assume I have a mistake in the command I evoke:
- QSIPREP version: 0.15.2
- singularity installation
- freesurfer folder was created by a previous fmriprep (v 21.0.2) execution
- command :
study=EcriPark
EXPDIR=/scratch/jsein/BIDS/$study
OUTDIR=
list_sub='CTR13'
part=participant
singularity run --cleanenv -B /scratch/jsein/BIDS:/work \
--nv /scratch/jsein/my_images/qsiprep-0.15.2.sif /work/$study \
/work/$study/derivatives/$OUTDIR $part --participant_label $list_sub \
-w /work/temp_data_${study} --output-resolution 1.8 --fs-license-file /work/freesurfer/license.txt \
--template MNI152NLin2009cAsym \
--recon-only --recon-spec mrtrix_multishell_msmt_ACT-hsvs --recon-input /work/$study/derivatives/qsiprep \
--freesurfer-input /work/$study/derivatives/fmriprep/sourcedata/freesurfer
Error output:
Process Process-2:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/interfaces/base/traits_extension.py", line 129, in validate
value = Path(value) # Use pathlib's validation
File "/usr/local/miniconda/lib/python3.8/pathlib.py", line 1042, in __new__
self = cls._from_parts(args, init=False)
File "/usr/local/miniconda/lib/python3.8/pathlib.py", line 683, in _from_parts
drv, root, parts = self._parse_args(args)
File "/usr/local/miniconda/lib/python3.8/pathlib.py", line 667, in _parse_args
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/usr/local/miniconda/lib/python3.8/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/cli/run.py", line 1169, in build_recon_workflow
retval['workflow'] = init_qsirecon_wf(
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/workflows/recon/base.py", line 89, in init_qsirecon_wf
single_subject_wf = init_single_subject_wf(
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/workflows/recon/base.py", line 234, in init_single_subject_wf
dwi_recon_wf = init_dwi_recon_workflow(
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/workflows/recon/build_workflow.py", line 48, in init_dwi_recon_workflow
registered_anat_wf, available_anatomical_data = init_dwi_recon_anatomical_workflow(
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/workflows/recon/anatomical.py", line 432, in init_dwi_recon_anatomical_workflow
nio.FreeSurferSource(
File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 202, in __init__
self.inputs.trait_set(**inputs)
File "/usr/local/miniconda/lib/python3.8/site-packages/traits/has_traits.py", line 1520, in trait_set
setattr(self, name, value)
File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/interfaces/base/traits_extension.py", line 131, in validate
self.error(objekt, name, str(value))
File "/usr/local/miniconda/lib/python3.8/site-packages/traits/base_trait_handler.py", line 74, in error
raise TraitError(
traits.trait_errors.TraitError: The 'subjects_dir' trait of a FSSourceInputSpec instance must be a pathlike object or string representing an existing directory, but a value of 'None' <class 'str'> was specified.
Output:
220612-00:57:58,46 nipype.utils WARNING:
A newer version (1.8.1) of nipy/nipype is available. You are using 1.7.0
220612-00:58:40,69 nipype.workflow IMPORTANT:
Running qsirecon version 0.15.2:
* BIDS dataset path: /work/EcriPark.
* Participant list: ['CTR13'].
* Run identifier: 20220612-005758_b847161d-1829-4d59-9527-a8bf7dc2e845.
220612-00:58:40,421 nipype.workflow INFO:
found ['/work/EcriPark/derivatives/qsiprep/sub-CTR13/dwi/sub-CTR13_space-T1w_desc-preproc_dwi.nii.gz'] in /work/EcriPark/derivatives/qsiprep
220612-00:58:40,423 nipype.workflow INFO:
Missing T1w QSIPrep outputs found: /work/EcriPark/derivatives/qsiprep/sub-CTR13/anat/sub-CTR13_desc-brain_mask.nii.gz /work/EcriPark/derivatives/qsiprep/sub-CTR13/anat/sub-CTR13_desc-preproc_T1w.nii.gz
220612-00:58:40,423 nipype.workflow INFO:
Missing T1w QSIPrep outputs found: /work/EcriPark/derivatives/qsiprep/sub-CTR13/anat/sub-CTR13_from-T1w_to-MNI152NLin2009cAsym_mode-image_xfm.h5 /work/EcriPark/derivatives/qsiprep/sub-CTR13/anat/sub-CTR13_from-MNI152NLin2009cAsym_to-T1w_mode-image_xfm.h5
220612-00:58:40,424 nipype.workflow INFO:
Freesurfer directory /work/EcriPark/derivatives/fmriprep/sourcedata/freesurfer/sub-CTR13 exists for CTR13
220612-00:58:40,426 nipype.workflow INFO:
FreeSurfer data will be used to create a HSVS 5tt image.
220612-00:58:40,427 nipype.workflow INFO:
Anatomical (T1w) available for recon: {'has_qsiprep_5tt_fast': False, 'has_qsiprep_5tt_hsvs': False, 'has_freesurfer_5tt_hsvs': True, 'has_freesurfer': True, 'has_qsiprep_t1w': False, 'has_qsiprep_t1w_transforms': False}
Can somebody point to what I am doing wrong?
Thank you!