REDUCE Suite v2.0 is available
REDUCE Suite v2.0 now supersedes MatrixREDUCE, with many new and improved features!
Regulation of gene expression by a transcription factor requires physical interaction between the factor and the DNA, which can be described by a statistical mechanical model. Based on this model, the MatrixREDUCE algorithm uses genome-wide occupancy data for a transcription factor (e.g. ChIP-chip or mRNA expression data) and associated nucleotide sequences to discover the sequence-specific binding affinity of the transcription factor. The sequence specificity of the transcription factor's DNA-binding domain is modeled using a position-specific affinity matrix (PSAM), representing the change in the binding affinity (Kd) whenever a specific position within a reference binding sequence is mutated. The PSAM can be transformed into affinity logo for visualization using the utility program AffinityLogo, and a MatrixREDUCE run can be summarized in an easy-to-navigate webpage using HTMLSummary.
The input to MatrixREDUCE is a sequence file in FASTA format and an expression data file in tab-delimited text format (missing values are allowed). Output data include PSAMs in numeric and graphical format, parameters of the fitted model, and an HTML summary page.
The MatrixREDUCE software package has been developed in the laboratory of Dr. Harmen Bussemaker at the Department of Biological Sciences, Columbia University in the City of New York. The package was started by Barrett Foat for his Ph.D. project, and consisted of several C programs (calling GSL functions) glued together with Perl scripts. Based on Barrett's original work, Xiang-Jun Lu has rewritten and improved the source code using pure ANSI C, calling Numerical Recipes (NR) routines to make the program more efficient and self-contained. Later on, two related C programs, AffinityLogo and HTMLSummary, and other scripts were added to form the current package.
This work was supported by National Institutes of Health Grant HG003008 (to Harmen Bussemaker). MatrixREDUCE was initially reported in the paper: "Profiling condition-specific, genome-wide regulation of mRNA stability in yeast" by Barrett Foat et al. [PNAS 102(49), 17675-17680, December 6, 2005], and most recently in: "Statistical mechanical modeling of genome-wide transcription factor occupancy data by MatrixREDUCE" by Barrett Foat et al. [Bioinformatics, 2006 22(14):e141-e149].
HTML summary page of a typical MatrixREDUCE run
You must accept our license terms and register first before you can download and use the MatrixREDUCE software package.
Download the package
Please register first (see above). You can then download either the source code or pre-compiled binary distribution for Linux, Cygwin (Windows), Mac OS X, SunOS. As outlined above, MatrixREDUCE makes use of some (15) NR ANSI C routines. If you want to compile MatrixREDUCE from source yourself, you must have a valid NR license installed on your computer. If, however, you only install a pre-compiled distribution of MatrixREDUCE, you do not need a NR license to run it.
Installing MatrixREDUCE is easy – you just need to perform the following simple steps:
tar zxvf MatrixREDUCE_os_verNum.tar.gz
The os_verNum part of the tarball is specific to your selection. For example, for Linux binary distribution, the current version of the tarball is called MatrixREDUCE_Linux_v1.0.tar.gz, and for the source code, it is named MatrixREDUCE_src_v1.0.tar.gz.
The will created a directory named MatrixREDUCE under your current working directory, which contains five subdirectories bin, data, doc, examples, sequences, plus src if you have downloaded the source code distribution.
Normally, you would install MatrixREDUCE directly under your home directory, although any location will be just fine.
Skip to the next step if you have downloaded a pre-compiled binary version.
Edit the Makefile using your favorite editor (e.g., vi or emacs): you need to change the value of the macro NRC_RECIPES (the 6th line) to the location of your NR ANSI C routines (2nd edition). On my computer, it is set to /home/lux/src/recipes_c-ansi/recipes.
make patch applying patches to the original NR ANSI C routines to make them usable with MatrixREDUCE.
make generating three executable files MatrixREDUCE, AffinityLogo, and HTMLSummary, and moves them into the bin directory.
To run MatrixREDUCE, you need to set up the environment variable MATRIXREDUCE and add $MATRIXREDUCE/bin to your command line search path. The Perl script MatrixREDUCE_setup is used to automate this process. It checks for your shell (bash, csh/tcsh), and produces the settings to be included into your login script. For example, on my system running SuSE Linux, it produces the following:
for your 'bash' shell, please add the following into ~/.bashrc: -------------------------------------------------------------- export MATRIXREDUCE=/home/lux/MatrixREDUCE export PATH=/home/lux/MatrixREDUCE/bin:$PATH --------------------------------------------------------------
- For command line help, type the program name followed by -h, e.g., MatrixREDUCE -h
- To use HTMLSummary (which calls AffinityLogo) to generate the HTML summary page, you need to have GhostScript installed. See $MATRIXREDUCE/doc/AffinityLogo.cfg for setting path to the command gs. AffinityLogo generates the logo image in EPS format, and uses gs to convert it into PDF, PNG or JPG format. Additionally, with ImageMagick installed, you can also get the logo in GIF image. In HTMLSummary generated HTML webpage (with a default file name index.html), the PNG image format is used.