AllenNeuralDynamics / AllenNeuralDynamics/biodata-schema

How to track batches of experiments while affording multi-dimensional asset grouping

Open
#25 7 comments 0 reactions 1 assignee Claimed by @dbirman View on GitHub
Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Apologies if the solution to this issue already exists.

**Is your feature request related to a problem? Please describe.**
Say I am running the following hypothetical experiment:
- Uses VrForaging platform
- Uses a particular set of parameters of VrForaging platform known as "PatchForaging"
- Animals run as part of a batch of experiments

Various queries, for likely different uses, could be made:
1. Give me all sessions of the VrForaging platform (this could be important for visualization tools that aggregate sessions of the platform
2. Give me all animals that ran the "PatchForaging" version
3. Give me all animals from batch `123`

The only field I can see in the aind-data-schema tailored for this use seems to be `acquisition_type`. However, as described in AllenNeuralDynamics/aind-data-schema#1624 it is not clear to me how one would use this field to achieve this goal. Especially when considering how many different discriminators one may want to use.

**Describe the solution you'd like**
A way to encode these "tags" similarly to what the qc schema allows (https://github.com/AllenNeuralDynamics/aind-data-schema/blob/f0c93ee783e25a0da8263cd4613792e973382dd2/src/aind_data_schema/core/quality_control.py#L57)

For instance, the example above could be encoded as:
tags = ["VrForaging", "PatchForaging", "Batch123"]

**Describe alternatives you've considered**
A custom convention that no one else is privy to. For instance, reserving a special character to separate tags.
acquisition_type = "VrForaging%PatchForaging%Batch123"

**Additional context**
Add any other context or screenshots about the feature request here.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.