Steps

Steps represent each step of a protocol for assembling the Design. These steps are necessary when using pre-made protocols like Gibson and GoldenGate.

class synbio.protocol.Step

A single Step of a Protocol.

Steps: lab processes to assemble a design.

class synbio.steps.Add(add: Union[Bio.SeqRecord.SeqRecord, Bio.Restriction.Restriction.RestrictionType, synbio.primers.Primers, synbio.reagents.Reagent, synbio.species.Species], volume: float, name: str = '', instructions: List[str] = None)

Add contents to the existing containers.

add

the src container or content to add

volume

the volume of the new content to add

name

the name of this step in the protocol

instructions

extra instructions to add to this step

synbio.steps.HeatShock = [<synbio.steps.Move object>, <synbio.steps.Add object>, <synbio.steps.ThermoCycle object>, <synbio.steps.Add object>, <synbio.steps.Incubate object>]

A composite HeatShock step for getting DNA into E coli.

>>> [
...    Move(volume=3.0),
...    Add(add=Species("E coli"), volume=10.0),
...    ThermoCycle(name="Heat shock", temps=[Temperature(temp=42, time=30)]),
...    Add(add=Reagent("SOC"), volume=150.0),
...    Incubate(temp=Temperature(temp=37, time=3600)),
... ]
class synbio.steps.Incubate(temp: synbio.instructions.Temperature, name: str = 'Incubate', mutate: Optional[Callable[[synbio.containers.Container], synbio.containers.Container]] = None)

Incubate contents for some time at a set temperature.

Incubate the contents of containers and in a fridge or some other incubator.

name

the name of this step in the protocol

temp

the target the container should be in (default: {None})

mutate

a function to mutate the contents of a container after thermo cycling. Used to anneal digested/ligated fragments or amplify DNA with primers

class synbio.steps.Move(volume: float, dest: synbio.containers.Container = None, name: str = '')

Move a fixed volume from each container to another container of same or new type

volume

the amount in millileters to move to the new container

type

the type of new container to move the contents to

class synbio.steps.Pipette(target: Sequence[synbio.containers.Container], name: str = '', instructions: List[str] = None)

Pipette the input containers to match a ‘target’ list of containers

Create transfers to map the input containers to a new list of output containers (target)

target

target container list/ordering (default: {None})

name

the name of this step in the protocol

instructions

extra instructions to add to this step

class synbio.steps.Setup(target: Sequence[synbio.containers.Container], dest: synbio.containers.Container = None, name: str = '', instructions: List[str] = None)

Create a list of transfers to make a list of setup containers

All transfers for a Setup step come from the magical and bottomless ‘Fridge’

target

target container list/ordering (default: {None})

dest

the type of target container (default: {first target container})

name

the name of this step in the protocol

instructions

extra instructions to add to this step,

class synbio.steps.ThermoCycle(temps: List[synbio.instructions.Temperature], name: str = '', cycles: int = 1, mutate: Optional[Callable[[synbio.containers.Container], synbio.containers.Container]] = None, extension: synbio.instructions.Temperature = None, instructions: List[str] = None)

Thermo cycle for PCR, digestion/ligation, etc.

Make a list of temperature instructions with the temperature to set it at, the length of time and the number of cycles.

Example

An example of a ThermoCycle for PCR: >>> ThermoCycle(cycles=30, temps=[ … Temperature(temp=97, time=5 * 60), # denature … Temperature(temp=55, time=30), # annealing … Temperature(temp=72, time=60), # extension … ])

temps

list of temperatures in a gradient

name

the name of this step in the protocol

cycles

the number of thermo cycles (default: {1})

mutate

a function to mutate the contents of a container after thermo cycling. Used to anneal digested/ligated fragments or amplify DNA with primers

instructions

list of additional instructions to add

extension

last extension after other thermocycle steps. Example is a final 5 minute extension at the end of PCR that’s common