Subject¶
The subject.json file describes the subject from which data was obtained.
Example¶
1"""example subject"""
2
3import argparse
4from datetime import datetime, timezone
5
6from aind_data_schema_models.organizations import Organization
7from aind_data_schema_models.species import Species, Strain
8
9from aind_data_schema.core.subject import Subject
10from aind_data_schema.components.subjects import BreedingInfo, Housing, Sex, MouseSubject
11
12# If a timezone isn't specified, the timezone of the computer running this
13# script will be used as default
14t = datetime(2022, 11, 22, 8, 43, 00, tzinfo=timezone.utc)
15
16s = Subject(
17 subject_id="123456",
18 subject_details=MouseSubject(
19 species=Species.HOUSE_MOUSE,
20 strain=Strain.C57BL_6J,
21 sex=Sex.MALE,
22 date_of_birth=t.date(),
23 source=Organization.AI,
24 breeding_info=BreedingInfo(
25 breeding_group="Emx1-IRES-Cre(ND)",
26 maternal_id="546543",
27 maternal_genotype="Emx1-IRES-Cre/wt; Camk2a-tTa/Camk2a-tTA",
28 paternal_id="232323",
29 paternal_genotype="Ai93(TITL-GCaMP6f)/wt",
30 ),
31 genotype="Emx1-IRES-Cre/wt;Camk2a-tTA/wt;Ai93(TITL-GCaMP6f)/wt",
32 housing=Housing(home_cage_enrichment=["Running wheel"], cage_id="123"),
33 ),
34)
35
36if __name__ == "__main__":
37 parser = argparse.ArgumentParser()
38 parser.add_argument("--output-dir", default=None, help="Output directory for generated JSON file")
39 args = parser.parse_args()
40
41 serialized = s.model_dump_json()
42 deserialized = Subject.model_validate_json(serialized)
43 deserialized.write_standard_file(output_directory=args.output_dir)
Core file¶
Subject¶
Description of a subject of data collection
Field |
Type |
Title (Description) |
|---|---|---|
|
|
Subject ID (Unique identifier for the subject of data acquisition) |
|
MouseSubject or HumanSubject or NonHumanPrimateSubject or CalibrationObject |
Subject Details |
|
|
Notes |