DNAPlotter can be used to generate images of circular and linear DNA maps to display regions and features of interest. The images can be inserted into a document or printed out directly. As this uses Artemis it can read in the common file formats EMBL, GenBank and GFF3.

Download and Installation

DNAPlotter mandatorily requires Java v1.8 to run. It will not run with earlier Java versions.

The latest release of DNAPlotter can be downloaded from our ftp site:

It can also be launched with Java Web Start:


For further download and installation instructions, please see our GitHub page.

Learn and Support

The screenshot on the right shows the S. typhi genome and the tracks from the outside represent:

  • Forward CDS
  • Reverse CDS
  • pseudogenes
  • Salmonella Pathogenicity Island (red)
  • repeat regions (blue)
  • rRNA and tRNA (green)
  • %GC plot
  • GC skew ([GC]/[G+C])

Click here to open this in DNAPlotter.

Editing Features

Each feature drawn can be double clicked on to open up a properties window. This allows the label, start and end coordinates, colour and line width to be changed. There is also an option to show or hide the label.

Dragging Features in a Track

Features can be dragged by selecting a feature and holding the mouse button down then dragging towards or away from the circular plot centre. This alters all the features in that track, moving them towards or away from the centre.

Defining Tracks

Tracks of features of different radii can be set up. The features included in a track can be defined using the "Track Manager". Features can then be filtered to define what types of features are displayed on a given track. The feature key (e.g. CDS) and a qualifier can be used along with which strand (forward or reverse) the feature is on. The qualifier value can be a single value or a list of values. For example, if the qualifier "gene" is used with the values "a b c", then those three genes will be displayed on the track. Selecting 'Not' means that it will pick out everything for a track except that qualifier.

The size of the track can be defined in the track manager. Also the position of the track can be set as a fraction of the radii. This is an alternative to dragging the features in a track to a different position. Features can be either coloured based on the colour qualifier or given all given the same colour within that track.


The %GC and GC skew ((G-C)/(G+C)) can be displayed. There is an options menu for eah plot to define the step size and window size for the calculation. The colours above and below the average for the plot can be selected to highlight the different regions. A user defined plot can be read in, this takes the same form as a single user plot in Artemis. This will prompt the user for the name of a data file which should contain one line per base of sequence and one floating point number per line.

If you want to see a read coverage plot in DNAPlotter you can do this by creating a user plot. The user plot format is one line per base with one column of values. One way to achieve this is to parse the SAMtools mpileup output and the following gives a rough way of obtain this for a BAM file containing a single reference sequence:

  • Create a file with the base position and read count
samtools mpileup file.bam | awk '{print $2, $4}' > tmp.plot

  • Use the above file to create a DNAPlotter user plot file by adding zero values for base positions with no coverage. (Note: change the seqLength variable to be the length of the reference genome):
perl -e 'open(FILE,"tmp.plot"); my $seqLength = 643292; my $count=1; while(my $ln = <FILE>){ if( $ln =~ m/^(\d+)\s+(\d+)/ ) { if($1 > $count) { for($i = $count; $i < $1; $i++){ print "0\n" } }; print "$2\n"; $count=$1+1; } } for($i = $count; $i <= $seqLength; $i++){ print "0\n" }' > dnaplotter.plot


Major and minor ticks can be adjusted from the 'Tick Marks...' menu. An interval for each of these can be set. Numbering for the ticks can optionally be turned off.

Read in an Entry on Separate Track

As with Artemis, it is possible to overlay features from a separate file. From the 'File' menu there is an option to 'Read in Entry on Separate Track'. This creates an extra track and adds all the features to the track.

Saving and Using Templates

The DNAPlotter template file is a means of recording the properties that make up the image, e.g. the sequence files read and the track and graph properties. An example of the format of the template file can be found here: example 1. After creating a DNAPlotter image it is useful to record the details of the plot in a template file for future reference. Under the File menu there is an option to export a template file.

The template file can be read in when DNAPlotter is launched and it will re-draw the image using the information in the template file. Alternatively the file can be imported to use the track details with another sequence.

Note that the template in example 1 requires that the sequence files are in a local file system. With example 2 this is not necessary as the location of an EMBL file is defined by a URL (i.e. ftp://ftp.sanger.ac.uk/pub/pathogens/st/St.art). So this template can be downloaded and saved and DNAPlotter will be able to locate the file(s) in this example. This will open the S. typhi example above.

Also, note that the template file itself can be given as a URL from the command line, using the -t flag e.g.:

java -jar dnaplotter.jar -t ftp://ftp.sanger.ac.uk/pub/resources/software/dnaplotter/st_url_fig.template

(N.B. the above may require the java proxy flags -DproxySet=true -Dhttp.proxyHost=wwwcache -Dhttp.proxyPort=8080 set to the local proxy server settings).

Alternatively this can be launched using Java Web Start:


Transcriptome plot (computer generated example), example 3:


For more information on this software please see our GitHub page.

License and Citation

DNAPlotter is available under GPL3.

If you make use of this software in your research, please cite as:

DNAPlotter: circular and linear interactive genome visualization.

Carver T, Thomson N, Bleasby A, Berriman M and Parkhill J

Bioinformatics (Oxford, England) 2009;25;1;119-20
PUBMED: 18990721; PMC: 2612626; DOI: 10.1093/bioinformatics/btn578


If you need help or have any queries, please contact us using the details below.

Our normal office hours are 8:30-17:00 (GMT) Monday to Friday.


  • DNAPlotter: circular and linear interactive genome visualization.

    Carver T, Thomson N, Bleasby A, Berriman M and Parkhill J

    Bioinformatics (Oxford, England) 2009;25;1;119-20