# Utilities

We also ship a number of small utilities, many of them to manipulate the PostScript files produced by the structure prediction programs RNAfold and RNAalifold.

Most of the Perl 5 utilities contain embedded pod documentation. Type e.g.

    perldoc relplot.pl

for detailed instructions.

## Available Tools

Tool Name | Description
--- | ---
ct2db | Produce dot bracket notation of an RNA secondary structure given as mfold `.ct` file

b2mt.pl

Produce a mountain representation of a secondary structure
from it’s dot-bracket notation, as produced by RNAfold.
Output consists of simple `x y` data suitable as input to a
plotting program. The mountain representation is a xy plot with
sequence position on the x-axis and the number of base pairs
enclosing that position on the y-axis.

Example:

    RNAfold < my.seq | b2mt.pl | xmgrace -pipe

cmount.pl

Produce a PostScript mountain plot from a color dot plot as
created by RNAalifold -p or `alidot -p`. Each base pair
is represented by a trapez whose color encodes the number of
consistent and compensatory mutations supporting that pair:
Red marks pairs with no sequence variation; ochre, green, turquoise,
blue, and violet mark pairs with 2,3,4,5,6 different types of pairs,
respectively.

Example:

    cmount.pl alidot.ps > cmount.ps

coloraln.pl

Reads a sequence alignment in `CLUSTAL` format and a consensus
secondary structure (which it extracts from a secondary structure
plot as produced by RNAalifold), and produces a postscript figure
of the alignment annotated using the consensus structure, coloring
base pair using the same color scheme as `cmount.pl`, RNAalifold
and `alidot`.

Example:

    coloraln.pl -s alirna.ps file.aln > coloraln.ps

colorrna.pl

Reads a consensus secondary structure plot and a color dot plot
as produced by RNAalifold -p, and writes a new secondary
structure plot in which base pairs a colored using the color
information from the dot plot.

Example:

    colorrna.pl alirna.ps alidot.ps > colorRNA.ps

mountain.pl

Similar to `b2mt.pl`, but produces a mountain plot from the
pair probabilities contained in a PostScript dot plot. It write
3 sets of x y data, suitable as input for a plot program. The
first two sets containing the mountain representation from pair
probabilities and MFE structure, the third set is the
“positional entropy” a measure of structural well-definedness.

Example:

    mountain.pl dot.ps | xmgrace -pipe

refold.pl | Refold using consensus structure as constraint

relplot.pl

Reads a postscript secondary structure plot and a dot plot
containing pair probabilities as produced by RNAfold -p,
and produces a new structure plot, color annotated with reliability
information in the form of either pair probabilities or positional
entropy (default).

Example:

    relplot.pl foo_ss.ps foo_dp.ps > foo_rss.ps

rotate_ss.pl

Reads a postscript secondary structure plot as produced by
RNAfold and produces a new rotated and/or mirrored
structure plot.

Example:

    rotate_ss.pl -a 30 -m foo_ss.ps > foo_new_ss.ps

switch.pl

Design sequences that can adopt two different structure, i.e.
design RNA switches. The program will sample the set of sequences
compatible with two input structures in order to find sequences with
desired thermodynamic and kinetic properties. In particular it is
possible to specify two different temperatures such that structure
1 is favored at T1 and structure 2 at T2 to design temperature
sensitive switches (RNA thermometers). The desired height of the
energy barrier separating the two structures, thus determining
the refolding time between meta-stable states.

RNAdesign.pl

Flexible design of multi-stable RNA molecules. An initially random
sequence is iteratively mutated and evaluated according to an
objective function (see Option: `--optfun`). Whenever a better
scoring sequence has been found, the mutation is accepted, the
algorithm terminates once a local minimum is found. This script
makes heavy use of the `RNA::Design` sub-package that comes
with the ViennaRNA Package `Perl 5` interface.