MRIQC tells me this is not a valids BIDS data set but the validator disagree

Hey all,

My first go at trying using docker and MRIQC on some old data of mine so this is a beginner’s question.

Trying to run it with docker gives me an error (output pasted at the end) telling me dataset_description.json is missing even though my data set passed the validator test (don’t have the output of the validator at hand but the incriminated .json file is there: see terminal output at the end).

More info:

My first assumption is that I am doing something wrong but I am not sure what.
My second assumption that using the docker toolbox instead of the docker could be an issue but I am not sure this make sense.

Any lead on what to look for is welcome.

@+

Remi

MRIQC output
$ docker run -it --rm -v /d/McGurk/rawdata/:/data:ro -v /d/MRIQC/:/out poldracklab/mriqc:latest /data /out participant
–participant_label 01
2018-09-05 13:09:13,125 mriqc:IMPORTANT
Running MRIQC version 0.14.2:
* BIDS dataset path: /data.
* Output folder: /out.
* Analysis levels: participant.

/usr/local/miniconda/lib/python3.6/site-packages/bids/grabbids/bids_layout.py:116: UserWarning: ‘dataset_description.json’ file is missing from project root. You may want to set the root path to a valid BIDS project.
warnings.warn("‘dataset_description.json’ file is missing from "
2018-09-05 13:09:28,066 mriqc:CRITICAL MRIQC did not find any target image file under the given BIDS folder (/data). Please ensure that the dataset is BIDS valid at http://incf.github.io/bids-validator/ .
2018-09-05 13:09:28,073 mriqc:WARNING The following BIDS entities were selected as filters: --participant-label 01, --modalities T1w bold T2w. Please, check whether their combinations are possible.

$ ls -larth McGurk/rawdata/
total 15K
-rwxrwx—+ 1 Remi None 25 Sep 3 17:41 README
-rwxrwx—+ 1 Remi None 25 Sep 3 17:41 CHANGES
-rwxrwx—+ 1 Remi None 1007 Sep 3 20:22 dataset_description.json
-rwxrwx—+ 1 Remi None 233 Sep 3 22:23 participants.tsv
-rwxrwx—+ 1 Remi None 1.7K Sep 3 22:49 task-contextmcgurk_bold.json
drwxrwx—+ 1 Remi None 0 Sep 3 23:01 …
drwxrwx—+ 1 Remi None 0 Sep 3 23:01 sub-01
drwxrwx—+ 1 Remi None 0 Sep 3 23:01 sub-13
drwxrwx—+ 1 Remi None 0 Sep 3 23:01 sub-14
drwxrwx—+ 1 Remi None 0 Sep 3 23:01 sub-15
drwxrwx—+ 1 Remi None 0 Sep 3 23:02 sub-24
drwxrwx—+ 1 Remi None 0 Sep 3 23:02 sub-28
drwxrwx—+ 1 Remi None 0 Sep 3 23:02 sub-32
drwxrwx—+ 1 Remi None 0 Sep 3 23:02 sub-41
drwxrwx—+ 1 Remi None 0 Sep 3 23:02 sub-48
drwxrwx—+ 1 Remi None 0 Sep 3 23:03 sub-61
drwxrwx—+ 1 Remi None 0 Sep 3 23:03 sub-66
drwxrwx—+ 1 Remi None 0 Sep 3 23:03 sub-69
drwxrwx—+ 1 Remi None 0 Sep 3 23:03 sub-73
drwxrwx—+ 1 Remi None 0 Sep 3 23:03 sub-74
drwxrwx—+ 1 Remi None 0 Sep 3 23:04 sub-82
drwxrwx—+ 1 Remi None 0 Sep 3 23:04 sub-98
drwxrwx—+ 1 Remi None 0 Sep 5 15:05 .

1 Like

Hello
Did you find the solution ?Is it a bids version database issue ?
Thanks in advance

It was just a wrong path when I try to run mriqc (in a docker vesion) …

Hi @Remi-Gau, I just saw this.

It seems to me that you may be used an outdated version of the BIDS Validator. Was it the online version? When did you run the check?

As per sec. 8.1.1 of BIDS, dataset_description.json is mandatory.

EDIT: I just realized that the file is indeed there.

My first bet then would be that the shared folder is not accessible from within the container. Running it with --entrypoint=/bin/bash to get a shell and see whether the dataset is accessible would be a way forward.

1 Like

Cool. I am pretty sure I was doing something wrong (either path or shared folder not access) but I am not sure what so I will try that and keep you posted.

Thanks.

1 Like

OK so at least this works if I leave the data on the same disk where the docker is. So at least I have positive control! Now let’s see how I can start breaking things!

When I run the container with data on the C drive I get this:

$ docker run -it --entrypoint /bin/sh -v /c/Users/Remi/Documents/McGurk/rawdata/:/data:ro -v /c/Users/Remi/Documents/McGurk/:/out poldracklab/mriqc
$ cd /
$ ls data
CHANGES dataset_description.json participants.json sub-01 sub-14 sub-24
README defacedT1_EPI_spm_coreg.png participants.tsv sub-13 sub-15 task-contextmcgurk_bold.json

But if I run it with the data on the D drive it returns an empty /data folder

Remi@DESKTOP-ETLFG7N MINGW64 /c/Program Files/Docker Toolbox
$ docker run -it --entrypoint /bin/sh -v /d/BIDS/McGurk/rawdata/:/data:ro -v /c/Users/Remi/Documents/McGurk/:/out poldracklab/mriqc
$ cd /
$ ls data

Though it seems I have added the D drive to the shared folder. Will keep investigating.

1 Like