Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

re-add parameterset #271

Closed
wants to merge 1,378 commits into from
Closed

re-add parameterset #271

wants to merge 1,378 commits into from

Conversation

rickwierenga
Copy link
Member

undoing f46f623 of #248

ParameterSet is nice because we can pass a single parameter to a function that performs a transfer to specify it completely, without having to have two parameters one for asp and one for disp. this ensures eg blow out air volume and transport air volume are the same between the operation. it also provides a way for the user to specify which parameters should go to asp and disp (or both). if we only pass a dict, we would need an additional argument to determine which parameter should go to asp or disp or both

the ParameterSet class is quite empty and ugly and i might refactor aggressively

BioCam and others added 30 commits May 4, 2024 00:55
* Cos_6_Fb base definition

* Cos_6_Fb PLR integration

* polishing definition

* generate README for Corning-Costar labware

* minor formatting

---------

Co-authored-by: Rick Wierenga <[email protected]>
…occupacy (#127)

* Add "__repr__" to itemized_resource, displaying a grid of occupied/free spots

Example output:

```
12x8 TipRack
    1  2  3  4  5  6  7  8  9  10 11 12
A:  -  -  -  -  -  -  -  -  -  -  -  -
B:  -  -  -  -  -  -  -  -  -  -  -  -
C:  -  -  -  -  -  -  -  -  -  -  -  -
D:  -  -  -  -  -  -  -  -  -  -  -  -
E:  -  -  -  -  -  -  -  -  -  -  -  -
F:  -  -  -  -  -  -  -  -  -  -  -  -
G:  -  -  -  -  -  -  -  -  -  -  -  -
H:  -  -  -  -  -  -  -  -  -  -  -  -
```

* Add LETTERS

* linter errors

* fix type checking

* fix type checking again

pylabrobot/resources/itemized_resource.py:390: error: Incompatible types in assignment (expression has type "str", variable has type "list[list[str]]")  [assignment]
pylabrobot/resources/itemized_resource.py:393: error: Unsupported operand types for + ("str" and "list[list[str]]")  [operator]

* replace __repr__ with print_grid

makes more sense, and is required because there is no way for itemizedresource way to know how to check for or represent the items from classes inheriting from it (see comments in code)

* add footer

* _occupied_func: replace Resource hint with T

"T is a placeholder for the resource that is "itemized" by ItemizedResource. It is TipSpot for TipRack, Well for Plate, and Tube (soon TubeSpot) for TubeRacks"

* Add _occupied_func method to TipRack

This overrides _occupied_func in ItemizedResource, making print_grid informative about tips in tipspots

* linter fixes

* fix typo
* Alpaqua MAGNUM FLX definition verification

* correcting unnecessary wildcard import

* correcting missing Coordinate import

* only allow V and U bottom plates

* fix type / only take plates …

---------

Co-authored-by: Rick Wierenga <[email protected]>
* PLT_CAR_L4_SHAKER definition

* Make PLT_CAR_L4_SHAKER a MFXCarrier

* Polish PLT_CAR_L4_SHAKER
…#132)

* Added functions to TubeRack and Tube and added them to the visualizer

* minor formatting

---------

Co-authored-by: Joe Laforet <joelaforet@JLaforetLaptop>
Co-authored-by: Rick Wierenga <[email protected]>
…) calls. (#134)

* Added functions to TubeRack and Tube and added them to the visualizer

* fixed bug in remove_liquid() and add_liquid() not updating on the visualizer

* linting

---------

Co-authored-by: Joe Laforet <joelaforet@JLaforetLaptop>
Co-authored-by: Rick Wierenga <[email protected]>
* ThermoScientific_96_1200ul_Rd integration

* adding docstring with useful information in the field

* fixing linting
* implementing height functions (3 / 5)

* fixing type checking

* fixing int 0

* fixing linting

* two more height functions

* enhancing_height_of_volume_in_spherical_cap

added docstring and ValueError in case liquid_volume given exceeds volume of spherical cap (useful when used as a standalone function, redundancy in height_functions)

---------

Co-authored-by: Rick Wierenga <[email protected]>
… PumpCalibration (#140)

* feat: Add serialization and deserialization methods to Pump, PumpArray, and PumpCalibration to allow for calibrations to be serialized and deserialized separately and within instances of pumps.

The commit adds serialization and deserialization methods to the `Pump`, `PumpArray`, and 'PumpCalibration' classes. These methods allow instances of the classes to be converted to and from a dictionary representation, making it easier to store and retrieve their state. This feature improves the flexibility and usability of the classes.

* minor formatting

---------

Co-authored-by: Rick Wierenga <[email protected]>
* Well compute_height_from_volume integration

* add tolerance explanation

* fix linting
* get_anchor

* type
* Implemented TubeRack and Tube methods and added to visualizer

* added reservoirs to opentrons

* Added new reservoir class for OpenTrons Reservoirs

* bugs with reservoirs and visualizer. Maybe also in how children are assigned too

* added code for OpenTrons reservoirs and got them on visualizer

* made lint/test/typecheck happy

* Normalize all the line endings

* no need for new reservoir class

* made test/lint/typecheck happy

* minor formatting

---------

Co-authored-by: Joe Laforet <joelaforet@JLaforetLaptop>
Co-authored-by: Rick Wierenga <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.