The ViennaRNA Package
C PostScript Objective-C C++ Perl M4 Other
RaumZeit Merge tag 'v2.4.9'
This is version 2.4.9
Latest commit 34d23a0 Jul 12, 2018
Failed to load latest commit information.
RNA-Tutorial Merge commit '3040a4ea78703c23ce7f9b28b299002d2453d205' as 'RNA-Tutor… Aug 2, 2017
doc Prepare for release v2.4.9 Jul 12, 2018
examples Adapt example programs to changes in source tree May 26, 2018
interfaces SWIG: Fix false-positive use of uninitialized value in Python3/file_p… Jun 21, 2018
m4 SWIG: Do not link extension modules against libpython/libperl Jun 13, 2018
man Disable build of manpages and commandline parsers if required program… May 9, 2018
misc Add Langdon 2018 RNA parameter file to distribution Jun 13, 2018
packaging Prepare for release v2.4.9 Jul 12, 2018
src Slight adaptations to .gitignore files Jul 11, 2018
tests Prepare for release v2.4.9 Jul 12, 2018
.gitignore Add more files to .gitignore Apr 12, 2017
.gitmodules Removed git submodules Oct 13, 2016
.travis.yml Rename ChangeLog to Jul 10, 2018
AUTHORS Merge v2.1.0 May 4, 2015 Prepare for release v2.4.9 Jul 12, 2018 Spellcheck Nov 8, 2017
COPYING Remove Readseq related lines as it has been removed from the package … Jul 11, 2018
INSTALL Prepare for release of version 2.4.6 Apr 19, 2018
INSTALL.configure make sure INSTALL.configure is in the distribution May 14, 2001 Prepare for release v2.4.9 Jul 12, 2018
NEWS Prepare for release of v2.4.8 Jun 23, 2018 Prepare for release v2.4.9 Jul 12, 2018 Add pthreads flags to pkg-config file RNAlib2.pc Mar 29, 2018
THANKS DOXYGEN: Heavy re-ordering of the reference manual Nov 27, 2017 This is version 2.2.0 Jan 24, 2016 Prepare for release v2.4.9 Jul 12, 2018
license.txt Add license.txt file to distribution tarball (required for Windows in… Apr 16, 2018

GitHub release Build Status Github All Releases Conda AUR

ViennaRNA Package

Version 2.4.9

See the NEWS and files for changes between versions.


The ViennaRNA Package consists of a few stand alone programs and a library that you can link your own programs with.

Together with this version we distribute the programs

  • Kinfold,
  • RNAforester,
  • RNAlocmin, and
  • Kinwalker

See the README files in the respective sub-directories.

The package allows you to

  • predict minimum free energy secondary structures
  • calculate the partition function for the ensemble of structures
  • calculate suboptimal structures in a given energy range
  • compute local structures in long sequences
  • predict consensus secondary structures from a multiple sequence alignment
  • predict melting curves
  • search for sequences folding into a given structure
  • compare two secondary structures
  • predict hybridization structures of two RNA molecules

The package includes Perl5, Python 2, and Python 3 modules that give access to almost all functions of the C library from within the respective scripting languages.

There is also a set of programs for analyzing sequence and distance data using split decomposition, statistical geometry, and cluster methods. They are not maintained any more and not built by default.

The code very rarely uses static arrays, and all programs should work for sequences up to a length of 32,700 (if you have huge amounts of memory that is).


Please read the copyright notice in the file COPYING!

If you're a commercial user and find these programs useful, please consider supporting further developments with a donation.


The most recent source code and documentation should always be available through the official ViennaRNA website and through github.


The package should be easily portable. It is known to compile without modifications at least under SunOS 5.x, IRIX 5.x and 6.x, Linux, and MS Windows with the Cygwin environment. Other UNIX flavors should present no problems. You need a compiler that understands ANSI C. See the INSTALL file for details.

Executable Programs

The following executable programs are provided:

  • RNA2Dfold Compute MFE structure, partition function and representative sample structures of k,l neighborhoods
  • RNAaliduplex Predict conserved RNA-RNA interactions between two alignments
  • RNAalifold Calculate secondary structures for a set of aligned RNA sequences
  • RNAcofold Calculate secondary structures of two RNAs with dimerization
  • RNAdistance Calculate distances between RNA secondary structures
  • RNAduplex Compute the structure upon hybridization of two RNA strands
  • RNAeval Evaluate free energy of RNA sequences with given secondary structure
  • RNAfold Calculate minimum free energy secondary structures and partition function of RNAs
  • RNAheat Calculate the specific heat (melting curve) of an RNA sequence
  • RNAinverse Find RNA sequences with given secondary structure (sequence design)
  • RNALalifold Calculate locally stable secondary structures for a set of aligned RNAs
  • RNALfold Calculate locally stable secondary structures of long RNAs
  • RNApaln RNA alignment based on sequence base pairing propensities
  • RNApdist Calculate distances between thermodynamic RNA secondary structures ensembles
  • RNAparconv Convert energy parameter files from ViennaRNA 1.8 to 2.0 format
  • RNAPKplex Predict RNA secondary structures including pseudoknots
  • RNAplex Find targets of a query RNA
  • RNAplfold Calculate average pair probabilities for locally stable secondary structures
  • RNAplot Draw RNA Secondary Structures in PostScript, SVG, or GML
  • RNApvmin Calculate a perturbation vector that minimizes discripancies between predicted and observed pairing probabilities
  • RNAsnoop Find targets of a query H/ACA snoRNA
  • RNAsubopt Calculate suboptimal secondary structures of RNAs
  • RNAup Calculate the thermodynamics of RNA-RNA interactions
  • AnalyseSeqs Analyse sequence data
  • AnalyseDists Analyse distance matrices

A couple of useful utilities can be found in the src/Utils directory.

All executables read from stdin and write to stdout and use command line switches rather than menus to be easily usable in pipes.

For more detailed information see the man pages. Perl utilities contain POD documentation that can be read by typing e.g.



If you use our software package, you may want to cite

R. Lorenz et al. (2011), "ViennaRNA Package 2.0", Algorithms for Molecular Biology, 6:26


I.L. Hofacker (1994), "Fast folding and comparison of RNA secondary structures", Monatshefte fuer Chemie, Volume 125, Issue 2, pp 167-188

Note, that the individual executable programs state their own list of references in the corresponding man-pages.

Energy Parameters

Since version 2.0 the build-in energy parameters, also available as parameter file rna_turner2004.par, are taken from:

D.H. Mathews et al. (2004), "Incorporating chemical modification constraints into a dynamic programming algorithm for prediction of RNA secondary structure", Proc. Natl. Acad. Sci. USA: 101, pp 7287-7292


D.H. Turner et al. (2009), "NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure", Nucleic Acids Research: 38, pp 280-282.

For backward compatibility we also provide energy parameters from Turner et al. 1999 in the file rna_turner1999.par. Additionally, a set of trained RNA energy parameters from Andronescou et al. 2007, rna_andronescou2007.par, a set of RNA energy parameters obtained by graft and grow genetic programming from Langdon et al. 2018, rna_langdon2018.par, and two sets of DNA parameters, dna_mathews1999.par and dna_mathews2004.par, are included in the package as well.


We need your feedback! Send your comments, suggestions, and questions to

Ivo Hofacker, Spring 2006