This repository contains the WormBase Web application.
Execute the following commands in a BASH terminal:
git clone git://github.com/WormBase/website.git wormbase
cd wormbase
git submodule init
git submodule update
export approot=`pwd`
perl Makefile.PL
make installdeps
If you did not start off in /usr/local
, then you can either change the preset paths in the application's configuration files, or alternatively, carry out these two steps:
sudo -E su
cd /usr/local
ln -s $approot
Most dependencies will be installed with make installdeps
, but perl Makefile.PL
itself is depending on some prerequisites:
- a development environment: Perl, make, gcc & co.
sudo cpan Module::Install
On Mac OS X, Perl comes preinstalled. The C development tools are installed from within Xcode, which is free, and then selecting from the menu/dialogs: Xcode -> Preferences... -> Downloads -> Components -> "Command Line Tools" -> "Install".
To run the app using the built-in Catalyst server:
script/wormbase_server.pl -p 8000
starman --port 8000 --workers 10 wormbase.psgi
We provide two sets of unit tests for the REST API and WormBase Perl API respectively. The tests are based on Test::More, they run on a fully populated WormBase database backend, they autonomously start and stop a Catalyst web server (random port between 28,000 and 31,999).
Running REST API tests:
perl t/rest.t
Running WormBase Perl API tests:
API_TESTS=1 perl t/api.t
Running WormBase Perl API tests for just the gene class:
API_TESTS=gene perl t/api.t
For testing GBrowse installations, we provide a test implementation that compares gbrowse_img
images to a reference set.
Running comparative GBrowse tests:
perl t/gbrowse.t --base http://dev.wormbase.org:4466/cgi-bin/gb2/gbrowse_img
Creating a reference image set that is used for the comparative tests:
perl t/gbrowse.t --base http://dev.wormbase.org:4466/cgi-bin/gb2/gbrowse_img --reference
A summary log and a full disclosure of broken URLs is written to the logfile logs/gbrowse_test.log
.
Our development workflow can be found here:
http://wiki.wormbase.org/index.php/Development_workflow_-_webdev
Todd Harris ([email protected])