Software

DNA sequence designer: SST-sequence-design

SST-sequence-design is a DNA sequence design and analysis tool for designing single-stranded DNA tiles.

Written in python by Damien Woods, David Doty and Erik Winfree, it was used to design DNA sequences for the following paper:

Simulators for abstract models of computation

When proving theorems about theoretical models of computation we sometimes use simulators that help guide our intuition and prove our results.

Software that we contribute to and use

DNA sequence designer: dsd

dsd, or "DNA sequence designer", is a Python library that we use to design DNA sequences. A user writes a python program that specifies thermodynamic-based energy constraints on a DNA nanostructure design, and involves the library to find suitable DNA sequences. Developed and maintained by the UC Davis Molecular Computing group, with occasional design contributions and extensive wet-lab testing by our group.

GUI-based design of DNA nanostructures: scadnano

scadnano.org is a browser-based GUI for design of DNA nanostructures. Developed and maintained by the UC Davis Molecular Computing group, with extensive wet-lab testing by our group. There is also an associated python scripting library. scadnano has a similar look and feel to cadnano (https://cadnano.org/), by the Douglas lab at UCSF. See the following publication for details:

Software by group members, but no longer actively maintained by us

Codenano

codenano is a tool for designing DNA nanostructures: the user writes some code to specify DNA helices, DNA strands and hybridization/binding between strands, and the result is viewable in 3D in the browser.
Our blog post gives an overview of codenano's features. The source is on github and crates.io. You're welcome to try it, but code is no longer actively maintained so caveat emptor.

Built by group members Pierre-Étienne Meunier and Nicolas Levy.

Pijul

pijul is a version control system by former group member Pierre-Étienne Meunier, along with Florent Becker.

A patch-based version control system based on a new datastructure for asynchronous computing, itself suggested by a result from category theory.

Pijul is theoretically correct (i.e. provably satisfies a number of axioms), and fast. The project required us to write other libraries to achieve the theoretical complexity in actual programs:

The whole project is written in Rust.

Pijul was featured in the following software conferences: