RNALFOLD(1)

๐Ÿ“ฆ
version 2.7.0 ยท 5 versions
, in ubuntu resolute, ubuntu stonking

๐ŸŽ€ RNALFOLD(1) ๐ŸŽ€

okay bestie, welcome to the RNALfold manual page ๐Ÿ’– this is literally the tool for finding locally stable RNA secondary structures, and it's giving main character energy ๐Ÿ’…


โœจ NAME โœจ

The name is RNALfold - manual page for RNALfold 2.7.0 ๐ŸŒธ

โœจ SYNOPSIS โœจ

RNALfold [OPTION]...

โœจ DESCRIPTION โœจ

RNALfold 2.7.0 is here to calculate locally stable secondary structures of RNAs ๐Ÿงฌโœจ

So RNALfold computes locally stable RNA secondary structure with a maximal base pair span ๐Ÿ’… For a sequence of length n and a base pair span of L, the algorithm only uses O(n+L*L) memory and O(n*L*L) CPU time. Which means it's actually practical to "scan" very large genomes for short RNA structures, no cap ๐Ÿ”ฅ

The output is a list of secondary structure components of size <= L, one entry per line. Each output line has the predicted local structure, its energy in kcal/mol, and the starting position of that local structure ๐Ÿฆ‹

  • -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 ๐Ÿท๏ธ
  • -v, --verbose โ€” Be verbose ๐Ÿ—ฃ๏ธ (default: off)
    • This lowers the log level setting so even INFO messages get passed through.

๐Ÿซถ I/O Options

Command line options for input and output (pre-)processing ๐Ÿ“ฅ

  • -i, --infile=filename โ€” Read a file instead of reading from stdin ๐Ÿ“„
    • By default RNALfold reads its input from stdin. With this one you can give it an input file name to read the data from instead.
  • -o, --outfile[=filename] โ€” Print output to a file instead of stdout ๐Ÿ“
    • This writes all the output into output files rather than printing to stdout. How many output files you get for batch input (multiple sequences) depends on three conditions:
      • (i) If an optional filename is given as the parameter argument, a single file with that exact filename gets written into. If the optional argument is left off, then:
      • (ii) FASTA input or an active --auto-id switch writes to multiple files that follow the naming scheme "prefix.lfold". The "prefix" is taken from the sequence id in the FASTA header.
      • (iii) Single-line sequence input without a FASTA header gets written to a single file "RNALfold_output.lfold".
    • If an output file already exists, any output of the program gets appended to it ๐Ÿ“
    • Since the filename argument is optional, it has to come immediately after the short option flag so it doesn't get mistaken for a new parameter. For instance, -ornafold.out will write to a file "rnafold.out" ๐Ÿงพ
    • Note: any special characters in the filename get replaced by the filename delimiter, so there's no way to pass an entire directory path through this option yet. (See also the "--filename-delim" parameter.)
  • --noconv โ€” Do not automatically substitute nucleotide "T" with "U" ๐Ÿ” (default: off)
  • --auto-id โ€” Automatically generate an ID for each sequence ๐Ÿชช (default: off)
    • By default RNALfold will pick up an ID from the input sequence data if the input file format allows it. Sequence IDs are usually given in the FASTA header. If this flag is active, RNALfold ignores any IDs it retrieved from the input and auto-generates one for each sequence. That ID is a prefix plus 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=STRING โ€” Prefix for automatically generated IDs (as used in output file names) ๐Ÿท๏ธ (default: sequence)
    • If this is set, each sequence gets prefixed with the string you provide. That means the output files follow the naming scheme "prefix_xxxx.lfold", where xxxx is the sequence number. Note: setting this parameter implies --auto-id.
  • --id-delim=CHAR โ€” Change the delimiter between the prefix and the increasing number for auto-generated IDs (as used in output file names) โœ‚๏ธ (default: _)
    • This lets you swap out the default "_" between the prefix string and the increasing number.
  • --id-digits=INT โ€” Specify the number of digits of the counter in automatically generated alignment IDs ๐Ÿ”ข (default: 4)
    • Auto-generated alignment IDs get an increasing number starting at 1. That number is always left-padded with leading zeros so it takes up a certain width. Use this parameter to set the width however you need. We allow numbers in the range [1:18]. This option implies --auto-id.
  • --id-start=LONG โ€” Specify the first number in automatically generated IDs ๐Ÿš€ (default: 1)
    • Auto-generated sequence IDs usually start at 1, but this parameter lets you pick the first number. Note: negative numbers are not allowed. Note: setting this parameter means any IDs retrieved from the input data get ignored, i.e. it activates the --auto-id flag.
  • --filename-delim=CHAR โ€” Change the delimiting character used in sanitized filenames ๐Ÿงน (default: ID-delimiter)
    • This is the character used while sanitizing filenames, i.e. replacing invalid characters. The default delimiter ALWAYS is the first character of the "ID delimiter" you supply through --id-delim. If the delimiter is a whitespace character or empty, invalid characters get simply removed rather than substituted.
    • These characters count as illegal in filenames: backslash \, slash /, question mark ?, percent sign %, asterisk *, colon :, pipe symbol |, double quote ", and triangular brackets < and > ๐Ÿšซ
  • --filename-full โ€” Use the full FASTA header to create filenames ๐Ÿ—ƒ๏ธ (default: off)
    • This turns off the default behavior of limiting output filenames to the first word of the sequence ID. Say an input has the FASTA header >NM_0001 Homo Sapiens some gene. Usually that produces output files with the prefix "NM_0001" and none of the extra data from the header, e.g. "NM_0001_ss.ps" for secondary structure plots. With this flag set, nothing gets truncated, and the output filenames receive the full FASTA header data as prefixes.
    • Note, however, that invalid characters (such as whitespace) will get substituted by a delimiting character or simply removed (see also --filename-delim).
  • --log-level=level โ€” Set the log level threshold ๐Ÿ“Š (default: 2)
    • By default, log messages are filtered so only warnings (level 2) or errors (level 3) get printed. Higher values mean fewer messages. Log level 5 turns off all messages, even errors and other critical information.
  • --log-file[=filename] โ€” Print log messages to a file instead of stderr ๐Ÿ““ (default: RNALfold.log)
  • --log-time โ€” Include a time stamp in log messages โฐ (default: off)
  • --log-call โ€” Include the file and line of the log calling function ๐Ÿ”Ž (default: off)

