RNAMULTIFOLD(1)

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

๐ŸŽ€ RNAMULTIFOLD(1) ๐ŸŽ€

User Commands, bestie, this is the RNAMULTIFOLD(1) page and it's giving main character energy ๐Ÿ’…


โœจ NAME โœจ

RNAmultifold - manual page for RNAmultifold 2.7.0 ๐ŸŒธ

โœจ SYNOPSIS โœจ

RNAmultifold [OPTION]... [FILE]...

โœจ DESCRIPTION โœจ

RNAmultifold 2.7.0 ๐Ÿ’–

Compute secondary structures of multiple interacting RNAs ๐Ÿงฌ

okay so RNAmultifold works a lot like RNAfold, but the slay part is that you can give it multiple RNA sequences and they're allowed to form connected components together ๐Ÿฆ‹ Input gets read from stdin in the usual format, so each line is one sequence, EXCEPT lines starting with >, which hold the name of the next sequence(s). If you have multiple strands, you concatenate them with the & character as the separator ๐Ÿซถ

RNAmultifold can compute the MFE, the partition function, the matching ensemble free energy, and base pairing probabilities. These get computed for a particular arrangement (concatenation) of sequences, for the full ensemble of the complex of input RNAs, or for all complexes the input sequences can form up to a specified number of interacting sequences ๐Ÿ”ฅ

