Skip to main content

Optimize DNA sequences under constraints.

Project description

DNA Chisel (complete documentation here) is a Python library for optimizing DNA sequences with respect to a set of constraints and optimization objectives. It 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!

DNA Chisel also allows users to define their own specifications in Python, making the library suitable for a large range of automated sequence design applications, and complex custom design projects. It can be used as a Python library, a command-line interface, or a web application.

Example of use

from dnachisel import *

# DEFINE THE OPTIMIZATION PROBLEM

some_sequence = random_dna_sequence(10000)
problem = DnaOptimizationProblem(
    sequence=some_sequence,
    constraints=[
        AvoidPattern("BsaI_site"),
        EnforceGCContent(mini=0.3, maxi=0.7, window=50),
        EnforceTranslation(location=(500, 1400))
    ],
    objectives=[CodonOptimize(species='e_coli', location=(500, 1400))]
)

# SOLVE THE CONSTRAINTS, OPTIMIZE WITH RESPECT TO THE OBJECTIVE

problem.resolve_constraints()
problem.optimize()

# PRINT SUMMARIES TO CHECK THAT CONSTRAINTS PASS

print(problem.constraints_text_summary())
print(problem.objectives_text_summary())

Alternatively, DNA Chisel lets you define problems by annotating a Genbank file. You can also define a problem by annotating directly a Genbank as follows:

[logo]

See this page for an overview of available specifications.

Infos

PIP installation:

pip install dnachisel[reports]

(you can omit the [reports] suffix if you intend to use dnachisel only for sequence optimization, without generating figures or PDF reports)

Web documentation:

https://edinburgh-genome-foundry.github.io/DnaChisel/

Github Page

https://github.com/Edinburgh-Genome-Foundry/DnaChisel

Live demo

http://cuba.genomefoundry.org/sculpt_a_sequence

License: MIT, Copyright Edinburgh Genome Foundry

More biology software

https://raw.githubusercontent.com/Edinburgh-Genome-Foundry/Edinburgh-Genome-Foundry.github.io/master/static/imgs/logos/egf-codon-horizontal.png

DNA Chisel is part of the EGF Codons synthetic biology software suite for DNA design, manufacturing and validation.

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

dnachisel-3.2.10.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

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

dnachisel-3.2.10-py3-none-any.whl (146.2 kB view details)

Uploaded Python 3

File details

Details for the file dnachisel-3.2.10.tar.gz.

File metadata

  • Download URL: dnachisel-3.2.10.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for dnachisel-3.2.10.tar.gz
Algorithm Hash digest
SHA256 56d129d6dfe57595a157281036de997265eedb38b3f23444b30feeca37a15914
MD5 e4f60c44ebe715243ba5a52de91a3309
BLAKE2b-256 a43de98af78449b72f3896c299afe87ae32fa01bdfe58eb1b48f7e5e22641cd8

See more details on using hashes here.

File details

Details for the file dnachisel-3.2.10-py3-none-any.whl.

File metadata

  • Download URL: dnachisel-3.2.10-py3-none-any.whl
  • Upload date:
  • Size: 146.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for dnachisel-3.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 3cd5f1fc5c6cf9ce775d9bb4e707004c6eb2ffab542b71404d50eb32176295d6
MD5 df5c1cac9909f1f10fcba20de22985e4
BLAKE2b-256 27dd90dbf7e354ed6705b3b3331cbeb9df08e150c7758a2dd91b2ad42e154e04

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