fMRIPrep vs. 21.0.0 - data now not passing BIDS validator

Hello! I’m excited to use the new fMRIPrep 21.0.0 release! Thanks for your work on this! I’m trying out this latest release with data I’ve preprocessed with an earlier version, so these data were BIDS compatible. However, now my dataset is not passing the BIDS validator, so I’m wondering what has changed that’s causing these issues? (I moved the previously preprocessed data, and got rid of all work directories). I’m working with multiecho (3 echos) data.

Error 1:
1: [ERR] Invalid JSON file. The file is not formatted according the schema. (code: 55 - JSON_SCHEMA_VALIDATION_ERROR)
./sub-3131/ses-1/func/sub-3131_ses-1_task-cert1_run-001_echo-1_bold.json
Evidence: .CogAtlasID should match format “uri”
Error 2:
2: [ERR] Files with such naming scheme are not part of BIDS specification.
./subject_results/group.a/subj.subj/cmd.ap.subj
Evidence: cmd.ap.subj
./subject_results/group.a/subj.subj/output.cmd.ap.subj
Evidence: output.cmd.ap.subj

Thanks for any clarification!
Nicole

The first error is one that has been discussed here: BIDS Validator error - [Code 55] JSON_SCHEMA_VALIDATION_ERROR (EffectiveEchoSpacing) . In short, it’s strange that is an error instead of just a warning, but can be fixed by adding a field to the JSON. If this is your only error with the BIDS files, then I would say it’s safe to run fmriprep and --skip-bids-validation

The second error is because subject_results is not a valid BIDS folder. You can just create an empty text file in your BIDS root directory, title it .bidsignore (with the leading dot!) and in that text file, put in subject_results/. That way, BIDS validator should ignore those files.

Hope this helps,
Steven

Thanks for your response, Steven. Yes, I saw that previous conversation, apologies if I should have just added my comment there. I guess my question about that first item is, what has changed with the new release of fMRIPrep that this now gets flagged? Was the BIDS validator changed? This was not an issue with my data in previous releases. In fact, I’ve preprocessed these data with 2 earlier versions of fMRIPrep and I never had an issue with this.

So there are regular updates on the BIDS validator as we try to make sure it validates more things that are described in the BIDS specification.

Sometimes that also forces us to clarify the specifications when we realize they were too ambiguous to be implemented in an automatic way by the validator or some other tools.

So it can happen that as we get to tackle some of our previous blindspots some datasets that use to pass the validator will now fail or throw warnings: this usually mean that this dataset should have failed before according to the BIDS specification but that this very specific check had not been put in place in the validator before.

I suspect that the new fMRIprep is using a more recent version of the validator and that this is what is happening.

On the long term we hope that the validator will be able to check specific versions of the BIDS specification to minimize this kind of issue, but we are not yet there.

1 Like

Actually it might be better to put those files in a derivatives folder as those will not be checked by the validator.

1 Like

Thank you so much for your response. The clarification is very helpful!

1 Like