The output is a PostScript "dot plot" file containing the pair probabilities. For the deets, check the RNAfold man page โœจ The program keeps reading new sequences until it hits a line with just the single character @, or until it reaches an end of file condition ๐ŸŒˆ

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

  • -j, --jobs[=number] โ€” Split batch input into jobs and start processing in parallel using multiple threads ๐Ÿงต A value of 0 means use as many parallel threads as computation cores are available (default: 0). By default, input is processed serially, one sequence pair at a time. With this switch, you can start the computation for many sequence pairs in parallel instead. RNAmultifold creates as many parallel computation slots as you specify and assigns the input sequences from the input file(s) to the available slots. Heads up though: this increases memory consumption, since input alignments have to be kept in memory until an empty compute slot is free, and each running job needs its own dynamic programming matrices ๐Ÿ’€
  • --unordered โ€” Don't try to keep the output in order with the input while parallel processing is happening ๐ŸŒ€ (default: off). When parallel input processing (--jobs flag) is on, the order that input gets processed in depends on the host machine's job scheduler. So any output to stdout or to files made by this program probably won't match the order of the input data set. RNAmultifold's default is to use a specialized data structure to keep results in order with the input anyway. The trade-off is memory, since all output has to be held in memory until consecutive, ordered chunks of output are ready. Set this flag and RNAmultifold stops buffering individual results and prints them as soon as they've been computed โšก
  • --noconv โ€” Don't automatically substitute nucleotide "T" with "U" ๐Ÿ™…โ€โ™€๏ธ (default: off).
  • --auto-id โ€” Automatically generate an ID for each sequence (default: off). By default, RNAmultifold grabs an ID from the input sequence data if the input file format allows it. Sequence IDs usually live in the FASTA header of the input sequences. With this flag on, RNAmultifold ignores any IDs from the input and generates one for each sequence instead. Each generated ID is a prefix plus an increasing number. You can also use this flag to add a FASTA header to the output, even if the input doesn't have one ๐ŸŽ€
  • --id-prefix=STRING โ€” Prefix for automatically generated IDs (as used in output file names) (default: sequence). Each sequence gets prefixed with the string you give. So the output files follow this 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=CHAR โ€” Change the delimiter between the prefix and the increasing number for automatically generated IDs (as used in output file names) (default: _). This is how you swap out the default "_" between the prefix string and the increasing number ๐Ÿฉท
  • --id-digits=INT โ€” Specify how many digits the counter has in automatically generated alignment IDs (default: 4). Generated alignment IDs get an increasing number starting at 1. That number is always left-padded with leading zeros so it takes up a fixed width. This parameter lets you set that width to whatever you need. Numbers in the range [1:18] are allowed. This option implies --auto-id ๐Ÿ”ข
  • --id-start=LONG โ€” Specify the first number in automatically generated IDs (default: 1). Generated sequence IDs usually start at 1, but this parameter lets you pick the starting number to match your needs. Note: negative numbers are not allowed. Note: setting this parameter means any IDs from the input data get ignored, so it turns on the --auto-id flag ๐ŸŒŸ
  • --filename-delim=CHAR โ€” Change the delimiting character used in sanitized filenames (default: ID-delimiter). This parameter swaps the character used when sanitizing filenames, which means replacing invalid characters. The default delimiter ALWAYS is the first character of the "ID delimiter" you pass in with the --id-delim option. If the delimiter is a whitespace character or empty, invalid characters get removed outright instead of substituted. Right now these characters count as illegal in filenames: backslash \, slash /, question mark ?, percent sign %, asterisk *, colon :, pipe symbol |, double quote ", and triangle brackets < and > ๐Ÿšซ
  • --filename-full โ€” Use the full FASTA header to create filenames (default: off). This deactivates the default behavior of limiting output filenames to the first word of the sequence ID ๐Ÿงพ Say your input has the FASTA header >NM_0001 Homo Sapiens some gene. Usually the output files get the prefix NM_0001 with none of the extra FASTA header data, so you'd get something like NM_0001_ss.ps for secondary structure plots. With this flag set, nothing gets truncated, so the output filenames take the full FASTA header as their prefix. Just know that invalid characters (like whitespace) still get swapped for a delimiting character or removed entirely. See the --filename-delim option for more on that ๐Ÿซ 
  • --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 info ๐Ÿคซ
  • --log-file[=filename] โ€” Print log messages to a file instead of stderr (default: RNAmultifold.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 to include in the calculations ๐Ÿง  The Minimum free energy (MFE) and a structure representative are calculated in any case, no matter what ๐Ÿ’…

  • -p, --partfunc[=INT] โ€” Calculate the partition function and base pairing probability matrix in addition to the MFE structure (default: 1). The default is calculating only the MFE structure ๐Ÿซง On top of the MFE structure, the program prints a coarse representation of the pair probabilities in a pseudo bracket notation, followed by the ensemble free energy. Heads up: unless you also specify -d2 or -d0, the partition function and MFE calculations use a slightly different energy model. See the discussion of dangling end options below ๐Ÿ‘€ An extra value passed to this option changes how the partition function gets calculated. If you want the partition function but NOT the pair probabilities, use the -p0 option and save about 50% in runtime โšก This prints the ensemble free energy dG=-kT ln(Z).
  • -a, --all_pf[=INT] โ€” Compute the partition function and free energies not just for the complex formed by the input sequences (the "ABC... multimer"), but also for all complexes formed by the input sequences up to the number of input sequences, e.g. AAA, AAB, ABB, BBB, etc. (default: 1) ๐ŸŒธ The output contains the free energies for each of these species. Using -a automatically switches on the -p option ๐Ÿ’–
  • -c, --concentrations โ€” On top of everything under the -a option, read in initial monomer concentrations and compute the expected equilibrium concentrations of all possible species (A, B, AA, BB, AB, etc.) (default: off) ๐Ÿงช

Okay so the -c bit: start concentrations get read from stdin (unless you're using -f) in [mol/l] โœจ, and the equilibrium concentrations come out relative to the sum of the inputs. You can throw in an arbitrary number of initial concentrations, one tuple per line ๐Ÿ’–

  • -f, --concfile=filename โ€” point this at a file with the starting concentrations for your input sequences ๐Ÿ“‚ The table can have as many lines as you want, each with several numbers separated by whitespace (the concentrations of input sequences A, B, C, and so on). Using this option automatically switches on -c (and therefore -a and -p), see above ๐Ÿ”ฅ
  • --absolute-concentrations โ€” report absolute concentrations instead of relative ones (default=off) ๐Ÿงฎ
  • --betaScale=DOUBLE โ€” scales the Boltzmann factors (default=1.) ๐ŸŒก๏ธ This lets you scale the thermodynamic temperature inside the Boltzmann factors separately from the temperature of each individual loop energy contribution. 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 partition function calculation, scale*mfe gets used as an estimate for the ensemble free energy, which keeps things from overflowing ๐Ÿซง (default=1.07) The default is 1.07, and useful values are 1.0 to 1.2. It's occasionally needed for long sequences ๐Ÿ
  • --bppmThreshold=cutoff โ€” sets the threshold/cutoff for which base pair probabilities show up in the PostScript output ๐Ÿ–จ๏ธ (default=1e-5) By default, only pairs with a probability above 1e-5 get drawn as squares in the dot plot. Changing the threshold lets you dial that data up or down ๐Ÿ“ˆ
  • -g, --gquad โ€” brings G-quadruplex formation into the structure prediction algorithm ๐Ÿ‘‘ (default=off) Heads up: only intramolecular G-quadruplexes are considered โœจ

๐Ÿ”’ Structure Constraints

Command line options for playing with this program's structure constraints feature ๐ŸŽ€

  • --maxBPspan=INT โ€” sets the maximum base pair span (default=-1) ๐Ÿ“
  • --commands=filename โ€” reads extra commands from a file ๐Ÿ“œ Commands cover 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

You can adapt energy parameter sets or load them from your own input files ๐Ÿ’œ

  • -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 ๐Ÿ“‚ You should get separate parameter sets for RNA and DNA with your distribution. Check the RNAlib documentation for the file format details. The placeholder file name DNA lets you load DNA parameters without actually specifying 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 ๐Ÿง‚

๐Ÿงฌ Model Details

Tweak the energy model and pairing rules with these parameters too ๐Ÿ’…

  • -d, --dangles=INT โ€” controls how "dangling end" energies get treated for bases next to helices at free ends and in 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 are added for bases adjacent to a helix on both sides no matter what. This is the default for mfe and partition function folding (-p). -d0 ignores dangling ends altogether (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 across the two ๐Ÿ‘€
  • --noLP โ€” produces 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 pop up now and then 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 join the usual AU, GC, and GU pairs ๐ŸŒˆ The argument is a comma separated list of the extra allowed pairs. If the first character is a -, then AB implies that AB and BA are both allowed pairs. For example, --nsp="-GA" will allow GA and AG pairs. Nonstandard pairs get a stacking energy of 0 โœจ
  • --energyModel=INT โ€” sets the energy model (rarely used) ๐Ÿ›ธ This one folds sequences from the artificial ABCD... alphabet, where A pairs with B, C with D, and so on. 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 units (default=2.8) ๐Ÿ“
Use with caution! This value gets reset automatically to 3.4 if DNA parameters are loaded via -P DNA and you don't provide a further value ๐Ÿ˜ฌ
  • --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 via -P DNA and you don't provide a further value ๐Ÿ˜ฌ

๐Ÿ“š REFERENCES

If you use this program in your work, you might want to cite these bestie ๐Ÿซถ

  • 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 โญ

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 ๐Ÿ“

๐Ÿ› REPORTING BUGS

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


That's the whole page, bestie ๐Ÿงš๐Ÿ’– You've officially been folded: RNAmultifold 2.7.0, February 2026 โœจ๐Ÿ‘‘

๐Ÿ“ฆ where this page comes from