๐Ÿงš 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. ๐Ÿฆ„

  • -L, --span=INT โ€” Set the maximum distance between any two pairing nucleotides ๐Ÿ“ (default: 150)
    • This option specifies the window length L, and therefore the upper limit for the distance between the bases i and j of any pair (i, j), i.e. (j - i + 1) <= L.
  • -z, --zscore[=DOUBLE] โ€” Limit the output to predictions with a Z-score below a threshold ๐Ÿ’ฏ (default: -2)
    • This activates z-score regression using a trained SVM. Any predicted structure that exceeds the specified threshold gets omitted from the output. Since the Z-score threshold is given as a negative number, it has to immediately precede the short option so it doesn't get mistaken for a separate argument. For example, -z-2.9 sets the threshold to a value of -2.9 โœจ
  • --zscore-pre-filter โ€” Apply the z-score filtering in the forward recursions ๐Ÿ”ฎ (default: off)
    • The default z-score filtering considers the entire structure space to decide whether or not a locally optimal structure at any position i gets reported. When you use this post-filtering step, though, alternative locally optimal structures starting at i with higher energy but lower z-score can be easily missed.
    • The pre-filter option restricts the structure space already in the forward recursions, so only the optimal solution among the candidates that satisfy the z-score threshold gets considered. That means good results by the z-score threshold criterion are less likely to be superseded by results with better energy but worse z-score.
    • Heads up: activating this switch results in higher computation time, which scales linearly with the window length โณ
  • --zscore-report-subsumed โ€” Report subsumed structures if their z-score is less than that of the enclosing structure ๐Ÿช† (default: off)
    • In default mode, RNALfold only reports locally optimal structures if they're not constituents of another, larger structure with less free energy. In z-score mode, though, such a larger structure may have a higher z-score, which means it may be less informative than the smaller substructure. Using this switch activates reporting both the smaller and the larger structure if the z-score of the smaller one is lower than that of the larger one ๐Ÿ’–
  • -b, --backtrack-global โ€” Backtrack a global MFE structure ๐Ÿ”™ (default: off)

Okay so this global MFE switch is lowkey the main character of the whole page ๐Ÿ’… Instead of just showing the locally stable secondary structure, it builds a global MFE structure out of only the locally optimal substructures. This post-processing step reads those locally optimal structures and uses them to make the global MFE structure, which is the MFE value you get on the last line โœจ The global structure gets printed right after the input sequence on that last line, just before the global MFE score ๐ŸŽ€

