Fmriprep/nipype error in docker://fmriprep:latest?

I’m not sure if this is a user-error or a fmriprep error. Any thoughts would be welcome.

Thanks, Todd

Running fmriprep through singularity as follows:
singularity exec -B $base:/mnt -B $scratch:/workdir -c docker://poldracklab/fmriprep
fmriprep $DATADIR $OUTDIR participant --participant_label $subject --nthreads 8
–mem_mb 10000 --ignore slicetiming -w $WORKDIR

I get some nipype errors of the following flavor:
171009-18:22:26,590 workflow INFO:
Executing node summary in dir: /workdir/fmriprep/fmriprep_wf/single_subject_SAXEIB01_wf/summary
171009-18:22:26,630 workflow INFO:
Executing node _t1_conform0 in dir: /workdir/fmriprep/fmriprep_wf/single_subject_SAXEIB01_wf/anat_preproc_wf/t1_conform/mapflow/_t1_conform0
171009-18:22:26,692 workflow ERROR:
[‘Node summary failed to run on host node010.cm.cluster.’]
171009-18:22:26,718 workflow INFO:
Saving crash info to /mnt/BIDS/derivatives/fmriprep/sub-SAXEIB01/log/20171009-182143_ef5d35b4-4115-4056-abff-f109290ce701/crash-20171009-182226-toddt-summary-6f83f435-b868-4d62-9ec5-d0ba83b4a2bb.txt
171009-18:22:26,718 workflow INFO:
Traceback (most recent call last):
File “/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/plugins/multiproc.py”, line 322, in _send_procs_to_workers
self.procs[jobid].run()
File “/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/engine/nodes.py”, line 372, in run
self._run_interface()
File “/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/engine/nodes.py”, line 482, in _run_interface
self._result = self._run_command(execute)
File “/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/engine/nodes.py”, line 613, in _run_command
result = self._interface.run()
File “/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/interfaces/base.py”, line 1084, in run
runtime = self._run_wrapper(runtime)
File “/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/interfaces/base.py”, line 1032, in _run_wrapper
runtime = self._run_interface(runtime)
File “/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/interfaces/reports.py”, line 94, in _run_interface
return super(SubjectSummary, self)._run_interface(runtime)
File “/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/interfaces/reports.py”, line 61, in _run_interface
segment = self._generate_segment()
File “/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/interfaces/reports.py”, line 119, in _generate_segment
for series in bold_series)
File “/usr/local/miniconda/lib/python3.6/collections/init.py”, line 534, in init
self.update(*args, **kwds)
File “/usr/local/miniconda/lib/python3.6/collections/init.py”, line 621, in update
_count_elements(self, iterable)
File “/usr/local/miniconda/lib/python3.6/site-packages/fmriprep/interfaces/reports.py”, line 119, in
for series in bold_series)
TypeError: ‘NoneType’ object is not subscriptable
Interface SubjectSummary failed to run.

It looks like you don’t have any BOLD series. FMRIPREP expects these normally, but you can pass the --anat-only flag to only run the anatomical portion of the pipeline.

Ah, but I do have bold runs!

[toddt@openmind7 BIDS]$ ls sub-SAXEIB01/func
sub-SAXEIB01_task_tomloc_run-001_bold.json sub-SAXEIB01_task_tomloc_run-002_bold.json
sub-SAXEIB01_task_tomloc_run-001_bold.nii.gz sub-SAXEIB01_task_tomloc_run-002_bold.nii.gz

Any idea why they wouldn’t be seen?

Have you run your dataset through the BIDS validator? I think you should have a hyphen instead of an underscore between task and tomloc.

Good catch. Thank you.

If you want know more above the topic visit : typeerror nonetype object is not subscriptable