Skip to content

Lab Helpers

Convenience functions to help direct large-scale slat assembly and purification are also available.

crisscross.helper_functions.lab_helper_sheet_generation

next_excel_column_name

next_excel_column_name(n)

Given a 0-based index, return the Excel-style column name.

apply_box_border

apply_box_border(ws, top_left, top_right, bottom_left, bottom_right, style='thick')

Applies a thick border to an excel sheet surrounding the specified cells.

PARAMETER DESCRIPTION
ws

Excel worsheet object.

top_left

Top left cell.

top_right

Top right cell.

bottom_left

Bottom left cell.

bottom_right

Bottom right cell.

style

Border style to be applied.

DEFAULT: 'thick'

RETURNS DESCRIPTION

N/A, applied in-place.

adjust_column_width

adjust_column_width(ws)

Adjusts the column width of an excel sheet based on the maximum length of the content in each column.

PARAMETER DESCRIPTION
ws

Excel sheet object.

RETURNS DESCRIPTION

N/A, adjusted in-place.

prepare_master_mix_sheet

prepare_master_mix_sheet(
    slat_dict,
    echo_sheet=None,
    reference_handle_volume=150,
    reference_handle_concentration=500,
    slat_mixture_volume=50,
    unique_transfer_volume_plates=None,
    workbook=None,
    handle_mix_ratio=10,
    split_core_staple_pools=False,
)

Prepares a 'master mix' sheet to be used for combining slat mixtures with scaffold and core staples into the final slat mixture.

PARAMETER DESCRIPTION
slat_dict

Dictionary of slats with slat names as keys and slat objects as values.

echo_sheet

Exact list of commands sent to the Echo robot for this group of slats.

DEFAULT: None

reference_handle_volume

Reference staple volume for each handle in a pool in nL (this refers to the control handles plate).

DEFAULT: 150

reference_handle_concentration

Reference staple concentration used for the core staples in uM (this refers to the control handles plate). All concentration values will be referenced to this value.

DEFAULT: 500

slat_mixture_volume

Reaction volume (in uL) for a single slat annealing mixture. Can be set to 'max' to use up all available handle mix.

DEFAULT: 50

handle_mix_ratio

Ratio of handle mix concentration to scaffold concentration (default is 10).

DEFAULT: 10

unique_transfer_volume_plates

Plates that have special non-standard volumes. This will be ignored if the echo sheet is provided with the exact details.

DEFAULT: None

workbook

The workbook to which the new excel sheet should be added.

DEFAULT: None

split_core_staple_pools

If True, the core staples will be assumed to have been split into 4 pools (S0, S1, S3, S4).

DEFAULT: False

RETURNS DESCRIPTION

Workbook with new sheet included.

prepare_peg_purification_sheet

prepare_peg_purification_sheet(
    slat_dict,
    groups_per_layer=2,
    max_slat_concentration_uM=2,
    slat_mixture_volume=50,
    workbook=None,
    echo_sheet=None,
    special_slat_groups=None,
    peg_concentration=2,
)

Prepares standard instructions for combining and purifying slat mixtures using PEG purification. Also prepares lists of slat groups as a reference for when in the lab.

PARAMETER DESCRIPTION
slat_dict

Dictionary of slats with slat names as keys and slat objects as values.

groups_per_layer

Number of PEG groups to use per crisscross layer. You might want to adjust this if you have too many slats together in one group.

DEFAULT: 2

max_slat_concentration_uM

Maximum concentration of slats in a combined PEG mixture (in UM) before a warning is triggered.

DEFAULT: 2

slat_mixture_volume

Reaction volume (in uL) for a single slat annealing mixture.

DEFAULT: 50

workbook

The workbook to which the new excel sheet should be added.

DEFAULT: None

echo_sheet

Exact list of commands sent to the Echo robot for this group of slats.

DEFAULT: None

special_slat_groups

IDs of slats that should be separated from the general slat groups and placed in their own group.

DEFAULT: None

peg_concentration

PEG concentration (in terms of X) to be used as the stock solution for the purification step.

DEFAULT: 2

RETURNS DESCRIPTION

Workbook with new sheet included.

prepare_all_standard_sheets

prepare_all_standard_sheets(
    slat_dict,
    save_filepath,
    reference_single_handle_volume=150,
    reference_single_handle_concentration=500,
    slat_mixture_volume=50,
    peg_groups_per_layer=2,
    peg_concentration=2,
    echo_sheet=None,
    max_slat_concentration_uM=2,
    unique_transfer_volume_plates=None,
    special_slat_groups=None,
    handle_mix_ratio=10,
    split_core_staple_pools=False,
)

Prepares a series of excel sheets to aid lab assembler while preparing and purifying slat mixtures.

PARAMETER DESCRIPTION
slat_dict

Dictionary of slats to be assembled (each item in the dict is a Slat Object containing all 64 handles in place)

