Thermocycling Helper Functions¶
melt_curve¶
-
autoprotocol_utilities.thermocycle_helpers.
melt_curve
(start=65, end=95, inc=0.5, rate=5)[source]¶ Generate a melt curve on the fly
No inputs neded for a standard melt curve.
Example Usage:
from autoprotocol import Protocol from autoprotocol_utilities import melt_curve protocol = Protocol() dest_plate = protocol.ref("plate", None, "96-pcr", discard=True, storage=None) protocol.seal(dest_plate) melt_params = melt_curve() protocol.thermocycle(dest_plate, [{"cycles": 1, "steps": [ {"temperature": "37:celsius", "duration": "60:minute"} ] } ], volume="15:microliter", dataref="data", dyes={"SYBR": dest_plate.wells_from(0, 3).indices()}, **melt_params)
Returns:
{ "refs": { "plate": { "new": "96-pcr", "discard": true } }, "instructions": [ { "object": "plate", "type": "ultra-clear", "op": "seal" }, { "dataref": "data", "melting": { "start": "65.00:celsius", "rate": "5.00:second", "end": "95.00:celsius", "increment": "0.50:celsius" }, "object": "plate", "volume": "15:microliter", "groups": [ { "cycles": 1, "steps": [ { "duration": "60:minute", "temperature": "37:celsius" } ] } ], "dyes": { "SYBR": [ "A1", "A2", "A3" ] }, "op": "thermocycle" } ] }
Parameters: - start (int, float) – Temperature to start at
- end (int, float) – Temperature to end at
- inc (int, float) – Temperature increment during the melt_curve
- rate (int) – After x seconds the temperature is incremented by inc
Returns: melt_params – containing melt_params
Return type: dict
Raises: ValueError
– If start, end or inc are not of type float or int. And if rate is not of type int
thermocycle_ramp¶
-
autoprotocol_utilities.thermocycle_helpers.
thermocycle_ramp
(start_temp, end_temp, total_duration, step_duration)[source]¶ Create a ramp instruction for the thermocyler.
Create a multi-temperature thermocycling program commonly used in annealing protocols. Based on total time and the step duration this function computes the temperature increment required for each step within the start and the end temperature.
Example Usage:
thermocycle_group = [ { "cycles": 1, "steps": thermocycle_ramp(65, 95, "30:minute", "1:minute") } ] protocol.thermocycle(dest_plate, groups=thermocycle_group, volume="15:microliter")
Parameters: - start_temp (string, int, float, Unit) – Start of the thermocycle protocol, in the format “37:celsius”
- end_temp (string, int, float, Unit) – End of the thermocycle protocol, in the format “37:celsius”
- total_duration (string, Unit) – Total duration of the thermocycle protocol, in the format “1:hour”
- step_duration (string, Unit) – Time that each temperature should be held, in the format “1:minute”
Returns: containing thermocycling steps that can be used in the thermocycle instruction
Return type: dict
Raises: ValueError
– If either temperature is not of type int, float, string or Unit and if either duration is not of type string or Unit