PyEvo provides a python interface to Tecan Robots through the Freedom EVOWare COM API. It allows specifying scripts using higher level abstractions as well as providing an interactive environemnt for interpreted execution of robot scripts written in Python. The interpreted nature allows the Tecan to be controlled from a Read-Eval-Print-Loop as well providing for easy development and debugging.
Using PyEvo is easy. Import the pyevo module.
import pyevo
Then create an EVO object that talks to the Tecan and instruct the EVO object to connect to the robot. evo.logon()
starts EVOWare if is not already running and logs into its remote mode.
evo = pyevo.EVO() evo.logon()
Next, create a RobotScripter object which provides high level abstractions to different Tecan commands. Pass in the arguments for the connection to EVOWare and True
specifying the interpreted mode is requested.
scripter = pyevo.RobotScripter(evo,True)
Location
class represents a location on the robot work table.
Location(grid,site)
grid
site
Plate
is a lab plate located at some location on the robot work table containing wells.
Plate(grid,site)
plateType
getFreeWell()
Well
object of the next unused well on the plate.
Well(plate,row,column)
row
column
plate
RobotScripter(evo,interactive=False)
aspirate(tipNumber, well, amount)
amount
uL from the given well.
dispense(tipNumber, well, amount)
amount
uL into the given well.
pipetteMix(tipNumber, well, amount, numTimes)
amount
uL multiple times from the given well.
pickUpTip(tipNumber, tip)
tipNumber
.
setBackTip(tipNumber, tip)
tipNumber
.
import pyevo evo = pyevo.EVO() evo.logon() scripter = pyevo.RobotScripter(evo,True) #A plate of 1000 uL DiTi tips exists at grid 3, site 0 on the worktable. ditiLocation = pyevo.TipPlate(3,0,TipPlateTypes.DiTi1000ul) #A 96 Well Eppendorf Plate exists at grid 16, site 1 on the worktable. workPlate = pyevo.Plate(16,1,pyevo.PlateTypes.P96WellEppendorf) #Mount a free DiTi on tip 1 scripter.pickUpTip(1,ditiLocation.getFreeTip())