NeurodataWithoutBorders / nwbinspector

Tool to help inspect NWB files for compliance with NWB Best Practices
https://nwbinspector.readthedocs.io/
Other
17 stars 10 forks source link

[Add Check]: age Duration range and Best Practice #209

Open CodyCBakerPhD opened 2 years ago

CodyCBakerPhD commented 2 years ago

What would you like to see added to the NWBInspector?

From discussion the other day, need to formalize a Best Practice for using the age of Subject as a free-form text field to account for some additional properties.

We already recommend ISO 8601 when exact age is known. If only a range is available, this uncertainty should be indicated.

I think what we landed on was using interval notation, e.g., age="(P4W, P6W)" to indicate subject age could have been as low as 4 weeks and as high as 6 weeks old, but exact age unknown.

There was also the reference time of 'birth' or 'stage' of development, which can be added on using a separation character such as '-', for the form age="P4D - <reference point>", .e.g. age="P4D - Conception" for in utero mouse studies, or age="P1D - Adulthood" for Drosophila melanogaster studies, with global default <reference point> being "birth".

Pseudocode or other logic of the check

No response

Do you have any interest in helping implement the check function?

Yes.

Code of Conduct

CodyCBakerPhD commented 2 years ago

I think @h-mayorquin expressed interest in leading this

bendichter commented 2 years ago

I believe we decided to use attributes of the dataset.

h-mayorquin commented 2 years ago

Commenting here for the to-do list.

bendichter commented 1 year ago

DANDI landed on using a slash for age range. We have already added this to the docs here and to the code here:

https://github.com/NeurodataWithoutBorders/nwbinspector/blob/acbd678833e01522f26a4d1b9b7f98c3ed27959a/src/nwbinspector/checks/nwbfile_metadata.py#L132-L158

Age reference is now a field within NWB.

The only final point is one of "growth stage", which I have only ever seen come up for C. elegens, so maybe we should make a species-specific exception there

CodyCBakerPhD commented 1 year ago

The only final point is one of "growth stage", which I have only ever seen come up for C. elegens, so maybe we should make a species-specific exception there

Didn't fly life stages (or maybe it was also fly larvae) also follow a similar type of customized pattern?