Hi everyone,
I’m trying to convert our MRI dataset to BIDS using dcm2bids to later use fmriPREP, and when I run the **BIDS validator (Docker)**on a subject (sub-1001), I get a mix of warnings and errors. I’d like some guidance on what needs to be fixed vs what can be ignored. As general background info, I have 3 different tasks, one resting state scan, DWI, one topup scan for each of the 3 tasks and for the Resting state scan (4 in total).
Folder structure:
├── Project_BIDS
│ ├── CHANGES
│ ├── README
│ ├── code
│ │ ├── dcm2bids_config.json
│ │ └── fmriprep.sh
│ ├── dataset_description.json
│ ├── derivatives
│ │ └── license.txt
│ ├── participants.json
│ ├── participants.tsv
│ ├── sourcedata
│ ├── sub-1001
│ │ ├── anat
│ │ │ ├── sub-1001_T1w.json
│ │ │ ├── sub-1001_T1w.nii.gz
│ │ │ ├── sub-1001_run-01_localizer.json
│ │ │ ├── sub-1001_run-01_localizer.nii.gz
│ │ │ ├── sub-1001_run-02_localizer.json
│ │ │ ├── sub-1001_run-02_localizer.nii.gz
│ │ │ ├── sub-1001_run-03_localizer.json
│ │ │ ├── sub-1001_run-03_localizer.nii.gz
│ │ │ ├── sub-1001_scout.json
│ │ │ └── sub-1001_scout.nii.gz
│ │ ├── dwi
│ │ │ ├── sub-1001_acq-b0_dir-PA_dwi.bval
│ │ │ ├── sub-1001_acq-b0_dir-PA_dwi.bvec
│ │ │ ├── sub-1001_acq-b0_dir-PA_dwi.json
│ │ │ ├── sub-1001_acq-b0_dir-PA_dwi.nii.gz
│ │ │ ├── sub-1001_acq-b1k40_dir-AP_dwi.bval
│ │ │ ├── sub-1001_acq-b1k40_dir-AP_dwi.bvec
│ │ │ ├── sub-1001_acq-b1k40_dir-AP_dwi.json
│ │ │ ├── sub-1001_acq-b1k40_dir-AP_dwi.nii.gz
│ │ │ ├── sub-1001_acq-b2k53_dir-AP_dwi.bval
│ │ │ ├── sub-1001_acq-b2k53_dir-AP_dwi.bvec
│ │ │ ├── sub-1001_acq-b2k53_dir-AP_dwi.json
│ │ │ ├── sub-1001_acq-b2k53_dir-AP_dwi.nii.gz
│ │ │ ├── sub-1001_acq-b3k66_dir-AP_dwi.bval
│ │ │ ├── sub-1001_acq-b3k66_dir-AP_dwi.bvec
│ │ │ ├── sub-1001_acq-b3k66_dir-AP_dwi.json
│ │ │ └── sub-1001_acq-b3k66_dir-AP_dwi.nii.gz
│ │ ├── fmap
│ │ │ ├── sub-1001_acq-AST_dir-AP_epi.json
│ │ │ ├── sub-1001_acq-AST_dir-AP_epi.nii.gz
│ │ │ ├── sub-1001_acq-MT_dir-AP_epi.json
│ │ │ ├── sub-1001_acq-MT_dir-AP_epi.nii.gz
│ │ │ ├── sub-1001_acq-Rest_dir-AP_epi.json
│ │ │ ├── sub-1001_acq-Rest_dir-AP_epi.nii.gz
│ │ │ ├── sub-1001_acq-SST_dir-AP_epi.json
│ │ │ └── sub-1001_acq-SST_dir-AP_epi.nii.gz
│ │ └── func
│ │ ├── sub-1001_task-AST_dir-PA_bold.json
│ │ ├── sub-1001_task-AST_dir-PA_bold.nii.gz
│ │ ├── sub-1001_task-AST_dir-PA_sbref.json
│ │ ├── sub-1001_task-AST_dir-PA_sbref.nii.gz
│ │ ├── sub-1001_task-MT_dir-PA_bold.json
│ │ ├── sub-1001_task-MT_dir-PA_bold.nii.gz
│ │ ├── sub-1001_task-MT_dir-PA_sbref.json
│ │ ├── sub-1001_task-MT_dir-PA_sbref.nii.gz
│ │ ├── sub-1001_task-Rest_dir-PA_bold.json
│ │ ├── sub-1001_task-Rest_dir-PA_bold.nii.gz
│ │ ├── sub-1001_task-Rest_dir-PA_sbref.json
│ │ ├── sub-1001_task-Rest_dir-PA_sbref.nii.gz
│ │ ├── sub-1001_task-SST_dir-PA_bold.json
│ │ ├── sub-1001_task-SST_dir-PA_bold.nii.gz
│ │ ├── sub-1001_task-SST_dir-PA_sbref.json
│ │ └── sub-1001_task-SST_dir-PA_sbref.nii.gz
Here’s a summary of the issues:
**1. [ERROR] MISSING_DATASET_DESCRIPTION A dataset_description.json file is required in the root of the dataset**
--> I have the dataset_description.json file in the Project_BIDS folder (see folder structure), where should it otherwise be located?
**2. [ERROR] INVALID_LOCATION The file has a valid name, but is located in an invalid directory.**
** /dwi/sub-1001_acq-b3k66_dir-AP_dwi.nii.gz - Expected location: /sub-1001/**
** /dwi/sub-1001_acq-b1k40_dir-AP_dwi.nii.gz - Expected location: /sub-1001/**
** 40 more files with the same issue**
→ I don’t understand this error at all (based on my folder structure), what is wrong?
3. [ERROR] NOT_INCLUDED 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.
** /anat/sub-1001_scout.json**
** /anat/sub-1001_run-02_localizer.nii.gz**
** 6 more files with the same issue**
→ How do I handle these files otherwise?
Could you please help me with these 3 errors?
Thanks in advance!!