Kinfold(1)
π Kinfold π
Okay bestie, let's talk about Kinfold, the RNA section 1 manual π§ It's the tool that's obsessed with how RNA secondary structures fold over time, and honestly it's giving main character energy β¨
β¨ NAME β¨
Kinfold, simulates the kinetic folding of RNA secondary structures π¦
β¨ SYNTAX β¨
Kinfold [OPTIONS] < input
β¨ DESCRIPTION β¨
Kinfold runs a stochastic folding simulation on RNA sequences, turning them into secondary structures π It uses a Monte Carlo approach, where base pairs get formed and dissociated one at a time. Optionally, base pairs can also be shifted around πΈ
For energy evaluation, Kinfold borrows routines from the Vienna RNA Package π«Ά
Input comes in through stdin. It's an RNA sequence, and you can optionally add the initial structure plus one or more stop structures, all written in dot-bracket notation π
Output is a set of trajectories written to stdout, plus a log file with summary info for each trajectory π
β¨ OPTIONS β¨
π Move set options
--noShiftβ turns off shift moves π--noLPβ forbids structures that contain isolated base pairs
π Simulation options
--numβ how many trajectories to compute (default=1) π¦--time<tmax>β sets the maximum length of a folding trajectory. The default is 500, which is super short and only meant for testing, so don't get attached to it π--grow <rate>β simulates folding during transcription, with a chain growth event happening every rate timesteps β--glen <len>β starts a folding-during-transcription simulation with an initial chain length of len π§--fptβ toggles between first passage time runs, which end as soon as a stop structure is reached, and open-ended simulations. The default is first passage time, so using--fptswitches you over to open-ended simulation π--startβ reads a start conformation from stdin. Otherwise, the open chain is used as the start structure πΈ--stopβ reads one or more stop structures from stdin. Otherwise, the MFE structure is used π--metβ uses the Metropolis rule for the rate between two neighboring conformations, sok=min{1,exp(-dE/RT)}. By default, Kinfold goes with the symmetric Kawasaki rule,k=exp(-dE/2RT)β¨--seed<string>β sets the random number seed. The seed string is three numbers separated by equal signs, like123=456=789. If you don't specify one, it's pulled from the system clock when the program starts π
π«§ Output options
-vor--verboseβ prints more info to stdout π₯-qor--silentβ stops trajectories from being written to stdout π--lminβ skips the complete trajectory and only prints the local minima it runs into π--cut<energy>β prints only the parts of the trajectory that stay below energy π--log<file>β sets the log file to file.log. The default iskinoutπ§
πΈ Energy model
Check out the Vienna RNA documentation for more details on this part, bestie π
--dangles<int>β picks the dangling end model. Possible values are0(none),1(normal), and2(simplified) π¦--T,--Temp<temp>β sets the simulation temperature to temp degrees centigrade π‘οΈ-P,--Par <filename>β reads energy parameters from filename π--logMLβ uses logarithmic multiloop energies instead of linear ones. The default is on, so using--logMLactually switches log energies off π€
π Generic options
--helpβ outputs help info and exits π«Ά--versionβ outputs version info and exits β¨
β¨ EXAMPLES β¨
π Default mode
In default mode, the start structure is the open chain and the stop structure is the MFE structure. The output below is a possible trajectory for the sequence ACUGAUCGUAGUCAC, so you can see the vibe π§
Kinfold --time 100000 < seq.in
............... 0.00 2.660
....(......)... 4.80 2.664
...((......)).. 0.70 2.760
..(((......))). 0.20 3.407
..((((....)))). -0.60 3.579 X1
Each line of the trajectory shows the structure, the energy, and the time for each simulation step. That X1 at the end means the trajectory ended at the first stop structure π― The log file kinout.log also keeps the info you'd need to reproduce the results, like the options and random seeds that were used π
#Date: Tue Oct 7 10:24:27 2008
#EnergyModel: dangle=2 Temp=37.0 logML=logarithmic Par=(null)
#MoveSet: noShift=off noLP=off
#Simulation: num=2 time=500.00 seed=clock fpt=on mc=Kawasaki
#Simulation: phi=1 pbounds=0.1 0.1 2
#Output: log=kinout silent=off lmin=off cut=20.00
#ACUGAUCGUAGUCAC
#............... ( 0.00)
#..((((....)))). ( -0.60) X01
(20773 2191 29311) X01 3.579
( 7439 25635 52414)
Heads up, babe: all the times are in internal units. You can only turn them into real time by comparing against experiment π Very roughly, one time step is about 1e-7 seconds.
π Folding during transcription
To run a folding-during-transcription simulation, use the --grow option. Say you've got a transcription rate of 100 nt/sec and you want 1 second, which is about 1e7 time steps. You could run:
Kinfold --grow 100000 --glen 10 < seq.in
β¨ AUTHORS β¨
Christoph Flamm <xtof@tbi.univie.ac.at>πIvo Hofacker <ivo@tbi.univie.ac.at>π
β¨ SEE ALSO β¨
Check out the Vienna RNA package at http://www.tbi.univie.ac.at/~ivo/RNA π
Written with love by Christoph Flamm and Ivo Hofacker, version 1.1 π«Άπ
π¦ where this page comes from
- debian bookworm: vienna-rna 2.5.1+dfsg-1 Β· non-free
- debian trixie: vienna-rna 2.6.4+dfsg-1+b1 Β· non-free
- ubuntu jammy: vienna-rna 2.4.17+dfsg-2build2 Β· non-free
- ubuntu noble: vienna-rna 2.5.1+dfsg-1build3 Β· non-free
- ubuntu questing: vienna-rna 2.6.4+dfsg-1build2
- ubuntu resolute: vienna-rna 2.7.0+dfsg-2 Β· non-free
- ubuntu stonking: vienna-rna 2.7.0+dfsg-2 Β· non-free
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms