-
Notifications
You must be signed in to change notification settings - Fork 179
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(api): support get_max_travel_z for Flex and enable use_virtual_pipettes #12515
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah this is fine. I'd love to think of another way to do this.
Codecov Report
@@ Coverage Diff @@
## edge #12515 +/- ##
==========================================
+ Coverage 73.44% 73.64% +0.19%
==========================================
Files 1498 2255 +757
Lines 49103 61991 +12888
Branches 2991 6547 +3556
==========================================
+ Hits 36066 45654 +9588
- Misses 12581 14781 +2200
- Partials 456 1556 +1100
Flags with carried forward coverage won't be shown. Click here to find out more.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
A few comments and questions, but I think this is basically good to go.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🏎️
Overview
Closes RCORE-655.
This PR adds support for calculating
max_travel_z
while analyzing anOT-3 Standard
robot type protocol, and enables theuse_virtual_pipettes
field for those protocols. The value used for the max height is the same one the OT3 Hardware API is using, but avoids making a call to the hardware API.With
use_virtual_pipettes
on, significant speed-ups both on the app and robot side analysis have been seen, with speedups of 66% seen for real science protocols on the robot, and up to 90% for pipette heavy protocols.Test Plan
Analysis was tested on a number of protocols, including science ones such as
OT-3 Omega HDQ DNA Extraction: Bacteria- Tissue Protocol Park Tips
and the 96-channel protocolOmega HDQ DNA Extraction: Bacteria 96 channel testing
on both the app and the Flex to ensure they still successfully analyzeAdditionally, for speed calculations, the following protocol was tested both with and without the
use_virtual_pipettes
flag on.Without the flag on, this takes over 10 minutes to simulate on the app running on an M1 MacBook Pro. With the flag on, this protocol only takes 1 minute to complete analysis.
Changelog
get_instrument_max_height
for use in analysis/simulationuse_virtual_pipettes
for OT-2 only, enabling it for OT-3/Flexshared_data
for 96 channel pipette that was causing simulated runs to incorrectly fail analysisReview requests
Risk assessment
Lowish, this only affects analysis and no changes have been made that will affect actual runs. I've done my due diligence in testing around 10 OT-3 protocols I have loaded, to ensure they still pass. While most of the code has been running successfully on the OT-2 since end of February (and is in 6.3), there is always the small chance of a false failed run. However this feature can be turned off and returned to pre-existing behavior by enabling the
disableFastProtocolUpload
FF