What is ViennaRNA?
The ViennaRNA Package is a comprehensive suite of programs for RNA secondary structure prediction and analysis, developed at the University of Vienna. First released in the late 1990s, it remains one of the most widely used tools in RNA bioinformatics.
RNA secondary structure describes which nucleotides in a sequence pair with each other through hydrogen bonding—forming stems, loops, bulges, and other motifs—without specifying 3D coordinates. This intermediate level of structural description captures the dominant thermodynamic contributions to RNA folding and provides essential insights for understanding RNA function, designing therapeutic oligonucleotides, and analyzing non-coding RNAs.
ViennaRNA predicts structures using dynamic programming algorithms that minimize free energy based on the nearest neighbor model. Rather than evaluating base pairs individually, the model sums sequence-dependent energy contributions from stacked base pairs and the destabilizing entropic effects of unpaired loops. The current implementation uses the Turner 2004 energy parameters, refined over decades of melting experiments.
How to use ViennaRNA online
ProteinIQ provides cloud-based access to the complete ViennaRNA suite through a unified interface, combining 14 analysis methods in a single tool without requiring installation or command-line expertise.
Inputs
| Input | Description |
|---|---|
RNA Sequence(s) | RNA sequence in FASTA format or plain text. A, C, G, U nucleotides. Up to 10 sequences. |
Structure (bracket notation) | Optional. Required for RNAinverse, RNAdos, RNAeval, and RNAdistance methods. Up to 2 structures for comparison. |
Analysis methods
The Analysis method selector determines which ViennaRNA program runs on the input:
Structure prediction (single sequence)
| Method | Purpose |
|---|---|
| RNAfold | Computes the minimum free energy (MFE) structure and optionally the partition function for base pair probabilities. Default method. |
| RNAsubopt | Enumerates suboptimal structures within a specified energy range above the MFE. Useful for understanding folding landscapes. |
| RNALfold | Local folding with a sliding window. Designed for long sequences where global folding is computationally prohibitive. |
| RNAplfold | Computes local base pair probabilities in a window-based approach. Identifies regions likely to remain unpaired. |
| RNAplot | Generates 2D coordinates for structure visualization in addition to MFE prediction. |
RNA-RNA interaction (two sequences)
| Method | Purpose |
|---|---|
| RNAcofold | Predicts the joint secondary structure of an RNA dimer, treating two sequences as a single system. |
| RNAduplex | Finds the optimal hybridization site between two RNAs. Fast but ignores intramolecular structure. |
| RNAplex | Fast interaction prediction considering accessibility. Balances speed and accuracy for long sequences. |
| RNAup | Combines accessibility computations with hybridization energy. Most accurate for interaction prediction but slower. |
Alignment-based prediction
| Method | Purpose |
|---|---|
| RNAalifold | Predicts a consensus structure from a multiple sequence alignment. Exploits covariation to improve accuracy. Requires pre-aligned sequences of equal length. |
Sequence design (inverse folding)
| Method | Purpose |
|---|---|
| RNAinverse | Designs sequences that fold into a specified target structure. Starts with random sequences and optimizes iteratively. |
| RNAdos | Density-of-states optimization for sequence design. More thorough search than RNAinverse. |
Structure analysis
| Method | Purpose |
|---|---|
| RNAeval | Evaluates the free energy of a sequence given a specific structure. Does not predict—only calculates energy. |
| RNAdistance | Computes distance metrics between two structures: tree edit distance and base pair distance. |
Settings
Prediction options
| Setting | Description |
|---|---|
Temperature | Folding temperature in Celsius (0–100, default 37). Higher temperatures destabilize base pairs. |
Disallow lonely pairs | Prevents isolated base pairs (helices of length 1). Often improves prediction accuracy. |
Circular RNA | Treats the sequence as circular rather than linear. For circRNAs or closed-loop constructs. |
Compute partition function | Calculates partition function and ensemble energy in addition to MFE. Enabled by default for RNAfold. |
Method-specific options
| Setting | Description |
|---|---|
Energy range | For RNAsubopt: energy threshold above MFE (kcal/mol) for suboptimal structure enumeration. Default 5. |
Max structures | For RNAsubopt: maximum number of structures to return. Default 100. |
Window size | For RNALfold/RNAplfold: sliding window size in nucleotides. Default 150. |
Number of designs | For RNAinverse/RNAdos: how many candidate sequences to generate. Default 5. |
Energy parameters
| Setting | Description |
|---|---|
Energy model | Parameter set for thermodynamic calculations. Turner 2004 (default), Andronescu 2007, or Langdon 2018. |
Dangling ends | Treatment of unpaired nucleotides adjacent to helices. Double dangles (default) is most accurate for most applications. |
Results
Output varies by method:
| Column | Description |
|---|---|
Sequence ID | Identifier from FASTA header or auto-generated name |
Length | Sequence length in nucleotides |
Structure | Predicted secondary structure in dot-bracket notation |
MFE | Minimum free energy in kcal/mol. More negative = more stable. |
Ensemble Energy | Free energy of the ensemble (partition function). Available when enabled. |
For interaction methods (RNAcofold, RNAduplex, RNAplex, RNAup), results include interaction partners and binding site positions.
For design methods (RNAinverse, RNAdos), results include designed sequences and whether they match the target structure exactly.
How does ViennaRNA work?
The nearest neighbor model
RNA secondary structure prediction relies on the additive energy model: the total free energy of a structure equals the sum of contributions from its constituent motifs. Energy contributions come from:
- Base pair stacking: The dominant stabilizing force. A Watson-Crick base pair gains stability from adjacent stacked pairs.
- Loops: Destabilizing entropic terms. Hairpin loops, internal loops, bulges, and multi-branch loops each have parameterized energy penalties.
- Dangling ends: Unpaired nucleotides adjacent to helices contribute small stabilizing or destabilizing terms.
The Turner parameters, derived from optical melting experiments, quantify these contributions. ViennaRNA implements the 2004 update, with optional alternatives from Andronescu (2007) and Langdon (2018).
Dynamic programming
Finding the MFE structure is solved exactly by dynamic programming (Zuker's algorithm). The algorithm fills a matrix where each entry represents the optimal folding energy for a subsequence, building up to the full sequence. Backtracking through the matrix recovers the optimal structure.
The partition function calculation (McCaskill's algorithm) sums over all possible structures weighted by their Boltzmann factors, enabling computation of base pair probabilities and ensemble properties.
Suboptimal structures
Real RNA molecules don't always adopt their MFE structure. RNAsubopt exhaustively enumerates structures within an energy range, revealing alternative conformations that may be biologically relevant.
Interpreting results
Minimum free energy
| MFE (kcal/mol) | Interpretation |
|---|---|
| < −50 | Very stable long structure or multiple domains |
| −20 to −50 | Typical for structured RNAs (tRNAs, riboswitches) |
| −5 to −20 | Modest stability, common for short hairpins |
| > −5 | Weak structure, may be largely unfolded at 37°C |
Stability depends on sequence length—longer sequences have more opportunities for base pairing.
Partition function ratio
When partition function calculation is enabled, comparing MFE to ensemble energy indicates whether the MFE structure dominates the ensemble. If ensemble energy is close to MFE, the structure is well-defined. Large differences suggest alternative structures compete thermodynamically.
Inverse folding success
For RNAinverse and RNAdos, results include distance_to_target. A value of 0 means the designed sequence folds exactly into the target structure. Non-zero values indicate partial success—the sequence folds into something similar but not identical.
Applications
- Non-coding RNA characterization: Predicting and comparing structures of riboswitches, ribozymes, lncRNAs
- siRNA and antisense design: Evaluating target accessibility with RNAup or RNAplfold
- mRNA vaccine optimization: Designing coding sequences with favorable folding properties
- CRISPR guide RNA analysis: Assessing secondary structure of sgRNAs
- Evolutionary analysis: Using RNAalifold to identify conserved structures across homologs
Limitations
The nearest neighbor model assumes pseudoknots do not form. ViennaRNA predicts only nested secondary structures—any base pair where the partners are interleaved with another pair's partners is excluded. For pseudoknots, specialized tools are required.
Prediction accuracy is approximately 70% for sequences with known structures, with higher accuracy for shorter sequences and those with strong thermodynamic signals. Long-range interactions and protein-mediated folding are not modeled.
Partition function calculations become memory-intensive for sequences beyond ~10,000 nucleotides. RNALfold and RNAplfold provide local alternatives for longer inputs.
Related tools
- DNA to RNA: Convert DNA sequences to RNA before structure prediction
- RNA to DNA: Convert RNA back to DNA format
- Random RNA: Generate random RNA sequences for testing
- GC Content: Analyze nucleotide composition, which influences folding stability
