Institute of Computer Science
University Freiburg

LocARNA - Alignment of RNAs


The LocARNA package comprises several tools for producing fast and high-quality pairwise and multiple alignment of RNA sequences of unknown structure. These tools build on the Turner free energy model of RNAs to simultaneously fold and align (or match) RNAs based on their sequence and structure features.

The tools come with many practically relevant features like support of anchor and structure constraints, support of local folding, and effective heuristics. The package comprises the following tools

  • LocARNA (i.e., tools locarna and mlocarna) performs global and local alignment of two or multiple RNAs. In local alignment, local motifs are defined as either subsequences (sequence locality) or substructures (structure locality). This tutorial video by Mathias Möhl provides a quick basic overview. For more algorithmic background, e.g. see these lecture slides. LocARNA-based clustering is supported via RNAclust.
  • LocARNA-P calulates reliabilities (based on partition functions) of global simultaneous folding and alignment (mlocarna --probabilistic) and predicts RNA boundaries. These slides provide more background.
  • SPARSE performs global alignment of two or multiple RNAs similar to LocARNA, but more efficiently. For algorithmic background, e.g. see these slides.
  • ExpaRNA-P predicts exact local sequence and structure matches between RNAs of unknown structure (simultaneously predicting their structure.) The pipeline ExpLoc-P (exploc_p) uses such matches for fast multiple alignment.

This page mostly describes LocARNA and LocARNA-P; for SPARSE and ExpaRNA-P please visit their dedicated webpages.

Some other closely related tools, which however are not distributed with LocARNA, may be of interest:

  • CARNA makes use of the LocARNA library, but computes alignments based on unlimited RNA secondary structures via a constraint programming approach.
  • REAPR predicts novel ncRNA candidates in whole genomes based on structure-based LocARNA realignments of existing (sequence-based) whole genome alignments. Efficient realignment is integrated into LocARNA.

The Freiburg RNA Tools Web Server makes the main package features (LocARNA and LocARNA-P) available online.

Download / Installation

  • Latest Release: LocARNA (2018-27-06) Maintenance patch [source] (ChangeLog)
    For installation from source, follow these installation instructions. At times the source release may be ahead of some or all bin packages; otherwise installation from bin packages (conda) is recommended for offline use.

  • Installation on any GNU/Linux distribution and Mac OS X gets as simple as

    conda install -c bioconda locarna

    after setting up Conda; read more at Bioconda.

  • LocARNA resides at . The releases and the most recent --i.e., not necessarily most robust-- code are available here. Clone with

    git clone

    Compiling from the repository requires autotools; run autoreconf -i before continuing as usual.

Other downloads

Ubuntu/Debian packages (install e.g. by sudo dpkg -i locarna_*.deb):

Older releases [only source releases]. Please use the newest release unless for very good reasons:

Main Publications

Please find further related publications in the publication list of the group.


Whats new in and around the package?

Try the novel very-efficient RNA alignment tool SPARSE

SPARSE improves over the original locarna algorithm in terms of speed. Moreover, it implements and advanced lightweight simultaneous alignment and folding model, which improves its structure prediction capabilities. Currently, the tool offers a trade-off between alignment accuracy and speed. Thus, the choice of either algorithm should be based on the specific application requirements. SPARSE-specific code is contributed by Milad Miladi.

ExpaRNA-P predicts exact sequence and structure matches in RNAs of unknown structure

ExpaRNA-P enumerates exactly matching local sequence-structure patterns in RNAs of unknown structure, supporting full structural flexibility according to RNA secondary structure energy models (inheriting from the Vienna RNA package.) Based on ExpaRNA-P's exact matching, the tool ExpLoc-P performs very fast simultaneous alignment and folding of RNAs (think: "like LocARNA, but faster"). For highly efficient prediction, ExpaRNA-P introduces novel ensemble based sparsification techniques, which are a well used by SPARSE. ExpaRNA-P-specific code and the classes for the strong ensemble-based sparsification of ExpARNA-P and SPARSE are contributed by Christina Otto (nee Schmiedl).

Check out the new realignment mode used by REAPR

REAPR applies LocARNA for structure-based alignment of whole genomes to predict structural non-coding RNAs. With REAPR, we introduced a new realignment mode to LocARNA. In this mode, LocARNA aligns very fast within a small distance to a reference multiple alignment (mlocarna options --max-diff-aln and --max-diff).

Documenation of the LocARNA C++ API is now online

Installation from Source

LocARNA runs on recent GNU/Linux systems (including GYGWIN) and MacOSX. If available for your system, consider to install from a binary package. Installation from source (tar.gz file) follows the usual "autotools" scheme (configure/make).

tar xzf locarna-xxx.tar.gz
cd locarna-xxx

make check
make install

LocARNA depends on the Vienna RNA Package (recent version).

If the Vienna package is not installed in a standard path, one needs to configure with option --with-vrna="path to VRNA installation" or set the environment variable PKG_CONFIG_PATH to the pkg-config directory containing RNAlib2.pc (prefered).

See ./configure --help for further options.


