Quick validation failed - the general folder structure does not resemble a BIDS dataset

bids-validator
bids

#1

Hello BIDS Pipers,

I am running into an issue when trying to validate data for a single subject (Error Message Below). I believe that I am uploading the project folder correctly, but I cannot understand why bids is not reading my subject level directory. I have tried adding additional files (one more participant/participant.tsv/dataset_description.json) in the subject level directory but it has resulted in more errors (screenshot attached) or the website gets stuck on the validating page and does not produce any output.

I am hoping someone could help me understand what I may be doing wrong. I would be happy to email you the data I am working with or additional information.

Thank you,
Robert

Examples:
Path: mydataset/sub-001/ses-1/anat/sub-001_ses-1_T1w.nii.gz
Path: mydataset/sub-001/ses-1/anat/sub-001_ses-1_T1w.json

Error:
File Path: Quick validation failed - the general folder structure does not resemble a BIDS dataset. Have you chosen the right folder (with “sub-*/” subfolders)? Check for structural/naming issues and presence of at least one subject.

Type:		Error
File:		ses-1
Reason:		Quick validation failed - the general folder structure does not resemble a BIDS dataset. Have you chosen the right folder (with "sub-*/" subfolders)? Check for structural/naming issues and presence of at least one subject.

======================================================


#2

The folder you should pass to the validator is the root of the dataset - in your example that would be mydataset/. This is also where the dataset_description.json file needs to be. So the minimal example will be

mydataset/dataset_description.json
mydataset/sub-001/ses-1/anat/sub-001_ses-1_T1w.nii.gz
mydataset/sub-001/ses-1/anat/sub-001_ses-1_T1w.json

It might be also useful to have a look at an example dataset such as this one: https://openneuro.org/datasets/ds000114/versions/1.0.0


#3

Hi Chris,

Thank you for your quick response. The minimal example that you provided is the exact way my files are structured and I just tried again to pass my root directory (mydataset) through the validator, but it seems to be stuck on the validating page.


#4

This could be a recent bug - could you try this version: https://1514-37161308-gh.circle-artifacts.com/0/root/web_version/index.html?


#5

That version seemed to work. I still have two errors that are shown in the screenshot. I can problem solve the second error, but if you have any advise for the first error I would greatly appreciate it. Thank you very much Chris!

Capture


#6

If you click on the error box it will expand showing you which files are an issue. This should help resolving problems.

Example:
Before clicking

After clicking


Inconsistent errors with BIDS validator
#7

Hi, I think I found an error in the online version of the BIDS validator. Below is the error report I got. As you can see, there is an error because of the presence of the file “/event.json”. At the same time there are warnings due to “*_events.tsv” files without dictionary files associated to them. As a remedy, it is propose to add an JSON file with différent choice of naming… including “/events.json”!

Finally, when I created two files: “/task-localizer.json” and “/task-localizerMars.json” (corresponding to the two tasks present for this project), all the errors and warnings disappeared.

