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 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, 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.
ProgramDescription
AnalyseDistsAnalyse a distance matrix
AnalyseSeqsAnalyse a set of sequences of common length
KinfoldSimulate kinetic folding of RNA secondary structures
RNA2DfoldCompute MFE structure, partition function and representative sample structures of k,l neighborhoods
RNAaliduplexPredict conserved RNA-RNA interactions between two alignments
RNAalifoldCalculate secondary structures for a set of aligned RNA sequences
RNAcofoldCalculate secondary structures of two RNAs with dimerization
RNAdistanceCalculate distances between RNA secondary structures
RNAduplexCompute the structure upon hybridization of two RNA strands
RNAevalEvaluate free energy of RNA sequences with given secondary structure
RNAfoldCalculate minimum free energy secondary structures and partition function of RNAs
RNAforesterCompare RNA secondary structures via forest alignment
RNAheatCalculate the specific heat of an RNA sequence
RNAinverseFind RNA sequences with given secondary structure
RNALalifoldCalculate locally stable secondary structures for a set of aligned RNAs
RNALfoldCalculate locally stable secondary structures of long RNAs
RNApalnRNA alignment based on sequence base pairing propensities
RNApdistCalculate distances between thermodynamic RNA secondary structures ensembles
RNAparconvConvert energy parameter files from ViennaRNA 1.8 to 2.0 format
RNAPKplexPredict RNA secondary structures including pseudoknots
RNAplexFind targets of a query RNA
RNAplfoldCalculate average pair probabilities for locally stable secondary structures
RNAplotDraw RNA Secondary Structures in PostScript, SVG, or GML
RNAsnoopFind targets of a query H/ACA snoRNA
RNAsuboptCalculate suboptimal secondary structures of RNAs
RNAupCalculate the thermodynamics of RNA-RNA interactions