# CIDAR Kit¶

An implementation of the CIDAR ToolKit for the Python MoClo library.

## Level -1¶

### Module¶

class moclo.kits.cidar.CIDARProduct(Product)[source]

A CIDAR MoClo product.

__init__(record)

Initialize self. See help(type(self)) for accurate signature.

cutter

alias of Bio.Restriction.Restriction.BbsI

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()

Get the downstream overhang of the target sequence.

Returns

the downstream overhang.

Return type

Seq

overhang_start()

Get the upstream overhang of the target sequence.

Returns

the downstream overhang.

Return type

Seq

classmethod structure()

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()

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.

### Vector¶

class moclo.kits.cidar.CIDAREntryVector(EntryVector)[source]

A CIDAR MoClo entry vector.

__init__(record)

Initialize self. See help(type(self)) for accurate signature.

assemble(module, *modules, **kwargs)

Assemble the provided modules into the vector.

Parameters
• module (AbstractModule) – a module to insert in the vector.

• modules (AbstractModule, optional) – additional modules to insert in the vector. The order of the parameters is not important, since modules will be sorted by their start overhang in the function.

Returns

the assembled sequence with sequence annotations inherited from the vector and the modules.

Return type

SeqRecord

Raises
• DuplicateModules – when two different modules share the same start overhang, leading in possibly non-deterministic constructs.

• MissingModule – when a module has an end overhang that is not shared by any other module, leading to a partial construct only

• InvalidSequence – when one of the modules does not match the required module structure (missing site, wrong overhang, etc.).

• UnusedModules – when some modules were not used during the assembly (mostly caused by duplicate parts).

cutter

alias of Bio.Restriction.Restriction.BbsI

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()

Get the downstream overhang of the vector sequence.

overhang_start()

Get the upstream overhang of the vector sequence.

placeholder_sequence()

Get the placeholder sequence in the vector.

The placeholder sequence is replaced by the concatenation of modules during the assembly. It often contains a dropout sequence, such as a GFP expression cassette that can be used to measure the progress of the assembly.

static structure()[source]

Get the vector 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 downstream (3’) overhang sequence

2. The vector placeholder sequence

3. The upstream (5’) overhang sequence

target_sequence()

Get the target sequence in the vector.

The target sequence if the part of the plasmid that is not discarded during the assembly (everything except the placeholder sequence).

## Level 0¶

### Module¶

class moclo.kits.cidar.CIDAREntry(Entry)[source]

A CIDAR MoClo entry.

__init__(record)

Initialize self. See help(type(self)) for accurate signature.

cutter

alias of Bio.Restriction.Restriction.BsaI

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()

Get the downstream overhang of the target sequence.

Returns

the downstream overhang.

Return type

Seq

overhang_start()

Get the upstream overhang of the target sequence.

Returns

the downstream overhang.

Return type

Seq

classmethod structure()

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()

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.

### Vector¶

class moclo.kits.cidar.CIDARCassetteVector(CassetteVector)[source]

A CIDAR Moclo cassette vector.

References

Iverson et al., Figure 1.

__init__(record)

Initialize self. See help(type(self)) for accurate signature.

assemble(module, *modules, **kwargs)

Assemble the provided modules into the vector.

Parameters
• module (AbstractModule) – a module to insert in the vector.

• modules (AbstractModule, optional) – additional modules to insert in the vector. The order of the parameters is not important, since modules will be sorted by their start overhang in the function.

Returns

the assembled sequence with sequence annotations inherited from the vector and the modules.

Return type

SeqRecord

Raises
• DuplicateModules – when two different modules share the same start overhang, leading in possibly non-deterministic constructs.

• MissingModule – when a module has an end overhang that is not shared by any other module, leading to a partial construct only

• InvalidSequence – when one of the modules does not match the required module structure (missing site, wrong overhang, etc.).

• UnusedModules – when some modules were not used during the assembly (mostly caused by duplicate parts).

cutter

alias of Bio.Restriction.Restriction.BsaI

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()

Get the downstream overhang of the vector sequence.

overhang_start()

Get the upstream overhang of the vector sequence.

placeholder_sequence()

Get the placeholder sequence in the vector.

The placeholder sequence is replaced by the concatenation of modules during the assembly. It often contains a dropout sequence, such as a GFP expression cassette that can be used to measure the progress of the assembly.

static structure()[source]

Get the vector 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 downstream (3’) overhang sequence

2. The vector placeholder sequence

3. The upstream (5’) overhang sequence

target_sequence()

Get the target sequence in the vector.

The target sequence if the part of the plasmid that is not discarded during the assembly (everything except the placeholder sequence).

### Parts¶

class moclo.kits.cidar.CIDARPromoter(CIDARPart, CIDAREntry)[source]

A CIDAR Promoter part.

Parts of this type contain contain a promoter. The upstream overhangs can be changed to amend the order of assembly of a circuit from different cassettes.

Note

The CIDAR toolkit parts provide 4 different upstream overhangs: GGAG, GCTT, CGCT, and TGCC. These are not enforced in this module, and any upstream sequence will be accepted. The downstream sequence however is always TACT.

class moclo.kits.cidar.CIDARRibosomeBindingSite(CIDARPart, CIDAREntry)[source]

A CIDAR ribosome binding site.

Parts of this type contain a ribosome binding site (RBS). The downstream overhang doubles as the start codon for the subsequent coding sequence.

class moclo.kits.cidar.CIDARCodingSequence(CIDARPart, CIDAREntry)[source]

A CIDAR coding sequence.

Parts of this type contain a coding sequence, with the start codon located on the upstream overhang.

Caution

Although the start codon is located on the upstream overhang, a STOP codon is expected to be found within this part target sequence before the downstream overhang.

class moclo.kits.cidar.CIDARTerminator(CIDARPart, CIDAREntry)[source]

A CIDAR terminator.

Parts of this type contain a terminator. The upstream overhang is always the same for the terminator to directly follow the coding sequence, but the downstream overhang can vary to specify an order for a following multigenic assembly within a device.

Note

The CIDAR toolkit parts provide 4 different downstream overhangs: GCTT, CGCT, TGCC, and ACTA. These are not enforced in this module, and any downstream sequence will be accepted. The upstream sequence however is always AGGT.

## Level 1¶

### Module¶

class moclo.kits.cidar.CIDARCassette(Cassette)[source]

A CIDAR MoClo cassette.

cutter

alias of Bio.Restriction.Restriction.BbsI

### Vector¶

class moclo.kits.cidar.CIDARDeviceVector(DeviceVector)[source]

A CIDAR Moclo device vector.

References

Iverson et al., Figure 1.

cutter

alias of Bio.Restriction.Restriction.BbsI

static structure()[source]

Get the vector 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 downstream (3’) overhang sequence

2. The vector placeholder sequence

3. The upstream (5’) overhang sequence

## Level 2¶

### Module¶

class moclo.kits.cidar.CIDARDevice(Device)[source]

A CIDAR MoClo device.

cutter

alias of Bio.Restriction.Restriction.BsaI