Bio Calculator Functions

dna_mass_to_mole

autoprotocol_utilities.bio_calculators.dna_mass_to_mole(length, mass, ds=True)[source]

For the DNA Length and mass given, return the mole amount of DNA

Example Usage:

from autoprotocol_utilities import dna_mass_to_mole
from autoprotocol.unit import Unit

dna_length = 100
dna_mass = Unit(33, 'ng')
dna_mass_to_mole(dna_length, dna_mass)

Returns:

Unit(0.5, 'picomole')
Parameters:
  • length (int) – Length of DNA in bp
  • mass (str, Unit) – Weight of DNA in prefix-g
  • ds (bool, optional) – True for dsDNA, False for ssDNA
Returns:

pmole_dna – Mole amount of DNA in pmol

Return type:

Unit

Raises:

ValueError – If inputs are not of specified types

dna_mole_to_mass

autoprotocol_utilities.bio_calculators.dna_mole_to_mass(length, mole, ds=True)[source]

For the DNA Length and mole amount given, return the mass of DNA

Example Usage:

from autoprotocol_utilities import dna_mole_to_mass
from autoprotocol.unit import Unit

dna_length = 5000
dna_mole = "10:pmol"
dna_mole_to_mass(dna_length, dna_mole)

Returns:

Unit(33.0, 'microgram')
Parameters:
  • length (int) – Length of DNA in bp
  • mole (str, Unit) – Mole amount of DNA in prefix-mol
  • ds (bool, optional) – True for dsDNA, False for ssDNA
Returns:

dna_ug – Weight of DNA in ug

Return type:

Unit

Raises:

ValueError – If inputs are not of specified types

molar_to_mass_conc

autoprotocol_utilities.bio_calculators.molar_to_mass_conc(length, molar, ds=True)[source]

For the DNA molarity given, return the mass concentration of DNA

Example Usage:

from autoprotocol_utilities import molar_to_mass_conc
from autoprotocol_utilities import dna_mole_to_mass
from autoprotocol.unit import Unit

dna_length = 5000
dna_molarity = Unit(10, 'uM')
molar_to_mass_conc(dna_length, dna_molarity)

Returns:

Unit(33000.0, 'nanogram / microliter')
Parameters:
  • length (int) – Length of DNA in bp
  • molar (str, Unit) – Molarity of DNA in prefix-M
  • ds (bool, optional) – True for dsDNA, False for ssDNA
Returns:

mass_conc – Mass concentration of DNA in ng/uL

Return type:

Unit

Raises:

ValueError – If inputs are not of specified types

mass_conc_to_molar

autoprotocol_utilities.bio_calculators.mass_conc_to_molar(length, mass_conc, ds=True)[source]

For the DNA mass concentration given, return the molarity of DNA

Example Usage:

from autoprotocol_utilities import mass_conc_to_molar
from autoprotocol_utilities import dna_mass_to_mole
from autoprotocol.unit import Unit

dna_length = 5000
dna_mass_conc = Unit(33, 'ng/uL')
mass_conc_to_molar(dna_length, dna_mass_conc)

Returns:

Unit(0.01, 'micromolar')
Parameters:
  • length (int) – Length of DNA in bp
  • mass_conc (str, Unit) – Mass concentration of DNA
  • ds (bool, optional) – True for dsDNA, False for ssDNA
Returns:

molar – Molarity of DNA in uM

Return type:

Unit

Raises:

ValueError – If inputs are not of specified types

ligation_insert_ng

autoprotocol_utilities.bio_calculators.ligation_insert_ng(plasmid_size, plasmid_mass, insert_size, molar_ratio=1)[source]

For the plasmid size, plasmid amount, insert size, and molar ratio given, return the mass of insert needed for ligation

Different from ligation_insert_volume: no insert concentration is given -> returns mass of insert needed

Example Usage:

from autoprotocol_utilities import ligation_insert_ng
from autoprotocol.unit import Unit

