Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
The WormBase web application and external model
HTML JavaScript Perl CSS PHP Perl6 Other

Merge pull request #3884 from WormBase/248-go

more style fix to GO related display
latest commit fe8a65b3de
@sibyl229 sibyl229 authored
Failed to load latest commit information.
build migrating from subversion to mercurial
conf Merge pull request #3863 from WormBase/transcription_binding_region_fix
credentials @ 113c17f update private submodule with jwt secret key #3774
lib Merge pull request #3884 from WormBase/248-go
logs Added support of Server::Starter daemon to control starman.
metadata updated the metadata path
root Merge pull request #3884 from WormBase/248-go
script fix bug of negative image height breaking R graphics #2900
src/epcr * upgraded gbrowse to the newest version (hopefully no conflicts)
t fix testing expr_pattern type to accommodate array ref #3705
util write access
.gitignore updated .gitignore
.gitmodules * added github integration for posts from the comment form
CutyCapt add cutycapt
Makefile.PL include Statistics::R::IO in makefile #2900 Update
gbrowse.psgi Remove trailing whitespace - all files
scheduler.yml automatic session cleanup
wormbase.conf go_term associated genes summary view #3662
wormbase.env.template updated template
wormbase.psgi Added support of Server::Starter daemon to control starman.
wormbase_local.conf.template remove old code from wormbase_local.conf.template #2913
wormbase_production.conf Remove trailing whitespace - all files
wormbase_staging.conf update db credentials on staging (db only accessible for certain user…

WormBase Website Repository

This repository contains the WormBase Web application.

The repository for WormBase Mobile can be found at WormBase/website-mobile


Execute the following commands in a BASH terminal:

git clone 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:

  1. a development environment: Perl, make, gcc & co.
  2. 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".

Running the application

To run the app using the built-in Catalyst server:

script/ -p 8000

Running the application via Starman

starman --port 8000 --workers 10 wormbase.psgi

Unit Testing

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

Comparative Testing

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

Creating a reference image set that is used for the comparative tests:

perl t/gbrowse.t --base --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:

Todd Harris (

Something went wrong with that request. Please try again.