robotools.evotools#

Creating worklist files for the Tecan Freedom EVO.

class robotools.evotools.worklist.EvoWorklist(filepath: str | Path | None = None, max_volume: int | float = 950, auto_split: bool = True)#

Bases: BaseWorklist

Context manager for the creation of Tecan EVO worklists.

Attributes:
filepath

Path to which the worklist will write, if specified.

Methods

append(object, /)

Append object to the end of the list.

aspirate(labware, wells, volumes, *[, label])

Performs aspiration from the provided labware.

aspirate_well(rack_label, position, volume, *)

Command for aspirating with a single tip.

clear(/)

Remove all items from list.

comment(comment)

Adds a comment.

commit()

Inserts a 'break' that forces the execution of aspirate/dispense operations at this point.

copy(/)

Return a shallow copy of the list.

count(value, /)

Return number of occurrences of value.

decontaminate()

Decontamination wash consists of a decontamination wash followed by a normal wash.

dispense(labware, wells, volumes, *[, ...])

Performs dispensing into the provided labware.

dispense_well(rack_label, position, volume, *)

Command for dispensing with a single tip.

distribute(source, source_column, ...[, ...])

Transfers from a Trough into many destination wells using multi-pipetting.

evo_aspirate(labware, wells, ...[, arm, label])

Performs aspiration from the provided labware.

evo_dispense(labware, wells, ...[, arm, ...])

Performs dispensation from the provided labware.

evo_wash(*, tips, waste_location, ...[, ...])

Command for aspirating with the EvoWARE aspirate command.

extend(iterable, /)

Extend list by appending elements from the iterable.

flush()

Discards the contents of the tips WITHOUT WASHING or DROPPING of tips.

index(value[, start, stop])

Return first index of value.

insert(index, object, /)

Insert object before index.

pop([index])

Remove and return item at index (default last).

reagent_distribution(src_rack_label, ...[, ...])

Transfers from a Trough into many destination wells using multi-pipetting.

remove(value, /)

Remove first occurrence of value.

reverse(/)

Reverse IN PLACE.

save(filepath)

Writes the worklist to the filepath.

set_diti(diti_index)

Switches the DiTi types within the worklist.

sort(*[, key, reverse])

Sort the list in ascending order and return None.

transfer(source, source_wells, destination, ...)

Transfer operation between two labwares.

wash([scheme])

Washes fixed tips or replaces DiTis.

evo_aspirate(labware: Labware, wells: str | List[str], labware_position: Tuple[int, int], tips: List[Tip] | List[int], volumes: float | List[float], liquid_class: str, *, arm: int = 0, label: str | None = None) None#

Performs aspiration from the provided labware. Is identical to the aspirate command inside the EvoWARE. Thus, several wells in a single column can be targeted.

Parameters:
labwareliquidhandling.Labware

Source labware

labware_positiontuple

Grid position of the target labware on the robotic deck and site position on its carrier, e.g. labware on grid 38, site 2 -> (38,2)

wellslist of str or iterable

List with target well ID(s)

tipslist

Tip(s) that will be selected; use either a list with integers from 1 - 8 or with tip.T1 - tip.T8

volumesfloat or iterable

Volume(s) in microliters (will be rounded to 2 decimal places); if several tips are used, these tips may aspirate individual volumes -> use list in these cases

liquid_classstr, optional

Overwrites the liquid class for this step (max 32 characters)

armint

Which LiHa to use, if more than one is available

labelstr

Label of the operation to log into labware history

evo_dispense(labware: Labware, wells: str | List[str], labware_position: Tuple[int, int], tips: List[Tip] | List[int], volumes: float | List[float], liquid_class: str, *, arm: int = 0, label: str | None = None, compositions: List[Dict[str, float] | None] | None = None) None#

Performs dispensation from the provided labware. Is identical to the dispense command inside the EvoWARE. Thus, several wells in a single column can be targeted.

Parameters:
labwareliquidhandling.Labware

Source labware

labware_positiontuple

Grid position of the target labware on the robotic deck and site position on its carrier, e.g. labware on grid 38, site 2 -> (38,2)

wellslist of str or iterable

List with target well ID(s)

tipslist

Tip(s) that will be selected; use either a list with integers from 1 - 8 or with tip.T1 - tip.T8

volumesfloat or iterable

Volume(s) in microliters (will be rounded to 2 decimal places); if several tips are used, these tips may aspirate individual volumes -> use list in these cases

liquid_classstr, optional

Overwrites the liquid class for this step (max 32 characters)

armint

Which LiHa to use, if more than one is available

labelstr

Label of the operation to log into labware history

compositionslist

Iterable of liquid compositions