plasmid_size = 3000
plasmid_mass = Unit(100, 'ng')
insert_size = 48
ligation_insert_ng(plasmid_size, plasmid_mass, insert_size)

Returns:

Unit(1.6, 'nanogram')
Parameters:
  • plasmid_size (int) – Length of plasmid in bp.
  • insert_size (int) – Length of insert in bp
  • plasmid_mass (str, Unit) – Mass of plasmid in prefix-g
  • molar_ratio (int, float, string, optional) – Ligation molar ratio of insert : vector. By default it is 1 : 1. Generally ligations are tested at 1:3, 1:1, and 3:1
Returns:

insert_amount – Amount of insert solution needed in ng

Return type:

Unit

Raises:

ValueError – If wells are not of type list, WellGroup or Container

ligation_insert_volume

autoprotocol_utilities.bio_calculators.ligation_insert_volume(plasmid_size, plasmid_mass, insert_size, insert_conc, ds=True, molar_ratio=1)[source]

For the plasmid size, plasmid amount, insert size, insert concentration, and molar ratio given, return the volume of insert solution needed for ligation

Different from ligation_insert_ng: insert concentration is given -> returns volume of insert solution needed

Example Usage:

from autoprotocol_utilities import ligation_insert_volume
from autoprotocol_utilities import molar_to_mass_conc
from autoprotocol.unit import Unit

plasmid_size = 3000
plasmid_mass = Unit(100, 'ng')
insert_size = 48
insert_conc = Unit(25, 'ng/uL')
ligation_insert_volume(plasmid_size, plasmid_mass, insert_size,
                       insert_conc)

Returns:

Unit(0.064, 'microliter')
Parameters:
  • plasmid_size (int) – Length of plasmid in bp.
  • plasmid_mass (str, Unit) – Mass of plasmid in prefix-g
  • insert_size (int) – Length of insert in bp
  • insert_conc (str, Unit) – Molar or mass concentration of insert
  • ds (bool, optional) – True for dsDNA, False for ssDNA
  • molar_ratio (int, float, string, optional) – Ligation molar ratio of insert : vector. Common ratios are 1:3, 1:1, and 3:1. 1:1 by default
Returns:

insert_amount – Volume of insert solution needed in uL

Return type:

Unit

Raises:

ValueError – If wells are not of type list, WellGroup or Container

ligation_insert_amount

autoprotocol_utilities.bio_calculators.ligation_insert_amount(plasmid_size, plasmid_conc, plasmid_volume, insert_size, insert_conc, ds=True, molar_ratio=1)[source]

For the plasmid size, plasmid concentration, insert size, insert concentration, and molar ratio given, return the volume of insert solution needed for ligation

Different form ligation_insert_volume: plasmid concentration and volume are given instead of plasmid mass

Example Usage:

from autoprotocol_utilities import ligation_insert_amount
from autoprotocol_utilities import molar_to_mass_conc
from autoprotocol.unit import Unit

plasmid_size = 2000
plasmid_conc = '1.5:uM'
plasmid_volume = Unit(10, 'uL')
insert_size = 25
insert_conc = Unit(10, 'ng/uL')
ligation_insert_amount(plasmid_size, plasmid_conc, plasmid_volume,
                       insert_size, insert_conc)

Returns:

Unit(24.75, 'microliter')
Parameters:
  • plasmid_size (int) – Length of plasmid in bp.
  • plasmid_conc (str, Unit) – Molar or mass concentration of plasmid solution
  • plasmid_volume (str, Unit) – Volume of plasmid solution in prefix-L
  • insert_size (int) – Length of insert in bp
  • insert_conc (str, Unit) – Molar or mass concentration of insert solution
  • ds (bool, optional) – True for dsDNA, False for ssDNA
  • molar_ratio (int, float, string, optional) – Ligation molar ratio of insert : vector. Common ratios are 1:3, 1:1, and 3:1. 1:1 by default
Returns:

insert_amount – Volume of insert solution in uL

Return type:

Unit

Raises:

ValueError – If wells are not of type list, WellGroup or Container