Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

How to structure subject specific configs

Closed
#30 2 comments 0 reactions 3 assignees View on GitHub

@bruno-f-cruz is already working on this.

Since Apr 7, 2026.

Assessment

This issue has not been assessed yet.

Description

For dynamic foraging use case, we need a way to pull subject specific configs like the manipulator coordinates. Each mouse will have unique coords which need to be applied at the beginning of each session and updated in zookeeper at the end. I think the best way to do this would be to pull the rig config using the current merging scheme and then pull a separate manipulator coordinate config specific to a subject and then merge the two manually at the experiment manager layer. @bruno-f-cruz has suggested this structure to handle subject

Create a different category at the same level as defaults and computers called: subject. Inside you keep everything the same way, except instead of "hostname" you use "subject". Merging rules apply the same way. This is cool cause it allows you to have defaults for all "things" that use that animal, or per "software".

I am interpreting this as having the structure like below

defaults
    |-dynamic foraging
        |- behavior_2_camera.yml 
        |- default.yml #0
        |- rig.yml # 1


computers
    |-hostname
        |-dynamic foraging
            |- default.yml #2
            |- rig.yml    #3

subject
    |-mouse_id
        |-dynamic foraging
            |- default.yml #4
            |- rig.yml  #5
        |-vr-foraging
            |-default.yml
            |-rig.yml

Am I interpreting this correctly? For merging rules, it would just be merging the manipulater_coords from the defaults folder against the subject/mouse_id folder?

If I have the right idea, I believe we'd need to add another endpoint with a subject query

Dominant language
Python
Stars
1
Forks
0
Avg merge
5d 19h
Merged PRs (30d)
4

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from AllenNeuralDynamics/ficus

All issues in AllenNeuralDynamics/ficus

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.