Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,12 @@ class CalculatedPlateInfo(PlateInfo):
def create(data: SeriesData) -> CalculatedPlateInfo:
formula = data[str, "Formula"]

name = assert_not_none(
search(r"^([^=]*)=", formula),
msg="Unable to find expected formula name for calculated results section.",
).group(1)
# Standard formulas embed the name before an '=' (e.g.
# "Calc 1: General = (X / Y) * Z where ..."). Some formulas are a plain
# description with no '=' (e.g. "Calc 1: OD450 direct absorbance value at
# 450 nm"), in which case the whole formula string is the name.
formula_name_match = search(r"^([^=]*)=", formula)
name = formula_name_match.group(1) if formula_name_match else formula

plate_number, barcode = PlateInfo.get_plate_number_and_barcode(data)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -345,20 +345,27 @@ def test_create_calculated_plate_info_with_no_formula() -> None:
CalculatedPlateInfo.create(data)


def test_create_calculated_plate_info_with_invalid_formula() -> None:
def test_create_calculated_plate_info_with_formula_without_name() -> None:
# Some formulas are a plain description with no "name =" prefix; the whole
# formula string is used as the name.
data = SeriesData(
pd.Series(
{
"Plate": "dummy",
"Measured height": "0",
"Formula": "invalid formula",
"Formula": "Calc 1: OD450 direct absorbance value at 450 nm",
"Measurement date": "10/13/2022 3:08:06 PM",
}
)
)
msg = "Unable to find expected formula name for calculated results section."
with pytest.raises(AllotropeConversionError, match=msg):
CalculatedPlateInfo.create(data)
calculated_plate_info = CalculatedPlateInfo.create(data)
assert (
calculated_plate_info.name == "Calc 1: OD450 direct absorbance value at 450 nm"
)
assert (
calculated_plate_info.formula
== "Calc 1: OD450 direct absorbance value at 450 nm"
)


def test_create_basic_assay_info() -> None:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
Plate information
Plate,Repeat,Barcode,Measured height,Chamber temperature at start,Chamber temperature at end,Humidity at start,Humidity at end,Ambient temperature at start,Ambient temperature at end,Formula,Measurement date,
1,1,,N/A,N/A,N/A,N/A,N/A,N/A,N/A,Calc 1: OD450 direct absorbance value at 450 nm,7/17/2026 8:15:00 PM,

Background information
Plate,Label,Result,Signal,Flashes/Time,Meastime,MeasInfo,
1,Copy of OD450 Abs 384,0,0,0.1,00:00:00.000,De=Abs Ex=N/A Em=450 nm Wdw=N/A,

0.054,0.058,2.430,2.325,1.709,1.573,1.218,0.924,0.317,0.403,0.581,0.595,0.467,0.401,0.708,0.692,0.971,0.901,1.230,1.099,0.947,0.779,0.936,1.241,
0.062,0.047,2.316,2.424,1.628,1.716,1.035,0.881,0.629,0.323,0.825,0.472,0.702,0.690,0.675,0.852,0.815,1.094,1.027,1.321,1.104,1.193,1.168,1.251,
0.081,0.066,2.484,2.440,1.702,1.656,1.032,1.066,0.489,0.286,0.573,0.662,0.578,0.354,0.524,0.718,0.944,0.923,1.061,0.996,0.939,0.981,0.941,1.233,
0.068,0.060,2.211,2.380,1.611,1.639,1.010,0.974,0.318,0.196,0.369,0.582,0.203,0.121,0.407,0.431,0.558,0.816,0.744,0.717,0.980,0.951,0.729,1.051,
0.056,0.053,2.447,2.333,1.700,1.741,0.982,0.974,0.408,0.452,0.615,0.294,0.420,0.114,0.300,0.709,0.833,0.808,0.840,0.743,0.766,0.735,0.698,0.707,
0.061,0.073,2.355,2.329,1.745,1.579,0.827,0.974,0.594,0.318,0.317,0.280,0.394,0.143,0.417,0.513,0.595,0.921,1.172,0.967,0.884,0.966,0.968,0.887,
0.068,0.071,2.409,2.313,1.546,1.636,1.026,0.790,0.527,0.626,0.780,0.435,0.709,0.346,0.796,1.018,1.058,1.167,1.242,1.104,1.316,1.218,0.918,0.960,
0.072,0.088,2.222,2.373,1.742,1.520,0.890,0.690,0.315,0.347,0.841,0.913,0.874,0.750,0.912,0.925,1.141,1.279,1.347,1.498,1.195,1.059,1.474,1.381,
0.054,0.058,2.292,2.215,1.690,1.664,0.959,0.857,0.349,0.382,1.136,0.900,1.047,0.972,0.919,0.947,1.187,1.277,1.674,1.432,1.280,1.748,1.542,1.540,
0.082,0.062,2.246,2.288,1.665,1.556,0.962,0.855,0.476,0.607,1.024,0.791,0.842,0.778,0.832,1.022,1.238,1.005,1.326,1.415,1.224,1.041,1.161,1.294,
0.089,0.069,2.277,2.315,1.563,1.668,0.781,0.863,0.703,0.302,0.599,0.438,0.477,0.706,0.677,0.684,1.082,1.039,1.141,1.230,0.749,1.144,1.025,1.226,
0.081,0.084,2.368,2.317,1.701,1.703,0.874,0.633,0.378,0.192,0.744,0.581,0.618,0.474,0.373,0.627,1.073,1.063,1.287,1.220,1.094,1.322,1.051,0.926,
0.051,0.064,2.453,2.352,1.788,1.668,0.908,0.865,0.595,0.409,0.490,0.684,0.587,0.494,0.680,0.771,0.920,0.949,1.280,1.261,1.348,1.100,1.243,1.256,
0.067,0.031,2.354,2.472,1.703,1.631,0.861,0.969,0.333,0.570,0.941,0.862,0.875,0.321,0.878,0.822,1.270,1.289,1.598,1.482,1.493,1.356,1.369,1.256,
0.070,0.071,2.377,2.308,1.718,1.546,1.064,1.211,0.244,0.418,1.188,1.079,1.118,0.988,1.043,1.244,1.322,1.562,1.931,1.627,1.366,1.491,1.394,1.503,
0.076,0.086,2.438,2.378,1.683,1.695,1.029,1.019,0.370,0.483,1.352,1.395,1.093,0.904,1.266,1.506,1.352,1.480,1.783,1.790,1.721,1.439,1.503,1.518,