evo_wash(*, tips: List[Tip] | List[int], waste_location: Tuple[int, int], cleaner_location: Tuple[int, int], arm: int = 0, waste_vol: float = 3.0, waste_delay: int = 500, cleaner_vol: float = 4.0, cleaner_delay: int = 500, airgap: int = 10, airgap_speed: int = 70, retract_speed: int = 30, fastwash: int = 1, low_volume: int = 0) None#

Command for aspirating with the EvoWARE aspirate command. As many wells in one column may be selected as your liquid handling arm has pipettes. This method generates the full command (as can be observed when opening a .esc file with an editor) and calls upon other functions to create the code string specifying the target wells.

Parameters:
tipslist

Tip(s) that will be selected; use either a list with integers from 1 - 8 or with tip.T1 - tip.T8

waste_locationtuple

Tuple with grid position (1-67) and site number (0-127) of waste as integers

cleaner_locationtuple

Tuple with grid position (1-67) and site number (0-127) of cleaner as integers

armint

number of the LiHa performing the action: 0 = LiHa 1, 1 = LiHa 2

waste_vol: float

Volume in waste in mL (0-100)

waste_delayint

Delay before closing valves in waste in ms (0-1000)

cleaner_vol: float

Volume in cleaner in mL (0-100)

cleaner_delayint

Delay before closing valves in cleaner in ms (0-1000)

airgapint

Volume of airgap in µL which is aspirated after washing the tips (system trailing airgap) (0-100)

airgap_speedint

Speed of airgap aspiration in µL/s (1-1000)

retract_speedint

Retract speed in mm/s (1-100)

fastwashint

Use fast-wash module = 1, don’t use it = 0

low_volumeint

Use pinch valves = 1, don’t use them = 0

transfer(source: Labware, source_wells: str | Sequence[str] | ndarray, destination: Labware, destination_wells: str | Sequence[str] | ndarray, volumes: float | Sequence[float] | ndarray, *, label: str | None = None, wash_scheme: int = 1, partition_by: str = 'auto', **kwargs) None#

Transfer operation between two labwares.

Parameters:
sourceliquidhandling.Labware

Source labware

source_wellsstr or iterable

List of source well ids

destinationliquidhandling.Labware

Destination labware

destination_wellsstr or iterable

List of destination well ids

volumesfloat or iterable

Volume(s) to transfer

labelstr

Label of the operation to log into labware history

wash_schemeint

Wash scheme to apply after every tip use

partition_bystr
one of ‘auto’ (default), ‘source’ or ‘destination’

‘auto’: partitioning by source unless the source is a Trough ‘source’: partitioning by source columns ‘destination’: partitioning by destination columns

kwargs

Additional keyword arguments to pass to aspirate and dispense. Most prominent example: liquid_class. Take a look at Worklist.aspirate_well for the full list of options.

class robotools.evotools.worklist.Worklist(*args, **kwargs)#

Bases: EvoWorklist

Attributes:
filepath

Path to which the worklist will write, if specified.

Methods

append(object, /)

Append object to the end of the list.

aspirate(labware, wells, volumes, *[, label])

Performs aspiration from the provided labware.

aspirate_well(rack_label, position, volume, *)

Command for aspirating with a single tip.

clear(/)

Remove all items from list.

comment(comment)

Adds a comment.

commit()

Inserts a 'break' that forces the execution of aspirate/dispense operations at this point.

copy(/)

Return a shallow copy of the list.

count(value, /)

Return number of occurrences of value.

decontaminate()

Decontamination wash consists of a decontamination wash followed by a normal wash.

dispense(labware, wells, volumes, *[, ...])

Performs dispensing into the provided labware.

dispense_well(rack_label, position, volume, *)

Command for dispensing with a single tip.

distribute(source, source_column, ...[, ...])

Transfers from a Trough into many destination wells using multi-pipetting.

evo_aspirate(labware, wells, ...[, arm, label])

Performs aspiration from the provided labware.

evo_dispense(labware, wells, ...[, arm, ...])

Performs dispensation from the provided labware.

evo_wash(*, tips, waste_location, ...[, ...])

Command for aspirating with the EvoWARE aspirate command.

extend(iterable, /)

Extend list by appending elements from the iterable.

flush()

Discards the contents of the tips WITHOUT WASHING or DROPPING of tips.

index(value[, start, stop])

Return first index of value.

insert(index, object, /)

Insert object before index.

pop([index])

Remove and return item at index (default last).

reagent_distribution(src_rack_label, ...[, ...])

Transfers from a Trough into many destination wells using multi-pipetting.

remove(value, /)

Remove first occurrence of value.

reverse(/)

Reverse IN PLACE.

save(filepath)

Writes the worklist to the filepath.

set_diti(diti_index)

Switches the DiTi types within the worklist.

sort(*[, key, reverse])

Sort the list in ascending order and return None.

transfer(source, source_wells, destination, ...)

Transfer operation between two labwares.

wash([scheme])

Washes fixed tips or replaces DiTis.

Enums and classes, and related helper functions.

