Provided by: vienna-rna_2.5.1+dfsg-1build3_amd64 bug

NAME

       RNAfold - manual page for RNAfold 2.5.1

SYNOPSIS

       RNAfold [OPTIONS] [<input0.fa>] [<input1.fa>]...

DESCRIPTION

       RNAfold 2.5.1

       Calculate minimum free energy secondary structures and partition function of RNAs

       The  program reads RNA sequences, calculates their minimum free energy (mfe) structure and prints the mfe
       structure in bracket notation and its free  energy.   If  not  specified  differently  using  commandline
       arguments,  input is accepted from stdin or read from an input file, and output printed to stdout. If the
       -p option was given it also computes the partition function (pf) and base pairing probability matrix, and
       prints the free energy of the thermodynamic ensemble, the frequency of the mfe structure in the ensemble,
       and the ensemble diversity to stdout.

       It also produces PostScript files with plots of the resulting secondary structure graph and a "dot  plot"
       of the base pairing matrix.  The dot plot shows a matrix of squares with area proportional to the pairing
       probability in the upper right half, and one square for each pair in the minimum free energy structure in
       the lower left half. For each pair i-j with probability p>10E-6 there is a line of the form

       i  j  sqrt(p)  ubox

       in the PostScript file, so that the pair probabilities can be easily extracted.

       Sequences  may  be  provided  in  a simple text format where each sequence occupies a single line. Output
       files are named "rna.ps" and "dot.ps". Existing files of the same name will be overwritten.

       It is also possible to provide sequence data in FASTA format. In this case, the first word of  the  FASTA
       header  will be used as prefix for output file names.  PostScript files "prefix_ss.ps" and "prefix_dp.ps"
       are produced for the structure and dot plot, respectively. Note,  however,  that  once  FASTA  input  was
       provided all following sequences must be in FASTA format too.

       To avoid problems with certain operating systems and/or file systems the prefix will ALWAYS be sanitized!
       This   step  substitutes  any  special  character  in  the  prefix  by  a  filename  delimiter.  See  the
       --filename-delim option to change the delimiting character according to your requirements.

       The program will continue to read new sequences until a line consisting of the single character @  or  an
       end of file (EOF) condition is encountered.

       -h, --help
              Print help and exit

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

       --full-help
              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.

              (default=off)

       -j, --jobs[=number]
              Split  batch input into jobs and start processing in parallel using multiple threads. A value of 0
              indicates to use as many parallel threads as computation cores are available.

              (default=`0')

              Default processing of input data is performed in a serial fashion, i.e. one sequence  at  a  time.
              Using  this  switch,  a  user can instead start the computation for many sequences in the input in
              parallel. RNAfold will create as many parallel computation slots as specified  and  assigns  input
              sequences  of  the  input  file(s)  to  the  available  slots.  Note,  that  this increases memory
              consumption since input alignments have to be kept in  memory  until  an  empty  compute  slot  is
              available and each running job requires its own dynamic programming matrices.

       --unordered
              Do not try to keep output in order with input while parallel processing is in place.

              (default=off)

              When  parallel  input  processing  (--jobs flag) is enabled, the order in which input is processed
              depends on the host machines job scheduler. Therefore, any output to stdout or files generated  by
              this  program  will  most  likely  not  follow  the order of the corresponding input data set. The
              default of RNAfold is to use a specialized data structure to still  keep  the  results  output  in
              order  with  the  input data. However, this comes with a trade-off in terms of memory consumption,
              since all output must be kept in memory for as long as no chunks of  consecutive,  ordered  output
              are  available. By setting this flag, RNAfold will not buffer individual results but print them as
              soon as they have been computated.

       -i, --infile=<filename>
              Read a file instead of reading from stdin

              The default behavior of RNAfold is to read input from stdin or  the  file(s)  that  follow(s)  the
              RNAfold  command.  Using  this  parameter the user can specify input file names where data is read
              from. Note, that any additional files supplied to RNAfold are still processed as well.

       -o, --outfile[=<filename>]
              Print output to file instead of stdout

              This option may be used to write all output to output files rather than printing  to  stdout.  The
              default  filename is "RNAfold_output.fold" if no FASTA header precedes the input sequences and the
              --auto-id feature  is  inactive.  Otherwise,  output  files  with  the  scheme  "prefix.fold"  are
              generated,  where  the "prefix" is taken from the sequence id, e.g. the FASTA header. The user may
              specify a single output file name for all data generated from the input by supplying a filename as
              argument following immediately after this parameter.  In  case  a  file  with  the  same  filename
              already  exists, any output of the program will be appended to it. Note: Any special characters in
              the filename will be replaced by the filename delimiter, hence there is no way to pass  an  entire
              directory path through this option (yet). (See also the "--filename-delim" parameter)

       -t, --layout-type=INT
              Choose the layout algorithm.  (default=`1')

              Select  the  layout  algorithm that computes the nucleotide coordinates.  Currently, the following
              algorithms are available:

              0: simple radial layout

              1: Naview layout (Bruccoleri et al. 1988)

              2: circular layout

              3: RNAturtle (Wiegreffe et al. 2018)

              4: RNApuzzler (Wiegreffe et al. 2018)

       --noPS Do not produce postscript drawing of the mfe structure.

              (default=off)

       --noDP Do not produce dot-plot postscript file containing base pair or stack probabilitities.

              (default=off)

              In combination with the -p option, this flag turns-off  creation  of  individual  dot-plot  files.
              Consequently,  computed  base  pair  probability  output is omitted but centroid and MEA structure
              prediction is still performed.

       --noconv
              Do not automatically substitute nucleotide "T" with "U"

              (default=off)

       --auto-id
              Automatically generate an ID for each sequence.  (default=off)

              The default mode of RNAfold is to automatically determine an ID from the input  sequence  data  if
              the  input  file  format  allows to do that. Sequence IDs are usually given in the FASTA header of
              input sequences. If this flag is active, RNAfold ignores any IDs  retrieved  from  the  input  and
              automatically  generates  an  ID for each sequence. This ID consists of a prefix and an increasing
              number. This flag can also be used to add a FASTA header to the output even if the input has none.

       --id-prefix=prefix
              Prefix for automatically generated IDs (as used in output file names)

              (default=`sequence')

              If this parameter is set, each sequence will be prefixed with  the  provided  string.  Hence,  the
              output  files  will  obey  the  following  naming scheme: "prefix_xxxx_ss.ps" (secondary structure
              plot), "prefix_xxxx_dp.ps" (dot-plot), "prefix_xxxx_dp2.ps" (stack probabilities), etc. where xxxx
              is the sequence number. Note: Setting this parameter implies --auto-id.

       --id-delim=delimiter
              Change the delimiter between prefix and increasing number for automatically generated IDs (as used
              in output file names)

              (default=`_')

              This parameter can be used to change the default delimiter "_" between

              the prefix string and the increasing number for automatically generated ID.

       --id-digits=INT
              Specify the number of digits of the counter in automatically generated alignment IDs.

              (default=`4')

              When alignments IDs are automatically generated, they receive an increasing number, starting  with
              1.  This  number  will  always  be  left-padded  by leading zeros, such that the number takes up a
              certain width. Using this parameter, the width can be  specified  to  the  users  need.  We  allow
              numbers in the range [1:18]. This option implies --auto-id.

       --id-start=LONG
              Specify the first number in automatically generated alignment IDs.

              (default=`1')

              When sequence IDs are automatically generated, they receive an increasing number, usually starting
              with  1.  Using this parameter, the first number can be specified to the users requirements. Note:
              negative numbers are not allowed.   Note:  Setting  this  parameter  implies  to  ignore  any  IDs
              retrieved from the input data, i.e. it activates the --auto-id flag.

       --filename-delim=delimiter
              Change the delimiting character that is used

              for sanitized filenames

              (default=`ID-delimiter')

              This  parameter  can  be  used to change the delimiting character used while sanitizing filenames,
              i.e. replacing invalid characters. Note, that the default delimiter ALWAYS is the first  character
              of  the "ID delimiter" as supplied through the --id-delim option. If the delimiter is a whitespace
              character or empty, invalid characters will be simply removed rather than substituted.  Currently,
              we  regard  the  following  characters  as illegal for use in filenames: backslash '\', slash '/',
              question mark '?', percent sign '%', asterisk '*', colon ':', pipe symbol '|', double  quote  '"',
              triangular brackets '<' and '>'.

       --filename-full
              Use full FASTA header to create filenames

              (default=off)

              This  parameter can be used to deactivate the default behavior of limiting output filenames to the
              first word of the sequence ID.  Consider  the  following  example:  An  input  with  FASTA  header
              ">NM_0001  Homo Sapiens some gene" usually produces output files with the prefix "NM_0001" without
              the additional data available in the FASTA header, e.g. "NM_0001_ss.ps"  for  secondary  structure
              plots.  With  this  flag set, no truncation of the output filenames is done, i.e. output filenames
              receive the full FASTA header data as prefixes. Note, however, that invalid  characters  (such  as
              whitespace)  will  be  substituted  by  a  delimiting  character  or simply removed, (see also the
              parameter option --filename-delim).

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

       --maxBPspan=INT
              Set the maximum base pair span

              (default=`-1')

       -C, --constraint[=<filename>] Calculate structures subject to constraints.
              (default=`')

              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 "|".

       --batch
              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.

       --canonicalBPonly
              Remove non-canonical base pairs from the structure constraint

              (default=off)

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

              (default=off)

       --shape=<filename>
              Use SHAPE reactivity data to guide structure predictions

       --shapeMethod=D|Z|W
              Select SHAPE reactivity data incorporation strategy.

              (default=`D')

              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.

              Derived  pseudo energy terms 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.

       --shapeConversion=M|C|S|L|O
              Select method to convert SHAPE reactivities to

       pairing probabilities.
              (default=`O')

              This  parameter  is  useful when dealing with the SHAPE incorporation according to 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)

       --motif=SEQUENCE,STRUCTURE,ENERGY
              Specify stabilizing effect of ligand binding to

              a particular sequence/structure motif.

              Some  ligands  binding to RNAs require and/or induce particular sequence and structure motifs. For
              instance they bind to an interior loop, or small hairpin loop. If for such cases  a  binding  free
              energy is known, the binding and therefore stabilizing effect of the ligand can be included in the
              folding  recursions.  Interior  loop  motifs  are  specified as concatenations of 5' and 3' motif,
              separated by an '&' character.

              Energy contributions must be specified in kcal/mol.

              See the manpage for an example usage of this option.

       --commands=<filename>
              Read additional commands from file

              Commands include hard and soft constraints, but also structure  motifs  in  hairpin  and  interior
              loops  that  need to be treeted differently. Furthermore, commands can be set for unstructured and
              structured domains.

   Algorithms:
              Select additional algorithms which should be included  in  the  calculations.   The  Minimum  free
              energy (MFE) and a structure representative are calculated in any case.

       -p, --partfunc[=INT]
              Calculate the partition function and base pairing probability matrix.

              (default=`1')

              In  addition  to  the  MFE structure we print a coarse representation of the pair probabilities in
              form of a pseudo bracket notation followed by the ensemble free energy. This notation makes use of
              the letters " . , | { } ( ) "  denoting  bases  that  are  essentially  unpaired,  weakly  paired,
              strongly  paired  without  preference,  weakly  upstream  (downstream)  paired,  or  strongly  up-
              (down-)stream paired bases, respectively. On the next line the centroid structure as derived  from
              the  pair  probabilities  together  with  its  free  energy and distance to the ensemble is shown.
              Finally it prints the frequency of the mfe structure, and the structural diversity (mean  distance
              between  the structures in the ensemble).  See the description of pf_fold() and mean_bp_dist() and
              centroid() in the RNAlib documentation for details.  Note that unless you also specify -d2 or -d0,
              the partition function and mfe calculations will use a slightly different energy  model.  See  the
              discussion of dangling end options below.

              An  additionally  passed  value  to  this  option  changes  the  behavior  of  partition  function
              calculation: -p0 Calculate the partition function but not the pair probabilities, saving about 50%
              in runtime. This prints the ensemble free energy -kT ln(Z).  -p2 Compute stack probabilities, i.e.
              the probability that a  pair  (i,j)  and  the  immediately  interior  pair  (i+1,j-1)  are  formed
              simultaneously   in   addition  to  pair  probabilities.  A  second  postscript  dot  plot  called
              "name_dp2.ps", or "dot2.ps" (if the sequence does not have a name), is produced that contains pair
              probabilities in the upper right half and stack probabilities in the lower left.

       --MEA[=gamma]
              Calculate an MEA (maximum expected accuracy) structure, where the expected  accuracy  is  computed
              from  the  pair  probabilities: each base pair (i,j) gets a score 2*gamma*p_ij and the score of an
              unpaired base is given by the probability of not forming a pair.

              (default=`1.')

              The parameter gamma tunes the importance of correctly predicted pairs versus unpaired bases. Thus,
              for small values of gamma the MEA structure will contain only pairs with  very  high  probability.
              Using --MEA implies -p for computing the pair probabilities.

       -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).

              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.

              (default=off)

       --ImFeelingLucky
              Return exactly one stochastically backtracked structure

              (default=off)

              This  function  computes  the  partition  function  and  returns  exactly  one secondary structure
              stochastically sampled from the Boltzmann equilibrium according to its probability in the ensemble

       --bppmThreshold=<value>
              Set the threshold for base pair probabilities included in the postscript output

              (default=`1e-5')

              By setting the threshold the base pair probabilities that  are  included  in  the  output  can  be
              varied.  By  default  only those exceeding 1e-5 in probability will be shown as squares in the dot
              plot. Changing the threshold to any other value allows for increase or decrease of data.

       -g, --gquad
              Incoorporate G-Quadruplex formation into the structure prediction algorithm.

              (default=off)

   Model Details:
       -T, --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.

              (default=off)

              Mostly for testing.

       -d, --dangles=INT
              How to treat "dangling end" energies for bases adjacent to helices in free ends and multi-loops

              (default=`2')

              With -d1 only unpaired bases can participate in at most one dangling end.  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 mfe and 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 with -d1 and -d3 only the MFE computations will be using this  setting  while  partition
              function uses -d2 setting, i.e. dangling ends will be treated differently.

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

              (default=off)

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

       --noGU Do not allow GU pairs

              (default=off)

       --noClosingGU
              Do not allow GU pairs at the end of helices

              (default=off)

       -P, --paramFile=paramfile
              Read energy parameters from paramfile, instead of using the default parameter set.

              Different  sets  of energy parameters for RNA and DNA should accompany your distribution.  See the
              RNAlib documentation for details on the file format. When passing the placeholder file name "DNA",
              DNA parameters are loaded without the need to actually specify any input file.

       --nsp=STRING
              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.

       -e, --energyModel=INT
              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.

       --betaScale=DOUBLE
              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.

REFERENCES

       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

       R.  Lorenz,  I.L. Hofacker, P.F. Stadler (2016), "RNA folding with hard and soft constraints", Algorithms
       for Molecular Biology 11:1 pp 1-13

       M. Zuker, P. Stiegler (1981), "Optimal computer folding of large RNA sequences  using  thermodynamic  and
       auxiliary information", Nucl Acid Res: 9, pp 133-148

       J.S.  McCaskill  (1990),  "The equilibrium partition function and base pair binding probabilities for RNA
       secondary structures", Biopolymers: 29, pp 1105-1119

       I.L. Hofacker & P.F. Stadler (2006), "Memory Efficient Folding  Algorithms  for  Circular  RNA  Secondary
       Structures", Bioinformatics

       A.F.  Bompfuenewerer, R. Backofen, S.H. Bernhart, J. Hertel, I.L. Hofacker, P.F. Stadler, S. Will (2007),
       "Variations on {RNA} Folding and Alignment: Lessons from Benasque", J. Math. Biol.

       D. Adams (1979), "The hitchhiker's guide to the galaxy", Pan Books, London

       The calculation of mfe structures is based on dynamic programming algorithm originally  developed  by  M.
       Zuker and P. Stiegler. The partition function algorithm is based on work by J.S. McCaskill.

       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

EXAMPLES

       Single line sequence input and calculation of partition function and MEA structure

         $ RNAfold --MEA -d2 -p

       The program will then prompt for sequence input. Using the example sequence "CGACGTAGATGCTAGCTGACTCGATGC"
       and pressing ENTER the output of the program will be similar to

         CGACGUAGAUGCUAGCUGACUCGAUGC
         (((.((((.......)).)))))....
          minimum free energy =  -1.90 kcal/mol
         (((.((((.......))},})))....
          free energy of ensemble =  -2.86 kcal/mol
         (((.(.((.......))..)))).... {  0.80 d=2.81}
         (((.((((.......))).)))).... { -1.90 MEA=22.32}
          frequency of mfe structure in ensemble 0.20997; ensemble diversity 4.19

       Here, the first line just repeats the sequence input. The second line contains a  MFE  structure  in  dot
       bracket  notation  followed  by  the  minimum free energy. After this, the pairing probabilities for each
       nucleotide are shown in a pseudo dot-bracket notation followed by the free energy of ensemble.  The  next
       two  lines  show  the centroid structure with its free energy and its distance to the ensemble as well as
       the MEA structure, its free energy and the maximum expected accuracy, respectively. The last line finally
       contains the frequency of the MFE representative in the complete ensemble of secondary structures and the
       ensemble diversity. For further details about the calculation and  interpretation  of  the  given  output
       refer to the reference manual of RNAlib.

       Since  version  2.0  it  is  also  possible  to provide FASTA file sequence input. Assume you have a file
       containing two sequences in FASTA format, e.g

         $ cat sequences.fa
         >seq1
         CGGCUCGCAACAGACCUAUUAGUUUUACGUAAUAUUUG
         GAACGAUCUAUAACACGACUUCACUCUU
         >seq2
         GAAUGACCCGAUAACCCCGUAAUAUUUGGAACGAUCUA
         UAACACGACUUCACUCUU

       In order to compute the MFE for the two sequences the user can use the following command

         $ RNAfold < sequences.fa

       which would result in an output like this

         >seq1
         CGGCUCGCAACAGACCUAUUAGUUUUACGUAAUAUUUGGAACGAUCUAUAACACGACUUCACUCUU
         .((.(((...((((..(((((........)))))))))...))).))................... ( -5.40)
         >seq2
         GAAUGACCCGAUAACCCCGUAAUAUUUGGAACGAUCUAUAACACGACUUCACUCUU
         .......((((..............))))........................... ( -2.00)

CONSTRAINT EXAMPLES

       Secondary structure constraints may be given in addition to the sequence  information,  too.   Using  the
       first  sequence  of  the  previous  example  and restricting the nucleotides of the outermost helix to be
       unpaired, i.e. base pairs (2,47) and (3,46) the input file should have the following form

         $ cat sequence_unpaired.fa
         >seq1
         CGGCUCGCAACAGACCUAUUAGUUUUACGUAAUAUUUG
         GAACGAUCUAUAACACGACUUCACUCUU
         .xx...................................
         .......xx...................

       Calling RNAfold with the structure constraint option -C it shows the following result

         $ RNAfold -C < sequence_unpaired.fa
         >seq1
         CGGCUCGCAACAGACCUAUUAGUUUUACGUAAUAUUUGGAACGAUCUAUAACACGACUUCACUCUU
         ....(((...((((..(((((........)))))))))...)))...................... ( -4.20)

       This represents the minimum free energy and a structure representative of the  RNA  sequence  given  that
       nucleotides  2,3,46  and  47  must  not  be  involved  in  any  base pair.  For further information about
       constrained folding refer to the details of the -C option and the reference manual of RNAlib.

       Since version 2.2 the ViennaRNA Package distinguishes hard  and  soft  constraints.   As  a  consequence,
       structure  predictions  are  easily amenable to a versatile set of constraints, such as maximal base pair
       span, incorporation of SHAPE reactivity data, and RNA-ligand binding to hairpin, or interior loop motifs.

       Restricting the maximal span of a base pair

       A convenience commandline option allows you to easily limit  the  distance  (j  -  i  +  1)  between  two
       nucleotides i and j that form a basepair. For instance a limit of 600nt can be accomplished using:

         $ RNAfold --maxBPspan 600

       Guide structure prediction with SHAPE reactivity data

       Use SHAPE reactivity data to guide secondary structure prediction:

         $ RNAfold --shape=reactivities.dat < sequence.fa

       where  the  file  reactivities.dat  is  a  two  column  text  file  with sequence positions (1-based) and
       normalized reactivity values (usually between 0 and 2. Missing values may be  left  out,  or  assigned  a
       negative score:

         $ cat reactivities.dat
         9    -999       # No reactivity information
         10   -999
         11   0.042816   # normalized SHAPE reactivity
         12   0          # also a valid SHAPE reactivity
         15   0.15027    # Missing data for pos. 13-14
         ...
         42   0.16201

       Note,  that  RNAfold  will  only  process  the first sequence in the input file, when provided with SHAPE
       reactivity data!

       Complex structure constraints and grammar extensions

       Structure constraints beyond those that can be expressed  with  a  pseudo-dot  bracket  notation  may  be
       provided in a so-called command file:

         $ RNAfold --commands=constraints.txt < sequence.fa

       The  command  file  syntax  is a generalization of constraints as used in UNAfold/mfold. Each line starts
       with a one or two letter command followed by command parameters. For structure constraints, this  amounts
       to a single command character followed by three or four numbers. In addition, optional auxiliary modifier
       characters  may  be  used  to  limit  the  constraint  to  specific  loop  types.  For base pair specific
       constraints, we currently distinguish pairs in exterior loops (E), closing pairs of  hairpin  loops  (H),
       closing  (I)  and  enclosed  (i)  pairs  of  interior  loops,  and  closing (M) and enclosed (m) pairs of
       multibranch  loops.  Nucleotide-wise  constraints  may  be  limited  to  their  loop  context  using  the
       corresponding  uppercase  characters.  The  default  is  to  apply  a  constraint  to all (A) loop types.
       Furthermore, pairing constraints for single nucleotides may be limited to upstream (U), or downstream (D)
       orientation. The command file specification is as follows:

         F i 0 k   [TYPE] [ORIENTATION] # Force nucleotides i...i+k-1 to be paired
         F i j k   [TYPE] # Force helix of size k starting with (i,j) to be formed
         P i 0 k   [TYPE] # Prohibit nucleotides i...i+k-1 to be paired
         P i j k   [TYPE] # Prohibit pairs (i,j),...,(i+k-1,j-k+1)
         P i-j k-l [TYPE] # Prohibit pairing between two ranges
         C i 0 k   [TYPE] # Nucleotides i,...,i+k-1 must appear in context TYPE
         C i j k          # Remove pairs conflicting with (i,j),...,(i+k-1,j-k+1)
         E i 0 k e        # Add pseudo-energy e to nucleotides i...i+k-1
         E i j k e        # Add pseudo-energy e to pairs (i,j),...,(i+k-1,j-k+1)
         UD m e    [LOOP] # Add ligand binding to unstructured domains with motif
                          # m and binding free energy e

                          # [LOOP]        = { E, H, I, M, A }
                          # [TYPE]        = [LOOP] + { i, m }
                          # [ORIENTATION] = { U, D }

       Again, RNAfold by default only processes the first sequence in the  input  sequence  when  provided  with
       constraints  in  a  command file. To apply the exact same constraints to each of the input sequences in a
       multi FASTA file, use the batch mode commandline option:

         $ RNAfold --constraint=constraints.txt --batch < sequences.fa

       Ligand binding contributions to specific hairpin/interior loop motifs

       A convenience function allows one to specify a hairping/interior loop motif where  a  ligand  is  binding
       with  a  particular  binding  free energy dG.  Here is an example that adds a theophylline binding motif.
       Free energy contribution of this motif of dG=-9.22kcal/mol is derived  from  k_d=0.32umol/l,  taken  from
       Jenison  et  al.   1994.  Although  the  structure motif consists of a symmetric interior loop of size 6,
       followed by a small helix of 3 basepairs, and a bulge of 3 nucleotides, the entire structure can still be
       represented by one interior loop.  See the below mofif description where the  '&'  character  splits  the
       motif into a 5' and a 3' part. The first line gives the sequences motif, the second line shows the actual
       structure  motif  of  the  aptamer  pocket,  and  the  third  line  is the interior loop motif that fully
       encapsulates the theophylline aptamer:

         GAUACCAG&CCCUUGGCAGC
         (...((((&)...)))...)
         (......(&).........)

       To use the above information in the folding recursions of RNAfold, one only needs to  provide  the  motif
       itself, and binding free energy:

         $ RNAfold --motif="GAUACCAG&CCCUUGGCAGC,(...((((&)...)))...),-9.22" < sequences.fa

       Adding  the --verbose option to the above call of RNAfold also prints the sequence position of each motif
       found in the MFE structure. In case interior-loop like motifs are provided,  two  intervals  are  printed
       denoting the 5' and 3' part, respectively.

       Ligand binding contributions to unpaired segments of the RNA structure

       The  extension  of  the RNA folding grammar with unstructured domains allows for an easy incorporation of
       ligands that bind to unpaired stretches of  an  RNA  structure.  To  model  such  interactions  only  two
       parameters are required: (i) a sequence motif in IUPAC notation that specifies where the ligand binds to,
       and  (ii)  a  binding  free  energy that can be derived from the association/dissociation constant of the
       ligand.  With these two parameters in hand, the modification of RNAfold to  include  the  competition  of
       regular intramolecular base pairing and ligand interaction is as easy as writing a simple command file of
       the form:

         UD m e    [LOOP]

       where  m  is the motif string in upper-case IUPAC notation, and e the binding free energy in kcal/mol and
       optional loop type restriction [LOOP]. See also the command file specification as defined above.

       For instance, having a protein with a 4-nucleotide footprint binding 'AAAA', a binding free  energy  e  =
       -5.0 kcal/mol, and a binding restriction to exterior- and multibranch loops results in a command file:

         $ cat commands.txt
         UD AAAA -5.0  ME

       and the corresponding call to RNAfold to compute MFE and equilibrium probabilities becomes:

         $ RNAfold --commands=commands.txt -p < sequence.fa

       The  resulting MFE plot will be annotated to display the binding site(s) of the ligand, and the base pair
       probability dot-plot is extended to include the probability that a particular nucleotide is bound by  the
       ligand.

AUTHOR

       Ivo L Hofacker, Walter Fontana, Sebastian Bonhoeffer, Peter F Stadler, Ronny Lorenz

REPORTING BUGS

       If in doubt our program is right, nature is at fault.  Comments should be sent to rna@tbi.univie.ac.at.

RNAfold 2.5.1                                      April 2024                                         RNAFOLD(1)