
Publications
Microsoft Research Blog
Microsoft Research Blog
Overview
Molecular devices made of nucleic acids show great potential for applications ranging from bio-sensing to intelligent nanomedicine. They allow computation to be performed at the molecular scale, while also interfacing directly with the molecular components of living systems. They form structures that are stable inside cells, and their interactions can be precisely controlled by modifying their nucleotide sequences. However, designing correct and robust nucleic acid devices is a major challenge, due to high system complexity and the potential for unwanted interference between molecules in the system. To help address these challenges we have developed the DNA Strand Displacement (DSD) tool, a programming language for designing and simulating computational devices made of DNA. The language uses DNA strand displacement as the main computational mechanism, which allows devices to be designed solely in terms of nucleic acids. DSD is a first step towards the development of design and analysis tools for DNA strand displacement, and complements the emergence of novel implementation strategies for DNA computing.
People
Luca Cardelli
Professor
Download
Visual DSD
- Online HTML5 (older versions: 2019-03-07, 2019-03-01)
- Downloadable HTML5
- User Manual
Acknowledgements
- Visual DSD was developed by Carlo Spaccasassi, Matthew Lakin, Filippo Polo, Simon Youssef, Kathryn Gray, Rasmus Petersen, Colin Gravill, Neil Dalchau and Andrew Phillips at Microsoft Research.
- Luca Cardelli assisted with the design of the DSD language and extensive testing of DSD. Erik Winfree and his group have provided valuable feedback on DSD, together with Georg Seelig and his group.
- The core DSD language was developed in F#. It uses Dynamic Data Display for visualising simulation plots and Microsoft Automatic Graph Layout for visualising networks.
Kaemika
- A chemical reaction and protocol simulator developed by Luca Cardelli. Available from Luca’s web page.
Silverlight Visual DSD (no longer supported)
- BETA v2016-0312. (Manual, Browser Compatibility); Command-line version (Readme); Archive (v2015-0325)
- MAIN v2014-0219. Requires Silverlight 4.0 for Windows or Mac.
- Documentation: Tutorial, Manual, Browser Compatibility and Release Notes.
- Command-line simulator: Windows, OS X and OCaml Bytecode.
- Archive: v2013-0214; v2012-0920; v2011-0721
Selected Publications using DSD
- Chatterjee et al., A spatially localized architecture for fast and modular DNA computing. Nature Nanotechnology published online (2017).
- Amir et al., Universal computing by DNA origami robots in a living animal. Nature Nanotechnology 9: 353–357 (2014).
- Chen et al., Programmable chemical controllers made from DNA, in Nature Nanotechnology 8: 755-762 (2013).
- Qian, Winfree, Bruck. Neural network computation with DNA strand displacement cascades. Nature 475: 368–372 (2011).
- Qian, Winfree. Scaling Up Digital Circuit Computation with DNA Strand Displacement Cascades. Science 332: 1196-1201 (2011).