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)gridsitePlate is a lab plate located at some location on the robot work table containing wells.
Plate(grid,site)plateTypegetFreeWell()Well object of the next unused well on the plate.
Well(plate,row,column)rowcolumnplateRobotScripter(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())