Modules

Moclo module classes.

A module is a sequence of DNA that contains a sequence of interest, such as a promoter, a CDS, a protein binding site, etc., organised in a way it can be combined to other modules to create an assembly. This involves flanking that target sequence with Type IIS restriction sites, which depend on the level of the module, as well as the chosen MoClo protocol.

Abstract

class moclo.core.modules.AbstractModule(object)[source]

An abstract modular cloning module.

cutter

the enzyme used to cut the target sequence from the backbone plasmid during Golden Gate assembly.

Type

RestrictionType

__init__(record)
is_valid()

Check if the wrapped record follows the required class structure.

Returns

True if the record is valid, False otherwise.

Return type

bool

overhang_end()[source]

Get the downstream overhang of the target sequence.

Returns

the downstream overhang.

Return type

Seq

overhang_start()[source]

Get the upstream overhang of the target sequence.

Returns

the downstream overhang.

Return type

Seq

classmethod structure()[source]

Get the module structure, as a DNA regex pattern.

Warning

If overloading this method, the returned pattern must include 3 capture groups to capture the following features:

  1. The upstream (5’) overhang sequence

  2. The module target sequence

  3. The downstream (3’) overhang sequence

target_sequence()[source]

Get the target sequence of the module.

Modules are often stored in a standardized way, and contain more than the sequence of interest: for instance they can contain an antibiotic marker, that will not be part of the assembly when that module is assembled into a vector; only the target sequence is inserted.

Returns

the target sequence with annotations.

Return type

SeqRecord

Note

Depending on the cutting direction of the restriction enzyme used during assembly, the overhang will be left at the beginning or at the end, so the obtained record is exactly the sequence the enzyme created during restriction.

Level -1

class moclo.core.modules.Product(AbstractModule)[source]

A level -1 module, often obtained as a PCR product.

Modules of this level are the lowest components of the MoClo system, but are not practical to work with until they are assembled in a standard vector to obtain entries.

Level 0

class moclo.core.modules.Entry(AbstractModule)[source]

A level 0 module, often obtained from the official toolkits plamisds.

Entries are assembled from products into a standard vector suitable for selection and storage.

Level 1

class moclo.core.modules.Cassette(AbstractModule)[source]

A level 1 module, also refered as a Transcriptional Unit.

Cassettes can either express genes in their target organism, or be assembled into multigene modules for expressing many genes at once, depending on the chosen cassette vector during level 0 assembly.

Level 2

class moclo.core.modules.Device(AbstractModule)[source]

A level 2 module, also refered as a Multigene plasmid.

Modules of this level are assembled from several transcriptional units so that they contain several genes that can be expressed all at once. Most of the MoClo implementations are designed so that multiple devices can be assembled into a module that is also a valid level 1 module, as does the Golden Braid system with its α and Ω plasmids.