aslprep icon indicating copy to clipboard operation
aslprep copied to clipboard

--skip-bids-validation not skipping all bids validation

Open caugolm opened this issue 1 year ago • 5 comments

Summary

ASLPrep is exiting with a BIDS validation error even when using the "--skip_bids_validation" or "--skip-bids-validation" options at submission.

Additional details

  • ASLPrep version: 0.6.0rc1
  • Singularity version: 3.8.3

What were you trying to do?

I had a bunch of pCASL data processed using ASLPrep 0.2.8 that had "ok" results. I updated to 0.6.0rc1 to try reprocessing some data to see if I saw any improvements. I wanted to use the same command to best compare across versions.

What did you expect to happen?

I expected similar results, with likely some improvements.

What actually happened?

No output, just logs with error messages about BIDS validation.

Reproducing the bug

# LSBATCH: User input
singularity run -e -B /input/gfapprelim/:/whatever/gfapprelim/,/input/templateflow-d259ce39a/:/templateflow /input/pmacsPreps-0.2.3/containers/aslprep-0.6.0rc1.simg /whatever/gfapprelim//squids /whatever/gfapprelim//squids_aslprepout-0.6.0rc1 participant --participant_label sub01xxses01 --nprocs 2 --mem 40GB -w /whatever/gfapprelim//squids_wrkdir-0.6.0rc1 --skip-bids-validation --basil --scorescrub --output-spaces T1w asl MNI152NLin2009cAsym:res-2

Traceback (most recent call last): File "/usr/local/miniconda/bin/aslprep", line 8, in sys.exit(main()) File "/usr/local/miniconda/lib/python3.9/site-packages/aslprep/cli/run.py", line 18, in main parse_args() File "/usr/local/miniconda/lib/python3.9/site-packages/aslprep/cli/parser.py", line 509, in parse_args config.from_dict(vars(opts)) File "/usr/local/miniconda/lib/python3.9/site-packages/aslprep/config.py", line 566, in from_dict execution.load(settings) File "/usr/local/miniconda/lib/python3.9/site-packages/aslprep/config.py", line 187, in load cls.init() File "/usr/local/miniconda/lib/python3.9/site-packages/aslprep/config.py", line 409, in init cls._layout = BIDSLayout( File "/usr/local/miniconda/lib/python3.9/site-packages/bids/layout/layout.py", line 135, in init root, description = validate_root(root, validate) File "/usr/local/miniconda/lib/python3.9/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"}

caugolm avatar Nov 09 '23 15:11 caugolm

Can you share the tree for your dataset?

tsalo avatar Nov 09 '23 15:11 tsalo

I had to make a "pseudo-BIDS" directory to get my data processed correctly using 0.2.8, and with the "--skip-bids-validation" flag I had not needed the dataset_description.json at all. With the 0.6.0rc1 it looks like it checks for the dataset_description.json regardless of the flag. But, I just created a dummy dataset_description.json file that contained the example contents ( {"Name": "Example dataset", "BIDSVersion": "1.0.2"} ) in my "pseudo-BIDS" directory ("/input/gfapprelim/squids/", in my command above) and things seem to be running now!

caugolm avatar Nov 09 '23 15:11 caugolm

That's good to hear. It appears that pybids has some requirements, even when validation is disabled.

tsalo avatar Nov 09 '23 15:11 tsalo

Fair enough. Feel free to close unless you have any reason to look into this further

caugolm avatar Nov 09 '23 15:11 caugolm

I think it's worth at least improving the documentation a bit, so I'll keep this open until I've had a chance to update that.

tsalo avatar Nov 14 '23 14:11 tsalo