-
Notifications
You must be signed in to change notification settings - Fork 178
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
feat: version 3 app allows "A0", version 4 app does not. Please allow "A0" again. #7531
Comments
@bmyury can you expand a little bit on what "not allowed" means? What was the specific behavior you used in v3, and what is the behavior of v4 that is blocking you? |
This regex was added October of last year when I added row and column attributes to Well objects. |
In v3 – I can use labware with "A0" in it. In v4 scripts with this labware definition throw an error saying that "A0" can;t be recognized by regular expression. below is my labware def {"ordering":[["A0","A1","A2","A3","A4"],["B1","B2","B3","B4"],["C1","C2","C3","C4"]],"brand":{"brand":"Parhelia","brandId":["par2_cslp_metal_v1"]},"metadata":{"displayName":"par2_cslp_metal_v1","displayCategory":"wellPlate","displayVolumeUnits":"µL","tags":[]},"dimensions":{"xDimension":127.71,"yDimension":85.43,"zDimension":47.7},"wells":{"A0":{"depth":0,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":8.6,"y":75.7,"z":47.7},"A1":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":21.5,"y":70.5,"z":38.5},"B1":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":21.5,"y":51.3,"z":38.5},"C1":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":21.5,"y":32.5,"z":38.5},"A2":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":48.5,"y":70.5,"z":38.5},"B2":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":48.5,"y":51.3,"z":38.5},"C2":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":48.5,"y":32.5,"z":38.5},"A3":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":75.5,"y":70.5,"z":38.5},"B3":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":75.5,"y":51.3,"z":38.5},"C3":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":75.5,"y":32.5,"z":38.5},"A4":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":102.5,"y":70.5,"z":38.5},"B4":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":102.5,"y":51.3,"z":38.5},"C4":{"depth":9.2,"totalLiquidVolume":300,"shape":"circular","diameter":10,"x":102.5,"y":32.5,"z":38.5}},"groups":[{"metadata":{"displayName":"par2_cslp_metal_v1","displayCategory":"wellPlate","wellBottomShape":"flat"},"brand":{"brand":"Parhelia","brandId":["par2_cslp_metal_v1"]},"wells":["A0","A1","A2","A3","A4","B1","B2","B3","B4","C1","C2","C3","C4"]}],"parameters":{"format":"irregular","quirks":[],"isTiprack":false,"isMagneticModuleCompatible":false,"loadName":"par2_cslp_metal_v1"},"namespace":"custom_beta","version":1,"schemaVersion":2,"cornerOffsetFromSlot":{"x":0,"y":0,"z":0}} |
Dear @mcous @amitlissack – if my suggestion us accepted, when realistically can I expect it to be implemented and incorporated into an update. Just to give us an idea – to what to tell our colleagues that use our device |
@bmyury this will make it into the # ...
import re
# ...
metadata = {
'apiLevel': '2.9'
}
# ...
def run(ctx):
# HACK: patch _private internals_ of well logic to allow wells columns starting with `0`
# only valid for opentrons == 4.2.x
try:
from opentrons.protocols.implementations.well import WellImplementation
# replace row/column identification regex for wells
WellImplementation.pattern = re.compile(r"^([A-Z]+)([0-9]+)$", re.X)
except Exception as e:
ctx.comment(f"Failed to patch WellImplementation: {e}")
# ...rest of protocol |
Thank you so much @mcous – I will try it and will let you know |
Hi,
We are using custom labware definition for our device.
Our device is pretty finicky (calibration process has a potential to destroy it). To this end we assigned the "A0" position specifically for calibration. A0 is located separately from all other "wells" which keeps them safe yet during the protocol the reactions happen in wells A1....C4 (totall 12 wells).
It worked just fine in the server and app version 3. But in version 4 it is not allowed (the regular expression for the well names does not allow for "A0" – the wells could only start from A1. I assume the old regex was:
'^([A-Z]+)([0-9][0-9])$' while the new is '^([A-Z]+)([1-9][0-9])$'
Could you please reverse this change and allow for the "A0" name of the well to be used again.
Thank you
Yury
https://www.parheliabio.com/
The text was updated successfully, but these errors were encountered: