diff --git a/emannotationschemas/__init__.py b/emannotationschemas/__init__.py index 922c3bf..ee248d8 100644 --- a/emannotationschemas/__init__.py +++ b/emannotationschemas/__init__.py @@ -41,6 +41,8 @@ CompartmentProofreadStatus, ProofreadStatus, ProofreadingBoolStatusUser, + CompartmentProofreadStatusReference, + GeneralProofreadStatusReference ) from emannotationschemas.schemas.neuropil import FlyNeuropil from emannotationschemas.schemas.groups import SimpleGroup @@ -84,6 +86,8 @@ "derived_numeric_value": DerivedNumeric, "proofread_status": ProofreadStatus, "compartment_proofread_status": CompartmentProofreadStatus, + "compartment_proofread_status_reference": CompartmentProofreadStatusReference, + "general_proofread_status_reference": GeneralProofreadStatusReference, "proofreading_boolstatus_user": ProofreadingBoolStatusUser, "fly_neuropil": FlyNeuropil, "reference_point": FlatSegmentationReferenceSinglePoint, diff --git a/emannotationschemas/schemas/proofreading.py b/emannotationschemas/schemas/proofreading.py index 9e85f3c..4287481 100644 --- a/emannotationschemas/schemas/proofreading.py +++ b/emannotationschemas/schemas/proofreading.py @@ -2,6 +2,7 @@ AnnotationSchema, BoundSpatialPoint, NumericField, + ReferenceAnnotation ) from marshmallow import fields, validate @@ -54,3 +55,33 @@ class ProofreadingBoolStatusUser(ProofreadingBoolStatus): required=True, description="User who assessed the proofreading status.", ) + +class CompartmentProofreadStatusReference(ReferenceAnnotation): + user_id = fields.Int( + required=False, + description="User who assessed the proofreading status.", + ) + status_dendrite = fields.String( + required=True, + validate=validate.OneOf(proofread_choices), + description=f"Proofread status of the dendrite only. {options_text}", + ) + status_axon = fields.String( + required=True, + validate=validate.OneOf(proofread_choices), + description=f"Proofread status of the axon only. {options_text}", + ) + +class GeneralProofreadStatusReference(ReferenceAnnotation): + user_id = fields.Int( + required=False, + description="User who assessed the proofreading status.", + ) + status_dendrite = fields.String( + required=True, + description=f"Proofread status of the dendrite only. Can be any string.", + ) + status_axon = fields.String( + required=True, + description=f"Proofread status of the axon only. Can be any string.", + ) \ No newline at end of file