DNAPlotter is a collaborative project between Jemboss and Artemis. It makes use of the existing circular plot in Jemboss and the Artemis sequence libraries.

The DNAPlotter is interactive. The sections below describe how the circular / linear plot can be altered and enhanced to arrive at the best view.


  • Artemis - a DNA sequence viewer and annotation tool
  • ACT - a DNA sequence comparison viewer
  • BamView - interactive display of read alignments in BAM data files

[Genome Research Limited]


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.


  • 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


The latest release of DNAPlotter is available for Unix, Macintosh and Windows. It can also be launched with Java Web Start.

Java Web Start

FTP download

GIT repository


[1] Note for MacOSX: occasionally a browser decides to display the contents of the .dmg.gz archive file rather than downloading it. If this happens hold down the <control> key and click on the download link. A popup menu should appear, containing several choices. One of the choices should be something like "Save Link As" (or perhaps "Download Link...", "Save Link to Desktop", or a variation on this theme). Select that option, and the archive file should be download correctly.

[2] Note for Windows: you may need to shift-click on this link to download the file. Also please ensure that after downloading this file is called "dnaplotter.jar" with no other hidden extensions. Some windows systems change the name so it looks like a zip file, if this happens then do not unzip it just rename it to "dnaplotter.jar".



S. typhi

S. typhi


Example showing S. typhi genome. The tracks from the outside represent:

  1. Forward CDS
  2. Reverse CDS
  3. pseudogenes
  4. Salmonella Pathogenicity Island (red)
  5. repeat regions (blue)
  6. rRNA and tRNA (green)
  7. %GC plot
  8. GC skew ([GC]/[G+C])

Click below to open 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 center. This alters all the features in that track, moving them towards or away from the center.

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 everyting 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:

  1. Create a file with the base position and read count
    samtools mpileup file.bam | awk '{print $2, $4}' > tmp.plot
  2. 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:

* quick link - http://q.sanger.ac.uk/bsbsfo1z