There are two major uses of the tools, pairwise and multiple alignment and clustering of RNAs. The work horse of the tool package is the program locarna. However, we recommend the use of our high level scripts mlocarna, locarnate, and

Multiple Alignment - using mlocarna

Assume an input file rnas.fa in fasta format, containing several RNA sequences.

For computing a multiple alignment of these RNAs call

mlocarna rnas.fa

In its default settings, mlocarna will produce a global multiple alignment of your RNAs. The program writes some output to the screen as well as output to a directory rnas.out, where the name is derived from the input name by default. The output directory can be controlled by the option --tgtdir. Help on the many options to mlocarna is available by mlocarna --help or more conveniently mlocarna --man. The distribution contains some example input in sub-directory Examples.

Anchor and Structure Constraints. The tool mlocarna provides a convenient interface for user-specified constraints on the alignment, including anchor constraints as well as structure constraints. Constraints are specified in the fasta file as follows:

.......(((..(((xxxx))).)))...... #S
.........AAAAAA.BBBCCCC......... #1
.........123456.1231234......... #2
..............(((.....xxxxxx......)))........... #S
...........AAAAAA.....BBB.........CCCC.......... #1
...........123456.....123.........1234.......... #2

The structure constraints (lines #S) inherit their semantics from RNAfold. In consequence, the alignment can only be guided by base pairs matches that are compatible to the given constraints. The anchor constraints are specified by giving unique names to certain sequence positions, here A1,A2,A3,A4,A5,A6,B1,B2,B3,C1,C2,C3,C4 (lines #1,#2). Positions of the same name in different sequences are aligned. In each sequence, names have to be unique.

A second, slightly larger example of constraints is provided in Examples/haca.snoRNA.fa of the LocARNA package.

Multiple Alignment - using locarnate

Assume again an input file rnas.fa in fasta format, containing several RNA sequences.

For computing a local multiple alignment by locarnate call

locarnate rnas.fa
By default, the results are written to the subdirectory test_results. The final alignment is found in test_results/mult/tcoffee.aln

Help is available by locarnate --man. Note that locarnate requires tcoffee.

Clustering - using

Please jump to the RNAclust section.

Pairwise Alignment - using locarna

The pairwise alignment tool is called with two input files that specify the input sequences and optionally ensemble probabilities (as e.g.\ generated by RNAfold -p or). It accepts different file formats, which can be mixed freely. Available input formats are listed in order of increasing expressivity.

  • FASTA files or CLUSTALW files. This is the most convenient usage; LocARNA automatically predicts the ensembles of the sequences or alignments using the Vienna RNA library. LocARNA accepts an extended variant of the CLUSTALW format, which allows specifying anchor (line prefix #An) and structure constraints (line prefix #S and #FS).
  • Vienna dot plot files (dp_ps), which can be generated by RNAfold -p. This offers some flexibility in generating the ensemble probabilities (e.g., local folding).
  • LocARNA PP files in LocARNA PP format. This is the native input format of LocARNA, which provides most flexibility. The package provided tools to generate this format directly (locarna_rnafold_pp) or convert from Vienna dot plot format. It holds sequences or alignments together with ensemble probabilities; note that LocARNA can also output the generated alignment in this format. The same format is used by mlocarna for intermediate alignments. PP files can contain anchor constraints.

Further help

Further help is to mlocarna, locarnate and locarna is available via

  • help options
     mlocarna --help
     locarna --help
     locarnate --help
  • man pages
     man mlocarna
     man locarna

Library / C++ API

LocARNA implements an C++ API to its various algorithms and data structures. The library is installed together with the package, is used by the LocARNA programs themselves, and can be linked as shared library to other programs.

API HTML Documentation. This documentation can be generated by doxygen from the package sources by make doxygen-doc.


LOCARNA-P: probabilistic mode

In probabilistic mode (mlocarna option --probabilistic), LocARNA computes more accurate multiple alignments based on a probabilistic consistency transformation and reliability profiles for assessing local alignment quality and localizing RNA motifs. These features are based on computing sequence and structure match probabilities due to the LocARNA alignment model.


RNAclust is a tool for clustering of RNAs, which builds on LocARNA. RNAclust is written and copyrighted by Kristin Reiche. It replaces the cluster pipeline that was used for our paper "Inferring non-coding RNA families and classes by means of genome-scale structure-based clustering".

The latest release is available at the RNAclust web site. It requires the LocARNA and the Vienna RNA package.

Short usage: --fasta your_sequences --dir output_directory

The full documentation of is available as PDF.


This tool implements an alternative way to construct multiple alignments using locarna. While mlocarna implements various types of progressive and iterative aligmnent, where sequence-structure alignment is performed in each single step, LocARNATE employs T-Coffee for combining pairwise locarna alignments into a multiple alignment.

Originally, LocARNATE was written by Wolfgang Otto. The current version was rewritten by Nikolaus Meinzer and has special support for exparnap.


For comments, questions and suggestions, or in case of unexpected behavior, please contact me (Sebastian Will). For special questions related to the RNAclust pipeline please contact Kristin Reiche.