Xrei Program
Contents
xREI
xREI (pron. "X-ray") is an AJAX web interface and visualization server for xrate and its grammar files.
Along with xrate's annotation and training functionality, it provides web access to grammar state diagrams and substitution matrix bubbleplots.
Downloading the source code
The xREI source code is available from our anonymous cvs, to download use:
cvs -z3 -d:ext:anonymous@cvs.biowiki.org:/usr/local/cvs co xrei cvs -z3 -d:ext:anonymous@cvs.biowiki.org:/usr/local/cvs co xrei-scripts
xreicontains the javascript and html interface files, while
xrei-scriptscontains the perl scripts which serve as xREI's backend.
Browsing the source code
Browse the source code repositories here:
Installation notes
The following notes are from experience configuring xREI under OS X and Debian Linux. ymmv under other OSes. These instructions presume that Apache2 and Perl5 are installed and functional on your system.
Dependencies
Before installing xREI, the following software packages should be installed, preferably via apt-get, rpm, macports or similar:
-
TeXLive 2007
or equiv (note: the macports version under os x never worked for me, I recommend MacTeX) -
ImageMagick
-
GraphViz
TeX, dot and neato from
GraphVizand convert from
ImageMagick.
In addition xREI will require the following perl modules be installed:
-
GraphViz
- MIME::Base64
- JSON::Any
xREI also requires DART.
Apache Configuration
Your sites-available/default or httpd.conf file should be modified to include a section that looks something like this:
<Directory "/var/www/xrei-scripts"> Options +ExecCGI [[Add Handler]] cgi-script .cgi .pl [[Set Env]] PERL5LIB /usr/local/biowiki/dart/perl [[Set Env]] MPINPUTS /usr/share/texmf-texlive/metapost/base </Directory>
xREI Configuration
xREI expects xrei-scripts to live in../xrei-scriptsby default, and for xrei.json to be in the same directory as
index.html. These can both be modified in the
initfunction in
index.html.
xrei-vizrates.plexpects a directory
/tempunder
xrei-scriptsit can write
PostScriptfiles to. This directory should be cleaned out regularly with a cronjob. Once a night to once a week should be frequent enough, depending on use.
xrei.json
xrei.jsondefines the repositories that will be available to xREI, and is in a JSON format. An example configuration is included with xREI, including the directories containing xrate grammar files.
Other information
A quick tutorial on writing AJAX wrappers to Unix command-line tools can be found here: Dojo Perl Tutorial
Papers
- Barquist & Holmes: xREI: a phylo-grammar visualization webserver. Nucleic Acids Res. 2008;36:W65-9.
- Bendaña & Holmes: Colorstock, SScolor, Ratón: RNA alignment visualization tools. Bioinformatics 2008;24:579-80.
History
xREI development began during the 2007 Google Summer of Code, sponsored by NESCent. The originalSoCideas page can be found here.
-- Lars Barquist - 29 Feb 2008