Recent changes in Java security policy might prevent you from running VARNA.
Check out this page for details and ways to solve the problem.

What VARNA is


VARNA is Java lightweight Applet dedicated to drawing the secondary structure of RNA. It is also a Swing component that can be very easily included in an existing Java code working with RNA secondary structure to provide a fast and interactive visualization.

Being free of fancy external library dependency and/or network access, the VARNA Applet can be used as a base for a standalone applet. It looks reasonably good and scales up or down nicely to adapt to the space available on a web page, thanks to the anti-aliasing drawing primitives of Swing.


The initial version was coded after several unfruitful attempts at finding a RNA secondary structure drawing software to be used inside of a webserver. Indeed, it seemed at the time that most of the webservers dedicated to the secondary structure of RNA offered rather clumsy renderings (Mostly static, cgi-bin generated, PS or PNG files).

In 2008, I (Yann Ponty) was unable to find a tool that would be at the same time available, easy to install and still running (SStructView was no longer tolerated by latest Java plugins security policies; RNAMLView's goal was rather to display a projection of the 3D structure, and RNAMovies was more tailored towards animations...). Therefore, I coded a basic software from scratch, initially using a radial layout strategy adopted by the software RNAViz, later to be extended to other classic algorithms such that NAView, a classic Feynman-diagram representation and a linear one, hoping it would be useful to some... VARNA development team was subsequently joined by Kevin Darty and Alain Denise (LRI/IGM-Orsay-France) in 2009, leading to a complete redesign of the software.

As of November 2012, VARNA is currently used by RNA scientists and websites such as the NestedAlign web server, the IRESite database (Example), and the TFold webserver.
Biogeeks also features (featured?) a very nice tutorial showing how to use VARNA as a front end to RNAFold through a minimal Ruby script.


If you find VARNA useful to your research, please contribute to its continued development by citing its supporting manuscript:

VARNA: Interactive drawing and editing of the RNA secondary structure
Kévin Darty, Alain Denise and Yann Ponty
Bioinformatics, pp. 1974-1975, Vol. 25, no. 15, 2009

The VARNA applet and its companion Swing component are released (copyleft, in fact) under the terms of the GNU GPL License. Varna is also a very nice bulgarian city located on the shores of the black sea, which I do not claim to hold any property (intellectual or else) on...
VA RNA finally stands for Viral Associated RNAs (RFAM:RF00102) and can be found in adenoviruses (See this tutorial for instance).

Main features

  • Automatically scaled, anti-aliased smooth rendering
  • Support provided for input files in BPSEQ, CT, Vienna (DBN: extended dot bracket notation), RNAML and STOCKHOLM formats
  • Export of snapshots in vector and bitmap picture formats: EPS, SVG, XFIG, JPG, or PNG.
  • Fully-customizable, through a documented API for the component, or a set of documented "<param name="..." value="..." />"-type options for the Applet version, or offline through a command-line version.
  • Platform and browser independence (Only requires the installation of a version 1.6 of the Java plugin
  • Support for non-canonical basepairs using the Leontis/Westhof nomenclature. Pseudoknots are also supported by first extracting a maximal planar subset of canonical base-pairs, drawing the subset and using it as a scaffold for the rest of the base pairings.
  • Real-time user interaction and complete styling system.
  • Displays multiple secondary structures on a single Applet.
  • Supports semi-automated annotation of individual structural parts, color maps and chemical-probing style of annotations.
  • Open source, free-software distributed under the terms of the GNU GPL 3 license.

What isn't

Here are some of the points that are (mildly) embarassing to us at the moment, but should be replaced by others in the near-future:

At the moment, VARNA does not offer any novel tricky layout algorithm.
People interested in nice algorithmic approaches to the RNA secondary structure drawing problem should consider taking a look at Tulip (Nice algorithmic relaxation of a layout problem shown to be NP-Complete), jVizRNA (Spring models) or PseudoViewer (Including pseudoknots), none of which could be easily turned into an applet :( We are currently working on such algorithms.

VARNA is not currently fully interfaced through a dedicated JavaScript library (think JMol). A partial library is already available on demand.

VARNA does not currently (but not by much!) support a templating system that would allow for the re-use (e.g. on homologous sequences) of human-edited layouts.

VARNA does not do the laundry, mow the lawn, wash the dishes, replace light bulbs, cook the dinner, fix your computer, walk the dog, vaccuum-clean the flat... (Why else would one want a significant other, anyway? ;) )

Previous page: Links
Next page: Demo