def _generate_double_digestion_protocol(sites, size, weight, enzyme, enzyme2, format='rst'): FORMAT_TABLE = { 'rst': _generate_double_digestion_protocol_rst, } # Convert weight [ng] -> [ug] weight = weight / 1000.0 # Calculate required units for enzyme required_unit = calculate_unit_required(sites, size, weight, enzyme) # assume 3-fold excess is required required_unit = required_unit * 3 # Calculate required units for enzyme2 required_unit2 = calculate_unit_required(sites, size, weight, enzyme2) # assume 3-fold excess is required required_unit2 = required_unit2 * 3 # Find the best buffer buffer, recommend, warning = double_digestion(enzyme, enzyme2) if not recommend: print print ".. WARNING::" print " %s" % warning print return FORMAT_TABLE[format](sites, size, weight, enzyme, enzyme2, required_unit, required_unit2, buffer)
def _generate_single_digestion_protocol(sites, size, weight, enzyme, format='rst'): FORMAT_TABLE = { 'rst': _generate_single_digestion_protocol_rst, } # Convert weight [ng] -> [ug] weight = weight / 1000.0 # Calculate required units for enzyme required_unit = calculate_unit_required(sites, size, weight, enzyme) # assume 3-fold excess is required required_unit = required_unit * 3 return FORMAT_TABLE[format](sites, size, weight, enzyme, required_unit)