Skip to content

[BIDS] dataset path might be hard-coded and commandline argument do not work #1410

@suxpert

Description

@suxpert

What happened?

If map the BIDS dataset path to folders other than /data, mriqc stopped with error:

ValueError: BIDS root does not exist: /data

What command did you use?

docker run -it --rm -v /data/bidsroot:/bids:ro        \
    -v /data/bidsroot/derivatives/mriqc-24.0.1:/mriqc \
    nipreps/mriqc:24.0.1 --verbose-reports --dry-run  \
     /bids /mriqc group

What version of the software are you running?

nipreps/mriqc:24.0.1, reported as version 24.1.0.dev0+g5c3f8b6e.d20240820

How are you running this software?

Docker

Is your data BIDS valid?

Yes

Are you reusing any previously computed results?

No

Please copy and paste any relevant log output.

------------------------------------------------------------------
  Running MRIQC version 24.1.0.dev0+g5c3f8b6e.d20240820
  ----------------------------------------------------------------
  * BIDS dataset path: /bids.
  * Output folder: /mriqc.
  * Analysis levels: ['group'].
------------------------------------------------------------------

Traceback (most recent call last):
  File "/opt/conda/bin/mriqc", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/conda/lib/python3.11/site-packages/mriqc/cli/run.py", line 43, in main
    parse_args(argv)
  File "/opt/conda/lib/python3.11/site-packages/mriqc/cli/parser.py", line 530, in parse_args
    config.from_dict(vars(opts))
  File "/opt/conda/lib/python3.11/site-packages/mriqc/config.py", line 701, in from_dict
    execution.load(sections)
  File "/opt/conda/lib/python3.11/site-packages/mriqc/config.py", line 257, in load
    cls.init()
  File "/opt/conda/lib/python3.11/site-packages/mriqc/config.py", line 553, in init
    cls._layout = BIDSLayout(
                  ^^^^^^^^^^^
  File "/opt/conda/lib/python3.11/site-packages/bids/layout/layout.py", line 135, in __init__
    root, description = validate_root(root, validate)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.11/site-packages/bids/layout/validation.py", line 70, in validate_root
    raise ValueError("BIDS root does not exist: %s" % root)
ValueError: BIDS root does not exist: /data

Additional information / screenshots

If I map the dataset to /data, even if I call mriqc with a wrong bids_dir (folder exist), mriqc would work normally:

docker run -it --rm -v /data/bidsroot:/data:ro        \
    -v /data/bidsroot/derivatives/mriqc-24.0.1:/mriqc \
    nipreps/mriqc:24.0.1 --verbose-reports --dry-run  \
    /var /mriqc group

NOTE that I map the dataset to /data, but call mriqc with bids_dir set to /var, which of cause is not a valid BIDS dataset path (but DO exist), then mriqc run without any problem:

------------------------------------------------------------------
  Running MRIQC version 24.1.0.dev0+g5c3f8b6e.d20240820
  ----------------------------------------------------------------
  * BIDS dataset path: /var.                       # <-- NOTE here
  * Output folder: /mriqc.
  * Analysis levels: ['group'].
------------------------------------------------------------------

2025-07-02 07:55:00 | IMPORTANT | mriqc            | Extracting metadata and entities for 40 input runs of modality 't1w'...
2025-07-02 07:55:01 | IMPORTANT | mriqc            | File size ('t1w'): 0.01|0.01 GB [maximum|average].
2025-07-02 07:55:01 | IMPORTANT | mriqc            | Extracting metadata and entities for 251 input runs of modality 'bold'...
2025-07-02 07:55:02 | IMPORTANT | mriqc            | File size ('bold'): 0.28|0.26 GB [maximum|average].
------------------------------------------------------------------
Generating group reports
------------------------------------------------------------------

----------------------------------------------------------------
  MRIQC completed (elapsed time 00h 00min 08s).
----------------------------------------------------------------

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions