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:
NeurodataWithoutBorders/nwbinspector#353
dandi/dandi-schema#171
#492
see especially @satra's comments on dandi/dandi-schema#171 (comment)
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.
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
CElegansSubjectneurodata type with three fields:growth_stage_time,growth_stage, andcultivation_temp.growth_stageis required. This type is necessary because in the currentSubjectschema, if we were to addgrowth_stageit would have to be optional; we do not have a way to say formally that if species = "Caenorhabditis elegans", thengrowth_stageis required. It also helps tools like nwbinspector to do different best practices validation ofsexandagebased on species.It feels strange to use the ndx-multichannel-volume extension just to use the
CElegansSubjectneurodata 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:
NeurodataWithoutBorders/nwbinspector#353
dandi/dandi-schema#171
#492
see especially @satra's comments on dandi/dandi-schema#171 (comment)
For the C elegans subject, we could...
CElegansSubjectinto its own extension and later consider integration into coreCElegansSubjectinto core as a NWB Enhancement ProposalCElegansSubjectinto core without a NEPI 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.
strainandgenotypeare not applicable to humans.ageanddate_of_birthare not really meaningful in flies and worms (I think). We saw someone wanting to storewean_timein rodents. Perhaps we should create species-specific Subject neurodata types.