Plate information
Plate,Repeat,Barcode,Measured height,Chamber temperature at start,Chamber temperature at end,Humidity at start,Humidity at end,Ambient temperature at start,Ambient temperature at end,Group,Label,ScanX,ScanY,Measinfo,Kinetics,Measurement date,
1,1,,14.44,22.51,22.41,36.5,35.5,22.41,22.41,1,Copy of OD450 Abs 384(1),0,0,De=Abs Ex=N/A Em=450 nm Wdw=N/A,0,7/17/2026 8:15:00 PM,

Background information
Plate,Label,Result,Signal,Flashes/Time,Meastime,MeasInfo,
1,Copy of OD450 Abs 384,0,0,0.1,00:00:00.000,De=Abs Ex=N/A Em=450 nm Wdw=N/A,

0.054,0.058,2.430,2.325,1.709,1.573,1.218,0.924,0.317,0.403,0.581,0.595,0.467,0.401,0.708,0.692,0.971,0.901,1.230,1.099,0.947,0.779,0.936,1.241,
0.062,0.047,2.316,2.424,1.628,1.716,1.035,0.881,0.629,0.323,0.825,0.472,0.702,0.690,0.675,0.852,0.815,1.094,1.027,1.321,1.104,1.193,1.168,1.251,
0.081,0.066,2.484,2.440,1.702,1.656,1.032,1.066,0.489,0.286,0.573,0.662,0.578,0.354,0.524,0.718,0.944,0.923,1.061,0.996,0.939,0.981,0.941,1.233,
0.068,0.060,2.211,2.380,1.611,1.639,1.010,0.974,0.318,0.196,0.369,0.582,0.203,0.121,0.407,0.431,0.558,0.816,0.744,0.717,0.980,0.951,0.729,1.051,
0.056,0.053,2.447,2.333,1.700,1.741,0.982,0.974,0.408,0.452,0.615,0.294,0.420,0.114,0.300,0.709,0.833,0.808,0.840,0.743,0.766,0.735,0.698,0.707,
0.061,0.073,2.355,2.329,1.745,1.579,0.827,0.974,0.594,0.318,0.317,0.280,0.394,0.143,0.417,0.513,0.595,0.921,1.172,0.967,0.884,0.966,0.968,0.887,
0.068,0.071,2.409,2.313,1.546,1.636,1.026,0.790,0.527,0.626,0.780,0.435,0.709,0.346,0.796,1.018,1.058,1.167,1.242,1.104,1.316,1.218,0.918,0.960,
0.072,0.088,2.222,2.373,1.742,1.520,0.890,0.690,0.315,0.347,0.841,0.913,0.874,0.750,0.912,0.925,1.141,1.279,1.347,1.498,1.195,1.059,1.474,1.381,
0.054,0.058,2.292,2.215,1.690,1.664,0.959,0.857,0.349,0.382,1.136,0.900,1.047,0.972,0.919,0.947,1.187,1.277,1.674,1.432,1.280,1.748,1.542,1.540,
0.082,0.062,2.246,2.288,1.665,1.556,0.962,0.855,0.476,0.607,1.024,0.791,0.842,0.778,0.832,1.022,1.238,1.005,1.326,1.415,1.224,1.041,1.161,1.294,
0.089,0.069,2.277,2.315,1.563,1.668,0.781,0.863,0.703,0.302,0.599,0.438,0.477,0.706,0.677,0.684,1.082,1.039,1.141,1.230,0.749,1.144,1.025,1.226,
0.081,0.084,2.368,2.317,1.701,1.703,0.874,0.633,0.378,0.192,0.744,0.581,0.618,0.474,0.373,0.627,1.073,1.063,1.287,1.220,1.094,1.322,1.051,0.926,
0.051,0.064,2.453,2.352,1.788,1.668,0.908,0.865,0.595,0.409,0.490,0.684,0.587,0.494,0.680,0.771,0.920,0.949,1.280,1.261,1.348,1.100,1.243,1.256,
0.067,0.031,2.354,2.472,1.703,1.631,0.861,0.969,0.333,0.570,0.941,0.862,0.875,0.321,0.878,0.822,1.270,1.289,1.598,1.482,1.493,1.356,1.369,1.256,
0.070,0.071,2.377,2.308,1.718,1.546,1.064,1.211,0.244,0.418,1.188,1.079,1.118,0.988,1.043,1.244,1.322,1.562,1.931,1.627,1.366,1.491,1.394,1.503,
0.076,0.086,2.438,2.378,1.683,1.695,1.029,1.019,0.370,0.483,1.352,1.395,1.093,0.904,1.266,1.506,1.352,1.480,1.783,1.790,1.721,1.439,1.503,1.518,


