Skip to content

Commit

Permalink
Fix pynwb.Subject for missing breeding_group/info
Browse files Browse the repository at this point in the history
  • Loading branch information
bjhardcastle committed Sep 17, 2024
1 parent 8787b24 commit 92d67d1
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions src/npc_sessions/sessions.py
Original file line number Diff line number Diff line change
Expand Up @@ -1977,16 +1977,22 @@ def get_subject_from_aind_metadata(self) -> pynwb.file.Subject:
assert metadata["subject_id"] == self.id.subject
dob = utils.get_aware_dt(metadata["date_of_birth"])

strain = metadata["background_strain"]
if strain is None:
strain = metadata.get("breeding_group", None)
if strain is None:
breeding_info = metadata.get("breeding_info", None) or {}
with contextlib.suppress(KeyError):
strain = breeding_info.get("breeding_group", None)

return pynwb.file.Subject(
subject_id=metadata["subject_id"],
species="Mus musculus",
sex=metadata["sex"][0].upper(),
date_of_birth=dob,
genotype=metadata["genotype"],
description=None,
strain=metadata["background_strain"]
or metadata.get("breeding_group")
or metadata.get("breeding_info", {}).get("breeding_group", ""),
strain=strain,
age=f"P{(self.session_start_time - dob).days}D",
)

Expand Down

0 comments on commit 92d67d1

Please sign in to comment.