File Path: Files with such naming scheme are not part of BIDS specification. This error is most commonly caused by typos in file names that make them not BIDS compatible. Please consult the specification and make sure your files are named correctly. If this is not a file naming issue (for example when including files not yet covered by the BIDS specification) you should include a “.bidsignore” file in your dataset (see https://github.com/bids-standard/bids-validator#bidsignore for details). Please note that derived (processed) data should be placed in /derivatives folder and source data (such as DICOMS or behavioural logs in proprietary formats) should be placed in the /sourcedata folder.

Type:		Error
File:		events.json
Location:		RemiLocaMars/events.json
Reason:		Files with such naming scheme are not part of BIDS specification. This error is most commonly caused by typos in file names that make them not BIDS compatible. Please consult the specification and make sure your files are named correctly. If this is not a file naming issue (for example when including files not yet covered by the BIDS specification) you should include a ".bidsignore" file in your dataset (see https://github.com/bids-standard/bids-validator#bidsignore for details). Please note that derived (processed) data should be placed in /derivatives folder and source data (such as DICOMS or behavioural logs in proprietary formats) should be placed in the /sourcedata folder.
Evidence:	events.json

======================================================

File Path: Tabular file contains custom columns not described in a data dictionary

Type:		Warning
File:		sub-01_task-localizerMars_acq-mb_events.tsv
Location:		RemiLocaMars/sub-01/func/sub-01_task-localizerMars_acq-mb_events.tsv
Reason:		Tabular file contains custom columns not described in a data dictionary
Evidence:	Columns: expected_response, given_response not defined, please define in: /task-localizerMars_acq-mb_events.json, /task-localizerMars_events.json,/events.json,/sub-01/sub-01_task-localizerMars_acq-mb_events.json,/sub-01/sub-01_task-localizerMars_events.json,/sub-01/sub-01_events.json,/sub-01/func/sub-01_task-localizerMars_acq-mb_events.json,/sub-01/func/sub-01_task-localizerMars_events.json,/sub-01/func/sub-01_events.json

Type:		Warning
File:		sub-01_task-localizer_acq-mb_events.tsv
Location:		RemiLocaMars/sub-01/func/sub-01_task-localizer_acq-mb_events.tsv
Reason:		Tabular file contains custom columns not described in a data dictionary
Evidence:	Columns: expected_response, given_response not defined, please define in: /task-localizer_acq-mb_events.json, /task-localizer_events.json,/events.json,/sub-01/sub-01_task-localizer_acq-mb_events.json,/sub-01/sub-01_task-localizer_events.json,/sub-01/sub-01_events.json,/sub-01/func/sub-01_task-localizer_acq-mb_events.json,/sub-01/func/sub-01_task-localizer_events.json,/sub-01/func/sub-01_events.json

Type:		Warning
File:		sub-01_task-localizer_acq-sb_events.tsv
Location:		RemiLocaMars/sub-01/func/sub-01_task-localizer_acq-sb_events.tsv
Reason:		Tabular file contains custom columns not described in a data dictionary
Evidence:	Columns: expected_response, given_response not defined, please define in: /task-localizer_acq-sb_events.json, /task-localizer_events.json,/events.json,/sub-01/sub-01_task-localizer_acq-sb_events.json,/sub-01/sub-01_task-localizer_events.json,/sub-01/sub-01_events.json,/sub-01/func/sub-01_task-localizer_acq-sb_events.json,/sub-01/func/sub-01_task-localizer_events.json,/sub-01/func/sub-01_events.json

Type:		Warning
File:		sub-01_task-localizer_echo-1_events.tsv
Location:		RemiLocaMars/sub-01/func/sub-01_task-localizer_echo-1_events.tsv
Reason:		Tabular file contains custom columns not described in a data dictionary
Evidence:	Columns: expected_response, given_response not defined, please define in: /task-localizer_echo-1_events.json, /task-localizer_events.json,/events.json,/sub-01/sub-01_task-localizer_echo-1_events.json,/sub-01/sub-01_task-localizer_events.json,/sub-01/sub-01_events.json,/sub-01/func/sub-01_task-localizer_echo-1_events.json,/sub-01/func/sub-01_task-localizer_events.json,/sub-01/func/sub-01_events.json

Type:		Warning
File:		sub-01_task-localizer_echo-2_events.tsv
Location:		RemiLocaMars/sub-01/func/sub-01_task-localizer_echo-2_events.tsv
Reason:		Tabular file contains custom columns not described in a data dictionary
Evidence:	Columns: expected_response, given_response not defined, please define in: /task-localizer_echo-2_events.json, /task-localizer_events.json,/events.json,/sub-01/sub-01_task-localizer_echo-2_events.json,/sub-01/sub-01_task-localizer_events.json,/sub-01/sub-01_events.json,/sub-01/func/sub-01_task-localizer_echo-2_events.json,/sub-01/func/sub-01_task-localizer_events.json,/sub-01/func/sub-01_events.json

Type:		Warning
File:		sub-01_task-localizer_echo-3_events.tsv
Location:		RemiLocaMars/sub-01/func/sub-01_task-localizer_echo-3_events.tsv
Reason:		Tabular file contains custom columns not described in a data dictionary
Evidence:	Columns: expected_response, given_response not defined, please define in: /task-localizer_echo-3_events.json, /task-localizer_events.json,/events.json,/sub-01/sub-01_task-localizer_echo-3_events.json,/sub-01/sub-01_task-localizer_events.json,/sub-01/sub-01_events.json,/sub-01/func/sub-01_task-localizer_echo-3_events.json,/sub-01/func/sub-01_task-localizer_events.json,/sub-01/func/sub-01_events.json

======================================================


#8

Hi, I’m trying to check my dataset with online BIDS validator. Below is the error, which I’m not sure how to solve.
I have the dataset available on PhysioBank website (link to dataset) and I’m trying to make it BIDS like.
I’ve used the MNE python tool to create the BIDS directory and files structure (MNE tool). Below you can find the log of the tree cmd. I’ve tried to check fit the minimum dataset requirements and delete the README and other unnecessary files, but it’s also failing.

Could you, please, help me to cope with this error, as I’m not sure what it means?

ERROR:

File Path: Quick validation failed - the general folder structure does not resemble a BIDS dataset. Have you chosen the right folder (with “sub-*/” subfolders)? Check for structural/naming issues and presence of at least one subject.

Type: Error
File: eeg_mental
Reason: Quick validation failed - the general folder structure does not resemble a BIDS dataset. Have you chosen the right folder (with “sub-*/” subfolders)? Check for structural/naming issues and presence of at least one subject.

======================================================
File Path: Quick validation failed - the general folder structure does not resemble a BIDS dataset. Have you chosen the right folder (with “sub-*/” subfolders)? Check for structural/naming issues and presence of at least one subject.

Type: Error
File: eeg_mental
Reason: Quick validation failed - the general folder structure does not resemble a BIDS dataset. Have you chosen the right folder (with “sub-*/” subfolders)? Check for structural/naming issues and presence of at least one subject.

======================================================

DIRECTORY TREE: (I’ve truncated the directory tree to 4 subjects, as the same struct you can observe for all 35 participants)

eeg_mental/
├── dataset_description.json
├── participants.json
├── participants.tsv
├── README
├── sub-00
│ ├── eeg
│ │ ├── sub-00_task-counteyesclosed_channels.tsv
│ │ ├── sub-00_task-counteyesclosed_eeg.edf
│ │ ├── sub-00_task-counteyesclosed_eeg.json
│ │ ├── sub-00_task-counteyesclosed_events.tsv
│ │ ├── sub-00_task-resteyesclosed_channels.tsv
│ │ ├── sub-00_task-resteyesclosed_eeg.edf
│ │ ├── sub-00_task-resteyesclosed_eeg.json
│ │ └── sub-00_task-resteyesclosed_events.tsv
│ └── sub-00_scans.tsv
├── sub-01
│ ├── eeg
│ │ ├── sub-01_task-counteyesclosed_channels.tsv
│ │ ├── sub-01_task-counteyesclosed_eeg.edf
│ │ ├── sub-01_task-counteyesclosed_eeg.json
│ │ ├── sub-01_task-counteyesclosed_events.tsv
│ │ ├── sub-01_task-resteyesclosed_channels.tsv
│ │ ├── sub-01_task-resteyesclosed_eeg.edf
│ │ ├── sub-01_task-resteyesclosed_eeg.json
│ │ └── sub-01_task-resteyesclosed_events.tsv
│ └── sub-01_scans.tsv
├── sub-02
│ ├── eeg
│ │ ├── sub-02_task-counteyesclosed_channels.tsv
│ │ ├── sub-02_task-counteyesclosed_eeg.edf
│ │ ├── sub-02_task-counteyesclosed_eeg.json
│ │ ├── sub-02_task-counteyesclosed_events.tsv
│ │ ├── sub-02_task-resteyesclosed_channels.tsv
│ │ ├── sub-02_task-resteyesclosed_eeg.edf
│ │ ├── sub-02_task-resteyesclosed_eeg.json
│ │ └── sub-02_task-resteyesclosed_events.tsv
│ └── sub-02_scans.tsv
├── sub-03
│ ├── eeg
│ │ ├── sub-03_task-counteyesclosed_channels.tsv
│ │ ├── sub-03_task-counteyesclosed_eeg.edf
│ │ ├── sub-03_task-counteyesclosed_eeg.json
│ │ ├── sub-03_task-counteyesclosed_events.tsv
│ │ ├── sub-03_task-resteyesclosed_channels.tsv
│ │ ├── sub-03_task-resteyesclosed_eeg.edf
│ │ ├── sub-03_task-resteyesclosed_eeg.json
│ │ └── sub-03_task-resteyesclosed_events.tsv
│ └── sub-03_scans.tsv
├── sub-04
│ ├── eeg
│ │ ├── sub-04_task-counteyesclosed_channels.tsv
│ │ ├── sub-04_task-counteyesclosed_eeg.edf
│ │ ├── sub-04_task-counteyesclosed_eeg.json
│ │ ├── sub-04_task-counteyesclosed_events.tsv
│ │ ├── sub-04_task-resteyesclosed_channels.tsv
│ │ ├── sub-04_task-resteyesclosed_eeg.edf
│ │ ├── sub-04_task-resteyesclosed_eeg.json
│ │ └── sub-04_task-resteyesclosed_events.tsv
│ └── sub-04_scans.tsv

72 directories, 328 files


#9

EEG standardization is still in progress (EEG extension is still a proposal and has not been merged into the main spec). The online validator does not support EEG. You can use the command line version with the ‘–bep006’ flag to validate EEG datasets.