This page is under construction. The instructions are currently not complete!

Mutual Information Support for RNA Secondary Structure Models

Predicting base interactions in RNA structures from the phylogenetic-significance of mutual information between columns.

Overview: What do these programs do?



Install a modified version of rate4site

The program rate4site is used to infer a phylogenetic tree with per-site substitution rates from the observed sequence alignment. In order to properly function on RNA alignments, rate4site requires a minor source code modification to deal with gap characters as a separate state. For convenience, I have included a modified version of the complete source release for download here.

download Download rate4site version 2.01 (Nov06) modified 18 December 2008

The included Makefile is for compiling under Windows. Instead, compile using this command:

g++ -Dunix -DDOUBLEREP -o rate4site -O3 *.cpp

Finally, copy the new rate4site executable to a bin directory (e.g. /usr/local/bin) or add its location to your $PATH so that the mutual information scripts can employ it.

Install the esl-weight program from Infernal

Chances are that you already have Infernal installed if you routinely work with RNA alignments. If not, download Infernal, compile, and install according to the included instructions.

external Official Infernal Site

These scripts only need the esl-weight utility program that is included in the easel subpackage. This program will be compiled by default, but may NOT be installed by default. For infernal-1.0rc5, you can find the binary at infernal-1.0rc5/easel/miniapps/esl-weight. Manually move this program into your path (e.g. to /usr/local/bin) or add its location to your $PATH so that the mutual information scripts can employ it.

Install BioPerl

These scripts use modules for handling phylogenetic trees from BioPerl. Download and install BioPerl according to the instructions. Be sure that you add BioPerl to your Perl library path (e.g. by setting $PERL5LIB).

external Official BioPerl Site

Install mutual information scripts

Finally, the download the scripts themselves.

download Download MI Scripts version 1 21 December 2008

You should be able to run these Perl scripts from their current location or add them to your $PATH.


Usage: mutual_information_significance.pl -i stockholm.stk -o stockholm.mi.stk [-r 200 -n 300]

The input alignment is processed before MI is calculated. First, all columns that are >50% gaps (taking into account relative sequence weights) are removed. Second, identical sequences in the alignment are removed. Third, sequences that share the most identity with other sequences are removed until fewer than a certain number of sequences remain in the alignment. These steps reduce the number of columns and sequences that must be considered in further calculations and usually do not affect the calculated MI significance scores.

The two parameters that you may want to adjust are -r which is how many different random alignments to generate to estimate the _p_-value significance of the actual MI score between each pair of columns (default = 200) and -n to control the maximum number of sequences allowed after pruning to the most diverse.

The input stockholm alignment MUST have an RF line. See the example alignments that are included and the Infernal documentation for a description of this line. This line will be generated by default if the Infernal program cmalign was used to generate the Stockholm file. You may want to alter or construct this line yourself. Only columns that contain non-gap characters in the RF line will be considered when removing redundant sequences.

Be forewarned that depending on (1) the number of sequences, (2) the number of columns in your alignment, and (3) the number of resamplings requested for estimating p-values that this procedure can be extremely slow and the intermediate resampling of alignments can require large amounts of free disk space. If you must interrupt operation of the script, it can usually be called from within the same working directory later and execution will pick up where it left off rather than restarting, if possible. The calculation of mutual information from each resampled alignment can be parallelized (Each alignment in the resampled-tree directory must be used to generate a MI file in the resampled-mi directory).


Two example Stockholm alignments are provided: FMN.stk and SAM-I.stk. For testing, run:

mutual_information_significance.pl -i SAM-I.stk -o SAM-I.mi.stk

Several intermediate files will be created. Open the resulting file SAM-I.mi.stk in a text editor.

Topic attachments
I Attachment Action Size Date Who Comment
ziptgz rate4site.tgz manage 218.9 K 18 Dec 2008 - 20:39 Main.JeffreyBarrick  
Edit | Attach | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...

 Barrick Lab  >  WebLeftBar  >  ToolList  >  ToolsRNAStructureMutualInformation

Topic revision: r3 - 22 Dec 2008 - 03:55:41 - Main.JeffreyBarrick
This site is powered by the TWiki collaboration platformCopyright ©2017 Barrick Lab contributing authors. Ideas, requests, problems? Send feedback