Eddy error qsiprep

Summary of what happened:

I am helping troubleshoot some error messages encountered using qsiprep. The user has not changed any settings, and all other datasets are running successfully. This is the only data set running into issues. This is also the only dataset that is trying to run an eddy calculation though the user did not prompt it to do so.

Command used (and if a helper script was used, a link to the helper script or the command generated):

here is the input script

#!/bin/sh
#SBATCH --job-name qsiprep_sub-99999
#SBATCH --time 1-00:00:00 # 1 day of runtime
#SBATCH -p shared # Partition to run the job in
#SBATCH -N 1   # Nodes allocated to the job
#SBATCH -n 1   # Tasks per node
#SBATCH -c 1 # Cores per task
#SBATCH --mem 120G # Memory shared by all tasks run on a node

module load singularity
   
singularity run \
-B /mmfs1/data/user/lumos/sourcedata_qsiprep_sub-99999/,/mmfs1/data/user/lumos/sourcedata_qsiprep_sub-99999/derivs/,/mmfs1/scratch/user/work,/mmfs1/data/user/license.txt \
/mmfs1/data/user/QSIprep/qsiprep-0.19.1.sif \
/mmfs1/data/user/lumos/sourcedata_qsiprep_sub-99999/ \
/mmfs1/data/user/lumos/sourcedata_qsiprep_sub-99999/derivs/ \
participant \
--participant-label sub-99999 \
-w /mmfs1/scratch/user/work \
--fs-license-file /mmfs1/data/user/license.txt \
--output-resolution 1.2

Version:

0.19.1

Environment (Docker, Singularity / Apptainer, custom installation):

as a batch job

Data formatted according to a validatable standard? Please provide the output of the validator:

PASTE VALIDATOR OUTPUT HERE

Relevant log outputs (up to 20 lines):

 [Node] Error on "qsiprep_wf.single_subject_99999_wf.dwi_preproc_wf.hmc_sdc_wf.eddy" (/mmfs1/scratch/user/work/qsiprep_wf/single_subject_99999_wf/dwi_preproc_wf/hmc_sdc_wf/eddy)
240801-14:09:52,948 nipype.workflow ERROR:
 Node eddy failed to run on host c105.
240801-14:09:52,951 nipype.workflow ERROR:
Traceback (most recent call last):
    raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node eddy.
 EDDY:::  EddyHelperClasses.cpp:::  EDDY::AcqPara::AcqPara(const ColumnVector&, double):  Exception thrown
 EDDY::: Eddy failed with message EDDY:::  ECScanClasses.cpp:::  EDDY::ECScanManager::ECScanManager(const string&, const string&, const string&, const string&, const string&, const string&, const string&, const string&, EDDY::ECModel, EDDY::ECModel, const std::vector<unsigned int>&, const EDDY::PolationPara&, EDDY::MultiBandGroups, bool):  Exception thrown
Traceback:
 Traceback (most recent call last):
    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 'out_corrected' trait of an ExtendedEddyOutputSpec instance must be a pathlike object or string representing an existing file, but a value of '/mmfs1/scratch/user/work/qsiprep_wf/single_subject_99999_wf/dwi_preproc_wf/hmc_sdc_wf/eddy/eddy_corrected.nii.gz' <class 'str'> was specified.
 During handling of the above exception, another exception occurred:
 Traceback (most recent call last):
    raise FileNotFoundError(msg)
FileNotFoundError: No such file or directory '/mmfs1/scratch/user/work/qsiprep_wf/single_subject_99999_wf/dwi_preproc_wf/hmc_sdc_wf/eddy/eddy_corrected.nii.gz' for output 'out_corrected' of a ExtendedEddy interface
240801-14:09:54,949 nipype.workflow ERROR:

Screenshots / relevant information:


Hi @Anna1, and welcome to neurostars!

Eddy should be run on all datasets as it is a default operation, it is not something that the user prompts for.

Does the error persist in the most recent version, and after cleaning the work directory? Is this happening in just one subject or all subjects across the dataset? Does the image quality look okay?

In addition, please add the -e flag in the singularity run preamble to make sure the container environment is clean. I also recommend using more than 1 core which will significantly speed up operations.

Best,
Steven

Hi Steven,

Thanks for the response! I know that this is the only subject that is causing problems, all others were running fine. I have reached out to the user, and will soon have a response for the rest of your questions.

Best,
Anna

Hi Steven,

The user has decided to try and take a different path to solve this puzzle. We are currently trying to find a way to entirely disable eddy. Do you have any suggestions?

Best,
Anna

Hi @Anna1,

If the only way to get the subject to complete is processing it in a different way, it probably isn’t worth analyzing that subject.

That being said, you could try other —hmc_model options besides eddy, such as none or 3dSHORE.

It would still be better to try these other troubleshooting steps first.

Best,
Steven