Openneuro (fmriprep) melodic taking 19 hours



I’m having some trouble processing data on openneuro with fmriprep. The data is multiband data with a TR of 460 ms (wasn’t my choice) and 894 volumes. I have 6 runs and my analysis for a single-subject takes over 48 hrs so the jobs are being killed. Looking at the logs, it appears that melodic took 19 hours for one run:

1527000915333	180522-14:55:15,333 workflow INFO:
1527000915333		 [Node] Setting-up "fmriprep_wf.single_subject_M80398983_wf.func_preproc_task_ritl_acq_MB_run_05_wf.ica_aroma_wf.melodic" in "/root/src/fmriprep/work/fmriprep_wf/single_subject_M80398983_wf/func_preproc_task_ritl_acq_MB_run_05_wf/ica_aroma_wf/melodic".
1527000915337	180522-14:55:15,337 workflow INFO:
1527000915337		 [Node] Running "melodic" ("niworkflows.nipype.interfaces.fsl.model.MELODIC"), a CommandLine Interface with command:
1527000915337	melodic -i /root/src/fmriprep/work/fmriprep_wf/single_subject_M80398983_wf/func_preproc_task_ritl_acq_MB_run_05_wf/ica_aroma_wf/smooth/vol0000_xform-00000_merged_smooth.nii.gz -m /root/src/fmriprep/work/fmriprep_wf/single_subject_M80398983_wf/func_preproc_task_ritl_acq_MB_run_05_wf/ica_aroma_wf/bold_mni_trans_wf/mask_mni_tfm/ref_image_corrected_brain_mask_maths_trans.nii.gz --mmthresh=0.500000 --nobet -o /root/src/fmriprep/work/fmriprep_wf/single_subject_M80398983_wf/func_preproc_task_ritl_acq_MB_run_05_wf/ica_aroma_wf/melodic --Ostats --tr=0.460000
1527068015039	180523-09:33:35,38 workflow INFO:
1527068015039		 [Node] Finished "fmriprep_wf.single_subject_M80398983_wf.func_preproc_task_ritl_acq_MB_run_05_wf.ica_aroma_wf.melodic".
1527068017774	180523-09:33:37,773 workflow INFO:

I’ve run MELODIC on these data before through and I’m pretty sure they only took a few hours. Is there anything I can do to reduce the duration?

I’ve tried re-running the analysis hoping it would pick up where it left off like fmriprep will do with docker, but it doesn’t appear that this is the case.



Indeed OpenNeuro does not reuse partial results from failed jobs. The slowdown could be caused by slow single core speed of the virtual machines used on OpenNeuro, issues with the brain mask (unlikely), or output grid (if you set it to 2mm).

Would you mind running FMRIPREP locally and comparing melodic runtime on the same data and same hardware?


I get the same long duration on my local cluster using singularity. I compared the timing of these jobs to running ICA_AROMA on a preprocessed feat directory. The ICA_AROMA melodic process took 4 hours. The increased time appears to be due to the data resolution (2mm vs. 3mm). The data size for the filtered_func_data is 888 x 59853 while the fmriprep ref_image_corrected_brain_mask_maths_trans.nii.gz input is 888 x 261552.

Because the data has a very short TR (460 ms) and a large number of timepoints (900), melodic identifies 400 components. I reduced this to 200 and can run it locally in 5-6 hours.

It would be great if the melodic dimensionality option was available on openneuro.


I added this option on OpenNeuro.