Rchange
Rchange compute energy changes of RNA secondary structures in response to base mutations.
Reference
Rchange: Algorithms for computing energy changes of RNA secondary structures in response to base mutations.Hisanori Kiryu; Kiyoshi Asai, Bioinformatics 2012; doi: 10.1093/bioinformatics/bts097
[Abstract][PDF] [Supplementary text][Supplementary Dataset]
Rchange Source Code
Rchange C++ Source Code (zip compressed)
Readme File for Source Code (.txt file)
Description
Rchange exhaustively computes entropy and internal energy changes of secondary structures for single-point and double-point mutated sequences.Install from source: (require make and (g++ or icpc))
$ unzip rchange-0_0_1.zip
$ cd rchange-0_0_1/src/
$ make
$ cd ..
Example:
$ ./src/rchange/run_rchange -outfile=./example/rchange_out.txt -command=compute_mut1 -seqfile=./example/seqs.fa -max_span=200 -max_mut2_span=10
| options: -name=<type:default> | : description |
|---|---|
| -help=<bool:false> | : if true, print this help message and exit. |
| -outfile=<string:rentropy_out.txt> | : name of output file. |
| -command=<string:compute_mut1> | : 'compute_mut1' and 'compute_mut2' prints thermodynamic values for each single and double mutations, respectively. |
| -seqfile=<string:NO FILE> | : input file in fasta format. |
| -max_span=<int:10> | : maximal base pair span |
| -max_mut2_span=<int:10> | : maximal distance between pairs of mutations considered |
Output Format:
A tab delimited format with a fasta-like header line for each sequence. Sequence positions of mutations (mut_pos1, mut_pos2) are in 0-based indexing convention. all the values are printed in unit of kcal/mol. In particular, entropies are printed as (- RT \sum P log P), where R=1.9872x10^{-3}[kcal/(mol K)] is gas constant, T=310.15[K] is temperature, and P is the Boltzmann probability distribution. Ensemble free energy is given by -RTlog(Z) where Z is the partition function.
------------------------------------
>sequence_name_1 # header line
mut_pos1 mut_pos2 original_base(s) mutation_data # 4 tab delimited columns for each row.
# There is a new line at the end of each table
>sequence_name_2
...
-------------------------------------
"mutation_data" is semicolon (';') delimited entries representing different mutations to the original base(s).
For each mutaion, there are 4 fields delimited by comma ',' representing
mutated_base(s),entropy_change,internal_energy_change,ensemble_free_energy_change;
mut_pos1 = mut_pos2 for single-point mutations
when mut_pos1 < 0, it represents thermodynamic variables of the original sequence as follows: -seq_len -seq_len N N:entropy:internal_energy:ensemble_free_energy
Output Example:
-----------------------------------------------------------------
>RF00005,tRNA,CP001399.1/1388256-1388329
| -74 | -74 | N | N,3.22873,-38.609,-41.8378; |
| 73 | 73 | A | C,0.022292,0.918986,0.896694;G,4.38638e-08,4.16677e-08,-2.19609e-09;T,0.0058682,0.504981,0.499113; |
| 72 | 72 | C | G,0.0189808,3.31635,3.29737;T,0.253788,2.85822,2.60444;A,0.0189806,3.31635,3.29737; |
| ..... | |||
| 1 | 1 | G | T,0.597295,7.34894,6.75165;A,0.616528,7.17693,6.5604;C,0.607786,7.25339,6.6456; |
| 0 | 0 | G | T,0.153886,4.32688,4.173;A,0.0712546,4.05877,3.98752;C,0.0692192,3.95708,3.88786; |
>RF00001,5S_rRNA,X07545.1/505-619
| -115 | -115 | N | N,2.13468,-73.104,-75.2387; |
| 114 | 114 | T | A,-0.0105533,-0.00903948,0.0015138;C,-0.0105501,-0.00903648,0.00151361;G,-0.0104647,-0.00895751,0.00150718; |
| 113 | 113 | A | C,0.0514393,0.741557,0.690118;G,0.0282833,-0.175106,-0.203389;T,0.328816,-0.0408454,-0.369661; |
| ..... | |||
Example
We compute thermodynamic changes for an Rfam sequence RF00005,tRNA,AL138651.1/64525-64597.Content of input file trna.fa:
>RF00005,tRNA,AL138651.1/64525-64597
GGGGAUGUAGCUCAUAUGGUAGAGCGCUCGCUUUGCAUGCGAGAGGCACAGGGUUCGAUUCCCUGCAUCUCCA
Original tRNA structure predicted by CentroidFold (colors represent strengths of base pairing probabilities):


Apply Rchange with command:
$ run_rchange -outfile=rchange_out.txt -command=compute_mut1 -seqfile=trna.fa -max_span=400
We obtain rchange_out.txt
The upper bound (solid line) and lower bound (broken lines) of the relative changes dF/|F|, dU/|U|, dS/S for each position:

From the output file, we extract mutations that minimize or maximize the relative changes.
| Type | Position(0-based) | From | To | Relative Change dX/|X| |
|---|---|---|---|---|
| Min dF/|F| | 13 | A | G | -0.17 |
| Max dF/|F| | 3 | G | U | 0.15 |
| Min dU/|U| | 13 | A | G | -0.22 |
| Max dU/|U| | 70 | C | A | 0.19 |
| Min dS/S | 5 | U | A | -0.50 |
| Max dS/S | 23 | G | U | 0.37 |
The predicted secondary structures of the original and the mutated sequences:
Original
GGGGAUGUAGCUCAUAUGGUAGAGCGCUCGCUUUGCAUGCGAGAGGCACAGGGUUCGAUUCCCUGCAUCUCCA
(((((((..((((........)))).(((((.......))))).....(((((.......)))))))))))).

Min dF/|F|
GGGGAUGUAGCUCGUAUGGUAGAGCGCUCGCUUUGCAUGCGAGAGGCACAGGGUUCGAUUCCCUGCAUCUCCA
(((((((...((((((((.((((((....)))))))))))))).....(((((.......)))))))))))).

Max dF/|F|
GGGUAUGUAGCUCAUAUGGUAGAGCGCUCGCUUUGCAUGCGAGAGGCACAGGGUUCGAUUCCCUGCAUCUCCA
.........((((........))))..((((.......))))((((..(((((.......)))))..))))..

Min dU/|U|
GGGGAUGUAGCUCGUAUGGUAGAGCGCUCGCUUUGCAUGCGAGAGGCACAGGGUUCGAUUCCCUGCAUCUCCA
(((((((...((((((((.((((((....)))))))))))))).....(((((.......)))))))))))).

Max dU/|U|
GGGGAUGUAGCUCAUAUGGUAGAGCGCUCGCUUUGCAUGCGAGAGGCACAGGGUUCGAUUCCCUGCAUCUACA
.........((((........)))).(((((.......))))).....(((((.......)))))........

Min dS/S
GGGGAAGUAGCUCAUAUGGUAGAGCGCUCGCUUUGCAUGCGAGAGGCACAGGGUUCGAUUCCCUGCAUCUCCA
......((.((((........))))))((((.......))))((((..(((((.......)))))..))))..

Max dS/S
GGGGAUGUAGCUCAUAUGGUAGAUCGCUCGCUUUGCAUGCGAGAGGCACAGGGUUCGAUUCCCUGCAUCUCCA
((((((((...............((.(((((.......))))).))...((((.......)))))))))))).

