AllenNeuralDynamics / foraging-behavior-browser

Foraging behavior browser (streamlit)
https://foraging-behavior-browser.streamlit.app/
MIT License
2 stars 2 forks source link

bug: wrong label of virus to intended NM recorded #92

Closed rachelstephlee closed 1 week ago

rachelstephlee commented 1 month ago

I used a crude function to determine which NM was being recorded from the virus listed.

pAAV.CAG.Flex.NES-JRGECO1a.WPRE.SV40 should be a GcAMP6f virus, not a virus targeting NE. The code only checks if there is NE/NA in the virus name. This should be changed to check if there's GRABNE/NA or NE/NAGRAB instead.

rachelstephlee commented 1 month ago

i asked david to pull ALL of the viruses listed in the streamlit app. viruses.csv

I should have experimentalist go over the list after I make a pss of it and make a dictionary out of this.

then, i should have the function output the actual virus info if it's a new entry.

rachelstephlee commented 1 month ago

Jeremiah has helped provide some of the virus mapping to NM. This will not be included in the NWB, but the dictionary will be used after the fact for the querying method (streamlit in this case) to interpret the virus used for the NM recorded.

With that same virus.csv, Rachel will pass along any buggy/wrong virus tags (eg. virus called "NA," virus called "TBA", virus that are the virus lot number and NOT the actual virus itself) to @hagikent and we will fix them.

alexpiet commented 1 month ago

@rachelstephlee Can the dictionary that maps virus to NM also be included in the data-utils repo?

rachelstephlee commented 1 month ago

@alexpiet how do you want me to include it -- right now it's a CSV file... it would presumably need to be updated as we use MORE viruses.

alexpiet commented 1 month ago

maybe save the csv file in the repo, and then make a function that takes in the NWB file, and returns a dictionary whose keys are G_1, G_2, R_1, R_2, and values with the NM name. That way we can easily update the csv file as needed

hagikent commented 1 month ago

I sort of like @alexpiet 's suggestion, at least no objections. @rachelstephlee the number of AAVs to be used will be growing but not like 1k; I presume max. ~50 that is totally trackable.

rachelstephlee commented 1 month ago

@saskiad proposes that we put the 'intention' of where we're recording and what we're recording, it should be placed in the data description.

We need to figure out when to put this in. We will do this post-hoc for now. We could use an LLM to generate out a data description (Saskia has an RA who is working with LLMs).

This will be separate from the 'intended area' that we will include in the surgery request form.

Our priority list for metadata:

  1. intended recording structure (https://github.com/orgs/AllenNeuralDynamics/projects/75/views/1?filterQuery=intended+recording&pane=issue&itemId=78141444&issue=AllenNeuralDynamics%7Cforaging-behavior-browser%7C86)
  2. correct probe information (https://github.com/orgs/AllenNeuralDynamics/projects/75/views/1?filterQuery=virus&pane=issue&itemId=79980006&issue=AllenNeuralDynamics%7Caind-physio-arch%7C252)
  3. add this 'data description' to address the correct interpretation for virus information
hagikent commented 2 weeks ago

current look-up table (not yet official, beta, but useful)

hagikent commented 1 week ago

at this point, redundant with: https://github.com/AllenNeuralDynamics/aind-physio-arch/issues/252 and I close.