FluentControl™ MicroScript programing

This article gives an introduction to FluentControl™ liquid class MicroScript programming with an example of how to program a mixing step within a MicroScript.

The base of a FluentControl liquid class is the underlying MicroScript and its MicroScript commands. The sequence of MicroScript commands defines the sequence of actions during aspiration, dispense and mix. Pipetting parameters (variables) set in the three other subsections of the liquid class, Easy Control, Positioning & Detection, and Formulas, can be used in the MicroScript commands. The MicroScript section will remain the same for a single arm type and can be changed without impacting the MicroScript for the other arm types which use the same liquid class. Alternately, the settings for Easy Control, Positioning & Detection, and Formulas are tip-type specific (Figure 1.) and so can be changed for each tip type subclass. The MicroScript section is displayed as a subtype in the Aspirate and Dispense sections and before editing, it should be verified that the correct arm type subclass is selected. This MicroScript section can be edited with MicroScript commands to modify the sequence of actions the arm will take to aspirate, dispense, or mix as desired.

Microscript1-1Figure 1. MicroScript section within liquid class stating that the MicroScript section is arm dependent.

The MicroScript commands are arm specific and cannot be used in subclasses for other arms. For example, some FCA commands cannot be used for the AirFCA. The MicroScript structures for an FCA and an AirFCA are very similar to each other, however there are some differences. One example would be with the liquid FCA where you would have to think about switching the valve positions in the MicroScript to ensure that the valve connects the correct syringe/tubing before pipetting or flushing. There are three valve positions to choose from, connecting the syringe to the tip, connecting the syringe to the source, and bypassing the syringe for use with the RapidWash pump. If certain commands are unclear, the best practice is to use the default liquid class as a template when starting to adjust your liquid class / MicroScript and modifying as needed to meet the need of your assay.

As an example of why you may want to modify your MicroScript, at times it maybe be advantageous to include a mix step within the MicroScript of the liquid class, instead of using the mixing command within the script. In the example shown below,(Figure 2.) a mixing loop is added after the initial aspirate step. The arm will move around the well for the mix loop to ensure the solution is combined thoroughly.

Microscript2-1Figure 2. Commands and groups in the MicroScript for the mixing step before the final aspiration.

When opening the Mix Parameter group we can define different variables which are used by other commands later in the MicroScript. Note the similarity between setting variables in a MicroScript and setting variables in the main script. Variables do not pass between the main script and the MicroScript.

Microscript3-1Figure 3. Commands in the “Group” command labelled ”Mix Parameter”.

In the Detection and Positioning group, additional variables are being set which are related specifically to the liquid level detection and tip positioning settings for the liquid class. If you explore the rest of the liquid class, these same variables can be found in the Detection and Positioning section of the liquid class. Defining the values here will nullify the use of the values in that other section and only use these values instead for this arm type (since the MicroScript is based on arm type).

Microscript4-1Figure 4. Commands in the “Group” command labelled “Detection and Positioning”

The “If” command will check to determine if cLLD is being used for this step. If this variable is not defined already in the MicroScript (see Figure 2), the variable will be set by the Detection and Positioning section of the liquid class. If set to a “1”, cLLD will be performed, if not, the “Else” group will be executed and the tip will move directly to the z max coordinate of the labware set in the labware definition.

Microscript5-1Figure 5. Commands in the “If” and ”Else” statements

The “Mixing Cycle” loop a sequence of commands will be executed and then repeated a number of times set by the variable “x”. Each time through the loop the tips will move to the z-max position defined by the labware definition and then aspirate the amount of liquid defined by the variable “volume”. Notice here that the “If” and “Else” commands earlier, which were intended to determine of cLLD will be done, are overruled here as the tips are told to go to z-max anyway before the aspirate command. After the aspirate command, the tips will move up by an offset defined by a “ringHeight” variable, and then they move in the x and y axes by an amount defined by the “dX” and “dY” variables. Finally, after a delay another “If” and “Else” sequence will determine if the liquid is dispensed back (in the “Else” block), or if this was the final cycle in which case the most recent aspiration will be the final aspiration and the tips will then move back to the center of the well and retract out with the requested volume.

Microscript6-1Figure 6. Commands in the “Loop” section labelled “Mixing Cycle”

An Example of More Advanced Commands

In FluentControl v3.5 we also introduced XY move during aspirate (a.k.a. spiral pipetting). The MicroScript command “Aspirate Liquid with XYTracking” performs synchronous movements of the pipetting channels in the x/y direction during liquid aspiration. Additionally, it allows liquid tracking (in z direction), which can be enabled/disabled by setting the liquid tracking parameter to 1 or 0, respectively. In the example below the “Use tracking” value is a variable defined in other sections of the liquid class which will feed that 1 or 0 into this command, so it does not need to be set manually here. In most liquid classes this is defined in the Detection and Positioning section of the liquid class. In the first example (Figure 4, line 20) it was set by another microscript command instead.

Microscript7-1Figure 7. MicroScript command “Aspirate Liquid with XYTracking” when extended

The sequence of x/y coordinates for x/y tracking must be defined as a custom attribute XYTrackingSequence of the target labware (see Figure 7.) before this command will work in the MicroScript of a liquid class used to pipette from that labware. A guide on how to use the command and create a x/z tracking sequence can be found in the Fluent® Reference Manual (Doc ID 399937).

Microscript8-1Figure 8. Definition of XYTrackingSequence defined in the “Custome attributes” of the labware in use

 

Further Help

For further help, please refer to our Helpdesk.

 

Link to Tecan Product Page:

Fluent®

 

 401815-025