NAME — fold or hybridize RNA or DNA sequences with selected base pairs


DESCRIPTION performs two folding or hybridization calculations in sequence, with the output of the first calculation used to create a list of valid abse pairs for the second calculation.

Both the initial and final calculations may be either energy minimization or partition function; the default is an initial partition function calculation followed by an energy minimization.

When the initial calculation is a partition function, only base pairs having a specified probability of forming are retained for the second run. If the filtering stage is an energy minimization, only base pairs appearing in structures with energies within a specified percentage of the minimum energy are retained.

If the final calculation is an energy minimization, the --mfold option may be used; likewise, --tracebacks is acceptable if the final calculation is a partition function.


Most of the options below are passed to the subprograms to which they apply, but --cutoff, --initial and --final affect the behavior of directly.

set nucleic acid type to RNA or DNA. Default is RNA.
-t, --t=temp
set temperature to temp °C. Default is 37.
-N, --sodium=REAL
set Sodium ion concentration to REAL molar. Default is 1.
-M, --magnesium=REAL
set Magnesium ion concentration to REAL molar. Default is 0.
-p, --polymer
use salt corrections for polymers instead of oligomers (the default).
-s, --suffix=STRING
use energy rules with the suffix STRING. Overrides --t, --sodium, --magnesium and --polymer.
-f, --force=i,j[,k]
force all basepairs in the helix from i,j to i+k-1,j-k+1. If j is 0, forces bases i to i+k-1 to be double-stranded; if i is 0, forces bases j to j-k+1 to be double-stranded. k defaults to 1 if not specified.
-r, --prohibit=i,j[,k]
prohibit all basepairs in the helix from i,j to i+k-1,j-k+1. If j is 0, prohibit bases i to i+k-1 from pairing at all; if i is 0, prohibit bases j to j-k+1 from pairing at all. k defaults to 1 if not specified.
-R, --prohibit-range=i,j,k,l
prohibit any base from i to j from pairing with any base from k to l.
-I, --noisolate
prohibit all isolated basepairs. Isolated basepairs are helices of length 1; that is, they do not stack on another basepair on either side. (See also the --prefilter and --nopostfilter options below.)
-k, --tracebacks=NUMBER
compute NUMBER stochastic tracebacks and write them to prefix.temperature.ct. Stochastic tracebacks are computed according to the Boltzmann probability distribution so that the probability of a structure is its Boltzmann factor divided by the partition function.
-m, --maxbp=NUMBER
bases farther apart than NUMBER cannot form. Default is no limit.
-c, --constraints=FILE
read a list of constraints from FILE. Constraints must be in the form "F i j k", "P i j k" or "R i-j k-l". These are equivalent to specifying "--force=i,j,k", "--prohibit=i,j,k" or "--prohibit-range=i,j,k,l", respectively. If FILE is not specified, it defaults to prefix.aux.
-C, --cutoff=REAL
set the cutoff for basepairs to be included in the second run, as a probability or a percent of the minimum energy. Default is 0.001 (partition function) or 5% (energy minimization).
specify the program to run in the first phase. May be the name of a program like hybrid-ss or one of the codes "PF" and "EM". PF chooses hybrid-ss or hybrid, while EM chooses hybrid-ss-min or hybrid-min. Default is PF.
Specifies the program to run in the second phase, using the same choices as --initial. Default is EM.
treat sequence as circular rather than linear.
hybridize sequences allowing intramolecular basepairs.


allow basepairs to form between any two nucleotides. When --allpairs is not specified, only Watson-Crick and wobble basepairs are allowed.
set the maximum size of bulge/interior loops to NUMBER. Default is 30.
set the maximum asymmetry of bulge/interior loops to NUMBER. Default is 30.
remove single-base stacking from consideration.
make the penalty for multibranch loops constant rather than affine.
set the prefilter to filter out all basepairs except those in groups of value2 adjacent basepairs of which value1 can form. value2 is the same as value1 if unspecified. Default is 2 of 2. (See also the --noisolate option above.)
disable the postfilter. The postfilter, which is enabled by default, removes from consideration all structures that consist of only one basepair.


an alternate location from which to read the energy rules. The default energy rules can be overridden with files in the current directory or in the directory pointed to by UNAFOLDDAT. looks for each file first in the current directory, then in the directory specified by UNAFOLDDAT and last in /usr/local/share/unafold (or wherever the energy rules were installed).


Markham, N. R. and Zuker, M. (2008) UNAFold: software for nucleic acid folding and hybridization. In Keith, J. M., editor, Bioinformatics, Volume II. Structure, Functions and Applications, number 453 in Methods in Molecular Biology, chapter 1, pages 3-31. Humana Press, Totowa, NJ. ISBN 978-1-60327-428-9.

Other references which may be useful may be found at


hybrid-ss(1), hybrid-ss-min(1), hybrid(1), hybrid-min(1)


Nick Markham <> and Michael Zuker <>


Copyright (c) 2006-2021, Rensselaer Polytechnic Institute.


UNAFold is available from Commercial use requires a license; see