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.11.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

dnachisel-3.2.11-py3-none-any.whl (146.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dnachisel-3.2.11.tar.gz
Algorithm Hash digest
SHA256 8fc7a677959c113a8c70e4752d216b902be30b56c2a2892a1ae4ea6d046fde0f
MD5 c683424b33f3d840e1a5280f19767332
BLAKE2b-256 bc0e15e8406067f03d098d3d6ebec4ee0e8011e1cef12f0f83ee3f5e6b94a10f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dnachisel-3.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 2fb522cf043bc7208149f1b22faf4700f2edb812e4bc6bb0ba1087f79fc76368
MD5 33c3150f526cd496c5a08cb1aa928465
BLAKE2b-256 8cbf1de724d9325a3bc16ef71d34edd8fe325dac36ba575f3129c9185fe87944

See more details on using hashes here.

Supported by

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