The ViennaRNA Package
C PostScript C++ Perl Python M4 Other
Latest commit dce7f6e Oct 13, 2017 @RaumZeit RaumZeit Merge tag 'v2.4.2'
This is version 2.4.2
Failed to load latest commit information.
RNA-Tutorial Merge commit '3040a4ea78703c23ce7f9b28b299002d2453d205' as 'RNA-Tutor… Aug 2, 2017
doc Prepare for release 2.4.2 Oct 13, 2017
examples Added new example programs and snippets to reference manual Oct 21, 2016
interfaces More cleanup and simplifications in constraints_hard.c Oct 12, 2017
m4 AUTOCONF: Add compiler flag information for static-executable check w… Oct 12, 2017
man Remove erroneous double escapes from help2man output Oct 12, 2017
misc Cosmetic changes for new neighbor/walk feature set Mar 8, 2017
packaging Prepare for release 2.4.2 Oct 13, 2017
src Fix invalid access of pair table entry in simple_xy_coordinates Oct 13, 2017
tests TESTS: Be a bit more permissive when comparing equilibrium probabilities Oct 12, 2017
.gitignore Add more files to .gitignore Apr 12, 2017
.gitmodules Removed git submodules Oct 13, 2016
.travis.yml Add more missing latex packages to .travis.yml Aug 1, 2017
AUTHORS Merge v2.1.0 May 4, 2015
COPYING mention readseq separately Feb 15, 2003
ChangeLog Prepare for release 2.4.2 Oct 13, 2017
INSTALL Bump to version 2.3.3 Jan 24, 2017
INSTALL.configure make sure INSTALL.configure is in the distribution May 14, 2001 Finalize including RNA Bioinformatics tutorial as subdir RNA-Tutorial… Aug 2, 2017
NEWS Merge v2.1.0 May 4, 2015
README Prepare for release 2.4.2 Oct 13, 2017 Add .travis.yml automatic build of dist-tarballs at Apr 3, 2017 Use generic hard constraints by default Dec 14, 2016
THANKS Switched from hand-made Makefiles to automake and autoconf Apr 30, 2001 This is version 2.2.0 Jan 24, 2016 Prepare for release 2.4.2 Oct 13, 2017
licence.txt Merge v2.1.3 May 4, 2015

Build Status

This is Version 2.4.2 of the ViennaRNA Package.

See the NEWS and Changelog files for differences to previous 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.

See the NEWS and Changelog files for changes between versions.

Please read the copyright notice in the file COPYING!

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

The following executables 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. perldoc

Since version 2.0 the build-in energy parameters (available as parameter file default.par as well) 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' and two sets of DNA parameters ('dna_mathews1999.par' and 'dna_mathews2004.par') are included in the package as well. The code very rarely uses static arrays, and all programs should work for sequences up to a length of 32700 (if you have huge amounts of memory that is).

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 on the web at

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

Ivo Hofacker, Spring 2006