Skip to content
Merged
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
27 changes: 17 additions & 10 deletions pylabrobot/resources/agenbio/plates.py
Original file line number Diff line number Diff line change
Expand Up @@ -136,18 +136,19 @@ def AGenBio_1_wellplate_Fl(name: str, lid: Optional[Lid] = None) -> Plate:


def AGenBio_1_troughplate_190000uL_Fl(name: str, lid: Optional[Lid] = None) -> Plate:
"""
AGenBio Catalog No. RES-190-F
- Material: Polypropylene
- Max. volume: 190 mL
"""AGenBio single-well reagent reservoir, 190 mL, flat-bottom (ANSI/SLAS footprint).

cat. no.: RES-190-F
Material: polypropylene
"""
INNER_WELL_WIDTH = 107.2 # measured
INNER_WELL_HEIGHT = 70.9 # measured

well_kwargs = {
"size_x": INNER_WELL_WIDTH, # measured
"size_y": INNER_WELL_HEIGHT, # measured
"size_z": 24.76, # measured to bottom of well
"size_z": 44.2 - 5.88, # well cavity reaches the plate top (plate size_z 44.2 - dz 5.88)
"max_volume": 190_000, # spec rating; size_z reaches the rim so the box volume would overstate capacity
"bottom_type": WellBottomType.FLAT,
"cross_section_type": CrossSectionType.RECTANGLE,
"compute_height_from_volume": lambda liquid_volume: compute_height_from_volume_rectangle(
Expand Down Expand Up @@ -185,25 +186,31 @@ def AGenBio_1_troughplate_190000uL_Fl(name: str, lid: Optional[Lid] = None) -> P


def AGenBio_1_troughplate_100000uL_Fl(name: str, lid: Optional[Lid] = None) -> Plate:
"""
AGenBio Catalog No. RES-100-F
- Material: Polypropylene
- Max. volume: 100 mL
"""AGenBio single-well reagent reservoir, 100 mL, flat-bottom (ANSI/SLAS footprint).

cat. no.: RES-100-F
Material: polypropylene
"""
INNER_WELL_WIDTH = 107.2 # measured
INNER_WELL_HEIGHT = 70.9 # measured

well_kwargs = {
"size_x": INNER_WELL_WIDTH, # measured
"size_y": INNER_WELL_HEIGHT, # measured
"size_z": 13, # measured to bottom of well
"size_z": 31.4 - 5.88, # well cavity reaches the plate top (plate size_z 31.4 - dz 5.88)
"max_volume": 100_000, # spec rating; size_z reaches the rim so the box volume would overstate capacity
"bottom_type": WellBottomType.FLAT,
"cross_section_type": CrossSectionType.RECTANGLE,
"compute_height_from_volume": lambda liquid_volume: compute_height_from_volume_rectangle(
liquid_volume,
INNER_WELL_HEIGHT,
INNER_WELL_WIDTH,
),
"compute_volume_from_height": lambda liquid_height: compute_volume_from_height_rectangle(
liquid_height,
INNER_WELL_HEIGHT,
INNER_WELL_WIDTH,
),
"material_z_thickness": 1,
}

Expand Down
26 changes: 21 additions & 5 deletions pylabrobot/resources/nest/plates.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,22 @@ def nest_1_troughplate_195000uL_Vb(name: str) -> Plate:


def nest_1_troughplate_185000uL_Vb(name: str) -> Plate:
"""part no 360104. 384 tiny holes, but one container."""
"""NEST single-trough reagent reservoir plate, 185 mL, V-bottom (ANSI/SLAS footprint).

cat. no.: 360104

384 tiny holes feed one shared container.
"""
real_well_d = (85.48 - 8.99 * 2) / 15 # 4.5. in the drawing it says 2.4 which is wrong

well_size_y = 127.76 - (12.13 - real_well_d / 2) * 2 # from datasheet
well_size_x = 85.48 - (8.99 - real_well_d / 2) * 2 # from datasheet
well_size_x = 127.76 - (12.13 - real_well_d / 2) * 2 # from datasheet
well_size_y = 85.48 - (8.99 - real_well_d / 2) * 2 # from datasheet
well_kwargs = {
"size_x": well_size_x,
"size_y": well_size_y,
"size_z": 26.85, # from datasheet
"bottom_type": WellBottomType.V,
"cross_section_type": CrossSectionType.RECTANGLE,
# an approximation: the trapezoid at the bottom is not fully defined in the datasheet
"compute_height_from_volume": lambda liquid_volume: compute_height_from_volume_rectangle(
liquid_volume=liquid_volume, well_length=well_size_x, well_width=well_size_y
Expand Down Expand Up @@ -96,14 +102,20 @@ def nest_1_troughplate_185000uL_Vb(name: str) -> Plate:


def nest_8_troughplate_22000uL_Vb(name: str) -> Plate:
"""part no 360101. not validated"""
"""NEST 8-trough reagent reservoir plate, 22 mL, V-bottom (ANSI/SLAS footprint).

cat. no.: 360101

Not validated.
"""
well_size_x = 107.5 # from datasheet
well_size_y = 8.2 # from datasheet
well_kwargs = {
"size_x": well_size_x,
"size_y": well_size_y,
"size_z": 26.85, # from datasheet
"bottom_type": WellBottomType.V,
"cross_section_type": CrossSectionType.RECTANGLE,
# an approximation: the trapezoid at the bottom is not fully defined in the datasheet
"compute_height_from_volume": lambda liquid_volume: compute_height_from_volume_rectangle(
liquid_volume=liquid_volume, well_length=well_size_x, well_width=well_size_y
Expand Down Expand Up @@ -136,14 +148,18 @@ def nest_8_troughplate_22000uL_Vb(name: str) -> Plate:


def nest_12_troughplate_15000uL_Vb(name: str) -> Plate:
"""part no 360102."""
"""NEST 12-trough reagent reservoir plate, 15 mL, V-bottom (ANSI/SLAS footprint).

cat. no.: 360102
"""
well_size_x = 8.2 # from datasheet
well_size_y = 71.2 # from datasheet
well_kwargs = {
"size_x": well_size_x,
"size_y": well_size_y,
"size_z": 26.85, # from datasheet
"bottom_type": WellBottomType.V,
"cross_section_type": CrossSectionType.RECTANGLE,
# an approximation: the trapezoid at the bottom is not fully defined in the datasheet
"compute_height_from_volume": lambda liquid_volume: compute_height_from_volume_rectangle(
liquid_volume=liquid_volume, well_length=well_size_x, well_width=well_size_y
Expand Down
Loading