diff --git a/docs/resources/index.md b/docs/resources/index.md index 3129ef01835..b58df13055b 100644 --- a/docs/resources/index.md +++ b/docs/resources/index.md @@ -183,6 +183,7 @@ library/nest library/opentrons library/porvair library/revvity +library/sergi library/thermo_fisher library/vwr ``` diff --git a/docs/resources/library/img/sergi/SergiLabSupplies_96_MagneticRack_250ul_Vb.jpg b/docs/resources/library/img/sergi/SergiLabSupplies_96_MagneticRack_250ul_Vb.jpg new file mode 100644 index 00000000000..8007a3ef4c3 Binary files /dev/null and b/docs/resources/library/img/sergi/SergiLabSupplies_96_MagneticRack_250ul_Vb.jpg differ diff --git a/docs/resources/library/img/vwr/VWR_1_troughplate_195000uL_Ub.jpg b/docs/resources/library/img/vwr/VWR_1_troughplate_195000uL_Ub.jpg new file mode 100644 index 00000000000..eb6e9d51c6e Binary files /dev/null and b/docs/resources/library/img/vwr/VWR_1_troughplate_195000uL_Ub.jpg differ diff --git a/docs/resources/library/img/vwr/VWR_96_wellplate_2mL_Vb.jpg b/docs/resources/library/img/vwr/VWR_96_wellplate_2mL_Vb.jpg new file mode 100644 index 00000000000..7946958163b Binary files /dev/null and b/docs/resources/library/img/vwr/VWR_96_wellplate_2mL_Vb.jpg differ diff --git a/docs/resources/library/sergi.md b/docs/resources/library/sergi.md new file mode 100644 index 00000000000..c1d8fa5d5d6 --- /dev/null +++ b/docs/resources/library/sergi.md @@ -0,0 +1,9 @@ +# Sergi Lab Supplies + +Company page: [Sergi Lab Supplies](https://sergilabsupplies.com/?srsltid=AfmBOoqk2e3QkpWxvWEtSXS4ySJVoly7hvdiji_ehH5-s6tM3gi67SMu) + +## Plate Adaptors + +| Description | Image | PLR definition | +|--------------------|--------------------|--------------------| +| 'SergiLabSupplies_96_MagneticRack_250ul_Vb'
Part no.: 1047
[manufacturer website](https://sergilabsupplies.com/collections/magnetic-racks/products/96-wells-magnetic-rack-for-dna-rna-and-other-molecules-purification)
A separator for purifying DNA, RNA or other biomolecules with magnetic beads | ![](img/sergi/SergiLabSupplies_96_MagneticRack_250ul_Vb.jpg) | `SergiLabSupplies_96_MagneticRack_250ul_Vb` | \ No newline at end of file diff --git a/docs/resources/library/vwr.md b/docs/resources/library/vwr.md index 2976683a8ff..62cae2f87ce 100644 --- a/docs/resources/library/vwr.md +++ b/docs/resources/library/vwr.md @@ -7,3 +7,10 @@ Company page: [Wikipedia](https://en.wikipedia.org/wiki/VWR_International) | Description | Image | PLR definition | |--------------------|--------------------|--------------------| | 'VWRReagentReservoirs25mL'
Part no.: 89094
[manufacturer website](https://us.vwr.com/store/product/4694822/vwr-disposable-pipetting-reservoirs)
Polystyrene Reservoirs | ![](img/vwr/VWRReagentReservoirs25mL.jpg) | `VWRReagentReservoirs25mL` | + +## Plates + +| Description | Image | PLR definition | +|--------------------|--------------------|--------------------| +| 'VWR_1_troughplate_195000uL_Ub'
Part no.: 77575-302
[manufacturer website](https://www.avantorsciences.com/us/en/product/47763965/vwr-multi-channel-polypropylene-reagent-reservoirs?isCatNumSearch=true&searchedCatalogNumber=77575-302)
Polypropylene multi-channel reagent reservoirs | ![](img/vwr/VWR_1_troughplate_195000uL_Ub.jpg) | `VWR_1_troughplate_195000uL_Ub` | +| 'VWR_96_wellplate_2mL_Vb'
Part no.: 76329-998
[manufacturer website](https://us-prod2.vwr.com/store/product/26915641/vwr-96-well-deep-well-plates-with-automation-notches)
Polypropylene multi-channel reagent reservoirs | ![](img/vwr/VWR_96_wellplate_2mL_Vb.jpg) | `VWR_96_wellplate_2mL_Vb` | diff --git a/pylabrobot/resources/__init__.py b/pylabrobot/resources/__init__.py index e542af7db81..a31d59ce87a 100644 --- a/pylabrobot/resources/__init__.py +++ b/pylabrobot/resources/__init__.py @@ -35,6 +35,7 @@ from .resource_stack import ResourceStack from .revvity import * from .rotation import Rotation +from .sergi import * from .tecan import * from .thermo_fisher import * from .tip_rack import TipRack, TipSpot diff --git a/pylabrobot/resources/sergi/__init__.py b/pylabrobot/resources/sergi/__init__.py new file mode 100644 index 00000000000..3a2db2824f7 --- /dev/null +++ b/pylabrobot/resources/sergi/__init__.py @@ -0,0 +1 @@ +from .plate_adapters import SergiLabSupplies_96_MagneticRack_250ul_Vb diff --git a/pylabrobot/resources/sergi/plate_adapters.py b/pylabrobot/resources/sergi/plate_adapters.py new file mode 100644 index 00000000000..55df7be7743 --- /dev/null +++ b/pylabrobot/resources/sergi/plate_adapters.py @@ -0,0 +1,29 @@ +"""Sergi Lab Supplies plate adapters""" + +from pylabrobot.resources.plate_adapter import PlateAdapter + + +def SergiLabSupplies_96_MagneticRack_250ul_Vb(name: str) -> PlateAdapter: + """ + Sergi Lab Supplies Magnetic Rack [cat. no. 1047] + - Holds a 96-well PCR plate for DNA/RNA purification + - SBS footprint: 127.76 x 85.48 mm + - Rack height: 22.0 mm + - Pulls magnetic beads ~1-2 mm above bottom + """ + + # measurements from technical drawing: + # https://sergilabsupplies.com/collections/magnetic-racks/products/96-wells-magnetic-rack-for-dna-rna-and-other-molecules-purification + return PlateAdapter( + name=name, + size_x=127.76, # from spec + size_y=85.48, # from spec + size_z=22.0, # from spec + dx=9.88, # measured (127.76 - 108) / 2 = 9.88 + dy=4.74, # measured (85.48 - 76) / 2 = 4.74 + dz=7.0, # measured + adapter_hole_size_x=7.0, # measured + adapter_hole_size_y=7.0, # measured + adapter_hole_size_z=16.0, # measured (22.0 - 6) = 16.0 + model="SergiLabSupplies_96_MagneticRack_250ul_Vb", + ) diff --git a/pylabrobot/resources/vwr/__init__.py b/pylabrobot/resources/vwr/__init__.py index 1d84afb05a5..fa3552c9330 100644 --- a/pylabrobot/resources/vwr/__init__.py +++ b/pylabrobot/resources/vwr/__init__.py @@ -1 +1,2 @@ +from .plates import VWR_1_troughplate_195000uL_Ub, VWR_96_wellplate_2mL_Vb from .troughs import VWRReagentReservoirs25mL diff --git a/pylabrobot/resources/vwr/plates.py b/pylabrobot/resources/vwr/plates.py new file mode 100644 index 00000000000..0977439d67a --- /dev/null +++ b/pylabrobot/resources/vwr/plates.py @@ -0,0 +1,76 @@ +from pylabrobot.resources.plate import Plate +from pylabrobot.resources.utils import create_ordered_items_2d +from pylabrobot.resources.well import ( + CrossSectionType, + Well, + WellBottomType, +) + + +def VWR_1_troughplate_195000uL_Ub(name: str) -> Plate: + """VWR NA Cat. No. 77575-302""" + # technical drawing: + # https://github.com/PyLabRobot/pylabrobot/pull/574#issuecomment-2967988150 + + # product info + # https://us-prod2.vwr.com/store/product/47763965/vwr-multi-channel-polypropylene-reagent-reservoirs + + return Plate( + name=name, + size_x=127.76, # from spec + size_y=85.48, # from spec + size_z=31.4, # from spec + lid=None, + model=VWR_1_troughplate_195000uL_Ub.__name__, + ordered_items=create_ordered_items_2d( + Well, + size_x=127.76 - (14.38 - 8.9 / 2) * 2, # from spec + size_y=85.48 - (11.24 - 8.9 / 2) * 2, # from spec + size_z=26.85, # from spec + dx=9.93, # 14.38 - (8.9/2) from spec + dy=6.79, # 11.24 - (8.9/2) from spec + dz=3.55, # from spec + material_z_thickness=1, # 31.4 - (26.85 + 3.55) from spec + item_dx=9.0, # from spec + item_dy=9.0, # from spec + num_items_x=1, # from spec + num_items_y=1, # from spec + cross_section_type=CrossSectionType.RECTANGLE, + bottom_type=WellBottomType.U, + max_volume=195000, # from spec 195 mL + ), + ) + + +def VWR_96_wellplate_2mL_Vb(name: str) -> Plate: + """VWR NA Cat. No. 76329-998""" + # product info + # https://us-prod2.vwr.com/store/product/26915641/vwr-96-well-deep-well-plates-with-automation-notches + + # no technical drawing available + + return Plate( + name=name, + size_x=127.76, # standard + size_y=85.48, # standard + size_z=44.0, # measured + lid=None, + model=VWR_96_wellplate_2mL_Vb.__name__, + ordered_items=create_ordered_items_2d( + Well, + size_x=10.0, # measured + size_y=10.0, # measured + size_z=43.5, # measured + dx=9.0, # measured + dy=5.5, # measured + dz=0.5, # 44.0 - 43.5 = 0.5 + material_z_thickness=1, # estimate + item_dx=10.0, # measured + item_dy=10.0, # measured + num_items_x=12, # from spec + num_items_y=8, # from spec + cross_section_type=CrossSectionType.RECTANGLE, + bottom_type=WellBottomType.V, + max_volume=2200, # from spec 2.2 ml + ), + )