Skip to content
Ariel Vina-Rodriguez edited this page Jul 23, 2019 · 7 revisions

A Reagent is a fundamental concept in RobotEvo programming. It makes possible to define a protocol in a natural way, matching what a normal laboratory's protocol indicates. Defines a named homogeneous liquid solution, the wells it occupy, the initial amount needed to run the protocol (auto calculated), and how much is needed per sample, if applicable. It is also used to define samples, intermediate reactions and products. It makes possible a robust tracking of all actions and a logical error detection, while significantly simplifying the programming of non trivial protocols.

  • Reagent
  • preMix
  • Worktable
  • Worktable.Location
  • Labware.Type
    • Specialized types:
      • DiTiRackType
      • CuvetteType
  • Labware.Type.Series
  • Labware
    • Specialized labwares:
      • DitiRack
      • Cuvette

All these functions are member of the base class Protocol, from which all user protocols are derived.

These are the functions you will use in "every day" protocol programming. They allow you to specify the kind of tips to use and them command the operations you need on your reagents, samples, reactions, etc., almost directly as it states in the steps of your "hand written" original laboratory protocol.

Advanced functions.

Are you doing some advanced protocol development that cannot be efficiently or clearly expressed using the previous High level functions? Then, you may use the following functions. Keep in mind that it is now your responsibility to know what robot/protocol "state" are ignored by these new functions. For example, before aspirate you will need to mount "by yourself" the tips in the correct position of the used arm, because aspirate ignores the higher level with tips. But don't worry, RobotEvo still keeps track of the ("internal") robot state and will throw errors informing you about most logical mistakes (like in the previous example forgetting to mount the tips). In some cases these functions may be used to construct new high lever functions.

These are functions aimed to isolate what a physical robot would make at once: pick some tips, aspirate some liquid, etc. They are simple to understand, but are harder to use in "every day" protocol programming. They may be a great tool to set up your robot and to get an initial familiarization with all the system.