Skip to main content

Synbio design and build library

Project description

synbio

synbio is a library for designing and assembling DNA. Users can design plasmids or libraries and export multi-step build protocols. Input SeqRecords; output assembly SeqRecords, protocols, plate maps, and robotic picklists.

Installation

pip install synbio

Models

synbio only expects the user to define their Design and Protocol. Several protocols are pre-defined.

Designs

All are in synbio.designs:

  • Combinatorial - list of SeqRecords to combinatorially anneal into all valid assemblies
  • CombinatorialBins - list of bins of SeqRecords for combinatorial assembly between bins
  • Plasmid - single list of SeqRecords to combine into a plasmid
  • PlasmidLibrary - list of list of SeqRecords to combine into plasmids

Protocols

All are in synbio.protocols:

Example

In the example below, the user specifies a combinatorial library design. All SeqRecords are tested for circularization with other SeqRecords. New and valid plasmids are assembled.

Behind the scenes, synbio is filtering all combinations of SeqRecords from the design that will circularize into valid plasmids (via circuits in a graph). After running the protocol, users can export plate maps (to_csv()), composite plasmids (to_fasta(), to_genbank()), and assembly instructions (to_txt(), to_picklists()).

"""Example of a Combinatorial Golden Gate assembly with human and robot output protocols."""

import os

from Bio.SeqIO import parse

from synbio.designs import Combinatorial
from synbio.protocols import GoldenGate

def read_all_records():
    """Gather all SeqRecords from "goldengate" dir in examples."""

    GG_DIR = os.path.join(".", "examples", "goldengate")

    records = []
    for file in os.listdir(GG_DIR):
        if file.endswith(".gb"):
            records.extend(parse(os.path.join(GG_DIR, file), "genbank"))
    return records

# create a combinatorial library design from all valid combinations
design = Combinatorial(read_all_records())

# create a protocol using Golden Gate as the sole composite step and run
protocol = GoldenGate(
    name="CombinatorialBins Golden Gate",
    design=design,
    include=["KanR"],  # only keep circularized plasmids with KanR
    min_count=5,  # only keep circularized plasmids from >=5 SeqRecords
)

protocol.run()

# export all the output plasmids to a multi-FASTA
protocol.to_fasta("plasmids.fasta")

# export plate layouts
protocol.to_csv("plates.csv")

# export human protocol
protocol.to_txt("protocol.txt")

# export a hamilton picklist
protocol.to_picklists("picklist", platform="hamilton")

plasmids.fasta:

>J23100_AB+B0032m_BC+C0012m_CD+B0015_DE+DVK_AE
GGAGTTGACGGCTAGCTCAGTCCTAGGTACAGTGCTAGCTACTAGAGTCACACAGGAAAG
TACTAAATGATGGTGAATGTGAAACCAGTAACGTTATACGATGTCGCAGAGTATGCCGGT
...

plates.csv:

Setup Wells with volumes (uL) shown:
Plate:1,1,2,3,4,5,6,7,8,9,10,11,12
A,B0015_DE(4),C0080_CD(18),R0010_AB(54),water(36)
B,B0015_DE(160),DVK_AE(160),cre_CD(18),water(156)
...

protocol.txt:

Combinatorial GoldenGate:
1. Setup PCR plate with (volumes) shown:
	1.1. Dilute plasmid DNA to 75 ng/µL in 'water'
	1.2. Create 'assembly-mix' from 1:1 T4 Ligase Buffer (10X) and NEB Golden Gate Assembly Mix
...

picklist.gwl:

A;Plate:2;;;15;;2.0;;;
D;Plate:3;;;80;;2.0;;;
W;;;;;;;;;
...

Alternatives

This is a non-exhaustive list. Contact me for a comparison of these libraries/platforms and synbio.

  • Aquarium is an extensive library/application for LIMS, protocol definition/execution, and workflow design. A lab operating system.
  • Autoprotocol is a specification standard for experiments in the life sciences.
  • BioBricks is a general focus, web-based editor for describing experiments in Biology.
  • Biocoder is a C++ library with extensive protocol step definition capabilities.
  • Plateo is a python library for planning, running and checking laboratory experiments. Great for parsing and exporting plates and picklists form multiple formats.
  • pydna is a python DNA assembly simulation library with a human-readable description of clone and assembly strategies.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synbio-0.4.21.tar.gz (52.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synbio-0.4.21-py3-none-any.whl (79.4 kB view details)

Uploaded Python 3

File details

Details for the file synbio-0.4.21.tar.gz.

File metadata

  • Download URL: synbio-0.4.21.tar.gz
  • Upload date:
  • Size: 52.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.4

File hashes

Hashes for synbio-0.4.21.tar.gz
Algorithm Hash digest
SHA256 60e45d609e2037ba67df179fd2bd399eeee8f32faa7b6e1079eeb30860b609ef
MD5 9cc5ca92994582ef2187fc41bf8a85fd
BLAKE2b-256 efa7d76fe52b392764c999111fe761a84c7e141bebe8375a6a7f76abca162720

See more details on using hashes here.

File details

Details for the file synbio-0.4.21-py3-none-any.whl.

File metadata

  • Download URL: synbio-0.4.21-py3-none-any.whl
  • Upload date:
  • Size: 79.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.4

File hashes

Hashes for synbio-0.4.21-py3-none-any.whl
Algorithm Hash digest
SHA256 70568a67e44e0b9daae944dd89cfdbdaadad0108ee01e7650eb5be91d91e547d
MD5 07a4476a85e73cfac3255298c38e5a1b
BLAKE2b-256 7f345ddffc4f403834567d4f5057900c9ac348450926b1538391a2432dd4c7dc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page