Thanks for the further explanation! Well, I got past the old error to get a new one - command and error pasted below. Looks like it might be similar to some recent posts (here and here and here).
I will double check the BIDS validation done by my colleague, but I think it is likely that there is still some reason why Docker cannot see my BIDS directory. I haven’t seen many cases where the bids-database-dir argument and docker were used together. Perhaps relevant that I am not the owner/creator of the BIDS directory but I do have permissions through the group. And I do not have root access to Docker, which is why I included the -u $(id -u) argument earlier. However, that argument is only accepted by the wrapper. I am also setting all this up through ssh.
Command
#!/bin/bash
#User inputs:
bids_root_dir=/lbc/lbc1/PREVENT_AD/PREVENT_AD_BIDS
bids_deriv_dir=/lbc/lbc1/PREVENT_AD/derivatives/rsFC/rsFC_fmriprep/derivatives
fs_dir=/lbc/lbc1/PREVENT_AD/derivatives/freesurfer
pybids_dir=/lbc/lbc1/PREVENT_AD/derivatives/rsFC/pybids_db
subj=0196
#Begin:
export TEMPLATEFLOW_HOME=/home/bic/collhugh/.cache/templateflow
export FS_LICENSE=/lbc/lbc1/PREVENT_AD/derivatives/rsFC/rsFC_fmriprep/license.txt
#Run fmriprep
docker run -ti --rm -v $bids_root_dir \
-v $bids_deriv_dir \
-v $pybids_dir \
-v $fs_dir \
nipreps/fmriprep:21.0.0 \
$bids_root_dir $bids_deriv_dir \
participant \
--participant-label $subj \
--bids-database-dir $pybids_dir \
--skip-bids-validation \
--md-only-boilerplate \
--fs-subjects-dir $fs_dir/sub-${subj} \
--output-spaces T1w \
--ignore slicetiming fieldmaps sbref t2w flair \
--dummy-scans 4 \
--skull-strip-t1w force \
--me-output-echos \
--stop-on-first-crash \
--low-mem
Output
collhugh@albany:/lbc/lbc1/PREVENT_AD/derivatives/rsFC/rsFC_fmriprep/code$ ./docker_PAD.sh
/opt/conda/lib/python3.8/site-packages/bids/config.py:39: FutureWarning: Setting ‘extension_initial_dot’ will be removed in pybids 0.16.
warnings.warn(“Setting ‘extension_initial_dot’ will be removed in pybids 0.16.”,
Traceback (most recent call last):
File “/opt/conda/bin/fmriprep”, line 8, in
sys.exit(main())
File “/opt/conda/lib/python3.8/site-packages/fmriprep/cli/run.py”, line 38, in main
parse_args()
File “/opt/conda/lib/python3.8/site-packages/fmriprep/cli/parser.py”, line 668, in parse_args
config.from_dict(vars(opts))
File “/opt/conda/lib/python3.8/site-packages/fmriprep/config.py”, line 664, in from_dict
execution.load(settings)
File “/opt/conda/lib/python3.8/site-packages/fmriprep/config.py”, line 238, in load
cls.init()
File “/opt/conda/lib/python3.8/site-packages/fmriprep/config.py”, line 481, in init
cls._layout = BIDSLayout(
File “/opt/conda/lib/python3.8/site-packages/bids/layout/layout.py”, line 126, in init
root, description = validate_root(root, validate)
File “/opt/conda/lib/python3.8/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”}
dataset_description.json
{
“Acknowledgements”: “Data from the PREVENT-AD”,
“Authors”: [
“PREVENT-AD group”,
“formatted by Giulia Baracchini”
],
“BIDSVersion”: “1.6.0”,
“DatasetDOI”: “”,
“Funding”: [
“”
],
“HowToAcknowledge”: “”,
“License”: “”,
“Name”: “”,
“ReferencesAndLinks”: [
“”
],
“TaskName”: “description”
}