This article introduces a tool you can use to work on three-dimensional DNA origami. The package is called cadnano, and it's currently
being developed at the Wyss Institute. With this package, you'll be
able to construct and manipulate the three-dimensional representations
of DNA structures, as well as generate publication-quality graphics of
Because this software is research-based, you won't likely find
it in the package repository for your favourite distribution, in which
you'll need to install it from the GitHub
Since cadnano is a Python
program, written to use the Qt framework, you'll need to install
some packages first. For example, in Debian-based distributions, you'll
want to run the following commands:
sudo apt-get install python3 python3-pip
I found that installation was a bit tricky, so I created a virtual Python
environment to manage module installations.
Once you're in your activated
virtualenv, install the required Python modules with the
pip3 install pythreejs termcolor pytz pandas pyqt5 sip
After those dependencies are installed, grab the source code with
git clone https://github.com/cadnano/cadnano2.5.git
This will grab the Qt5 version. The Qt4 version is in the repository
Changing directory into the
source directory, you can build and install cadnano with:
python setup.py install
Now your cadnano should be available within the virtualenv.
You can start cadnano simply by executing the
a terminal window. You'll see an essentially blank
workspace, made up of several empty view panes and an empty inspector
pane on the far right-hand side.
Figure 1. When you first start cadnano, you get a completely
blank work space.
In order to walk through a few of
the functions available in cadnano, let's create
a six-strand nanotube. The first step is to create a background that
you can use to build upon. At the top of the main window, you'll find
three buttons in the toolbar that will let you create a „Freeform“,
„Honeycomb“ or „Square“ framework. For this example,
click the honeycomb button.
Figure 2. Start your construction with one of the
available geometric frameworks.