David Doty


scadnano is a computational tool for designing synthetic DNA structures, such as DNA origami. scadnano runs entirely in the browser, with no software installation required. scadnano designs, while they can be edited manually, can also be created and edited by a well-documented Python scripting library, to help automate tedious tasks.

If you find scadnano useful in a scientific project, please cite its associated paper:

scadnano: A browser-based, scriptable tool for designing DNA nanostructures.
David Doty, Benjamin L Lee, and Tristan Stérin.
DNA 2020: Proceedings of the 26th International Conference on DNA Computing and Molecular Programming.
[ paper | BibTeX ]

Below are some relevant links.

The scadnano stable version matches what is on the master branch of the web interface code repository. The scadnano dev version matches what is on the dev branch of the web interface code repository. Its releases are explained on the releases page. When issues are handled in a release, they are closed when the changes make their way to the master branch. If an issue is handled in the dev branch, the issue remains open, but you will see a comment that looks something like this: "dave-doty added a commit that referenced this issue 17 hours ago @dave-doty make width of File menu just enough to fit all entries on one line; fixes #339". These comments can help you decide if you want to use the latest version of scadnano (https://scadnano.org/dev), which has fixed an issue, before it makes its way to the stable version (https://scadnano.org).


dsd (DNA sequence designer) is a computational tool for designing DNA sequences for use in DNA nanotechnology experiments. It is not a standalone program, unlike other DNA sequence designers such as NUPACK. Instead, it attempts to be more expressive than existing DNA sequence designers, at the cost of being less simple to use. The dsd library helps you to write your own DNA sequence designer in Python, in case existing designers cannot capture the particular constraints of your project.

dsd has no associated paper yet, but we will write one eventually. If you use it for a scientific project, please check back here or at the GitHub site to see if there is a paper to cite.

automaton simulator

The automaton simulator (help documentation here) is an application used in my undergraduate Theory of Computation course. It can be used to visualize and simulator deterministic and nondeterministic finite automata, regular expressions, context-free grammars, and Turing machines.