RNAPLFOLD(1)

πŸ“¦
version 2.7.0 Β· 5 versions
, in ubuntu resolute, ubuntu stonking

πŸŽ€ NAME πŸŽ€

RNAPLFOLD(1) lives in the User Commands section, bestie. The name is RNAplfold - manual page for RNAplfold 2.7.0 πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

RNAplfold [OPTION]...

✨ DESCRIPTION ✨

RNAplfold 2.7.0 is here to calculate locally stable secondary structure - pair probabilities πŸ’…

Okay so it computes local pair probabilities for base pairs with a maximal span of L 🧚 The probabilities get averaged over all windows of size L that contain the base pair. For a sequence of length n and a window size of L, the algorithm only uses O(n+L*L) memory and O(n*L*L) CPU time. Literally so efficient that it's practical to "scan" very large genomes for short stable RNA structures πŸ”₯

The output is a dot plot in a postscript file, where the averaged pair probabilities are easy to parse and visually inspect 🌸

The -u option is the main character here πŸ‘‘ It lets you compute the probability that a stretch of x consecutive nucleotides is unpaired, which is super useful for predicting possible binding sites. And again, this probability is averaged over all windows containing the region 🫢

WARNING! Output format changed!! πŸ’€

The output is now a plain text matrix. Each line has a position i, followed by the probability that i is unpaired, then [i-1..i] is unpaired, [i-2..i] is unpaired, and so on, all the way down to the probability that [i-x+1..i] is unpaired 😭

  • -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) πŸ¦‹
    • Lowers the log level setting so that even INFO messages get passed through πŸ™ˆ

✨ I/O Options ✨

