Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No error/warning when IDs in participant.tsv do not match directory names #1981

Open
JuliusWelzel opened this issue May 28, 2024 · 5 comments

Comments

@JuliusWelzel
Copy link

For a workshop, I wanted to showcase the BIDS-Validator. One thing the participants noticed, is that if the IDs in the participants.tsv file do not match any of the subject's directories IDs, no warning or error is thrown. Is this behavior intended?

@mateuszpawlik
Copy link

mateuszpawlik commented May 28, 2024

We had a similar case last week, also at a workshop 😉

When subject directories are there, and there are no records in the participants.tsv file, BIDS Validator (1.14.6) doesn't raise any error.

I though this would be caught by issue 49 (PARTICIPANT_ID_MISMATCH), but it seems that it's implemented only the other way.

@effigies
Copy link
Collaborator

Unclear if this issue was ever implemented in the legacy. It certainly hasn't been for some time, although it is now implemented in the schema validator.

PRs to the legacy validator are still accepted, but our priority at the moment is completing the schema validator.

@mateuszpawlik
Copy link

I don't understand. Are there two validators? Could you explain the difference between legacy and schema validator? How can I use the schema validator if it's more robust?

Something is implemented:

issues.push(
new Issue({
code: 49,
evidence: evidence,
file: participants.file,
}),
)

@effigies
Copy link
Collaborator

effigies commented May 30, 2024

Apologies, we have done a bad job of communicating this on the repository. The BIDS validator is a large amount of custom code that gets more baroque over time. A few years ago the steering group approved the idea of expanding the then-nascent BIDS schema into something that could encode most validatable rules, and we would rewrite the validator as an interpreter of the schema.

That turned out not to be possible piece-meal, and so the new interpreter is being built in the shell of the old. You can find it (with a README) here: https://github.com/bids-standard/bids-validator/tree/master/bids-validator/src

For some more context: https://docs.google.com/presentation/d/1ldEbElaFm__jtkLoEcn2PQ-LGj1dfmdjWxDvE11eiNk/edit#slide=id.p

Anyway, we are now working to determine any remaining gaps in the schema validator and hope to switch to it by default very soon.

@mateuszpawlik
Copy link

I'm happy to try out the new validator if that's helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants