Subject

Link to code

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

str

Subject ID (Unique identifier for the subject of data acquisition)

subject_details

MouseSubject or HumanSubject or NonHumanPrimateSubject or CalibrationObject

Subject Details

notes

Optional[str]

Notes