Hi all, I recently preprocessed a dataset using fmriprep version 20.2.1 and the following command fmriprep_sub.py bids -m 50000 -a " --use-aroma --aroma-melodic-dimensionality 100 --output-spaces MNI152NLin6Asym:res-2"
. The dataset consists of several runs for the same subject, each run being of varying size. Unfortunately, I got an error when performing ICA AROMA or MELODIC at some runs. There are two types of errors, mostly when performing MELODIC and a few when performing ICA AROMA, as follows:
Node Name: fmriprep_wf.single_subject_01_wf.func_preproc_task_dream_run_6_wf.ica_aroma_wf.melodic
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 419, in run
runtime = self._run_interface(runtime)
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 814, in _run_interface
self.raise_exception(runtime)
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 745, in raise_exception
).format(**runtime.dictcopy())
RuntimeError: Command:
melodic -i /data/marpere/41376598.dccn-l029.dccn.nl/fmriprep_wf/single_subject_05_wf/func_preproc_task_dream_run_12_wf/ica_aroma_wf/smooth/vol0000_xform-00000_merged_smooth.nii.gz -d 100 -m /data/marpere/41376598.dccn-l029.dccn.nl/fmriprep_wf/single_subject_05_wf/func_preproc_task_dream_run_12_wf/bold_std_trans_wf/_std_target_MNI152NLin6Asym.res2/mask_std_tfm/ref_bold_corrected_brain_mask_maths_trans.nii.gz --mmthresh=0.500000 --nobet -o /data/marpere/41376598.dccn-l029.dccn.nl/fmriprep_wf/single_subject_05_wf/func_preproc_task_dream_run_12_wf/ica_aroma_wf/melodic --Ostats --tr=3.000000
Standard output:
Standard error:
ERROR:: too many components selected
Return code: 2
Node Name: fmriprep_wf.single_subject_05_wf.func_preproc_task_dream_run_13_wf.ica_aroma_wf.ica_aroma
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 419, in run
runtime = self._run_interface(runtime)
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 814, in _run_interface
self.raise_exception(runtime)
File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 745, in raise_exception
).format(**runtime.dictcopy())
RuntimeError: Command:
ICA_AROMA.py -tr 3.000 -np -den nonaggr -i /data/marpere/41376598.dccn-l029.dccn.nl/fmriprep_wf/single_subject_05_wf/func_preproc_task_dream_run_13_wf/ica_aroma_wf/smooth/vol0000_xform-00000_merged_smooth.nii.gz -m /data/marpere/41376598.dccn-l029.dccn.nl/fmriprep_wf/single_subject_05_wf/func_preproc_task_dream_run_13_wf/bold_std_trans_wf/_std_target_MNI152NLin6Asym.res2/mask_std_tfm/ref_bold_corrected_brain_mask_maths_trans.nii.gz -meldir /data/marpere/41376598.dccn-l029.dccn.nl/fmriprep_wf/single_subject_05_wf/func_preproc_task_dream_run_13_wf/ica_aroma_wf/melodic -mc /data/marpere/41376598.dccn-l029.dccn.nl/fmriprep_wf/single_subject_05_wf/func_preproc_task_dream_run_13_wf/bold_hmc_wf/normalize_motion/motion_params.txt -o /data/marpere/41376598.dccn-l029.dccn.nl/fmriprep_wf/single_subject_05_wf/func_preproc_task_dream_run_13_wf/ica_aroma_wf/ica_aroma/out
Standard output:
------------------------------- RUNNING ICA-AROMA -------------------------------
--------------- 'ICA-based Automatic Removal Of Motion Artifacts' ---------------
Step 1) MELODIC
- The existing/specified MELODIC directory will be used.
Standard error:
Traceback (most recent call last):
File "/opt/ICA-AROMA/ICA_AROMA.py", line 204, in
aromafunc.runICA(fslDir, inFile, outDir, melDir, mask, dim, TR)
File "/opt/ICA-AROMA/ICA_AROMA_functions.py", line 103, in runICA
lenIC = int(float(subprocess.getoutput(cmd)))
ValueError: could not convert string to float: 'ERROR: Could not open file'
Return code: 1
Firstly, I rerun just a single failed run to check whether the issue could have been the number of runs per subject, yet the same error persists. I don’t believe it has anything to do with file restrictions since all files permissions are exactly the same and half of the dataset returns no error. It is not a problem regarding memory either as I used flags on our HCP to increase memory in both tests, and running only a single subject run returned the same type of error. I will try now an earlier version to see whether or not it will fix the problem. However, I am doubting that this will solve the problem. Does anyone have a hint on how to fix this? Thanks in advance!