Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

idea: StimulusPurpose as a controlledTerm #475

Open
stevewds opened this issue Mar 20, 2024 · 2 comments
Open

idea: StimulusPurpose as a controlledTerm #475

stevewds opened this issue Mar 20, 2024 · 2 comments
Labels
request any request or update for schemas

Comments

@stevewds
Copy link

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

@UlrikeS91 UlrikeS91 added the request any request or update for schemas label May 8, 2024
@lzehl
Copy link
Member

lzehl commented May 13, 2024

@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
Copy link
Member

lzehl commented May 13, 2024

We'll keep this issue open for discussion purposes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
request any request or update for schemas
Projects
None yet
Development

No branches or pull requests

3 participants