Downloads
Installing Sybil
Step 1: Check/install prerequisites
Thus far the software has been tested only on Linux and Solaris. In addition, to download and use the sample database
and Sybil web front-end you will first need to install (and in some cases, configure) the following applications and/or packages:
- Apache HTTP Server (or any other web server that supports CGI scripts)
- PostgreSQL database server
- Perl programming language and the following Perl modules:
(Many of these are common modules that are already installed in most Perl installations. It is
recommended that modules are installed using the CPAN shell
to capture and install dependencies. See 'perldoc CPAN' for more information.)
- bioperl 1.4
- DBI
- DBD::Pg
- GD
- GD::SVG
- SVG
- Graph::Kruskal
- HTML::Template
- LWP::UserAgent
- HTTP::Request
- XML::Simple
- XML::Parser
- XML::Writer
- Tree::DAG_Node
- File::Spec
- Storable
- Date::Manip
- Date::Format
- Log::Log4perl
- MIME::Lite
- Time::HiRes
Step 2: Download and install the chado demo database
Go to ftp://ftp.tigr.org/pub/data/chado_demo/
# Download the sample database:
chado_demo.dump.gz (238MB)
# Create an empty database on the local PostgreSQL server
createdb 'chado_demo'
# NOTE: The above command assumes that the PostgreSQL server has been
# installed and configured and that you are logged in as a user with
# CREATE DATABASE privileges. See the man page for createdb for
# additional help with this command.
# Load the database. This will require ~4.6GB of free space on the volume
# where the $PGDATA directory is located.
zcat chado_demo.dump.gz | psql -d chado_demo -f -
# NOTE: During the loading process you may wish to temporarily increase the
# value of the PostgreSQL "checkpoint_segments" parameter from its default.
# Using the default value (3 in PostgreSQL 8.0.3) may cause the database to
# complain about overly-frequent checkpointing. Changing this parameter
# may require a restart of the server, so check the PostgreSQL documentation
# before making any changes.
# Optimize the database
vacuumdb -d chado_demo --full --analyze --echo
# Create a database user for the sybil interface (this is only necessary if
# a suitable user account does not already exist.) For example, a new user
# account can be created by issuing the following command in PostgreSQL
# (see the PostgreSQL documentation for information about setting passwords
# and managing database privileges.):
create user sybil;
# Ensure that this user has SELECT permissions on the tables in chado_demo
# For example, the following commands will give *all* users SELECT permissions
# on the tables in chado_demo:
grant select on analysis to public;
grant select on analysisfeature to public;
grant select on analysisprop to public;
grant select on author to public;
grant select on contact to public;
grant select on cv to public;
grant select on cvterm to public;
grant select on cvterm_dbxref to public;
grant select on cvterm_relationship to public;
grant select on cvtermpath to public;
grant select on cvtermsynonym to public;
grant select on db to public;
grant select on dbxref to public;
grant select on feature to public;
grant select on feature_cvterm to public;
grant select on feature_dbxref to public;
grant select on feature_pub to public;
grant select on feature_relationship to public;
grant select on feature_synonym to public;
grant select on featureloc to public;
grant select on featureprop to public;
grant select on featureprop_pub to public;
grant select on organism to public;
grant select on organism_dbxref to public;
grant select on organismprop to public;
grant select on project to public;
grant select on pub to public;
grant select on pub_author to public;
grant select on pub_dbxref to public;
grant select on pub_relationship to public;
grant select on pubprop to public;
grant select on synonym to public;
grant select on tableinfo to public;
Step 3: Download and install the Sybil software
Go to http://sourceforge.net/project/showfiles.php?group_id=123642
and download the most recent version of the sybil tarball (sybil_demo-0.92.tar.gz).
# unpack the .tar.gz file in an appropriate location:
cd /opt/
tar xzvf sybil_demo-0.92.tar.gz
# copy the src/content/shared/htdocs directory somewhere under the htdocs/ or html/ directory of your web server:
cd sybil_demo-0.92/src/content/shared
cp -R htdocs /export/my_apache_lives_here/htdocs/sybil_demo
# copy the src/chado_sybil directory somewhere under the cgi-bin/ directory of your web server:
cd ../..
cp -R chado_sybil /export/my_apache_lives_here/cgi-bin/sybil_demo
# Edit all the .cgi files to use the correct version of Perl (this is only necessary if you
# do not wish to use /usr/local/bin/perl). For example, to edit all the .cgi files to use
# /usr/bin/perl instead of /usr/local/bin/perl, execute the following commands:
cd /export/my_apache_lives_here/cgi-bin/sybil_demo/chado_sybil
perl -pi -e 's/#!\/usr\/local\/bin\/perl/#!\/usr\/bin\/perl/;' `find . -name '*.cgi' -print`
# Edit the first (uncommented) line in /export/my_apache_lives_here/cgi-bin/sybil_demo/conf/Sybil.conf
# to reference the correct database. Initially this line reads as follows (and has the format
# "schema:dbms:server/host"):
Chado:Sybase:WEBTIGR
# If your PostgreSQL server is running on a machine called pg-machine then you would
# change the above line to read as follows:
Chado:Postgres:pg-machine
# NOTE: you must have the tcp listener running on the postgres host for this to work.
# Edit /export/my_apache_lives_here/cgi-bin/sybil_demo/conf/demo.conf with the username
# and password of a user that has SELECT permissions on the postgres demo database that
# was installed as described above.
# OPTIONAL: edit sybil_demo/conf/demo.conf with the location of a directory in
# which to store image files generated by the web interface. Two configuration
# parameters must be edited. The first, 'image_tmp_cache_dir', specifies the
# location of the directory in which to write cached image files. This directory
# must be writable by the user (typically 'apache', 'httpd', or 'nobody') from
# which CGI scripts run. This directory must also be somewhere under the web
# server's htdocs/ or html/ directory (i.e, the files written therein must be
# visible at some public URL on your web server). The second parameter,
# 'image_tmp_cache_url' specifies the URL that corresponds to the directory
# given by the first parameter. This URL does not have to be absolute, but
# may be relative to the document root, as in the following example:
'image_tmp_cache_dir' => '/export/my_apache_lives_here/htdocs/area1/sybil_tmp'
'image_tmp_cache_url' => '/area1/sybil_tmp',
# Create the directory you have chosen to use if it does not already exist:
mkdir /export/my_apache_lives_here/htdocs/area1/sybil_tmp
# ensure that the apache/httpd user can read and write files in this directory
# for example:
# chown apache /export/my_apache_lives_here/htdocs/area1/sybil_tmp
# chmod u+rwx /export/my_apache_lives_here/htdocs/area1/sybil_tmp
# Edit the <path> lines in the installed version of the file shared/urls/urls_shared.xml
# Following the instructions above, this file will be installed as
# /export/my_apache_lives_here/cgi-bin/sybil_demo/shared/urls/urls_shared.xml
#
# The first <path>, under the location 'shared_htdocs' must be changed to the URL
# of the directory to which src/content/shared/htdocs was copied:
#
<location name='shared_htdocs'>
<path>/sybil_demo/</path>
# The second <path>, under the location 'shared_cgi', must be changed to the URL
# of the directory to which sybil_demo/src/chado_sybil was copied:
#
<location name='shared_cgi'>
<path>/cgi-bin/sybil_demo/shared/</path>
# Now try to load the Sybil home page in a web browser. If your web server appears
# on the inter/intranet as "ourwebserver.someplace.org" then you'll probably need to
# use the following URL:
#
# http://ourwebserver.someplace.org/cgi-bin/sybil_demo/shared/index.cgi?site=demo