Command line options for input and output (pre-)processing πŸŽ€

  • -c, --cutoff=FLOAT β€” Only report base pairs with an average probability larger than cutoff in the dot plot. (default=0.01) πŸ’–
  • -o, --print_onthefly β€” Save memory by printing out everything during computation. (default=off) 🧠
    • NOTE: this is activated per default for sequences over 1M bp πŸ”₯
  • -O, --opening_energies β€” Switch output from probabilities to their logarithms. (default=off) 🌸
    • This is NOT exactly the mean energies needed to unfold the respective stretch of bases! (implies --ulength option) πŸ’€
  • --plex_output β€” Create additional output files for RNAplex. (default=off) 🧚
  • -b, --binaries β€” Output accessibility profiles in binary format. (default=off) πŸ“
    • The binary files produced by RNAplfold don't need to be parsed by RNAplex, so they get loaded directly into memory. This is so useful when large sequences have to be searched for putative hybridization sites 😭
    • Bonus: the binary format gives you a 50% file size decrease 🫢
  • --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 RNAplfold is to automatically determine an ID from the input sequence data, if the input file format allows that. Sequence IDs are usually given in the FASTA header of input sequences 🌈
    • If this flag is active, RNAplfold ignores any IDs retrieved from the input and automatically generates an ID for each sequence. This 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 parameter is set, each sequence's FASTA id gets prefixed with the provided string. FASTA ids then take the form >prefix_xxxx, where xxxx is the sequence number. So the output files follow this naming scheme: prefix_xxxx_dp.ps (dot-plot), prefix_xxxx_lunp (unpaired probabilities), etc. 🧚
    • Note: setting this parameter implies --auto-id πŸ”₯
  • --id-delim=CHAR β€” Change the delimiter between prefix and increasing number for automatically generated IDs (as used in output file names). (default=_) 🌸
    • This parameter changes the default delimiter _ between the prefix string and the increasing number for the automatically generated ID πŸ“
  • --id-digits=INT β€” Specify the number of digits of the counter in automatically generated alignment IDs. (default=4) πŸ’œ
    • When alignment IDs get generated automatically, they receive an increasing number, starting with 1. That number is always left-padded with leading zeros, so it takes up a certain width. Use this parameter to set the width to what 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) ⭐
    • When sequence IDs are generated automatically, they receive an increasing number, usually starting with 1. This parameter lets you pick the first number you want 🌈
    • Note: negative numbers are not allowed πŸ’€
    • Note: setting this parameter means any IDs retrieved from the input data get ignored, so it activates the --auto-id flag πŸ‘‘
  • --filename-delim=CHAR β€” Change the delimiting character used in sanitized filenames. (default=ID-delimiter) πŸ’…
    • This parameter changes the delimiting character used while sanitizing filenames, which means replacing invalid characters. Heads up: the default delimiter is ALWAYS the first character of the "ID delimiter" you supplied through --id-delim 🧚
    • If the delimiter is a whitespace character or empty, invalid characters get simply removed instead of substituted 😭
    • Currently, these characters count as illegal for 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 parameter turns off the default behaviour 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, without the extra data from the FASTA header, like NM_0001_ss.ps for secondary structure plots 🌸
    • With this flag set, nothing gets truncated, so output filenames receive the full FASTA header data as prefixes πŸ”₯
    • Note though: invalid characters (like whitespace) will be substituted by a delimiting character or simply removed. See also --filename-delim 🫢
  • --log-level=level β€” Set 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 less info shows up πŸ’œ
    • Log-level 5 turns off ALL messages, even errors and other critical info πŸ’€
  • --log-file[=filename] β€” Print log messages to a file instead of stderr. (default=RNAplfold.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 and change parameters of (additional) algorithms that should be included in the calculations 🧠

  • -W, --winsize=size β€” Average the pair probabilities over windows of the given size. (default=70) πŸ”₯
  • -L, --span=size β€” Set the maximum allowed separation of a base pair to span. 🌸
    • Setting the maximum base pair span means no pairs (i,j) with j-i > span will be allowed πŸ’…
    • Defaults to winsize if the parameter is omitted 🧚
  • -u, --ulength=length β€” Compute the mean probability that regions of length 1 to a given length are unpaired. (default=31) 🫢
    • The output gets saved in a _lunp file πŸ“
  • --betaScale=DOUBLE β€” Set the scaling of the Boltzmann factors. (default=1.) πŸ¦‹
    • The argument you give here scales the thermodynamic temperature in the Boltzmann factors, independently from the temperature of the individual loop energy contributions 🌈
    • The Boltzmann factors then become exp(- dG/(kT*betaScale)), where k is the Boltzmann constant, dG is the free energy contribution of the state, and T is the absolute temperature 🧠
  • -S, --pfScale=DOUBLE β€” In the calculation of the pf, use scale*mfe as an estimate for the ensemble free energy (this avoids overflows). (default=1.07) ✨
    • The default is 1.07, and useful values are 1.0 to 1.2. Occasionally needed for long sequences πŸ’œ

πŸ‘‘ Structure Constraints πŸ‘‘

Command line options to interact with the structure constraints feature of this program πŸ’…

  • --shape=filename β€” Use SHAPE reactivity data to guide structure predictions. 🧚
  • --shapeMethod=method β€” Select the 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 the linear equation according to Deigan et al 2009 πŸ”₯
      • Derived pseudo energy terms get applied for every nucleotide involved in a stacked pair. This method is recognized by a capital 'D' in the provided parameter. So --shapeMethod="D" is the default setting 🫢
      • The slope m and the intercept b can be set to non-default values if needed. Otherwise m=1.8 and b=-0.6 πŸ“
      • To alter these, e.g. m=1.9 and b=-0.7, use a parameter string like this: --shapeMethod="Dm1.9b-0.7" πŸ¦‹
      • You can 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 🧠

okay so the --shapeMethod story keeps going πŸ’… Back in the et al 2012 paper, SHAPE reactivities get turned into pairing probabilities with a linear mapping πŸ“ˆ Any aberration from the observed pairing probabilities gets penalized during the folding recursion, and the factor beta controls how hard that penalty hits, like --shapeMethod="Zb0.8" πŸ”₯

  • 'W' β€” applies a given vector of perturbation energies to unpaired nucleotides πŸ¦‹ This follows Washietl et al 2012, and you can make those perturbation vectors with RNApvmin 🧚

  • --shapeConversion=method β€” picks how SHAPE reactivities get converted 🌈 The default is (default=O')` πŸ’œ This is handy when you're dealing with SHAPE incorporation like Zarringhalam et al describes. These methods turn SHAPE reactivities into the probability that a nucleotide is unpaired:
    • 'M' β€” linear mapping, following Zarringhalam et al
    • 'C' β€” a cutoff that splits nucleotides into paired and unpaired, like "C0.25" πŸŽ€
    • 'S' β€” skips the normalizing step, since your input already holds unpaired probabilities and not raw reactivity values ✨
    • 'L' β€” a linear model that turns 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 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 πŸ“‚ These 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 ✨

Okay bestie, 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 🌑️ The default is 37C πŸ”₯ (default=37.0')`
  • -P, --paramFile=paramfile β€” reads energy parameters from paramfile instead of the default set πŸ’œ Different RNA and DNA sets should come with your distribution, and the RNAlib documentation has all the details on the file format πŸ“š The placeholder file name DNA loads DNA parameters without you needing to specify any 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')`
    • The modified bases get treated differently, using their energy corrections and/or pairing partner rules when they're available πŸ’… You have to mark modified bases in the input with their one-letter code 🫢
    • With no extra arguments, every available correction gets applied πŸ‘‘ Otherwise you can limit the modifications to a subset of one-letter codes, like -mP6, which only corrects for pseudouridine and m6A bases 😭
    • Supported one-letter codes and energy corrections:
      • '7' β€” 7-deaza-adenonsine (7DA)
      • 'I' β€” Inosine
      • '6' β€” N6-methyladenosine (m6A)
      • 'P' β€” Pseudouridine
      • '9' β€” Purine (a.k.a. nebularine)
      • 'D' β€” Dihydrouridine
  • --mod-file=STRING β€” uses extra modified base data from a JSON file πŸ“‚

✨ Model Details ✨

Tweak the energy model and pairing rules even more with these parameters πŸ’œ

  • -d, --dangles=INT β€” sets the "dangling end" model for bases next to helices in free ends and multi-loops πŸŽ€ (default=2')`
    • With -d2, dangling energies get added for bases next to a helix on both sides no matter what 🌈
    • -d0 ignores dangling ends altogether, which is mostly for debugging πŸ™ˆ
  • --noLP β€” produces structures with no lonely pairs (helices of length 1) πŸ¦‹ (default=off)
    • For partition function folding, this only disallows pairs that can only show up isolated 🧚 Other pairs can still sometimes pop up as helices of length 1 ✨
  • --noGU β€” no GU pairs allowed πŸ“ (default=off)
  • --noClosingGU β€” no GU pairs at the ends of helices 🌸 (default=off)
  • --nsp=STRING β€” lets other pairs in on top of the usual AU, GC, and GU pairs πŸ’– The argument is a comma separated list of extra allowed pairs 🫢 If the first character is a -, then AB also means BA is allowed, so --nsp="-GA" allows GA and AG pairs πŸ”₯ Nonstandard pairs get 0 stacking energy πŸ™ˆ
  • --energyModel=INT β€” sets the energy model πŸ‘‘ This one's rarely used, for folding sequences from the artificial ABCD... alphabet, where A pairs B, C-D, and so on 🌈 You can use the energy parameters for GC (--energyModel 1) or AU (--energyModel 2) pairs πŸ’…
  • --helical-rise=FLOAT β€” sets the helical rise of the helix in Angstrom πŸ“ (default=2.8')`
Use with caution! This value gets re-set 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 πŸ¦‹ (default=6.0')`
Use with caution! This value gets re-set 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 wanna cite these πŸ“šπŸ’–

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 πŸŽ€

S. H. Bernhart, U. Mueckstein, and I.L. Hofacker (2011), "RNA Accessibility in cubic time", Algorithms Mol Biol. 6: 3. πŸ¦‹

S. H. Bernhart, I.L. Hofacker, and P.F. Stadler (2006), "Local Base Pairing Probabilities in Large RNAs", Bioinformatics: 22, pp 614-615 ✨

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

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 πŸ’œ


✨ AUTHOR ✨

Stephan H Bernhart, Ivo L Hofacker, Peter F Stadler, Ronny Lorenz 🫢🌟


✨ REPORTING BUGS ✨

If in doubt, our program is right and nature is at fault πŸ™ˆ Send your comments to rna@tbi.univie.ac.at πŸ’Œ


✨ SEE ALSO ✨

RNALfold(1) πŸ¦‹


Okay, that's the whole vibe, bestie πŸ’– RNAplfold 2.7.0 from February 2026 is the version we've been slaying with today 🌈✨

πŸ“¦ where this page comes from