class robotools.evotools.types.Labwares(value, names=None, *values, module=None, qualname=None, type=None, start=1, boundary=None)#

Bases: str, Enum

Built-in EVOware labware identifiers.

Methods

capitalize(/)

Return a capitalized version of the string.

casefold(/)

Return a version of the string suitable for caseless comparisons.

center(width[, fillchar])

Return a centered string of length width.

count(sub[, start[, end]])

Return the number of non-overlapping occurrences of substring sub in string S[start:end].

encode(/[, encoding, errors])

Encode the string using the codec registered for encoding.

endswith(suffix[, start[, end]])

Return True if S ends with the specified suffix, False otherwise.

expandtabs(/[, tabsize])

Return a copy where all tab characters are expanded using spaces.

find(sub[, start[, end]])

Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end].

format(*args, **kwargs)

Return a formatted version of S, using substitutions from args and kwargs.

format_map(mapping)

Return a formatted version of S, using substitutions from mapping.

index(sub[, start[, end]])

Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end].

isalnum(/)

Return True if the string is an alpha-numeric string, False otherwise.

isalpha(/)

Return True if the string is an alphabetic string, False otherwise.

isascii(/)

Return True if all characters in the string are ASCII, False otherwise.

isdecimal(/)

Return True if the string is a decimal string, False otherwise.

isdigit(/)

Return True if the string is a digit string, False otherwise.

isidentifier(/)

Return True if the string is a valid Python identifier, False otherwise.

islower(/)

Return True if the string is a lowercase string, False otherwise.

isnumeric(/)

Return True if the string is a numeric string, False otherwise.

isprintable(/)

Return True if the string is printable, False otherwise.

isspace(/)

Return True if the string is a whitespace string, False otherwise.

istitle(/)

Return True if the string is a title-cased string, False otherwise.

isupper(/)

Return True if the string is an uppercase string, False otherwise.

join(iterable, /)

Concatenate any number of strings.

ljust(width[, fillchar])

Return a left-justified string of length width.

lower(/)

Return a copy of the string converted to lowercase.

lstrip([chars])

Return a copy of the string with leading whitespace removed.

maketrans(x[, y, z])

Return a translation table usable for str.translate().

partition(sep, /)

Partition the string into three parts using the given separator.

removeprefix(prefix, /)

Return a str with the given prefix string removed if present.

removesuffix(suffix, /)

Return a str with the given suffix string removed if present.

replace(old, new[, count])

Return a copy with all occurrences of substring old replaced by new.

rfind(sub[, start[, end]])

Return the highest index in S where substring sub is found, such that sub is contained within S[start:end].

rindex(sub[, start[, end]])

Return the highest index in S where substring sub is found, such that sub is contained within S[start:end].

rjust(width[, fillchar])

Return a right-justified string of length width.

rpartition(sep, /)

Partition the string into three parts using the given separator.

rsplit(/[, sep, maxsplit])

Return a list of the substrings in the string, using sep as the separator string.

rstrip([chars])

Return a copy of the string with trailing whitespace removed.

split(/[, sep, maxsplit])

Return a list of the substrings in the string, using sep as the separator string.

splitlines(/[, keepends])

Return a list of the lines in the string, breaking at line boundaries.

startswith(prefix[, start[, end]])

Return True if S starts with the specified prefix, False otherwise.

strip([chars])

Return a copy of the string with leading and trailing whitespace removed.

swapcase(/)

Convert uppercase characters to lowercase and lowercase characters to uppercase.

title(/)

Return a version of the string where each word is titlecased.

translate(table, /)

Replace each character in the string using the given translation table.

upper(/)

Return a copy of the string converted to uppercase.

zfill(width, /)

Pad a numeric string with zeros on the left, to fill a field of the given width.

SystemLiquid = 'Systemliquid'#
class robotools.evotools.types.Tip(value, names=None, *values, module=None, qualname=None, type=None, start=1, boundary=None)#

Bases: IntEnum

Enumeration of LiHa tip IDs.

Attributes:
denominator

the denominator of a rational number in lowest terms

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

Methods

as_integer_ratio(/)

Return a pair of integers, whose ratio is equal to the original int.

bit_count(/)

Number of ones in the binary representation of the absolute value of self.

bit_length(/)

Number of bits necessary to represent self in binary.

conjugate

Returns self, the complex conjugate of any int.

from_bytes(/, bytes[, byteorder, signed])

Return the integer represented by the given array of bytes.

is_integer(/)

Returns True.

to_bytes(/[, length, byteorder, signed])

Return an array of bytes representing an integer.

Any = -1#
T1 = 1#
T2 = 2#
T3 = 4#
T4 = 8#
T5 = 16#
T6 = 32#
T7 = 64#
T8 = 128#
robotools.evotools.types.int_to_tip(tip_int: int) Tip#

Checks and convert a tip number [1-8] to the Tecan Tip ID.