AllenInstitute / AllenInstitute/ConnectsCommonConnectivity

BrainRegionAssociation: no identity, unwritable as designed

Open
#12 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug schema
Dominant language
Jupyter Notebook
Stars
4
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Problem: this class records which brain region a DataItem is in (region-to-region projection lives in ProjectionMeasurementMatrix), but has only two Optional fields — no id, no project_id. It can't be validated, scoped, or written. Blocks etl_wnm_exc_05.

Fix: add ProjectScoped; require brainregion_id/dataitem_id at write time via the io layer (required_for_write, per the convention in #14). Natural identity is (project_id, dataitem_id, brainregion_id) — no surrogate id needed once merge keys exist (#13).

Design note: a cell may get region assignments from multiple methods (CCF registration vs manual) or term sets — consider a method/source slot.

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Start with the BrainRegionAssociation definition and its io layer, then read the ProjectScoped convention in issue #14 and the merge-key discussion in issue #13. Done means the association is project-scoped, requires brainregion_id and dataitem_id when written, and has the stated natural identity without adding a surrogate id; the method/source design remains to be resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook
Domain
data-engineering
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.