diff --git a/docs/resources/library/hamilton.md b/docs/resources/library/hamilton.md index 307df97d9ed..76154017749 100644 --- a/docs/resources/library/hamilton.md +++ b/docs/resources/library/hamilton.md @@ -50,7 +50,7 @@ Sometimes called "sample carriers" in Hamilton jargon. | Description | Image | PLR definition | | - | - | - | | 'Tube_CAR_24_A00'
Part no.: 173400
[manufacturer website](https://www.hamiltoncompany.com/automated-liquid-handling/other-robotics/173400)
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'
Part no.: 173410
[manufacturer website](https://www.hamiltoncompany.com/other-robotics/173410)
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'
Part no.: 173410
[manufacturer website](https://www.hamiltoncompany.com/other-robotics/173410)
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'
Part no.: 182045
[manufacturer website](https://www.hamiltoncompany.com/other-robotics/50-ml-falcon-tube-carrier)
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 diff --git a/pylabrobot/resources/hamilton/tube_carriers.py b/pylabrobot/resources/hamilton/tube_carriers.py index 7a34ebd53fd..6d6d233068e 100644 --- a/pylabrobot/resources/hamilton/tube_carriers.py +++ b/pylabrobot/resources/hamilton/tube_carriers.py @@ -1,3 +1,5 @@ +import warnings + from pylabrobot.resources.carrier import ( Coordinate, ResourceHolder, @@ -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__, ) @@ -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 @@ -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__,