Echo SurveyReport (Cherry Pick and Plate Reformat, possibly others) format#

EchoSurveyReport: base file#

pydantic model kithairon.surveys.surveyreport.EchoSurveyReport#

Show JSON schema
{
   "title": "EchoSurveyReport",
   "type": "object",
   "properties": {
      "reportheader": {
         "$ref": "#/$defs/EchoReportHeader"
      },
      "reportbody": {
         "$ref": "#/$defs/EchoReportBody"
      },
      "reportfooter": {
         "$ref": "#/$defs/EchoReportFooter"
      }
   },
   "$defs": {
      "EchoReportBody": {
         "properties": {
            "records": {
               "items": {
                  "$ref": "#/$defs/EchoReportRecord"
               },
               "title": "Records",
               "type": "array"
            }
         },
         "required": [
            "records"
         ],
         "title": "EchoReportBody",
         "type": "object"
      },
      "EchoReportFooter": {
         "properties": {
            "InstrName": {
               "title": "Instrname",
               "type": "string"
            },
            "InstrModel": {
               "title": "Instrmodel",
               "type": "string"
            },
            "InstrSN": {
               "title": "Instrsn",
               "type": "string"
            },
            "InstrSWVersion": {
               "title": "Instrswversion",
               "type": "string"
            }
         },
         "required": [
            "InstrName",
            "InstrModel",
            "InstrSN",
            "InstrSWVersion"
         ],
         "title": "EchoReportFooter",
         "type": "object"
      },
      "EchoReportHeader": {
         "properties": {
            "RunID": {
               "title": "Runid",
               "type": "string"
            },
            "RunDateTime": {
               "format": "date-time",
               "title": "Rundatetime",
               "type": "string"
            },
            "AppName": {
               "title": "Appname",
               "type": "string"
            },
            "AppVersion": {
               "title": "Appversion",
               "type": "string"
            },
            "ProtocolName": {
               "title": "Protocolname",
               "type": "string"
            },
            "OrderID": {
               "title": "Orderid",
               "type": "string"
            },
            "ReferenceID": {
               "title": "Referenceid",
               "type": "string"
            },
            "UserName": {
               "title": "Username",
               "type": "string"
            },
            "Comment": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comment"
            }
         },
         "required": [
            "RunID",
            "RunDateTime",
            "AppName",
            "AppVersion",
            "ProtocolName",
            "OrderID",
            "ReferenceID",
            "UserName"
         ],
         "title": "EchoReportHeader",
         "type": "object"
      },
      "EchoReportRecord": {
         "properties": {
            "SrcPlateName": {
               "title": "Srcplatename",
               "type": "string"
            },
            "SrcPlateBarcode": {
               "title": "Srcplatebarcode",
               "type": "string"
            },
            "SrcPlateType": {
               "title": "Srcplatetype",
               "type": "string"
            },
            "SrcWell": {
               "title": "Srcwell",
               "type": "string"
            },
            "SurveyFluidHeight": {
               "title": "Surveyfluidheight",
               "type": "number"
            },
            "SurveyFluidVolume": {
               "title": "Surveyfluidvolume",
               "type": "number"
            },
            "FluidComposition": {
               "title": "Fluidcomposition",
               "type": "number"
            },
            "FluidUnits": {
               "title": "Fluidunits",
               "type": "string"
            },
            "FluidType": {
               "title": "Fluidtype",
               "type": "string"
            },
            "SurveyStatus": {
               "title": "Surveystatus",
               "type": "string"
            }
         },
         "required": [
            "SrcPlateName",
            "SrcPlateBarcode",
            "SrcPlateType",
            "SrcWell",
            "SurveyFluidHeight",
            "SurveyFluidVolume",
            "FluidComposition",
            "FluidUnits",
            "FluidType",
            "SurveyStatus"
         ],
         "title": "EchoReportRecord",
         "type": "object"
      }
   },
   "required": [
      "reportheader",
      "reportbody",
      "reportfooter"
   ]
}

Fields:
field reportbody: EchoReportBody [Required]#
field reportfooter: EchoReportFooter [Required]#
field reportheader: EchoReportHeader [Required]#
classmethod read_xml(path: PathLike | str) Self#

Read a platesurvey XML file.

to_surveydata() SurveyData#

Convert this EchoSurveyReport to a SurveyData.

write_xml(
path: PathLike[str] | str | Callable[[Self], str],
path_str_format: bool = True,
**kwargs,
) str | PathLike[str]#

Write a platesurvey XML file.

EchoReportHeader: survey information#

pydantic model kithairon.surveys.surveyreport.EchoReportHeader#

Show JSON schema
{
   "title": "EchoReportHeader",
   "type": "object",
   "properties": {
      "RunID": {
         "title": "Runid",
         "type": "string"
      },
      "RunDateTime": {
         "format": "date-time",
         "title": "Rundatetime",
         "type": "string"
      },
      "AppName": {
         "title": "Appname",
         "type": "string"
      },
      "AppVersion": {
         "title": "Appversion",
         "type": "string"
      },
      "ProtocolName": {
         "title": "Protocolname",
         "type": "string"
      },
      "OrderID": {
         "title": "Orderid",
         "type": "string"
      },
      "ReferenceID": {
         "title": "Referenceid",
         "type": "string"
      },
      "UserName": {
         "title": "Username",
         "type": "string"
      },
      "Comment": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Comment"
      }
   },
   "required": [
      "RunID",
      "RunDateTime",
      "AppName",
      "AppVersion",
      "ProtocolName",
      "OrderID",
      "ReferenceID",
      "UserName"
   ]
}

Fields:
Validators:
field AppName: str [Required]#
Validated by:
field AppVersion: str [Required]#
Validated by:
field Comment: str | None = None#

