Skip to main content

Automated DNA assembly planner for Python

Project description

DASi DNA Design

PyPI version

DASi is an automatic DNA cloning plan designer aimed for operating on small budgets by focusing on material re-use.

The software converts a nucleotide sequence, or a library of sequences, to an executable molecular assembly plan while optimizing material cost, assembly efficiency, and assembly time.

The key design paradigm for DASi is that no molecular biology expertise is required to use DASi. Complete novices should be able to use the software to design and construct new genetic sequences. This also enables automated software programs to automatically design and construct new genetic sequences.

The software goals are reminiscent of j5 or Teselegen but focused on:

  1. A dead-simple API usable by lab novices, experts or automated software programs.
  2. Utilizing information about current laboratory inventory in its optimization algorithm to minimize costs and turn-around time

Status

DASi is currently under development funded by the DARPA Synergistic Discovery and Design program. DASi is currently being used to connect automatically generate DNA designs to automated biological fabrication facilities (e.g. University of Washington Biofab).

Usage

DASi completely automates the cloning design work, finding approximately optimal solutions for cloning steps, preferentially using existing plasmids, linear DNA fragments, and primers to design semi-optimal cloning steps and designs.

The following command designs the cloning steps for a library of designs. The user only needs to specify the sequences they wish to construct and currently available primers and DNA templates as .genbank or .fasta files. DASi handles all design aspects. No molecular biology expertise is required to use DASi.

dasi library_design --designs mydesigns/*.gb --fragments fragments/*.gb --primers primers.fasta --templates plasmids/*.gb --cost_model cost.b --out results

Customization

DASi optimization parameters are completely customizable. The following are examples of parameters and aspects of DASi that are customizable:

  • primer synthesis costs
  • primer design parameters
  • synthetic fragment costs
  • vendor-specific synthetic fragment complexity
  • sequence dependent plasmid assembly efficiencies
  • optimizing over efficiency vs material costs
  • etc.

Planned Features

  • Golden-gate support
  • heirarchical assembly
  • library support (with bayesian search to optimize shared parts)
  • front-end
  • connection to fabrication facility

DASi optimization problem

Briefly, DASi approximates a solution the following optimization problem:

Given a set of 'goal' double-stranded sequences, a set of available single-stranded and double-strand sequences, and a set of actions that can create new sequences, find the optimal set of operations that produces the 'goal' sequences.

Formalization of this optimization problem is coming soon.

Project details


Download files

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

Files for dasi, version 0.0.20
Filename, size File type Python version Upload date Hashes
Filename, size dasi-0.0.20-py3-none-any.whl (113.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size dasi-0.0.20.tar.gz (100.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page