Reference¶
Code organization¶
Plate.py
,Well.py
andPicklist.py
implement the central objects
Plate
,Well
, andPicklist
.
The
containers
folder contains specific classes ofPlate
andWell
will predefined dimensions, capacity, dead volume, etc.
The
parsers
folder contains all methods to generate Plates or Picklists
from machine files and data.
The
exporters
folder contains all methods to export plates in picklists
in human- or machine-readable format.
Plates¶
This module implements the Base class for all plates.
See plateo.container for more specific plate subclasses, with set number of wells, well format, etc.
-
class
plateo.Plate.
Plate
(name=None, wells_data=None, data=None)[source]¶ Base class for all wells.
Methods
alias of
plateo.Well.Well
apply_to_wells
(fun)Run fun(well) for every name:well in self.wells_dict
iter_wells
([direction])Iter through the wells either by row or by column
last_nonempty_well
([direction])Return the last non-empty well found when traversing the plate.
merge_data_from
(other_plate[, overwrite])Adds a new field field_name to the
wells_in_column
(column_number)Return the list of all wells of the plate in the given column.
wells_in_row
(row)Return the list of all wells of the plate in the given row.
wells_satisfying
(condition)Examples
compute_data_field
find_unique_well
get_well_from_index
index_to_wellname
list_data_field_values
list_well_data_fields
to_dict
to_pretty_string
well_at_index
wellname_to_index
wells_grouped_by
wells_sorted_by
-
PlateWell
¶ alias of
plateo.Well.Well
-
last_nonempty_well
(direction='row')[source]¶ Return the last non-empty well found when traversing the plate.
-
merge_data_from
(other_plate, overwrite=True)[source]¶ Adds a new field field_name to the
Note that fun can also return nothing and simply transform the wells.
-
wells_in_column
(column_number)[source]¶ Return the list of all wells of the plate in the given column.
-
-
class
plateo.Well.
Well
(plate, row, column, name, data=None)[source]¶ Generic class for a well.
- Parameters
- plate
The plate on which the well is located
- row
The well’s row (a number, starting from 0)
- column
The well’s column (a number, starting from 0)
- name
The well’s name, for instance “A1”
- data
A dictionnary storing data on the well, used in algorithms and reports.
- Attributes
- capacity
coordinates
Return (well.row, well.column)
is_empty
Return true iff the well’s volume is 0
- volume
Methods
index_in_plate
([direction])Return the index of the well in the plate.
is_after
(other[, direction])Return whether this well is located strictly after the other well.
add_content
empty_completely
iterate_sources_tree
pretty_summary
subtract_content
to_dict
transfer_to_other_well
-
property
coordinates
¶ Return (well.row, well.column)
-
is_after
(other, direction='row')[source]¶ Return whether this well is located strictly after the other well.
Examples
To iterate over all free wells after the last non-free well of a plate:
>>> direction = 'row' >>> last_occupied_well = plate.last_nonempty_well(direction=direction) >>> free_wells = (w for w in plate.iter_wells(direction=direction) >>> if w.is_after(last_occupied_well)) >>> for well in free_wells: ...
-
property
is_empty
¶ Return true iff the well’s volume is 0
-
class
plateo.Well.
WellContent
(quantities=None, volume=0)[source]¶ Class to represent the volume and quantities of a well.
Having the well content represented as a separate object makes it possible to have several wells share the same content, e.g. in throughs.
Methods
components_as_string
([separator])Return a string representation of what’s in the well mix
to_dict
()Return a dict {volume: 0.0001, quantities: {…:…}}
concentration
make_empty
Plate parsers¶
From tables¶
-
plateo.parsers.
plate_from_dataframe
(dataframe, wellname_field='wellname', num_wells='infer', data=None)[source]¶ Create a plate from a Pandas dataframe where each row contains the name of a well and data on the well.
it is assumed that the dataframe’s index is given by the well names.
This function is used e.g. in plate_from_list_spreadsheet.
- Parameters
- dataframe
A Pandas dataframe
- wellname_field
The name of the Pandas dataframe column indicating the name of the wells.
- num_wells
Number of wells in the Plate to be created. If left to default ‘infer’, the size of the plate will be chosen as the smallest format (out of 96, 384 and 1536 wells) which contains all the well names.
- data
Metadata information for the plate.
-
plateo.parsers.
plate_from_list_spreadsheet
(filename, sheet_name=0, num_wells='infer', wellname_field='wellname')[source]¶ Create a plate from a Pandas dataframe where each row contains the name of a well and metadata on the well.
- Parameters
- filename
Path to the spreadsheet file.
- sheet_name
Index or name of the spreadsheet to use.
- num_wells
Number of wells in the Plate to be created. If left to default ‘infer’, the size of the plate will be chosen as the smallest format (out of 96, 384 and 1536 wells) which contains all the well names.
- wellname_field=”wellname”
Name of the column of the spreadsheet giving the well names
-
plateo.parsers.
plate_from_platemap_spreadsheet
(file_handle, file_type='auto', original_filename=None, data_field='info', num_wells='infer', plate_class=None, multiply_by=None, headers=True, sheet_name=0, skiprows=None)[source]¶ Parse spreadsheets representing a plate map.
- Parameters
- file_handle
Either a file handle or a file path to a CSV/Excel spreadsheet. If a file handle is provided, then the file_type must be set, or at least the “original_filename”.
- file_type
Either “csv” or “excel” or “auto” (at which case the type is determined based on the provided file path in
file_handle
ororiginal_filename
)- original_filename
Original filename (optional if file_handle is already a file path or if file_type is specified)
- data_field
Data field of the well under which platemap’s information will be stored
- num_wells
Number of wells in the Plate to be created. If left to default ‘infer’, the size of the plate will be chosen as the smallest format (out of 96, 384 and 1536 wells) which contains all the well names.
- headers
Whether the spreadsheet actually writes the “A” “B”, and “1” “2”
- skiprows
Number of rows to skip (= rows before the platemap starts)
- The spreadsheet should be either a 8 rows x 12 columns csv/excel file,
- or have headers like this
- .. code:: bash
1 2 3 4 5 6 7 8 9 10 11 12
A . . . . . . . . . . . . B . . . . . . . . . . . . C . . . . . . . . . . . . D . . . . . . . . . . . . E . . . . . . . . . . . . F . . . . . . . . . . . . G . . . . . . . . . . . . H . . . . . . . . . . . .
From Fragment analyzer data¶
-
plateo.parsers.
plate_from_aati_fragment_analyzer_peaktable
(filename)[source]¶ “Return a Plate96 object with a data field for the
bands
.Provided a
filename
of an AATI fragment analyzer Peak table (these are generally named{DATE} Peak Table.csv
), it generates a Plate96 object where each well has a data attribute “bands” of the form{peak_id: {attrs}}
where thepeak_id
is a number (>1) and the attrs attribute has fields such asSize (bp)
,% (Conc.)
,nmole/L
,ng/ul
,RFU
.
-
plateo.parsers.
plate_from_aati_fragment_analyzer_zip
(filename)[source]¶ “Return a Plate96 object with data for bands and migration image.
Provided a zip output of an AATI fragment analyzer, it will find the relevant files and extract band sizes and gel images, and store these in each well’s data.
In the final plate, each well has a data attribute “bands” of the form
{peak_id: {attrs}}
where thepeak_id
is a number (>1) and the attrs attribute has fields such asSize (bp)
,% (Conc.)
,nmole/L
,ng/ul
,RFU
.Each well also has a
data["migration_image"]
which is a WxH array, a greyscale version of the image.
Miscellaneous¶
-
plateo.parsers.
plate_from_nanodrop_xml_file
(xml_file=None, xml_string=None, num_wells=96, direction='row')[source]¶ Return a plate with the DNA concentrations measured by the Nanodrop.
- Parameters
- xml_file
The xml file exported from the Nanodrop software. It should contain one measurement per well. An xml_string can be provided instead of this argument.
- xml_string
The content of an xml file exported from the Nanodrop software. Can be provided instead of xml_file. Should contain one measurement per well.
- num_wells
Number of wells in the Plate
- direction
Either
row
or column`. Order of the measurements on the plate.
- Returns
- A Plate where the wells have the following data fields:
- TODO: complete
Plate Exporters¶
-
plateo.exporters.
plate_to_bokeh_plot
(plate, hover_data=(), well_to_html=None, well_color_function=None)[source]¶ Return an interactive bokeh plot of the plate.
Hovering the wells displays some data on the wells.
- Parameters
- plate
The plate to be converted
- hover_data
list or tuple of all fields from the well’s data that should be displayed when hovering a well
- well_to_html
Html that sould be displayed when hovering a well (only works if hover_data is left empty).
- well_color_function
A function well=> #a103ba associating a color to fill each well
-
plateo.exporters.
plate_to_genesift_sequencing_order_spreadsheet
(plate, output_file, sample_name_function, well_filter=None, direction='row')[source]¶ Generate an excel spreadsheet for ordering through Genesift
- Parameters
- plate
- output_file
- sample_name_function
A function f(well) => Sample name
- well_filter
A function f(well) => True/false
-
plateo.exporters.
plate_to_platemap_spreadsheet
(plate, wellinfo_function, filepath=None, sheet_name='plate_map', headers=True)[source]¶ Generate a spreadsheet with a map of the plate.
- Parameters
- plate
A Plate object
- filepath
Path to a “.csv” or “.xls(x)” file. Or a Pandas ExcelWriter object.
- wellinfo_function
A function f(well) -> info where well is a Well object of the plate and the returned info is an information about the well that will be displayed in the well’s cell in the final spreadsheet. The info can be a string or any other object that can be converted to a string
1 2 3 4 5 6 7 8 9 10 11 12 A . . . . . . . . . . . . B . . . . . . . . . . . . C . . . . . . . . . . . . D . . . . . . . . . . . . E . . . . . . . . . . . . F . . . . . . . . . . . . G . . . . . . . . . . . . H . . . . . . . . . . . .
Plotters¶
-
plateo.exporters.
PlateTextPlotter
(text_function, line_length=None, fontdict=None)[source]¶ Plot a plate’s well statistic as text at the well’s positions.
- Parameters
- text_function
A function (well) => text
- with_colorbar
It true a colorbar giving a scale for color values will be plotted alongside the map
-
plateo.exporters.
PlateColorsPlotter
(stat_function, colormap=None, plot_colorbar=False, well_radius='full', vmin=None, vmax=None, alpha=1.0, edge_width=1)[source]¶ Plot a plate’s well statistic with wells colored differently.
- Parameters
- stat_function
The function to be plotted, with signature (well) => value
- with_colorbar
It true a colorbar giving a scale for color values will be plotted alongside the map
-
plateo.exporters.
PlateGraphsPlotter
(plot_function, subplot_size=0.7, 0.7)[source]¶ Plot a graph (for instance time series) for each well of the plate
The result has the shape of a plate, with each well replaced by a graph.
- Parameters
- plot_function
A function f(well, well_ax) which plots something on the provided
well_ax
depending on thewell
.- subplot_size
(width, height) of subplots, between 0 and 1 (1 meaning the graphs of the different wells will have virtually no margin between them)
Container classes¶
-
class
plateo.containers.plates.
Plate1536
(name=None, wells_data=None, data=None)[source]¶ Base class for 1536-well plates (32 rows, 48 columns)
Methods
PlateWell
alias of
plateo.Well.Well
apply_to_wells
(fun)Run fun(well) for every name:well in self.wells_dict
iter_wells
([direction])Iter through the wells either by row or by column
last_nonempty_well
([direction])Return the last non-empty well found when traversing the plate.
merge_data_from
(other_plate[, overwrite])Adds a new field field_name to the
wells_in_column
(column_number)Return the list of all wells of the plate in the given column.
wells_in_row
(row)Return the list of all wells of the plate in the given row.
wells_satisfying
(condition)Examples
compute_data_field
find_unique_well
get_well_from_index
index_to_wellname
list_data_field_values
list_well_data_fields
to_dict
to_pretty_string
well_at_index
wellname_to_index
wells_grouped_by
wells_sorted_by
-
class
plateo.containers.plates.
Plate2x4
(name=None, wells_data=None, data=None)[source]¶ Class for 8-well (2 x 4) plates such as colony plating plates
Methods
PlateWell
alias of
plateo.Well.Well
apply_to_wells
(fun)Run fun(well) for every name:well in self.wells_dict
iter_wells
([direction])Iter through the wells either by row or by column
last_nonempty_well
([direction])Return the last non-empty well found when traversing the plate.
merge_data_from
(other_plate[, overwrite])Adds a new field field_name to the
wells_in_column
(column_number)Return the list of all wells of the plate in the given column.
wells_in_row
(row)Return the list of all wells of the plate in the given row.
wells_satisfying
(condition)Examples
compute_data_field
find_unique_well
get_well_from_index
index_to_wellname
list_data_field_values
list_well_data_fields
to_dict
to_pretty_string
well_at_index
wellname_to_index
wells_grouped_by
wells_sorted_by
-
class
plateo.containers.plates.
Plate384
(name=None, wells_data=None, data=None)[source]¶ Base class for standard 384-well plates
Methods
PlateWell
alias of
plateo.Well.Well
apply_to_wells
(fun)Run fun(well) for every name:well in self.wells_dict
iter_wells
([direction])Iter through the wells either by row or by column
last_nonempty_well
([direction])Return the last non-empty well found when traversing the plate.
merge_data_from
(other_plate[, overwrite])Adds a new field field_name to the
wells_in_column
(column_number)Return the list of all wells of the plate in the given column.
wells_in_row
(row)Return the list of all wells of the plate in the given row.
wells_satisfying
(condition)Examples
compute_data_field
find_unique_well
get_well_from_index
index_to_wellname
list_data_field_values
list_well_data_fields
to_dict
to_pretty_string
well_at_index
wellname_to_index
wells_grouped_by
wells_sorted_by
-
class
plateo.containers.plates.
Plate4ti0130
(name=None, wells_data=None, data=None)[source]¶ 96-well plate with 2ml deepwells from 4titude
Methods
PlateWell
(plate, row, column, name[, data])- Attributes
apply_to_wells
(fun)Run fun(well) for every name:well in self.wells_dict
iter_wells
([direction])Iter through the wells either by row or by column
last_nonempty_well
([direction])Return the last non-empty well found when traversing the plate.
merge_data_from
(other_plate[, overwrite])Adds a new field field_name to the
wells_in_column
(column_number)Return the list of all wells of the plate in the given column.
wells_in_row
(row)Return the list of all wells of the plate in the given row.
wells_satisfying
(condition)Examples
compute_data_field
find_unique_well
get_well_from_index
index_to_wellname
list_data_field_values
list_well_data_fields
to_dict
to_pretty_string
well_at_index
wellname_to_index
wells_grouped_by
wells_sorted_by
-
class
PlateWell
(plate, row, column, name, data=None)[source]¶ - Attributes
coordinates
Return (well.row, well.column)
is_empty
Return true iff the well’s volume is 0
- volume
Methods
index_in_plate
([direction])Return the index of the well in the plate.
is_after
(other[, direction])Return whether this well is located strictly after the other well.
add_content
empty_completely
iterate_sources_tree
pretty_summary
subtract_content
to_dict
transfer_to_other_well
-
class
plateo.containers.plates.
Plate4ti0960
(name=None, wells_data=None, data=None)[source]¶ 96-well plate from from 4titude
Methods
PlateWell
(plate, row, column, name[, data])- Attributes
apply_to_wells
(fun)Run fun(well) for every name:well in self.wells_dict
iter_wells
([direction])Iter through the wells either by row or by column
last_nonempty_well
([direction])Return the last non-empty well found when traversing the plate.
merge_data_from
(other_plate[, overwrite])Adds a new field field_name to the
wells_in_column
(column_number)Return the list of all wells of the plate in the given column.
wells_in_row
(row)Return the list of all wells of the plate in the given row.
wells_satisfying
(condition)Examples
compute_data_field
find_unique_well
get_well_from_index
index_to_wellname
list_data_field_values
list_well_data_fields
to_dict
to_pretty_string
well_at_index
wellname_to_index
wells_grouped_by
wells_sorted_by
-
class
PlateWell
(plate, row, column, name, data=None)[source]¶ - Attributes
coordinates
Return (well.row, well.column)
is_empty
Return true iff the well’s volume is 0
- volume
Methods
index_in_plate
([direction])Return the index of the well in the plate.
is_after
(other[, direction])Return whether this well is located strictly after the other well.
add_content
empty_completely
iterate_sources_tree
pretty_summary
subtract_content
to_dict
transfer_to_other_well
-
class
plateo.containers.plates.
Plate96
(name=None, wells_data=None, data=None)[source]¶ Base class for standard 96-well plates
Methods
PlateWell
alias of
plateo.Well.Well
apply_to_wells
(fun)Run fun(well) for every name:well in self.wells_dict
iter_wells
([direction])Iter through the wells either by row or by column
last_nonempty_well
([direction])Return the last non-empty well found when traversing the plate.
merge_data_from
(other_plate[, overwrite])Adds a new field field_name to the
wells_in_column
(column_number)Return the list of all wells of the plate in the given column.
wells_in_row
(row)Return the list of all wells of the plate in the given row.
wells_satisfying
(condition)Examples
compute_data_field
find_unique_well
get_well_from_index
index_to_wellname
list_data_field_values
list_well_data_fields
to_dict
to_pretty_string
well_at_index
wellname_to_index
wells_grouped_by
wells_sorted_by
-
class
plateo.containers.plates.
PlateLabcyteEchoLp0200Ldv
(name=None, wells_data=None, data=None)[source]¶ Low dead volume 384-well Echo plate
Methods
PlateWell
(plate, row, column, name[, data])- Attributes
apply_to_wells
(fun)Run fun(well) for every name:well in self.wells_dict
iter_wells
([direction])Iter through the wells either by row or by column
last_nonempty_well
([direction])Return the last non-empty well found when traversing the plate.
merge_data_from
(other_plate[, overwrite])Adds a new field field_name to the
wells_in_column
(column_number)Return the list of all wells of the plate in the given column.
wells_in_row
(row)Return the list of all wells of the plate in the given row.
wells_satisfying
(condition)Examples
compute_data_field
find_unique_well
get_well_from_index
index_to_wellname
list_data_field_values
list_well_data_fields
to_dict
to_pretty_string
well_at_index
wellname_to_index
wells_grouped_by
wells_sorted_by
-
class
PlateWell
(plate, row, column, name, data=None)[source]¶ - Attributes
coordinates
Return (well.row, well.column)
is_empty
Return true iff the well’s volume is 0
- volume
Methods
index_in_plate
([direction])Return the index of the well in the plate.
is_after
(other[, direction])Return whether this well is located strictly after the other well.
add_content
empty_completely
iterate_sources_tree
pretty_summary
subtract_content
to_dict
transfer_to_other_well
-
class
plateo.containers.plates.
PlateLabcyteEchoP05525Pp
(name=None, wells_data=None, data=None)[source]¶ Polypropylene 384-well ECHO plate
Methods
PlateWell
(plate, row, column, name[, data])- Attributes
apply_to_wells
(fun)Run fun(well) for every name:well in self.wells_dict
iter_wells
([direction])Iter through the wells either by row or by column
last_nonempty_well
([direction])Return the last non-empty well found when traversing the plate.
merge_data_from
(other_plate[, overwrite])Adds a new field field_name to the
wells_in_column
(column_number)Return the list of all wells of the plate in the given column.
wells_in_row
(row)Return the list of all wells of the plate in the given row.
wells_satisfying
(condition)Examples
compute_data_field
find_unique_well
get_well_from_index
index_to_wellname
list_data_field_values
list_well_data_fields
to_dict
to_pretty_string
well_at_index
wellname_to_index
wells_grouped_by
wells_sorted_by
-
class
PlateWell
(plate, row, column, name, data=None)[source]¶ - Attributes
coordinates
Return (well.row, well.column)
is_empty
Return true iff the well’s volume is 0
- volume
Methods
index_in_plate
([direction])Return the index of the well in the plate.
is_after
(other[, direction])Return whether this well is located strictly after the other well.
add_content
empty_completely
iterate_sources_tree
pretty_summary
subtract_content
to_dict
transfer_to_other_well
-
class
plateo.containers.plates.
Trough8x1
(name, data=None)[source]¶ Eight positions share the same content
Methods
PlateWell
alias of
plateo.Well.Well
apply_to_wells
(fun)Run fun(well) for every name:well in self.wells_dict
iter_wells
([direction])Iter through the wells either by row or by column
last_nonempty_well
([direction])Return the last non-empty well found when traversing the plate.
merge_data_from
(other_plate[, overwrite])Adds a new field field_name to the
wells_in_column
(column_number)Return the list of all wells of the plate in the given column.
wells_in_row
(row)Return the list of all wells of the plate in the given row.
wells_satisfying
(condition)Examples
compute_data_field
find_unique_well
get_well_from_index
index_to_wellname
list_data_field_values
list_well_data_fields
to_dict
to_pretty_string
well_at_index
wellname_to_index
wells_grouped_by
wells_sorted_by
Picklists¶
Classes to represent picklists and liquid transfers in general
-
class
plateo.PickList.
PickList
(transfers_list=(), data=None)[source]¶ Representation of a list of well-to-well transfers.
- Parameters
- transfers_list
A list of Transfer objects that will be part of a same dispensing operation, in the order in which they are meant to be executed.
- data
A dict with some infos on the picklist.
Methods
add_transfer
([source_well, …])Add a transfer to the picklist’s tranfers list.
Return a new picklist were every too-large dispense is broken down into smaller dispenses.
execute
([content_field, inplace, …])Simulate the execution of the picklist
from_plates
(source_plate, destination_plate, …)Create a PickList object based on plates and conditions.
merge_picklists
(picklists_list)Merge the list of picklists into a single picklist.
restricted_to
([transfer_filter, …])Return a version of the picklist restricted to transfers with the right source/destination well.
sorted_by
([sorting_method])Return a new version of the picklist sorted by some parameter.
split_by
(category, sort_key)Split the picklist into a list of picklists, per category.
Return the list of transfers in human readable format
to_plain_textfile
(filename)Write the picklist in a file in a human reable format.
Return the sum of all volumes from all transfers.
-
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 thetransfer
parameter, or the parameters
-
enforce_maximum_dispense_volume
(max_dispense_volume)[source]¶ Return a new picklist were every too-large dispense is broken down into smaller dispenses.
-
execute
(content_field='content', inplace=True, callback_function=None)[source]¶ Simulate the execution of the picklist
-
static
from_plates
(source_plate, destination_plate, volume, source_criterion=None, destination_criterion=None, source_direction='row', destination_direction='row')[source]¶ Create a PickList object based on plates and conditions.
BROKEN due to changes in picklists. TODO: Fix.
-
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 tranfers 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
anddestination_well
or alternatively just a functiontransfer_filter
with signature (transfer)=>True/False that will be used to filter out transfers (for which it returns false).
-
sorted_by
(sorting_method='source_well')[source]¶ 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.
-
split_by
(category, sort_key)[source]¶ Split the picklist into a list of picklists, per category.
The returned list if of the form [(cat, subpicklist)] where
cat
is the value of the category for all transfers insubpicklist
.The parameter
category
is either the name of a transfer attribute or a function f(transfer)=> value which is used to
-
class
plateo.PickList.
Transfer
(source_well, destination_well, volume, data=None)[source]¶ A tranfer from a source to a destination
- Parameters
- source_well
A Well object representing the plate well from which to transfer
- destination_well
A Well object representing the plate well to which to transfer.
- volume
Volume to be transfered, expressed in liters.
- data
A dict containing any useful information on the transfer, this information can be used later e.g. as parameters for the transfer when exporting a picklist.
Methods
change_volume
(new_volume)Return a version of the transfer with a new volume.
Return “xx L from {source_well} into {dest_well}”.
Picklist Parsers¶
-
plateo.parsers.
picklist_from_labcyte_echo_logfile
(logfile=None, logcontent=None, plates_dict=None)[source]¶ Return a picklist of what was actually dispensed in the ECHO, based on the log file.
Picklist.metadata[“exceptions”] is a picklist of all transfers that went wrong.
- Parameters
- logfile
The path to the echo logfile.
- logcontent
Echo logfile content, can be provided instead of filename
- plates_dict
A dictionary of the form {‘Plate name’: Plate()} linking the plate names found in the Echo logs to Plateo Plate objects. If None is provided, plates are infered from the Echo logs (a bit experimental).
Tools¶
Miscellaneous useful functions.
In particular, methods for converting to and from plate coordinates.
-
plateo.tools.
coordinates_to_wellname
(coords)[source]¶ Convert (1,1)->A1, (4,3)->D3, (12, 12)->H12, etc.
-
plateo.tools.
human_seq_size
(n)[source]¶ Return the given sequence as a human friendly 35b, 1.4k, 15k, etc.
-
plateo.tools.
index_to_wellname
(index, num_wells, direction='row')[source]¶ Convert e.g. 1..96 into A1..H12