ViennaRNA Package

The ViennaRNA Package is a set of standalone programs and libraries used for prediction and analysis of RNA secondary structures. The source code for the package is distributed freely and compiled binaries are available for Linux, macOS and Windows platforms. The original paper has been cited over 2000 times.

Background
The three dimensional structure of biological macromolecules like proteins and nucleic acids play critical role in determining their functional role. This process of decoding function from the sequence is an experimentally and computationally challenging question addressed widely. RNA structures form complex secondary and tertiary structures compared to DNA which form duplexes with full complementarity between two strands. This is partially because the extra oxygen in RNA increases the propensity for hydrogen bonding in the nucleic acid backbone. The base pairing and base stacking interactions of RNA play critical role in formation of ribosome, spliceosome, or tRNA.

Secondary structure prediction is commonly done using approaches like dynamic programming, energy minimisation (for most stable structure) and generating suboptimal structures. A large number of structure prediction tools have been implemented as well.

Development
The first version of the ViennaRNA Package was published by Hofacker et al. in 1994. The package distributed tools to compute either minimum free energy structures or partition functions of RNA molecules; both using the idea of dynamic programming. Non-thermodynamic criterion like formation of maximum matching or various versions of kinetic folding along with an inverse folding heuristic to determine structurally neutral sequences were implemented. Additionally, the package also contained a statistics suite with routines for cluster analysis, statistical geometry, and split decomposition.

The package was made available as library and a set of standalone routines.

Version 2.0
A number of major systemic changes were introduced in this version with the use of a new parametrized energy model (Turner 2004), restructuring of the RNAlib to support concurrent computations in thread-safe manner, improvements to the API, and inclusion of several new auxiliary tools. For example, tools to assess RNA-RNA interactions and restricted ensembles of structures. Furthermore, other features included additional output information such as centroid structures and maximum expected accuracy structures derived from base pairing probabilities, or z-scores for locally stable secondary structures, and support for input in FASTA format. The updates, however, are compatible with earlier versions without affecting the computational efficiency of the core algorithms.

Web server
The tools provided by the ViennaRNA Package are also available for public use through a web interface.

Tools
In addition to prediction and analysis tools, the ViennaRNA Package contains several scripts and utilities for plotting and input-output processing. A summary of the available programs is collected in the table below (an exhaustive list with examples can be found in the official documentation).