Opentrons access

Hi,

I’m kind of new to this part of operating Opentrons so my question might be a dumb one.

Here it comes: Is it possible to run opentrons protocol “externally” like in a part of a bigger python code?
What im curious about is the following: Is it possible to create a program which on start brings up a GUI where i can define paramters (volumes, deck-slot positions for the labware) for the opentrons protocol to use and also embed the serial dilution protocol which use the variables. Then start the protocol on the robot.

It might be a really dumb question but i tought its worth a shot.
Cheers

1 Like

welcome to the forum!

Check out the HTTP api! GitHub - Opentrons/http-api-beta: Resources for the HTTP API beta program

Here’s a python wrapper: GitHub - rickwierenga/opentrons-python-api: Simple (and currently incomplete) Python wrapper around the Opentrons HTTP API

(by default protocols are python scripts executed on the onboard rpi; with the api you can use an external computer and the ot acts as a peripheral device)

2 Likes

What we do in our lab is have our opentrons code read a gsheet that the user fills in variably, and then we manipulate that data using code within the def run()

I don’t know if that answers your question, you still need to go through loading the protocol and hitting run using the opentrons app, but all the variable filling and whatnot can be done ahead of time, which is nice because if you need to gown to get into your lab, you can do it from your office nicely :sweat_smile:

Happy to share an example if you want, otherwise Rick’s method is much cooler

2 Likes

The best way to accomplish this would be using the HTTP API ( I think this is the most up-to-date page).

There is no easy way to achieve user inputs on a large system as you ask via the app, as the app/robot takes a snapshot of the protocol when uploaded. If you do not modify the protocol name or contents, you can run into some difficulties during the protocol run.

Depending on your labware configuration, you must use the app for positional check purposes.