Hello,
Summary of what happened:
I am running QSIPrep on MRI data, using a docker command. When I execute the command, I get an error saying File “/usr/local/miniconda/lib/python3.8/site-packages/bids/layout/validation.py”, line 75, in validate_root
raise BIDSValidationError(
bids.exceptions.BIDSValidationError: ‘dataset_description.json’ is missing from project root.
The file dataset_description.json is in the file that is used as the working directory, validated by typing pwd in the terminal.
Command used (and if a helper script was used, a link to the helper script or the command generated):
subj_id=$602
# Introduce the BIDS directory
bids_dir=/Users/Dutcher_Imaging/Desktop/headspace/HeadspaceData
# Define the output directory for the input subject
output_dir=/Users/Dutcher_Imaging/Desktop/headspace/HeadspaceData/sub-6$subj_id/output
# Create folder if it does not exist
sudo mkdir -p $output_dir
work_dir=$output_dir/work
sudo mkdir -p $work_dir
freesurfer_home=/Users/Dutcher_Imaging/Desktop/SourceCode/qsiprep_build-main
fs_license=$freesurfer_home/freesurfer_license.txts
docker_cmd="docker run --rm \
-v ${bids_dir}:/data \
-v ${output_dir}:/output \
-v ${work_dir}:/work \
-v ${fs_license}:/fs_license.txt \
pennbbl/qsiprep:0.19.1"
cmd="${docker_cmd} /data /output participant\
--skip-bids-validation \
--ignore fieldmaps \
-w /work \
--participant_label ${subj_id} \
--output-resolution 2 \
--unringing-method mrdegibbs \
--n_cpus 5 \
--fs-license-file /fs_license.txt"
eval $cmd
Version:
0.19.1
Environment (Docker, Singularity / Apptainer, custom installation):
docker
Data formatted according to a validatable standard? Please provide the output of the validator:
bids-standard.github.io/bids-validator/ returns only fieldmap errors, which can be ignored
Relevant log outputs (up to 20 lines):
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/usr/local/miniconda/lib/python3.8/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/cli/run.py", line 950, in build_qsiprep_workflow
retval['workflow'] = init_qsiprep_wf(
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/workflows/base.py", line 228, in init_qsiprep_wf
single_subject_wf = init_single_subject_wf(
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/workflows/base.py", line 481, in init_single_subject_wf
subject_data, layout = collect_data(bids_dir, subject_id, filters=bids_filters)
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/utils/bids.py", line 145, in collect_data
layout = BIDSLayout(str(bids_dir), validate=bids_validate)
File "/usr/local/miniconda/lib/python3.8/site-packages/bids/layout/layout.py", line 135, in __init__
root, description = validate_root(root, validate)
File "/usr/local/miniconda/lib/python3.8/site-packages/bids/layout/validation.py", line 75, 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"}
Screenshots / relevant information:
Thank you so much, any help is much appreciated!
-Angelica