Skip to content

Error should be raised before transfer attempted if tip length and plate height are incompatible with head type #316

Open
@maraxen

Description

@maraxen

Describe the bug

From what I can see, PyLabRobot does not currently validate tip length and head dimensions against plate height, which can lead to the robot attempting to access positions that are physically impossible. This can occur in two main scenarios:

  • 96 Head Transfers: When using a 96 head with tips that are too short, the robot may attempt to lower the head below the minimum safe distance above the plate, potentially causing a crash.
  • Single Channel Transfers: If a single channel pipette descends too far into a well (e.g., to aspirate a small volume at the bottom), the pipette's width might collide with the well walls.

Expected behavior

PyLabRobot should implement comprehensive checks before any transfer is attempted to ensure compatibility between the chosen head, tip length, and target plate:

  • 96 Head: Verify that the tip length is sufficient to reach the well bottom without the head colliding with the plate.
  • Single Channel: If the tip is required to descend below the top of the well, check if the pipette's channel width can be accommodated within the well without collision.

If any incompatibility is detected, PyLabRobot should raise an error with a descriptive message, specifying the cause of the conflict and potential solutions (e.g., use longer tips, adjust aspiration height, use a smaller volume well).

To Reproduce

Scenario 1 (96 Head):

  1. Use a 96 head with tips that are too short for the target plate.
  2. Attempt a transfer.
  3. Observe a crash or failed transfer.

Scenario 2 (Single Channel):

  1. Use a single channel pipette with a wide tip.
  2. Attempt a transfer from a narrow well where the tip needs to descend significantly to reach the liquid.
  3. Observe a crash or failed transfer.

Possible Solution

Implement a pre-pipetting validation function that:

  • Identifies Head Type: Determine if a 96 head or single channel pipette is being used.
  • 96 Head Check: If using a 96 head, calculate the minimum tip length required to reach the well bottom while maintaining a safe distance from the plate. Compare this with the current tip length.
  • Single Channel Check: If using a single channel and the transfer requires descending below the well's top, compare the channel width against the well's inner diameter.
  • Error Handling: If any check fails, raise a descriptive error specifying the conflict and suggesting possible solutions.

Additional context

This comprehensive validation is crucial for preventing damage to expensive lab equipment, ensuring the reliability of automated liquid handling protocols, and minimizing experimental errors caused by failed transfers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions