If Naming Fails BIDS Validation, Cannot Use fMRIPrep?

Summary of what happened:

I am getting an error message stating that there are no BOLD images in my dataset for a single subject. There are, in fact, BOLD files but fMRIprep seems unable to find them. This dataset it being used by many, many people at my lab, and they have all developed scripts based on the names here, so I am not at liberty to change them. My question is whether this means I am unable to use fMRIprep at all, as it is not finding my BOLD files or whether there is some other issue at play here. Thanks again!

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

#!/bin/bash
export DOCKER_CONTENT_TRUST=0

if [ $# -ne 1 ]; then
    echo "Usage: $0 <subject_number>"
    exit 1
fi

subj=$1
echo "Starting subject ${subj}"

bids_root_dir="/lbc/lbc1/Brain150/BIDS/EE_BIDS/YA"
project_dir="/lbc/lbc1/derivatives/ED/fMRI_Preproc_Comparison"
bids_deriv_dir="${project_dir}/fmriprep"
workdir="${project_dir}/work/sub-${subj}"
license_file="/lbc/lbc1/derivatives/ED/fMRI_Preproc_Comparison/license.txt"

mkdir -p "$workdir"

docker run --rm --user $(id -u):$(id -g) \
  -v ${bids_root_dir}:/data:ro \
  -v ${bids_deriv_dir}:/out \
  -v ${workdir}:/work \
  -v ${license_file}:/license.txt:ro \
  nipreps/fmriprep:25.2.5 \
  /data /out participant \
  --skip-bids-validation
  --participant-label ${subj} \
  --task-id ['rest'] \
  --session-label ['02'] \
  --echo-idx 2 \
  --fs-license-file /license.txt \

echo "Finished subject ${subj}"

Version:

25.2.5

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

Docker

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

No. Minor naming inconsistencies appear to plague my data. For example:

[ERR] acq Name contain an Illegal Character hyphen or underscore. Please edit the filename as per BIDS spec. (code: 59 - ACQ_NAME_CONTAIN_ILLEGAL_CHARACTER)
		./sub-087/ses-01/anat/sub-087_ses-01_acq-MP2RAGE_T1w_TB1-map_ROI1_run-01.nii.gz

Relevant log outputs (up to 20 lines):

260313-16:21:47,771 nipype.workflow IMPORTANT:
	 Running fMRIPrep version 25.2.5

         License NOTICE ##################################################
         fMRIPrep 25.2.5
         Copyright The NiPreps Developers.
         
         This product includes software developed by
         the NiPreps Community (https://nipreps.org/).
         
         Portions of this software were developed at the Department of
         Psychology at Stanford University, Stanford, CA, US.
         
         This software is also distributed as a Docker container image.
         The bootstrapping file for the image ("Dockerfile") is licensed
         under the MIT License.
         
         This software may be distributed through an add-on package called
         "Docker Wrapper" that is under the BSD 3-clause License.
         #################################################################
260313-16:21:47,771 nipype.workflow IMPORTANT:
	 Building fMRIPrep's workflow:
           * BIDS dataset path: /data.
           * Participants and sessions: sub-087.
           * Run identifier: 20260313-162108_f0a4d9d5-f1a7-47da-b1a1-4ee3920775e0.
           * Output spaces: MNI152NLin2009cAsym:res-native.
           * Pre-run FreeSurfer's SUBJECTS_DIR: /out/sourcedata/freesurfer.
Process Process-2:
Traceback (most recent call last):
  File "/app/.pixi/envs/fmriprep/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/app/.pixi/envs/fmriprep/lib/python3.12/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/fmriprep/cli/workflow.py", line 116, in build_workflow
    retval['workflow'] = init_fmriprep_wf()
                         ^^^^^^^^^^^^^^^^^^
  File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/fmriprep/workflows/base.py", line 108, in init_fmriprep_wf
    single_subject_wf = init_single_subject_wf(subject_id, sessions, name=wf_name)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.pixi/envs/fmriprep/lib/python3.12/site-packages/fmriprep/workflows/base.py", line 244, in init_single_subject_wf
    raise RuntimeError(
RuntimeError: No BOLD images found for participant 087 and task [rest]. All workflows require BOLD images.
Finished subject 087
emilyd@burgundy:/lbc/lbc1/derivatives/ED/fMRI_Preproc_Comparison/scripts$ 

Screenshots / relevant information:


Hi @ejdavid,

Yes, if the files names are not BIDS valid (e.g the anatomical file you put in your post that had extra entities after _T1w), then fMRIPrep will not locate them. At the very least, the file organization, subject/session name, and file suffix (e.g. _bold.nii.gz/json, _T1w.nii.gz) needs to be right. And obvious rules cannot be broken (e.g. extra hyphens or underscores in invalid places).

You are welcome to symlink the data under different names in a new BIDS-valid directory. Symlinks will not take up additional storage.

Best,
Steven