Comment. Additional element, added by echo_utils.

Validated by:
field OrderID: str [Required]#
Validated by:
field ProtocolName: str [Required]#
Validated by:
field ReferenceID: str [Required]#
Validated by:
field RunDateTime: datetime [Required]#
Validated by:
field RunID: str [Required]#
Validated by:
field UserName: str [Required]#
Validated by:
validator warn_on_untested_versions  »  all fields#

EchoReportBody and EchoReportRecord: survey data#

pydantic model kithairon.surveys.surveyreport.EchoReportBody#

Show JSON schema
{
   "title": "EchoReportBody",
   "type": "object",
   "properties": {
      "records": {
         "items": {
            "$ref": "#/$defs/EchoReportRecord"
         },
         "title": "Records",
         "type": "array"
      }
   },
   "$defs": {
      "EchoReportRecord": {
         "properties": {
            "SrcPlateName": {
               "title": "Srcplatename",
               "type": "string"
            },
            "SrcPlateBarcode": {
               "title": "Srcplatebarcode",
               "type": "string"
            },
            "SrcPlateType": {
               "title": "Srcplatetype",
               "type": "string"
            },
            "SrcWell": {
               "title": "Srcwell",
               "type": "string"
            },
            "SurveyFluidHeight": {
               "title": "Surveyfluidheight",
               "type": "number"
            },
            "SurveyFluidVolume": {
               "title": "Surveyfluidvolume",
               "type": "number"
            },
            "FluidComposition": {
               "title": "Fluidcomposition",
               "type": "number"
            },
            "FluidUnits": {
               "title": "Fluidunits",
               "type": "string"
            },
            "FluidType": {
               "title": "Fluidtype",
               "type": "string"
            },
            "SurveyStatus": {
               "title": "Surveystatus",
               "type": "string"
            }
         },
         "required": [
            "SrcPlateName",
            "SrcPlateBarcode",
            "SrcPlateType",
            "SrcWell",
            "SurveyFluidHeight",
            "SurveyFluidVolume",
            "FluidComposition",
            "FluidUnits",
            "FluidType",
            "SurveyStatus"
         ],
         "title": "EchoReportRecord",
         "type": "object"
      }
   },
   "required": [
      "records"
   ]
}

Fields:
Validators:
field records: list[EchoReportRecord] [Required]#
Validated by:
validator check_equal_plate_barcodes  »  all fields#
validator check_equal_plate_names  »  all fields#
validator check_equal_plate_types  »  all fields#
pydantic model kithairon.surveys.surveyreport.EchoReportRecord#

Show JSON schema
{
   "title": "EchoReportRecord",
   "type": "object",
   "properties": {
      "SrcPlateName": {
         "title": "Srcplatename",
         "type": "string"
      },
      "SrcPlateBarcode": {
         "title": "Srcplatebarcode",
         "type": "string"
      },
      "SrcPlateType": {
         "title": "Srcplatetype",
         "type": "string"
      },
      "SrcWell": {
         "title": "Srcwell",
         "type": "string"
      },
      "SurveyFluidHeight": {
         "title": "Surveyfluidheight",
         "type": "number"
      },
      "SurveyFluidVolume": {
         "title": "Surveyfluidvolume",
         "type": "number"
      },
      "FluidComposition": {
         "title": "Fluidcomposition",
         "type": "number"
      },
      "FluidUnits": {
         "title": "Fluidunits",
         "type": "string"
      },
      "FluidType": {
         "title": "Fluidtype",
         "type": "string"
      },
      "SurveyStatus": {
         "title": "Surveystatus",
         "type": "string"
      }
   },
   "required": [
      "SrcPlateName",
      "SrcPlateBarcode",
      "SrcPlateType",
      "SrcWell",
      "SurveyFluidHeight",
      "SurveyFluidVolume",
      "FluidComposition",
      "FluidUnits",
      "FluidType",
      "SurveyStatus"
   ]
}

Fields:
field FluidComposition: float [Required]#
field FluidType: str [Required]#
field FluidUnits: str [Required]#
field SrcPlateBarcode: str [Required]#

The barcode of the plate surveyed (necessarily a source plate for a ReportRecord).

Warning

It is not currently known whether multiple plates can be present in a single report, or if this is just redundantly specified for every well.

field SrcPlateName: str [Required]#

The name of the plate surveyed (necessarily a source plate for a ReportRecord).

Warning

It is not currently known whether multiple plates can be present in a single report, or if this is just redundantly specified for every well.

field SrcPlateType: str [Required]#

The surveyed plate type.

Warning

It is not currently known whether multiple plate types can be present in a single report, or if this is just redundantly specified for every well.

field SrcWell: str [Required]#

The surveyed well, in standard, non-zero padded format (eg, “A1” or “C12”, not “A01”).

field SurveyFluidHeight: float [Required]#
field SurveyFluidVolume: float [Required]#
field SurveyStatus: str [Required]#

EchoReportFooter: machine information#

pydantic model kithairon.surveys.surveyreport.EchoReportFooter#

Show JSON schema
{
   "title": "EchoReportFooter",
   "type": "object",
   "properties": {
      "InstrName": {
         "title": "Instrname",
         "type": "string"
      },
      "InstrModel": {
         "title": "Instrmodel",
         "type": "string"
      },
      "InstrSN": {
         "title": "Instrsn",
         "type": "string"
      },
      "InstrSWVersion": {
         "title": "Instrswversion",
         "type": "string"
      }
   },
   "required": [
      "InstrName",
      "InstrModel",
      "InstrSN",
      "InstrSWVersion"
   ]
}

Fields:
field InstrModel: str [Required]#
field InstrName: str [Required]#
field InstrSN: str [Required]#
field InstrSWVersion: str [Required]#