Font size: Increase font size Decrease font size Switch style sheet from default to highcontrast and back



RNAsubopt − manual page for RNAsubopt 2.3.2


RNAsubopt [OPTIONS]...


RNAsubopt 2.3.2

calculate suboptimal secondary structures of RNAs

reads RNA sequences from stdin and (in the default −e mode) calculates all suboptimal secondary structures within a user defined energy range above the minimum free energy (mfe). It prints the suboptimal structures in dot−bracket notation followed by the energy in kcal/mol to stdout. Be careful, the number of structures returned grows exponentially with both sequence length and energy range.

Alternatively, when used with the −p option, RNAsubopt produces Boltzmann weighted samples of secondary structures.
, −−help

Print help and exit


Print help, including all details and hidden options, and exit


Print help, including hidden options, and exit

−V, −−version

Print version and exit

General Options:

Command line options which alter the general behavior of this program

−v, −−verbose

Be verbose



Do not automatically substitude nucleotide "T" with "U"


Structure Constraints:

Command line options to interact with the structure constraints feature of this program


Set the maximum base pair span


−C, −−constraint[=<filename>] Calculate structures subject to


The program reads first the sequence, then a string containing constraints on the structure encoded with the symbols:

. (no constraint for this base)

| (the corresponding base has to be paired

x (the base is unpaired)

< (base i is paired with a base j>i)

> (base i is paired with a base j<i)

and matching brackets ( ) (base i pairs base j)

With the exception of "|", constraints will disallow all pairs conflicting with the constraint. This is usually sufficient to enforce the constraint, but occasionally a base may stay unpaired in spite of constraints. PF folding ignores constraints of type "|".


Use constraints for multiple sequences. (default=off)

Usually, constraints provided from input file only apply to a single input sequence. Therefore, RNAfold will stop its computation and quit after the first input sequence was processed. Using this switch, RNAfold processes multiple input sequences and applies the same provided constraints to each of them.


Remove non−canonical base pairs from the structure constraint



Enforce base pairs given by round brackets ( ) in structure constraint



Use SHAPE reactivity data in the folding recursions (does not work for Zuker suboptimals and stochastic backtracking yet)

−−shapeMethod=[D/Z/W] + [optional parameters]

Specify the method how to convert SHAPE

reactivity data to pseudo energy



The following methods can be used to convert SHAPE reactivities into pseudo energy contributions.

’D’: Convert by using a linear equation according to Deigan et al 2009. The calculated pseudo energies will be applied for every nucleotide involved in a stacked pair. This method is recognized by a capital ’D’ in the provided parameter, i.e.: −−shapeMethod="D" is the default setting. The slope ’m’ and the intercept ’b’ can be set to a non−default value if necessary, otherwise m=1.8 and b=−0.6. To alter these parameters, e.g. m=1.9 and b=−0.7, use a parameter string like this: −−shapeMethod="Dm1.9b−0.7". You may also provide only one of the two parameters like: −−shapeMethod="Dm1.9" or −−shapeMethod="Db−0.7".

’Z’: Convert SHAPE reactivities to pseudo energies according to Zarringhalam et al 2012. SHAPE reactivities will be converted to pairing probabilities by using linear mapping. Aberration from the observed pairing probabilities will be penalized during the folding recursion. The magnitude of the penalties can affected by adjusting the factor beta (e.g. −−shapeMethod="Zb0.8").

’W’: Apply a given vector of perturbation energies to unpaired nucleotides according to Washietl et al 2012. Perturbation vectors can be calculated by using RNApvmin.


+ [optional parameters] Specify the method used to convert SHAPE

reactivities to pairing probabilities when

using the SHAPE approach of Zarringhalam et al.


The following methods can be used to convert SHAPE reactivities into the probability for a certain nucleotide to be unpaired.

’M’: Use linear mapping according to Zarringhalam et al. ’C’: Use a cutoff−approach to divide into paired and unpaired nucleotides (e.g. "C0.25") ’S’: Skip the normalizing step since the input data already represents probabilities for being unpaired rather than raw reactivity values ’L’: Use a linear model to convert the reactivity into a probability for being unpaired (e.g. "Ls0.68i0.2" to use a slope of 0.68 and an intercept of 0.2) ’O’: Use a linear model to convert the log of the reactivity into a probability for being unpaired (e.g. "Os1.6i−2.29" to use a slope of 1.6 and an intercept of −2.29)


Select the algorithms which should be applied to the given RNA sequence.

−e, −−deltaEnergy=range

Compute suboptimal structures with energy in a certain range of the optimum (kcal/mol). Default is calculation of mfe structure only.


Only print structures with energy within range of the mfe after post reevaluation of energies.

Useful in conjunction with −logML, −d1 or −d3: while the −e option specifies the range before energies are re−evaluated, this option specifies the maximum energy after re−evaluation.

−s, −−sorted

Sort the suboptimal structures by energy. (default=off)

Since the sort in is done in memory, this becomes impractical when the number of structures produced goes into millions. In such cases better pipe the output through "sort +1n".

−p, −−stochBT=number

Instead of producing all suboptimals in an energy range, produce a random sample of suboptimal structures, drawn with probabilities equal to their Boltzmann weights via stochastic backtracking in the partition function. The −e and −p options are mutually exclusive.


Same as "−−stochBT" but also print out the energies and probabilities of the backtraced structures.

−S, −−pfScale=scaling factor

In the calculation of the pf use scale*mfe as an estimate for the ensemble free energy (used to avoid overflows). Needed by stochastic backtracking

The default is 1.07, useful values are 1.0 to 1.2. Occasionally needed for long sequences. You can also recompile the program to use double precision (see the README file).

−c, −−circ

Assume a circular (instead of linear) RNA molecule.


−D, −−dos

Compute density of states instead of secondary structures


This option enables the evaluation of the number of secondary structures in certain energy bands around the MFE.

−z, −−zuker

Compute Zuker suboptimals instead of all suboptimal structures within an engery band around the MFE.


−g, −−gquad

Incoorporate G−Quadruplex formation into the structure prediction algorithm (no support of G−quadruplex prediction for stochastic backtracking and Zuker−style suboptimals yet)


Model Details:
, −−temp=DOUBLE

Rescale energy parameters to a temperature of temp C. Default is 37C.

−4, −−noTetra

Do not include special tabulated stabilizing energies for tri−, tetra− and hexaloop hairpins.


Mostly for testing.

−d, −−dangles=INT

How to treat "dangling end" energies for bases adjacent to helices in free ends and multi−loops


With −d1 only unpaired bases can participate in at most one dangling end, this is the default for mfe folding but unsupported for the partition function folding.

With −d2 this check is ignored, dangling energies will be added for the bases adjacent to a helix on both sides in any case; this is the default for partition function folding (−p). The option −d0 ignores dangling ends altogether (mostly for debugging). With −d3 mfe folding will allow coaxial stacking of adjacent helices in multi−loops. At the moment the implementation will not allow coaxial stacking of the two interior pairs in a loop of degree 3 and works only for mfe folding.

Note that by default (as well as with −d1 and −d3) pf and mfe folding treat dangling ends differently. Use −d2 in addition to −p to ensure that both algorithms use the same energy model.


Produce structures without lonely pairs (helices of length 1).


For partition function folding this only disallows pairs that can only occur isolated. Other pairs may still occasionally occur as helices of length 1.


Do not allow GU pairs



Do not allow GU pairs at the end of helices



Recalculate energies of structures using a logarithmic energy function for multi−loops before output. (default=off)

This option does not effect structure generation, only the energies that are printed out. Since logML lowers energies somewhat, some structures may be missing.

−P, −−paramFile=paramfile

Read energy parameters from paramfile, instead of using the default parameter set.

A sample parameter file should accompany your distribution. See the RNAlib documentation for details on the file format.


Allow other pairs in addition to the usual AU,GC,and GU pairs.

Its argument is a comma separated list of additionally allowed pairs. If the first character is a "−" then AB will imply that AB and BA are allowed pairs. e.g. RNAfold −nsp −GA will allow GA and AG pairs. Nonstandard pairs are given 0 stacking energy.


Rarely used option to fold sequences from the artificial ABCD... alphabet, where A pairs B, C−D etc. Use the energy parameters for GC (−e 1) or AU (−e 2) pairs.


Set the scaling of the Boltzmann factors (default=‘1.’)

The argument provided with this option enables to scale the thermodynamic temperature used in the Boltzmann factors independently from the temperature used to scale the individual energy contributions of the loop types. The Boltzmann factors then become exp(−dG/(kT*betaScale)) where k is the Boltzmann constant, dG the free energy contribution of the state and T the absolute temperature.


If you use this program in your work you might want to cite:

R. Lorenz, S.H. Bernhart, C. Hoener zu Siederdissen, H. Tafer, C. Flamm, P.F. Stadler and I.L. Hofacker (2011), "ViennaRNA Package 2.0", Algorithms for Molecular Biology: 6:26

I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster (1994), "Fast Folding and Comparison of RNA Secondary Structures", Monatshefte f. Chemie: 125, pp 167-188

S. Wuchty, W. Fontana, I. L. Hofacker and P. Schuster (1999), "Complete Suboptimal Folding of RNA and the Stability of Secondary Structures", Biopolymers: 49, pp 145-165

The energy parameters are taken from:

D.H. Mathews, M.D. Disney, D. Matthew, J.L. Childs, S.J. Schroeder, J. Susan, M. Zuker, D.H. Turner (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, D.H. Mathews (2009), "NNDB: The nearest neighbor parameter database for predicting stability of nucleic acid secondary structure", Nucleic Acids Research: 38, pp 280-282


Ivo L Hofacker, Stefan Wuchty, Walter Fontana, Ronny Lorenz


If in doubt our program is right, nature is at fault. Comments should be sent to