Skip to content
DNA plotting library for Python
Branch: master
Clone or download
Latest commit a382ec0 Aug 24, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
apps Updates to app Sep 29, 2017
dnaplotlib Functional version of stem_top(). Aug 16, 2018
gallery Clean-up before pip submission Apr 12, 2017
other Setup clean-up Apr 12, 2017
.gitignore Updates to app Sep 29, 2017 Updating READMEs Apr 12, 2017
LICENSE.txt Minor updates Apr 12, 2017
MANIFEST Distribution files Apr 12, 2017 Added DOI to citation Apr 23, 2017
requirements.txt Create requirements.txt Apr 21, 2017
setup.cfg Minor updates Apr 12, 2017 Update to versioning Apr 12, 2017


DNAplotlib is a library that enables highly customizable visualization of individual genetic constructs and libraries of design variants. It can be thought of in many ways as matplotlib for genetic diagrams. Publication quality vector-based output is produced and all aspects of the rendering process can be easily customized or replaced by the user. DNAplotlib is capable of SBOL Visual compliant diagrams in addition to a format able to better illustrate the precise location and length of each genetic part. This alternative "traced-based" visualization method enables direct comparison with nucleotide-level information such as RNA-seq read depth or other base resolution measures. While it is envisaged that access will be predominantly via the programming interface, several easy to use text-based input formats can be processed by a command-line scripts to facilitate broader usage. DNAplotlib is cross-platform and open-source software released under the OSI OSL-3.0 license.

If you make use of DNAplotlib in any publications, we kindly ask that the following paper is cited:

Der B.S., Glassey E., Bartley B.A., Enghuus C., Goodman D.B., Gordon D.B., Voigt C.A., Gorochowski T.E., "DNAplotlib: programmable visualization of genetic designs and associated data", ACS Synthetic Biology, 2016. (DOI: 10.1021/acssynbio.6b00252)


The DNAplotlib library is contained within the file in the lib directory and requires Python 2.6 and matplotlib 1.2 or newer. To install add the location of this file to your PYTHONPATH and you are good to: import dnaplotlib

Getting Started

We provide an extensive gallery of use cases for DNAplotlib in the gallery directory. Click on a thumbnail below to go directly to the example code:

Genetic Designs and Annotation

New Part Types and Regulation

Trace-based Rendering

Dynamics and Evolution

Variant Libraries

You can’t perform that action at this time.