Skip to content

Commit 609635c

Browse files
authored
Resource Integration: Greiner_384_wellplate_28ul_Fb (#774)
* in silico definitions * on machine verification & refinement * make model .__name__ * fix linting * `make format` * refinements * updates * remove redundant information
1 parent 7fef56e commit 609635c

File tree

7 files changed

+98
-0
lines changed

7 files changed

+98
-0
lines changed

docs/resources/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ library/cellvis
178178
library/corning
179179
library/eppendorf
180180
library/falcon
181+
library/greiner
181182
library/hamilton
182183
library/imcs
183184
library/nest

docs/resources/library/greiner.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Greiner
2+
3+
Company page: [Greiner Bio-One](https://www.gbo.com/en-gb/company)
4+
5+
> Greiner Bio-One (GBO) is a global life-science and medical-technology company that designs, manufactures, and distributes high-quality plastic consumables and labware for research, diagnostics, and clinical applications. Founded in 1963 (originally as Greiner Labortechnik) in Nürtingen, Germany — where it produced the first plastic petri dishes — the company rebranded as Greiner Bio-One in 2000 and has since grown into a multinational supplier serving over 100 countries.
6+
> GBO operates across three main divisions — Preanalytics, BioScience, and Sterilization — covering sample collection, cell / tissue culture, high-throughput screening plates, and sterilization services. As part of the Greiner AG group (wholly family-owned), Greiner Bio-One leverages decades of manufacturing expertise to support biomedical research, diagnostics, and pharmaceutical workflows worldwide.
7+
8+
## Plates
9+
10+
| Description | Image | PLR definition |
11+
|--------------------|--------------------|--------------------|
12+
| 'Greiner_384_wellplate_28ul_Fb'<br>Part no.: 784075 (white), 784076 (black), 784101 (transparent)<br>[manufacturer website](https://shop.gbo.com/en/england/products/bioscience/microplates/384-well-microplates/384-well-small-volume-hibase-microplates/784075.html) | ![](img/greiner/Greiner_384_wellplate_28ul_Fb.png) | `Greiner_384_wellplate_28ul_Fb`
745 KB
Loading

pylabrobot/resources/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from .deck import Deck
2323
from .eppendorf import *
2424
from .errors import ResourceNotFoundError
25+
from .greiner import *
2526
from .hamilton import *
2627
from .itemized_resource import ItemizedResource
2728
from .liquid import Liquid
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from .plates import *
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
""" Greiner plates """
2+
3+
from pylabrobot.resources.plate import Lid, Plate
4+
from pylabrobot.resources.utils import create_ordered_items_2d
5+
from pylabrobot.resources.well import (
6+
CrossSectionType,
7+
Well,
8+
WellBottomType,
9+
)
10+
11+
# # # # # # # # # # Greiner_384_wellplate_28ul_Fb # # # # # # # # # #
12+
13+
14+
def _compute_volume_from_height_Greiner_384_wellplate_28ul_Fb(h: float) -> float:
15+
"""Estimate liquid volume (µL) from observed liquid height (mm)
16+
in the Greiner 384 wellplate 28ul Fb, using piecewise linear interpolation.
17+
"""
18+
raise NotImplementedError(
19+
"Computation of volume from height is not currently defined. "
20+
"It is difficult (perhaps impossible?) to robustly perform liquid "
21+
"level detection in such a small well AND such low volumes."
22+
)
23+
24+
25+
def _compute_height_from_volume_Greiner_384_wellplate_28ul_Fb(volume_ul: float) -> float:
26+
"""Estimate liquid height (mm) from known liquid volume (µL)
27+
in the Greiner 384 wellplate 28ul Fb, using piecewise linear interpolation.
28+
"""
29+
raise NotImplementedError(
30+
"Computation of height from volume is not currently defined. "
31+
"It is difficult (perhaps impossible?) to robustly perform liquid "
32+
"level detection in such a small well AND such low volumes."
33+
)
34+
35+
36+
def Greiner_384_wellplate_28ul_Fb_Lid(name: str) -> Lid:
37+
raise NotImplementedError("This lid is not currently defined.")
38+
39+
40+
#: Greiner_384_wellplate_28ul_Fb
41+
def Greiner_384_wellplate_28ul_Fb(name: str, with_lid: bool = False) -> Plate:
42+
"""Greiner cat. no.: 784075.
43+
- Colour: white
44+
- alternative cat. no.: 784075-25: white; 784076, 784076-25: black; 784101: clear.
45+
- Material: Polystyrene
46+
- "shallow-well"
47+
- Sterilized: No
48+
- Autoclavable: No
49+
- Chemical resistance:?
50+
- Thermal resistance: ?
51+
- Surface treatment: non-treated
52+
- Sealing options: ?
53+
- Cleanliness: "Free of detectable DNase, RNase, human DNA"
54+
- Automation compatibility: not specifically declared
55+
- Total volume = 28 ul
56+
- URL: https://shop.gbo.com/en/england/products/bioscience/microplates/384-well-microplates/384-well-small-volume-hibase-microplates/784075.html
57+
"""
58+
return Plate(
59+
name=name,
60+
size_x=127.76,
61+
size_y=85.48,
62+
size_z=14.4,
63+
lid=Greiner_384_wellplate_28ul_Fb_Lid(name + "_lid") if with_lid else None,
64+
model=Greiner_384_wellplate_28ul_Fb.__name__,
65+
ordered_items=create_ordered_items_2d(
66+
Well,
67+
num_items_x=24,
68+
num_items_y=16,
69+
dx=10.48 - 0.2, # physical testing shows -0.2mm deviation from OEM technical drawing
70+
dy=7.34,
71+
dz=8.9,
72+
item_dx=4.5,
73+
item_dy=4.5,
74+
size_x=3.3,
75+
size_y=3.3,
76+
size_z=5.5,
77+
bottom_type=WellBottomType.FLAT,
78+
material_z_thickness=0.9,
79+
cross_section_type=CrossSectionType.CIRCLE,
80+
# compute_volume_from_height=_compute_volume_from_height_Greiner_384_wellplate_28ul_Fb,
81+
# compute_height_from_volume=_compute_height_from_volume_Greiner_384_wellplate_28ul_Fb,
82+
),
83+
)
Binary file not shown.

0 commit comments

Comments
 (0)