What is VARNA

Description

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.

Motivation

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).

I was unable to find a tool that would be at the same time available, light and still running (SStructView is no longer tolerated by latest Java plugins security policies; RNAMLView's goal is rather to display a projection of the 3D structure; RNAMovies is more focused on displaying animations, ...) Thus I re-coded the whole thing, initially using a layout strategy initially adopted by the software RNAViz, since then 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).

As of November 2009, 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 a very nice tutorial showing how to use VARNA as a front end to RNAFold through a minimal Ruby script.

Credits/License/Disclaimer

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 intellectual property on ...
VA RNA finally stands for Viral Associated RNAs (RFAM:RF00102) and can be found in adenoviruses (See this tutorial).

Main features

  • Automatically scaled, anti-aliased smooth rendering
  • Support provided for input files in BPSEQ, CT, Vienna (DBN: dot bracket notation) or RNAML 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
  • Platform and browser independence (Only requires the installation of a version 1.5 of the Java plugin
  • Support of non-canonical basepairs using the Leontis/Westhof nomenclature. Pseudoknotted structures are processed by first extracting a maximal planar subset of canonical base-pairs, draw the subset and use it as a scaffold for the rest of the base pairings.
  • Provides real time user interaction and full display customization.
  • Displays multiple secondary structures on a single Applet, saving precious computational ressources.
  • 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 is not

VARNA does not offer any new tricky placement 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 placement problem shown to be NP-Complete), jVizRNA (Spring models) or PseudoViewer (Including pseudoknots), none of which could be easily turned into an applet :(

Also VARNA is not fully interfaced through JavaScript but we plan on building a library of interactions (Kind of like that of JMol).

Plans are to replace some of the items on this list with other ones in the near future ...

Previous page: Home
Next page: Demo