Skip to content

Latest commit

 

History

History
216 lines (144 loc) · 7.8 KB

README.rst

File metadata and controls

216 lines (144 loc) · 7.8 KB

DNA Chisel - a versatile sequence optimizer

DNA Chisel Logo

GitHub CI build status https://coveralls.io/repos/github/Edinburgh-Genome-Foundry/DnaChisel/badge.svg?branch=master

DNA Chisel (complete documentation here) is a Python library for optimizing DNA sequences with respect to a set of constraints and optimization objectives. It can also be used via a command-line interface, or a web application.

The library comes with over 15 classes of sequence specifications which can be composed to, for instance, codon-optimize genes, meet the constraints of a commercial DNA provider, avoid homologies between sequences, tune GC content, or all of this at once! Users can also define their own specifications using Python, making the library suitable for a large range of automated sequence design applications, and complex custom design projects.

Usage

Defining a problem via scripts

The example below will generate a random sequence and optimize it so that:

  • It will be rid of BsaI sites (on both strands).
  • GC content will be between 30% and 70% on every 50bp window.
  • The reading frame at position 500-1400 will be codon-optimized for E. coli.
from dnachisel import *

# DEFINE THE OPTIMIZATION PROBLEM

problem = DnaOptimizationProblem(
    sequence=random_dna_sequence(10000),
    constraints=[
        AvoidPattern("BsaI_site"),
        Enf