nwb-schema
nwb-schema copied to clipboard
Add CElegansSubject and species-specific Subject neurodata types
cc @dysprague @CodyCBakerPhD @bendichter
Some species have different requirements than others. For example, C Elegans sex is either XO or XX. @dysprague created the ndx-multichannel-volume extension that includes a CElegansSubject
neurodata type with three fields: growth_stage_time
, growth_stage
, and cultivation_temp
. growth_stage
is required. This type is necessary because in the current Subject
schema, if we were to add growth_stage
it would have to be optional; we do not have a way to say formally that if species = "Caenorhabditis elegans", then growth_stage
is required. It also helps tools like nwbinspector to do different best practices validation of sex
and age
based on species.
It feels strange to use the ndx-multichannel-volume extension just to use the CElegansSubject
neurodata type, but that is workable. It would be better to have this type split off in its own extension or part of the core NWB schema.
Related: https://github.com/NeurodataWithoutBorders/nwbinspector/pull/353 https://github.com/dandi/dandi-schema/issues/171 https://github.com/NeurodataWithoutBorders/nwb-schema/issues/492
see especially @satra's comments on https://github.com/dandi/dandi-schema/issues/171#issuecomment-1494334484
For the C elegans subject, we could...
- extract
CElegansSubject
into its own extension and later consider integration into core - propose integration of
CElegansSubject
into core as a NWB Enhancement Proposal - integrate
CElegansSubject
into core without a NEP
I lean toward option 2. Thoughts? We can also consult the TAB.
Separately but relatedly, I can imagine humans, rodents, flies, and other animals having species-specific metadata as well. strain
and genotype
are not applicable to humans. age
and date_of_birth
are not really meaningful in flies and worms (I think). We saw someone wanting to store wean_time
in rodents. Perhaps we should create species-specific Subject neurodata types.