Classes to represent picklists and liquid transfers in general.

class synbiopython.lab_automation.picklist.PickList.PickList(transfers_list=(), data=None)[source]

Bases: object

Representation of a list of well-to-well transfers.

  • transfers_list – A list of Transfer objects that will be part of the same dispensing operation, in the order in which they are meant to be simulated.

  • data – A dict with information on the picklist.

add_transfer(source_well=None, destination_well=None, volume=None, data=None, transfer=None)[source]

Add a transfer to the picklist’s tranfers list.

You can either provide a Transfer object with the transfer parameter, or the parameters.


Return a new picklist were every too-large dispense is broken down into smaller dispenses.

static merge_picklists(picklists_list)[source]

Merge the list of picklists into a single picklist.

The transfers in the final picklist are the concatenation of the transfers in the different picklists, in the order in which they appear in the list.

restricted_to(transfer_filter=None, source_well=None, destination_well=None)[source]

Return a version of the picklist restricted to transfers with the right source/destination well.

You can provide source_well and destination_well or alternatively just a function transfer_filter with signature (transfer)=>True/False that will be used to filter out transfers (for which it returns false).

simulate(content_field='content', inplace=True)[source]

Simulate the execution of the picklist.


Return a new version of the picklist sorted by some parameter.

The sorting_method is either the name of an attribute of the transfers, such as “source_well”, or a function f(transfer) -> value.


Return the list of transfers in human-readable format.


Write the picklist in a file in a human reable format.


Return the sum of all volumes from all transfers.

class synbiopython.lab_automation.picklist.Transfer.Transfer(source_well, destination_well, volume, data=None)[source]

Bases: object

Class representing a transfer from a source well to a destination well.

  • source_well – A Well object from which to transfer.

  • destination_well – A Well object to which to transfer.

  • volume – Volume to be transferred, expressed in liters.

  • data – A dict containing any useful information about the transfer. This information can be used later e.g. as parameters for the transfer when exporting a picklist.


Return “Transfer {volume}L from {source_well} into {dest_well}”.


Return “Transfer {volume}L {source_well} -> {dest_well}”.


Return a version of the transfer with a new volume.

exception synbiopython.lab_automation.picklist.Transfer.TransferError[source]

Bases: ValueError