MRIQC RuntimeError: The combination of supplied labels [...] did not result in matches within the BIDS directory

mriqc
bids

#1

Hello, I get the following error when running mriqc for multiple functional runs:

RuntimeError:  (--participant_label null 31003 null) (--session-id 01) (--run-id 04) (--task-id highspeed) did not result in matches within the BIDS directory (/path/to/sourcedata).

This is how the relevant data structure looks like:

/path/to/sourcedata
├── CHANGES
├── dataset_description.json
├── participants.tsv
├── README
├── sub-31003
│   ├── ses-01
│   │   ├── anat
│   │   │   ├── sub-31003_ses-01_acq-prenorm_T1w.json
│   │   │   └── sub-31003_ses-01_acq-prenorm_T1w.nii.gz
│   │   ├── fmap
│   │   ├── func
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-01_bold.json
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-01_bold.nii.gz
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-01_events.tsv
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-02_bold.json
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-02_bold.nii.gz
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-02_events.tsv
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-03_bold.json
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-03_bold.nii.gz
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-03_events.tsv
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-04_bold.json
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-04_bold.nii.gz
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-nonorm_run-04_events.tsv
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-prenorm_run-01_bold.json
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-prenorm_run-01_bold.nii.gz
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-prenorm_run-01_events.tsv
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-prenorm_run-02_bold.json
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-prenorm_run-02_bold.nii.gz
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-prenorm_run-02_events.tsv
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-prenorm_run-03_bold.json
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-prenorm_run-03_bold.nii.gz
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-prenorm_run-03_events.tsv
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-prenorm_run-04_bold.json
│   │   │   ├── sub-31003_ses-01_task-highspeed_acq-prenorm_run-04_bold.nii.gz
│   │   │   └── sub-31003_ses-01_task-highspeed_acq-prenorm_run-04_events.tsv
│   │   └── sub-31003_ses-01_scans.tsv
│   └── ses-02
│       ├── anat
│       │   ├── sub-31003_ses-02_acq-prenorm_T1w.json
│       │   └── sub-31003_ses-02_acq-prenorm_T1w.nii.gz
│       ├── fmap
│       ├── func
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-01_bold.json
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-01_bold.nii.gz
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-01_events.tsv
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-02_bold.json
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-02_bold.nii.gz
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-02_events.tsv
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-03_bold.json
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-03_bold.nii.gz
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-03_events.tsv
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-04_bold.json
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-04_bold.nii.gz
│       │   ├── sub-31003_ses-02_task-highspeed_acq-nonorm_run-04_events.tsv
│       │   ├── sub-31003_ses-02_task-highspeed_acq-prenorm_run-01_bold.json
│       │   ├── sub-31003_ses-02_task-highspeed_acq-prenorm_run-01_bold.nii.gz
│       │   ├── sub-31003_ses-02_task-highspeed_acq-prenorm_run-01_events.tsv
│       │   ├── sub-31003_ses-02_task-highspeed_acq-prenorm_run-02_bold.json
│       │   ├── sub-31003_ses-02_task-highspeed_acq-prenorm_run-02_bold.nii.gz
│       │   ├── sub-31003_ses-02_task-highspeed_acq-prenorm_run-02_events.tsv
│       │   ├── sub-31003_ses-02_task-highspeed_acq-prenorm_run-03_bold.json
│       │   ├── sub-31003_ses-02_task-highspeed_acq-prenorm_run-03_bold.nii.gz
│       │   ├── sub-31003_ses-02_task-highspeed_acq-prenorm_run-03_events.tsv
│       │   ├── sub-31003_ses-02_task-highspeed_acq-prenorm_run-04_bold.json
│       │   ├── sub-31003_ses-02_task-highspeed_acq-prenorm_run-04_bold.nii.gz
│       │   └── sub-31003_ses-02_task-highspeed_acq-prenorm_run-04_events.tsv
│       └── sub-31003_ses-02_scans.tsv

MRIQC works fine on my T1w data. However, I only specify e.g., --participant-label 31003, --session-id 01 and --m T1w in this case. Thus, I suspect that the problem with the functional data might be related to the --run-id or --task-id argument. Perhaps it might be also related to the acq specification in my data files.

A similar issue has already been reported here.

Any help would be very much appreciated! Thanks in advance!


#2

I’ll put this on top of other priorities. Thanks for reporting!


#3

Hi @oesteban

thanks for looking into that matter!

I kind of “solved” this for my case now. It finally worked after I (1) removed the acq-label in the file name and (2) passed a non-zero-padded run number (i.e., 1 instead of 01) into the --run-id argument. Also, I removed the acq-nonorm files (see above) from the directory.

I guess that’s not a permanent solution but it might be helpful to find the bug.

Maybe MRIQC is running into problems when multiple files exist that cannot be differentiated exclusively by the filtering arguments --participant-label, --session-id, --run-id, --task-id and --m. This was initially the case for my data when files could only be differentiated by the acq label.


#4

Hi @lennart, this is very valuable. Thanks for reporting!


#5

Hi @lennart, we just released 0.12.1 which should fix this problem.