openMetadataInitiative / openMINDS_controlledTerms

Metadata model for the consistent registration of well-defined terms as well as a corresponding library of terminologies (including links to ontological terms where applicable).
MIT License
7 stars 12 forks source link

idea: StimulusPurpose as a controlledTerm #475

Open stevewds opened 5 months ago

stevewds commented 5 months ago

Hi all -

Our NDI team was discussing today whether it makes sense to add a new controlledTerm called StimulusPurpose.

The idea is to allow the user to specify the reason or purpose that a particular stimulus was applied. I can give you an example that illustrates the need we have.

My research group is currently measuring receptive fields in a set of animals using several bouts of stimulation. Here is a list, for example:

t00001 - set of gratings that varies in both direction and spatial frequency
t00002 - set of gratings that varies in direction and temporal frequency
t00003 - set of gratings that vary in direction and contrast

t00004 - set of gratings that vary in direction (left eye blocked)
t00005 - set of gratings that vary in direction (right eye blocked)
t00006 - set of gratings that vary in direction (neither eye blocked)

I want my analysis code to be able to understand where I was trying to measure direction tuning in the best way, where I was trying to measure spatial frequency tuning in the best way, where I was trying to measure ocular dominance, etc. Although we have encoded complete metadata for the stimuli that were run (about 20 parameters for each grating in each set), we still have to point our analysis code at specific bouts of stimulation, and I want to be able to express that in metadata as well.

As an example, suppose I wanted to tell my code to use epoch t00001 as the place to make a conclusion about the direction tuning for those cells. I can't just search for where the direction of the grating was varied, as this is true for t00001, t00002, t00003, t00004, t00005, and t00006. Instead, I know (as the experimenter) that I want it to analyze the stimulus where spatial frequency and direction were both co-varied, so I can get a good assessment of direction selectivity for cells that like big objects or small objects.

We were thinking that a StimulusPurpose controlled term might be a good way to do this. For example, a little ontology might be:

Identifier  Name    Description
1   Purpose: Assessing spatial frequency tuning States that the purpose of the stimulus is to assess spatial frequency tuning
2   Purpose: Assessing temporal frequency tuning    States that the purpose of the stimulus is to assess temporal frequency tuning
3   Purpose: Assessing direction of motion tuning   States that the purpose of the stimulus is to assess direction of motion tuning
4   Purpose: Assessing contrast tuning  States that the purpose of the stimulus is to assess contrast tuning
5   Left eye view blocked   Indicates that the view through the left eye was blocked during presentation of this stimulus
6   Right eye view blocked  Indicates that the view through the right eye was blocked during presentation of this stimulus
7   Purpose: Assessing ocular dominance or binocular matching   States that the purpose of the stimulus is to assess ocular dominance or binocular matching

One could make an instance of StimulusPurpose that applies to several of these stimulation bouts.

One might ask, why not just use StimulusApproach to encode these purposes? One could, but it might be better to have a new term that reflects the category of information being specified. Here's an example where StimulusApproach and StimulusPurpose might differ.

In bouts t00004-6, we assess ocular dominance with a shorter stimulus suite that only varies in direction of motion. We would apply the StimulusPurpose of Assessing ocular dominance or binocular matching to all of t00004, t00005, and t00006, and then apply the StimulusApproach of Left eye view blocked to t00004 and Right eye view blocked to t00005. One conveys more information about what was literally done, the purpose describes why.

The purpose information would make it easier to write automated analysis code across multiple studies.

We are curious for your thoughts!

Best Steve and NDI team

lzehl commented 3 months ago

@stevewds thank you for bringing this issue to our attention.

While I see your use case I don't think StimulusPurpose should be registered in form of a controlled term, because there are simply too many of them.

However we will take this issue into consideration for a schema discussion around behavioral protocols and our stimulation submodule which we plan to optimize/extend in the near future.

lzehl commented 3 months ago

We'll keep this issue open for discussion purposes.