FIRE: User Information (April 2009)

Program details and applications

For more information regarding the details and applications of FIRE, see the following publication (at the time or writing this, the manuscript is in review; once the manuscript is accepted a full citation will be provided): Durand PM, Hazelhurst S and Coetzer TL: The potential for evolutionary rates at codon sites to align sequences and infer protein domain function.

Implementing FIRE

To use the FIRE program all you need to have installed on your computer is fire.py (the FIRE program) and Python. There are also some optional features of FIRE that require additional installations. BUT if you do not use these optional features you do not need to install these

The fire.py program file is available at Scott Hazelhurst's webpage http://dept.ee.wits.ac.za/~scott/fire. The program is coded in Python and therefore requires that the Python software is installed on your operating system (Linux, Windows or Apple).

Run the program from the command line using the appropriate Linux/Unix or Windows convention. For example, to run it in a Unix-like operating system, you would say:

python fire.py file1 file2

where file1 and file2 are the input files.

The input files should be plain text files (not Word or RTF). FIRE assumes that the omega values are in one of the columns (see below for the options for specifying which column it's in).

FIRE produces the following output

Options

(Note there have been some changes from an earlier version of the program. There is one change of substance: we have separate gap open and extension penalties. A superficial but important change is that the options have been changed so that FIRE can run without reliance on any external libraries. Before, you could switch off graphical ouptput if you wanted. Now, you have to opt-in -- this means that the program will run without any reliance on gnuplot.)

At the moment, it is possible to change a few parameters when running FIRE. The parameters that can be changed are: the window frame in the GNUPLOT, plotting histograms in output, the gap penalty, and the max value in calculating the alignment score.

Background

Omega values are aligned using a modified Needleman-Wunsch algorithm on the Omega estimates in the two .txt files. The two sequences of Omega estimates are aligned so as to maximise the FIRE score, which is the sum of all individual codon scores. A codon score, cs, measures the similarity between two aligned omega values in the range [0,1]. The maximum difference between two omega values has been capped to OMAX (default 1.5), but is parameterisable.

Suppose in an alignment of the two sequences at a particular position, the omega score in sequence 1 is o1 and the omega score in sequence 2 is o2.

Then, cs(o1, o2)= 0, if abs(o1 - o2)> OMAX and
cs(o1, o2)= 1 - abs(o1 - o2)/OMAX otherwise.

The score of alignment is the sum of cs values of all aligned codons. FIRE uses a dynamic programming algorithm to find the best alignment.

The raw score is computed, as well as a normalised score which is the raw score divided by the length of the smaller of the two sequences.