Bestie, heads up: this option implies -o/--outfile, because the locally optimal structures have to be read after the regular prediction step ๐Ÿ™ˆ And if you combine it with -z/--zscore, it implies --zscore-pre-filter so the global MFE structure gets built properly ๐Ÿฆ‹

  • -g, --gquad โ€” Lets G-Quadruplex formation sneak into the structure prediction algorithm ๐Ÿงš

(default: off)

โœจ Structure Constraints

This section is all about the structure constraints feature, the command line options that let you interact with it ๐ŸŒธ

  • --shape=filename โ€” Uses SHAPE reactivity data to guide the structure predictions ๐Ÿ”ฅ
  • --shapeMethod=method โ€” Picks the strategy for bringing SHAPE reactivity data in ๐Ÿ’œ

(default: D)

These methods turn SHAPE reactivities into pseudo energy contributions, and they're all super different vibes:

  • D โ€” Uses the linear equation from Deigan et al 2009. The derived pseudo energy terms get applied to every nucleotide involved in a stacked pair. This method is recognized by a capital D in the parameter, so --shapeMethod="D" is the default. The slope m and intercept b default to m=1.8 and b=-0.6, but you can change them if needed. To set e.g. m=1.9 and b=-0.7, use a string like --shapeMethod="Dm1.9b-0.7". You can also set just one of them, like --shapeMethod="Dm1.9" or --shapeMethod="Db-0.7" ๐Ÿซถ
  • Z โ€” Converts SHAPE reactivities to pseudo energies using Zarringhalam et al 2012. The reactivities become pairing probabilities through a linear mapping, and any deviation from the observed pairing probabilities gets penalized during the folding recursion. You can tweak how strong those penalties are by adjusting the factor beta, like --shapeMethod="Zb0.8" โœจ
  • W โ€” Applies a given vector of perturbation energies to unpaired nucleotides, following Washietl et al 2012. You can calculate those perturbation vectors with RNApvmin ๐ŸŒˆ
  • --shapeConversion=method โ€” Picks how SHAPE reactivities get converted ๐Ÿงš

(default: O)

This one matters most when you're working with the SHAPE incorporation from Zarringhalam et al. These methods turn SHAPE reactivities into the probability that a nucleotide is unpaired:

  • M โ€” Linear mapping according to Zarringhalam et al.
  • C โ€” A cutoff approach that splits nucleotides into paired and unpaired, like C0.25 ๐Ÿ“
  • S โ€” Skips the normalizing step, because your input data already holds probabilities of being unpaired instead of raw reactivity values ๐Ÿ’–
  • L โ€” A linear model that turns the reactivity into an unpaired probability, like Ls0.68i0.2 for a slope of 0.68 and an intercept of 0.2 ๐Ÿฆ‹
  • O โ€” A linear model that turns the log of the reactivity into an unpaired probability, like Os1.6i-2.29 for a slope of 1.6 and an intercept of -2.29 ๐Ÿ‘‘
  • --commands=filename โ€” Reads extra commands from a file ๐Ÿ“

Commands can include hard and soft constraints, plus structure motifs in hairpin and internal loops that need to be treated differently. You can also set commands for unstructured and structured domains ๐Ÿซถ


๐ŸŒˆ Energy Parameters

Energy parameter sets can be adapted or loaded from input files you provide ๐Ÿ’…

  • -T, --temp=DOUBLE โ€” Rescales the energy parameters to a temperature of temp C ๐ŸŒก๏ธ

(default: 37.0)

The default is 37C โœจ

  • -P, --paramFile=paramfile โ€” Reads energy parameters from paramfile instead of the default parameter set ๐ŸŽ€

Different sets of energy parameters for RNA and DNA should come with your distribution. Check the RNAlib documentation for the file format details. There's also a placeholder file name, DNA, that loads DNA parameters without you needing to actually specify an input file ๐Ÿงš

  • -4, --noTetra โ€” Skips the special tabulated stabilizing energies for tri-, tetra- and hexaloop hairpins ๐Ÿ™ˆ

(default: off)

Mostly for testing ๐Ÿงช

  • --salt=DOUBLE โ€” Sets the salt concentration in molar (M). The default is 1.021M ๐Ÿ“
  • -m, --modifications[=STRING] โ€” Lets you use modified bases inside the RNA sequence string ๐Ÿงฌ

(default: 7I6P9D)