save_filepath

Output file path for the combined excel workbook

reference_single_handle_volume

Reference staple volume for each handle in a pool in nL (this refers to the control handles plate).

DEFAULT: 150

reference_single_handle_concentration

Reference staple concentration used for the core staples in uM (this refers to the control handles plate). All concentration values will be referenced to this value.

DEFAULT: 500

slat_mixture_volume

Reaction volume (in uL) for a single slat annealing mixture. Can be set to 'max' to use up all available handle mix.

DEFAULT: 50

peg_groups_per_layer

Number of PEG groups to use per crisscross layer. You might want to adjust this if you have too many slats together in one group.

DEFAULT: 2

peg_concentration

PEG concentration (in terms of X) to be used as the stock solution for the purification step.

DEFAULT: 2

echo_sheet

Exact echo commands to use as a reference for calculating slat concentrations.

DEFAULT: None

max_slat_concentration_uM

Maximum concentration of slats in a combined PEG mixture (in UM) before a warning is triggered.

DEFAULT: 2

unique_transfer_volume_plates

Plates that have special non-standard volumes. This will be ignored if the echo sheet is provided with the exact details.

DEFAULT: None

special_slat_groups

IDs of slats that should be separated from the general slat groups and placed in their own group.

DEFAULT: None

handle_mix_ratio

Ratio of handle mix concentration to scaffold concentration (default is 10).

DEFAULT: 10

split_core_staple_pools

If True, the core staples will be assumed to have been split into 4 pools (S0, S1, S3, S4).

DEFAULT: False

RETURNS DESCRIPTION

N/A, file saved directly to disk.

prepare_liquid_handle_plates_multiple_files

prepare_liquid_handle_plates_multiple_files(
    output_directory,
    file_list=None,
    extract_all_from_folder=None,
    target_concentration_uM=1000,
    volume_cap_ul=120,
    target_concentration_per_plate=None,
    max_commands_per_file=None,
    plot_distribution_per_plate=True,
    plate_size="384",
)

Generates resuspension maps for all provided DNA spec files.

PARAMETER DESCRIPTION
output_directory

Output folder to save noflank_results.

file_list

Specific list of filepaths to assess.

DEFAULT: None

extract_all_from_folder

Alternatively, specify a folder and all excel sheets will be extracted from the folder.

DEFAULT: None

target_concentration_uM

Target concentration for plate resuspension.

DEFAULT: 1000

volume_cap_ul

Maximum volume to resuspend (after which the volume is kept constant and the concentration is raised instead).

DEFAULT: 120

target_concentration_per_plate

Set to a dictionary of concentrations per plate if different concentrations are desired for different plates.

DEFAULT: None

max_commands_per_file

Maximum commands that can be taken in by the liquid handler in one go. If this is exceeded, files are split into different components.

DEFAULT: None

plot_distribution_per_plate

If true, generate a volume distribution plot for each plate.

DEFAULT: True

plate_size

Specify the size of the plate to generate.

DEFAULT: '384'

RETURNS DESCRIPTION

N/A

prepare_liquid_handler_plate_resuspension_map

prepare_liquid_handler_plate_resuspension_map(
    filename,
    output_directory,
    target_concentration_uM=1000,
    volume_cap_ul=120,
    max_commands_per_file=None,
    plot_distribution_per_plate=True,
    target_concentration_per_plate=None,
    plate_size="384",
)

Generates a visual plate map and resuspension instructions for an entire plate of DNA oligos. The amount of DNA per well should be specified in an excel file using the standard IDT format.

PARAMETER DESCRIPTION
filename

Excel file containing DNA spec sheets (can contain multiples plates per sheet).

output_directory

Output folder to save noflank_results.

target_concentration_uM

Target concentration for plate resuspension.

DEFAULT: 1000

volume_cap_ul

Maximum volume to resuspend (after which the volume is kept constant and the concentration is raised instead).

DEFAULT: 120

max_commands_per_file

Maximum commands that can be taken in by the liquid handler in one go. If this is exceeded, files are split into different components.

DEFAULT: None

plot_distribution_per_plate

If true, generate a volume distribution plot for each plate.

DEFAULT: True

target_concentration_per_plate

Set to a dictionary of concentrations per plate if different concentrations are desired for different plates.

DEFAULT: None

plate_size

Specify the size of the plate to generate.

DEFAULT: '384'

RETURNS DESCRIPTION

Distribution of volumes generated from the specified file.

visualize_plate_volume_distribution

visualize_plate_volume_distribution(file_output, volume_dist, target_concentration_uM)

Visualizes the distribution of resuspension volumes for a given list.

PARAMETER DESCRIPTION
file_output

Output filename

volume_dist

List of volumes (in ul)

target_concentration_uM

Target concentration used for this particular plate

RETURNS DESCRIPTION

N/A