Where to put task-associated behavioral data?

Hi all,

I’m attempting to upload a task fMRI dataset to openneuro.org but I’m not sure where to put some behavioral data which was collected during the task but does not fit easily into events.tsv. Briefly, participants responded to a number of questions (thought probes) at the end of each trial, kind of like a questionnaire at the end of each trial. I don’t have timestamps for them so they aren’t really ‘events,’ but they are also not purely behavioral data since they are associated with the task.

I attempted to make these into .tsv files with associated .jsons, but when I attempt to upload them I get the error below. I’m not sure if this is because this directory expects a different data format? (I attempted to attach them here but was not allowed).

Invalid JSON file. The file is not formatted according the schema.

should NOT have additional properties

Anyone have any idea where I can put these data?

Thank you!


Yeah without a time stamp for those, it will be hard to put them in any kind of _events.tsv.

I suspect that you are then not planning to directly model the neural response to those.

So you could put them in behavioral files: in a beh subfolder

└── beh
    ├── sub-01_task-myTask_run-01_beh.json
    └── sub-01_task-myTask_run-01_beh.tsv

See the BIDS spec:

And to make it clear that they were acquired at the same time as the func data, you would need to make sure that the beh file and its bold counterpart have the same acquisition time mentionned in the scans.tsv file.

There are discussions on how to mention that different files were acquired at the same time in this issue: https://github.com/bids-standard/bids-specification/issues/86

Thank you! This makes a lot of sense. I do have it in the beh/ directory but as I mentioned, for some reason the associated .json files are not being accepted by the BIDS validator on openneuro. I am working with tech support to try to figure it out, but this is a good sanity check that that is the right place to put them. The other option I was attempting is to make them into very long-format files and putting them into the events.tsv files, which is a little overwhelming.

Thank you for pointing me to the SimultaneousRecordingWith field, as well as the acq time. This will be useful to incorporate!


The validator was indeed not happy with beh.json that had almost anything in them.

This should have been fixed by this pull request a month ago, so it might be that Openneuro have not incorporated this change in their version of the bids validator.

The online validator should have incorporated this change.

Check with this version of the validator to cross check.

Mind you that the SimultaneousRecordingWith is just an idea at the moment and is not implemented.

Indeed - when I checked this dataset with the online validator it passed.

UPDATE: when I attempted to upload this again today, it worked! Perhaps the BIDS validator was updated.

Thank you!

1 Like