Basic assay information
Assay ID: ,,,,OD450-DUMMY-001
Assay Started: ,,,,7/17/2026 8:14:00 PM
Assay Finished: ,,,,N/A
Assay Exported: ,,,,7/17/2026 8:15:30 PM
Protocol ID: ,,,,DUMMY-OD450
Protocol Name: ,,,,OD450 Dummy 384
Serial#: ,,,,="1041468"



Protocol information
Protocol:
Protocol name,,,,OD450 Dummy 384
Number of assay repeats,,,,1
Start assay repeat each,,,,N/A
Number of plate repeats,,,,1
Start plate repeat each,,,,N/A
Is label meas. height used,,,,Yes
Height of measurement,,,,Defined in label
Is gripper height used,,,,No
Mode of measurement,,,,By Rows bi-directional
Rotated plate,,,,No
Soft move,,,,No
Protocol notes,,,,

Plate type:
Name of the plate type,,,,Copy of 384 General miura Greiner 781086
Number of rows,,,,16
Number of columns,,,,24
Number of the wells in the plate,,,,384
Height of the plate,,,,14.35 mm

Coordinates of corners:
Copy of 384 General miura Greiner 781086 + Copy of OD450 Abs 384
11.66 mm x------------------------------------------------------ x 115.01 mm
8.85 mm 8.93 mm

11.68 mm x------------------------------------------------------ x 115.04 mm
76.26 mm 76.28 mm

Platemap:
Plate,,,,1
Group,,,,1

,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
A,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
B,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
C,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
D,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
E,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
F,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
G,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
H,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
I,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
J,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
K,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
L,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
M,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
N,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
O,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-
P,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,- ,-

- - Undefined

Calculations:
Plate,,,,1
Formula index,,,,Calc 1
Formula name,,,,OD450
Formula,,,,OD450 direct absorbance value at 450 nm

Auto export parameters:
Export format,,,,Plate
Include basic assay information,,,,Yes
Place assay information at,,,,End of file
Include basic plate information,,,,Yes
Place plate information at,,,,Beginning of plate
Include protocol information,,,,Yes
Protocol info level,,,,Large
Include error and warning information,,,,Yes
Include background information,,,,Yes
Add plate number to the file name,,,,Yes
Each plate to separate file,,,,Yes
Field separator to use,,,,System
File name format,,,,<DefaultDataFolder>\<Date>\<ProtocolName>_<AssayID>.csv

Operations:
Plate 1
Group 1
Measurement
Label,,,,Copy of OD450 Abs 384(1)

Labels:
Copy of OD450 Abs 384,,,,7000008
Measurement height,,,,N/A
Measurement time,,,,0.1 s
CT,,,,0
Aperture,,,,384 Plate Absorbance aperture
Last edited,,,,7/15/2015 10:58:42 AM
Last edited by,,,,EnVision
Factory preset,,,,No

Aperture:
384 Plate Absorbance aperture,,,,9
Height,,,,4.2 mm
Diameter,,,,3.7 mm
Description,,,,Dummy OD450 absorbance data; 384-well plate format
Last edited,,,,3/5/2014 12:24:05 PM
Last edited by,,,,Installation
Factory preset,,,,Yes

Instrument:
Serial number,,,,1041468
Nickname,,,,EnVision

Normalization:





Exported with EnVision Workstation version 1.13.3009.1409
Loading
Loading