hybrid-min — hybridize two RNA or DNA sequences


hybrid-min [OPTION]... FILE1 hybrid-min --quiet [OPTION]....IR SEQUENCE hybrid-min --stream [OPTION]...


hybrid-min computes a minimum energy hybridization of the sequences in FILE1 and FILE2. If the suffix option is used, the hybridization is computed using the energy rules with the suffix extension; otherwise, it is computed at each temperature from tMin to tMax degrees Celsius, in increments of tInc degrees. All output files are named with a prefix which consists of the first file name, a dash and the second file name, with the extension .seq removed from each file name. The free energy at each temperature is written to prefix.dG. The minimum energy structure is written to prefix.temperature.ct, and an ASCII representation is written to prefix.temperature.asc. hybrid-min also writes prefix.temperature.plot and prefix.temperature.ext in the manner of hybrid; each probability is either 1 or 0. A summary of the options the program was invoked with is written to


set nucleic acid type to RNA or DNA. Default is RNA.
-t, --tmin=REAL
set minimum temperature to REAL °C. Default is 37.
-i, --tinc=REAL
set temperature increment to REAL C°. Default is 1.
-T, --tmax=REAL
set maximum temperature to REAL °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 --tmin, --tinc, --tmax, --sodium, --magnesium and --polymer.
-o, --output=STRING
name output files with the prefix STRING.
-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, force bases i to i+k-1 of the first sequence to be double-stranded; if i is 0, force bases j to j-k+1 of the second sequence 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 of the first sequence from pairing at all; if i is 0, prohibit bases j to j-k+1 of the second sequence 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 of the first sequence from pairing with any base from k to l of the second sequence.
-E, --energy-only
skip computation of structure and output only prefix.dG and This mode uses less time and memory.
-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 option below.)
-F, --mfold[=P[,W][,MAX]]
perform multiple (suboptimal) tracebacks in the style of mfold. P indicates the percent suboptimality to consider; only structures with energies within P% of the minimum will be output. W indicates the window size; a structure must have at least W basepairs that are each a distance of at least W away from any basepair in a previous structure. MAX represents an absolute limit on the number of structures computed. When --mfold is specified, UNAFold also writes prefix.ann and prefix.plot. These files contain the p-num values and the energy dot plot, respectively. If any arguments are not specified, they default to 5,*,100; W determined by sequence length.
-q, --quiet
interpret the arguments on the command line as sequences themselves, rather than as names of files containing sequences. No files are written, and standard output consists only of the free energies.
-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.
-b, --basepairs=FILE
read a list of allowable helices from FILE. Each helix consists of three whitespace-delimited numbers, which specify the starting basepair and the length of the helix. When this option is used, all basepairs except those in FILE are prohibited from forming.


allow basepairs to form between any two nucleotides. When --allpairs is not specified, only Watson-Crick and wobble basepairs are allowed.
-d, --debug
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.
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.)
read sequences from standard input rather than a file. Quiet mode is implied, so that free energies are written on standard output and no files are created.


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. hybrid-min 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(1), hybrid-ss-min(1)


Nick Markham <> and Michael Zuker <>


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


Both commercial and non-commercial use of UNAFold require a license from RPI; see