This treats modified bases differently, using their corresponding energy corrections and/or pairing partner rules when they're available. The modified bases in your input sequence have to be marked with their one-letter code. If you don't add any extra arguments, every available correction gets applied. Otherwise you can limit the modifications to a specific subset of modifications, or one-letter codes. For example, -mP6 will only correct for pseudouridine and m6A bases ๐Ÿ’œ

Right now, these one-letter codes and energy corrections are supported:

  • 7 โ€” 7-deaza-adenosine (7DA)
  • I โ€” Inosine
  • 6 โ€” N6-methyladenosine (m6A)
  • P โ€” Pseudouridine
  • 9 โ€” Purine (a.k.a. nebularine)
  • D โ€” Dihydrouridine
  • --mod-file=STRING โ€” Pulls in extra modified base data from a JSON file ๐Ÿ“‚

๐ŸŽ€ Model Details

Okay, this is where you tweak the energy model and pairing rules even more, using these parameters ๐Ÿ’–

  • -d, --dangles=INT โ€” Decides how to treat "dangling end" energies for bases next 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, that check gets skipped, and dangling energies get added for bases adjacent to a helix on both sides no matter what. This is the default for MFE and partition function folding (-p). The option -d0 ignores dangling ends altogether, which is mostly for debugging ๐Ÿ™ˆ

โš ๏ธ With -d3, MFE folding allows coaxial stacking of adjacent helices in multi-loops. Right now the implementation won't allow coaxial stacking of the two enclosed pairs in a loop of degree 3, and it only works for MFE folding.

Heads up: with -d1 and -d3, only the MFE computations use this setting. The partition function uses the -d2 setting, so dangling ends get treated differently ๐Ÿ’€

  • --noLP โ€” Produces structures without lonely pairs (helices of length 1) ๐Ÿซง

(default: off)

For partition function folding, this only disallows pairs that can occur isolated. Other pairs may still occasionally show up as helices of length 1 โœจ

  • --noGU โ€” Doesn't allow GU pairs ๐Ÿšซ

(default: off)

  • --noClosingGU โ€” Doesn't allow GU pairs at the end of helices ๐ŸŒธ

(default: off)

  • --nsp=STRING โ€” Lets other pairs join the usual AU, GC and GU pairs ๐ŸŒˆ

The argument is a comma separated list of the extra pairs you want to allow. If the first character is a -, then AB also implies that BA is an allowed pair. For example, --nsp="-GA" allows GA and AG pairs. Nonstandard pairs get a stacking energy of 0 ๐Ÿงš

  • --energyModel=INT โ€” Sets the energy model ๐Ÿงช

This is a rarely used option for folding sequences from the artificial ABCD... alphabet, where A pairs with B, C pairs with D, and so on. Use --energyModel 1 for the energy parameters of GC pairs, or --energyModel 2 for AU pairs ๐Ÿ’…

  • --helical-rise=FLOAT โ€” Sets the helical rise of the helix in Angstrom units ๐Ÿ“

(default: 2.8)

โš ๏ธ Use with caution! This value gets reset automatically to 3.4 if DNA parameters are loaded with -P DNA and no further value is given.
  • --backbone-length=FLOAT โ€” Sets the average backbone length for looped regions in Angstrom units ๐Ÿฆด

(default: 6.0)

โš ๏ธ Use with caution! This value gets reset automatically to 6.76 if DNA parameters are loaded with -P DNA and no further value is given.

๐Ÿ“š REFERENCES

If you use this program in your work, you might want to cite these bestie-approved papers ๐ŸŽ€

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

I.L. Hofacker, B. Priwitzer, and P.F. Stadler (2004), "Prediction of Locally Stable RNA Secondary Structures for Genome-Wide Surveys", Bioinformatics: 20, pp 186-190

The energy parameters come from these sources ๐Ÿ“–

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

๐Ÿ‘‘ AUTHOR

Ivo L Hofacker, Peter F Stadler, Ronny Lorenz ๐Ÿซถ

๐Ÿ› REPORTING BUGS

If in doubt, our program is right and nature is at fault ๐Ÿ˜ญ Comments should be sent to rna@tbi.univie.ac.at ๐Ÿ’Œ

๐Ÿฆ‹ SEE ALSO

RNAplfold(1) RNALalifold(1) ๐ŸŒธ


Anyway, that's the whole page, bestie ๐Ÿ’– You're officially a RNALfold 2.7.0 expert now, from February 2026. Go slay your folding jobs ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from