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
2 changes: 1 addition & 1 deletion docs/resources/library/hamilton.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Sometimes called "sample carriers" in Hamilton jargon.
| Description | Image | PLR definition |
| - | - | - |
| 'Tube_CAR_24_A00'<br>Part no.: 173400<br>[manufacturer website](https://www.hamiltoncompany.com/automated-liquid-handling/other-robotics/173400) <br>Carries 24 "sample" tubes with 14.5–18 mm outer diameter, 60–120 mm high. Occupies one track. | ![](img/hamilton/Tube_CAR_24_A00.png) | `Tube_CAR_24_A00` |
| 'Tube_CAR_32_A00'<br>Part no.: 173410<br>[manufacturer website](https://www.hamiltoncompany.com/other-robotics/173410) <br>Carries 32 "sample" tubes with 11–14 mm outer diameter, 60–120 mm high. Occupies one track. | ![](img/hamilton/Tube_CAR_32_A00.png.avif) | `Tube_CAR_32_A00` |
| 'hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL'<br>Part no.: 173410<br>[manufacturer website](https://www.hamiltoncompany.com/other-robotics/173410) <br>Carries 32 `Eppendorf_DNA_LoBind_1_5ml_Vb` or `Eppendorf_Protein_LoBind_1_5ml_Vb` tubes. Occupies one track. | ![](img/hamilton/Tube_CAR_32_A00.png.avif) | `hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL` |
| 'hamilton_tube_carrier_12_b00'<br>Part no.: 182045<br>[manufacturer website](https://www.hamiltoncompany.com/other-robotics/50-ml-falcon-tube-carrier) <br>Carries 12 "sample" tubes with 30 mm outer diameter, 115 mm high. Occupies two tracks. | ![](img/hamilton/hamilton_tube_carrier_12_b00.jpg) | `hamilton_tube_carrier_12_b00` |

### Trough carriers
Expand Down
42 changes: 31 additions & 11 deletions pylabrobot/resources/hamilton/tube_carriers.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import warnings

from pylabrobot.resources.carrier import (
Coordinate,
ResourceHolder,
Expand Down Expand Up @@ -31,25 +33,42 @@ def Tube_CAR_24_A00(name: str) -> TubeCarrier:


def Tube_CAR_32_A00(name: str) -> TubeCarrier:
"""Hamilton cat. no.: 173410
warnings.warn(
"The true dimensions of a Tube_CAR_32_A00 (SMP_CAR_32_A00) are not known. "
"The hamilton definitions are with inserts. "
"Do you want to use `hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL` instead?",
DeprecationWarning,
)
return hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL(name)


def hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL(name: str) -> TubeCarrier:
"""Hamilton cat. no.: 173410 with inserts cat no. 187350.
Hamilton name: 'SMP_CAR_32_A00'.
'Sample' carrier for 32 tubes
1 track(T) wide.
For use with `Eppendorf_DNA_LoBind_1_5ml_Vb` and `Eppendorf_Protein_LoBind_1_5ml_Vb`.
"""
hole_diameter = 10.8
return TubeCarrier(
name=name,
size_x=22.5,
size_y=497.0,
size_z=71.5,
size_x=22.5, # 1 track
size_y=497.0, # standard
size_z=60.2, # caliper
sites=create_homogeneous_resources(
klass=ResourceHolder,
locations=[Coordinate(5, 6.5 + x * 15, 24.0) for x in range(32)],
locations=[
Coordinate(14.5 - hole_diameter / 2, 14.5 - hole_diameter / 2 + x * 15, 25.88)
for x in range(
32
) # SMP_CAR_32_A00 in venus, verified with caliper, custom z from z probing
],
# should fix container
resource_size_x=13.0,
resource_size_y=13.0,
resource_size_x=hole_diameter, # venus
resource_size_y=hole_diameter, # venus
name_prefix=name,
),
model="Tube_CAR_32_A00",
model=hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL.__name__,
)


Expand All @@ -59,6 +78,7 @@ def hamilton_tube_carrier_12_b00(name: str) -> TubeCarrier:
'Sample' carrier for 12 50mL falcon tubes (Cor_Falcon_tube_50mL_Vb).
2 track(T) wide.
"""
hole_diameter = 29.0
return TubeCarrier(
name=name,
size_x=45, # 2 tracks
Expand All @@ -67,11 +87,11 @@ def hamilton_tube_carrier_12_b00(name: str) -> TubeCarrier:
sites=create_homogeneous_resources(
klass=ResourceHolder,
locations=[
Coordinate(26.05 - 29 / 2, 41.74 - 29 / 2 + i * 36.5, 18.9)
Coordinate(26.05 - hole_diameter / 2, 41.74 - hole_diameter / 2 + i * 36.5, 18.9)
for i in range(12) # SMP_CAR_12_A00 in venus, verified with caliper, custom z
],
resource_size_x=29.0,
resource_size_y=29.0,
resource_size_x=hole_diameter,
resource_size_y=hole_diameter,
name_prefix=name,
),
model=hamilton_tube_carrier_12_b00.__name__,
Expand Down