Hi Colleagues:
I’m running into (what I’m hoping is) a simple error. I have confirmed I have docker wrapper running, increased the memory for processing, reinstalled to upgrade fmriprep (22.1.1), and confirmed PATH ( find ~/.local -name fmriprep-docker → /Users/thebeast/.local/bin/fmriprep-docker). However, I keep running into the following error after passing the following command line (note - I am indexing a VAR that carries the unique subject number):
Command used (and if a helper script was used, a link to the helper script or the command generated):
Data formatted according to a validatable standard? Please provide the output of the validator:
Relevant log outputs (up to 20 lines):
The follow error is received:
RUNNING: docker run --rm -e DOCKER_VERSION_8395080871=20.10.21 -it -v /Users/thebeast/Desktop/fmriprep_tobe_processed/license.txt:/opt/freesurfer/license.txt:ro -v /Volumes/PhDVolume/From_PhD2TB/TLE_Project/fmriprep_tobe_processed:/data:ro -v /Volumes/PhDVolume/From_PhD2TB/TLE_Project/fmriprep_tobe_processed/derivatives:/out nipreps/fmriprep:22.1.1 /data /out participant --participant-label sub-R0067 --use-syn-sdc --stop-on-first-crash --fs-no-reconall --skip-bids-validation --output-spaces anat
--topup-max-vols input is no longer used and the flag will be removed in a future release.
Traceback (most recent call last):
File "/opt/conda/bin/fmriprep", line 8, in <module>
sys.exit(main())
File "/opt/conda/lib/python3.9/site-packages/fmriprep/cli/run.py", line 42, in main
parse_args()
File "/opt/conda/lib/python3.9/site-packages/fmriprep/cli/parser.py", line 784, in parse_args
config.from_dict({})
File "/opt/conda/lib/python3.9/site-packages/fmriprep/config.py", line 673, in from_dict
execution.load(settings, init=initialize('execution'), ignore=ignore)
File "/opt/conda/lib/python3.9/site-packages/fmriprep/config.py", line 232, in load
cls.init()
File "/opt/conda/lib/python3.9/site-packages/fmriprep/config.py", line 476, in init
cls._layout = BIDSLayout(
File "/opt/conda/lib/python3.9/site-packages/bids/layout/layout.py", line 127, in __init__
root, description = validate_root(root, validate)
File "/opt/conda/lib/python3.9/site-packages/bids/layout/validation.py", line 73, in validate_root
raise BIDSValidationError(
bids.exceptions.BIDSValidationError: 'dataset_description.json' is missing from project root. Every valid BIDS dataset must have this file.
Example contents of 'dataset_description.json':
{"Name": "Example dataset", "BIDSVersion": "1.0.2"}
fMRIPrep: Please report errors to https://github.com/nipreps/fmriprep/issues
Screenshots / relevant information:
I’ve run fmriprep-docker before without issue (even with indexing to automate my workflow completely through all subjects). I don’t know what has changed or what I’m overlooking. Please, advise. Thank you for your assistance and support.
I have relabeled your post as software support, added the appropriate template, and reorganized your post accordingly. You can see that the one item I could not find (and that seems very important here) is whether your data are BIDS valid. Please provide the output of BIDS validation, and also the output of tree /Volumes/PhDVolume/From_PhD2TB/TLE_Project/fmriprep_tobe_processed/.
You should run your data through the BIDS validator. It doesn’t look like you have a dataset_description.json file, which is required for running BIDS apps.
I ran the command line with the --skip-bids-validation argument and received the same error messages, but I will rerun with the dataset description. I hope it’s that simple. I will report back on findings.
In fact, it’s unsupported. The flag is there for people with specific environments that make it infeasible or costly to run validation at runtime, but our development and support time is scarce enough that invalid datasets are simply out of scope.
We should probably change or remove the “please report errors” text if skip_bids_validation is enabled.