xQTL workbench - Installation and maintanance

xQTL can be installed, ran and updated on any machine that has Java installed. For safety, we recommend you perform these action as a regular UNIX user and not as root.


You will need: Ant, Git, Java.

Create a directory somewhere to work in, e.g. /Users/johndoe/xqtl, and cd to there. Run these commands:

git clone
git clone
ant -f molgenis_apps/xqtl_dev.xml make_run

By the way, Ant can be made faster by giving it more memory. Use e.g. export ANT_OPTS=-Xmx512m
The application is now running at: http://localhost:8080/xqtl
Then login with user/pw: admin / admin

You are taken to the homepage, where a special prompt appears that allows you to setup the application with example users and data with one click.
This prompt only appears if you are logged in as admin, and if the application contains no investigations or other users. This concludes setting up the application.

PLEASE NOTICE: For subsequent starts of the application, use:
ant -f molgenis_apps/xqtl_dev.xml

To avoid regeneration and recompilation. It calls the default target 'run'. Things you should do next are..

  • Change the admin password
  • Load the example data/users. Or let users register themselves and put them in the group 'biologist' or 'bioinformatician'. You can even add users manually.
  • Install R so the Rplot plugin will work. And install the R packages to be able to run QTL mapping locally.
  • Run a default analysis to see that everything is setup correctly.


Consider creating an SH script to do the updating for you. For example, this script kills/starts the application on port 9000 and assumes you have used the above installation/checkour dirs:

kill -9 `lsof -i :9000 -t`
cd ~/xqtl/molgenis
git pull origin master
cd ~/xqtl/molgenis_apps
git pull origin master
ant -f xqtl_dev.xml clean_make
nohup ant -f xqtl_dev.xml runOn -Dport=9000 &

At the moment, clean_make will drop your entire database, so be careful! The alternative
ant -f xqtl_dev.xml recompile
Does a 'soft' update: it only updates the code and recompiles this without touching the database. However, some changes require regeneration and (implicitly) a fresh database because of potential datamodel changes.

Some more script examples:

Development and deployment

Go into the application source for convenient access to the Ant scripts:
cd molgenis_apps

Run the application on a specified port, and only this port:
ant -f xqtl_dev.xml runOn -Dport=9000

Update the application:
git pull origin master
Followed by at least recompilation. This is the 'fast but may fail' option.
ant -f xqtl_dev.xml recompile
For some updates you must remake the application, which includes MOLGENIS generation and recompilation. This is the 'safe but slow' option.
ant -f xqtl_dev.xml clean_make

You can run the data- and webtest yourself to find out if your version is stable:
ant -f xqtl_dev.xml test
ant -f xqtl_selenium.xml webtest (if this fails: try running as root due to permissions)

You can remove all generated and compiled code:
ant -f xqtl_dev.xml clean
Followed by e.g. a make:
ant -f xqtl_dev.xml make
And even delete the HSQL database:
ant -f xqtl_dev.xml deletedb

For further details you can consult the source of the various scripts: development, webtesting, jarbuilding.

Download source into development IDE (OSX, UNIX, Windows):

  1. Install the Eclipse IDE
  2. Install EGit for Eclipse
  3. Install JBoss tools Freemarker for Eclipse
  4. Add Git repositories and
  5. Clone/import the master branch of both repositories
  6. Setup classpath by running update-eclipse in build_xgap.xml using Ant.
  7. Now generate and compile by executing apps/xgap/org/molgenis/xgap/xqtlworkbench/ or clean_make in xqtl_dev.xml.
  8. Refresh and start the application with modules/webserver/boot/ or run in xqtl_dev.xml. (the default target)
Last modified 12 years ago Last modified on 2012-07-01T12:02:37+02:00