Skip to content

Commit 6551012

Browse files
authored
add ground_wire procedure (#812)
* add ground_wire procedure * added to subject list * added hole number to probe insertion in session * added material and diameter * added PtIr * updates to protective material replacement * rearranged * spelling * examples * update example * linting
1 parent 349de75 commit 6551012

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

examples/ephys_session.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"z": "1000",
4848
"unit": "micrometer"
4949
},
50+
"implant_hole_number": null,
5051
"ephys_probes": [
5152
{
5253
"name": "Probe A",
@@ -88,7 +89,8 @@
8889
"y": "1000",
8990
"z": "1000",
9091
"unit": "micrometer"
91-
}
92+
},
93+
"implant_hole_number": null
9294
}
9395
],
9496
"detectors": [],

src/aind_data_schema/core/procedures.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ class Side(str, Enum):
8989
class ProtectiveMaterial(str, Enum):
9090
"""Name of material applied to craniotomy"""
9191

92+
AGAROSE = "Agarose"
9293
DURAGEL = "Duragel"
9394
KWIK_CAST = "Kwik-Cast"
9495
SORTA_CLEAR = "SORTA-clear"
@@ -121,6 +122,13 @@ class HeadframeMaterial(str, Enum):
121122
WHITE_ZIRCONIA = "White Zirconia"
122123

123124

125+
class GroundWireMaterial(str, Enum):
126+
"""Ground wire material name"""
127+
128+
SILVER = "Silver"
129+
PLATINUM_IRIDIUM = "Platinum iridium"
130+
131+
124132
class VirusPrepType(str, Enum):
125133
"""Type of virus preparation"""
126134

@@ -299,6 +307,22 @@ class Headframe(AindModel):
299307
well_type: Optional[str] = Field(None, title="Well type")
300308

301309

310+
class ProtectiveMaterialReplacement(AindModel):
311+
"""Description of a protective material replacement procedure in preparation for ephys recording"""
312+
313+
procedure_type: Literal["Ground wire"] = "Ground wire"
314+
protocol_id: str = Field(..., title="Protocol ID", description="DOI for protocols.io")
315+
protective_material: ProtectiveMaterial = Field(
316+
..., title="Protective material", description="New material being applied"
317+
)
318+
ground_wire_hole: Optional[int] = Field(None, title="Ground wire hole")
319+
ground_wire_material: Optional[GroundWireMaterial] = Field(None, title="Ground wire material")
320+
ground_wire_diameter: Optional[Decimal] = Field(None, title="Ground wire diameter")
321+
ground_wire_diameter_unit: SizeUnit = Field(SizeUnit.IN, title="Ground wire diameter unit")
322+
well_part_number: Optional[str] = Field(None, title="Well part number")
323+
well_type: Optional[str] = Field(None, title="Well type")
324+
325+
302326
class TarsVirusIdentifiers(AindModel):
303327
"""TARS data for a viral prep"""
304328

@@ -557,8 +581,9 @@ class Surgery(AindModel):
557581
IntraperitonealInjection,
558582
IontophoresisInjection,
559583
NanojectInjection,
560-
Perfusion,
561584
OtherSubjectProcedure,
585+
Perfusion,
586+
ProtectiveMaterialReplacement,
562587
RetroOrbitalInjection,
563588
],
564589
Field(discriminator="procedure_type"),

src/aind_data_schema/core/session.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ class ManipulatorModule(DomeModule):
173173
...,
174174
title="Manipulator coordinates",
175175
)
176+
implant_hole_number: Optional[int] = Field(None, title="Implant hole number")
176177

177178

178179
class EphysProbeConfig(AindModel):

0 commit comments

Comments
 (0)