DNA Sequence Design Tools
Note: many of these tools are preliminary versions, use at your own risk!!!!
- DNAdesign : Our oldest and
most crufty software, originally written in 1996 as a suite of MATLAB
routines, but it is still used occasionally because you can tweak it
to your heart's content using MATLAB and it's interactive, like
programming. It has been used for pseudoknotted DNA tiles and
psuedoknotted DNA catalysts as well as non-psuedoknotted strand
displacement cascades.
- SpuriousDesign (SpuriousC, SpuriousSSM) :
Written in 2000 by Erik Winfree but still occasionally refined, this is a
general-purpose sequence-symmetry designer with a few other features.
It's basically a faster C version of the DNAdesign sequence designer,
and it can be used as a back-end for DNAdesign or Pepper or other
front-end wrappers.
- DomainDesign (DD) :
Written in 2007(?) by Dave Zhang to incorporate the design princples
he uses for his DNA strand displacement cascade experimental research,
DD allows the user to design a set of independent sequence domain
elements, which the user then splices together by hand to create the
full-length molecules needed for the full system.
- Multistrand : Written by Joseph
Schaeffer, this analysis tool simulates the kinetics of multistranded
DNA or RNA systems at the elementary step level -- one base pair
opening or closing at a time. The simulations are thermodynamically
consistent with standard secondary structure energetics models,
specifically, NUPACK. (Soon to be released.)
- Peppercorn : Written by Casey Grun,
Karthik Sarma, and Brian Wolfe, Peppercorn provides a domain-level reaction semantics that includes
arbitrary non-pseudoknotted secondary structures and elementary actions such as hybridization, dissociation,
three-way branch migration, and four-way branch migration. (Soon to be released.)
- KineticDesign (KinD) :
Written in 2010 by Chris Berlind to optimize systems of DNA reactions
based on a physically justified model of kinetics (Multistrand), this
sequence designer goes beyond the thermodynamic criteria used by the
NUPACK designer, but is alas much slower. Repurposed by Joseph Berleant in 2016 as a general interface
for using Multistrand to evaluate sequences for domain-level designs. (Soon to be released.)
- SeesawCompiler : Written in
2010 by Lulu Qian, this compiler goes from feedforward digital
circuits, linear threshold units, or the seesaw gate network
abstraction all the way down to DNA sequences that you can order.
(Soon to be released.)
- Nuskell : Originally written in
2010 by Seung Woo Shin and further developed in 2016 by Stefan Badelt, Qing Dong, and Robert Johnson,
this general purpose CRN-to-DNA compiler provides a language for specifying domain-level translation schemes,
builds a CRN model of the implementation using the Peppercorn domain-level reaction enumerator,
and verifies that the compilation was correct according to pathway decomposition or bisimulation.
(Soon to be released. Future developments will include a sequence design module.)
- Pepper : Written in
2009 by Shawn Ligocki, this compiler provides a high-level language
for specifying modular DNA components (such as tiles, strand
displacement gates, transcriptional switches, or motors) and ways to
systematically link them together into systems. The resulting design
specifications can then be sent to a sequence designer such as
SpuriousDesign or NUPACK or KinD. (Soon to be released.)
- Piperine : Prototyped by Niranjan Srinivas and completed in
2016 by James Parkin, this compiler provides a
full pipeline for converting abstract CRN specifications to
synthesizable DNA strand displacement systems. The default CRN-to-DNA
translation scheme is from Srinivas et al (2017?). The pipeline
begins with a CRN, builts a Pepper specification that is compiled to sequences
using SpuriousSSM, and the best sequence is selected based on a variety of heuristics
using NUPACK and additional artisinal criteria. (Soon to be released.)
- DNA_for_CRNs :
These Mathematica packages written by David Soloveichik, released in
2010 with the accompanying PNAS paper, have general-purpose chemical
reaction network ODE simulators as well as special-purpose routines to
model (as mass-action CRNs) the DNA implementations of arbitrary CRN
programs. So, no, this compiler does not yet go down the sequence
level... but someday it may...
You should also check out
NUPACK,
DSD, and
caDNAno.
Erik Winfree, 3/20/2010