GeneMANIA helps you predict the function of your favourite genes and gene sets.
Requirements:
- JDK (v1.7; other vesions may work)
- Maven (v3.2+)
Projects:
common
: common APIs used amongst the projectsengine
: the GeneMANIA algorithm enginebroker
: for communicating between the website and workers that use the enginewebsite
: the website backend (webservices etc)adminweb
: the administrative interface for editing data used in the websiteplugin
: the Cytoscape plugin/app
Building:
- To build all Java projects:
mvn package
- To build a particular project, e.g. website
mvn package -pl website -am
Notes:
- The
website-ui
contains the frontend interface for the website. Naturally, JavaScript is used for the UI and the build process, so the build process here differs from the previous Java projects. Thewebsite
should pull in the latest UI by calling the appropriatewebsite-ui
target — that way, the website always automatically gets the latest UI on each build. - The website UI assumes a local development environment, unless deployed to the
website
Java project. For local development, the UI assumes the website server resides athttp://localhost:8080/genemania
. You can configure this injs/conf.js
.
Requirements:
- Node.js & npm
- Gulp:
sudo npm install -g gulp
- NB: you must
npm install
before usinggulp
Targets: gulp <target1> <target2> ...
clean
: clean built java & ui files (resets ui to default unminified state)minify
/build
: build the minified uiwatch
(default) : autocompilation & livereload for dev- Building java website
javac
: build java websitejavac-wdeps
: build java website and its java dependenciesjavac-deploy
: build java website and deploy to tomcatjavac-clean
: clean java website built filesjava-deploy
: deploy java website to tomcatjava-deploy-clean
: clean java website in tomcatwebsite
: deploys the built ui to the tomcat app war dir
The GeneMANIA website has several components, including data, workers, the webservices server, and the frontend webapp.
Requirements:
- JDK (v1.7; other vesions may work)
- Maven (v3.2+)
- Tomcat (v8; other versions may work)
Deploying the data:
- TODO
Deploying the workers:
- TODO
Deploying the webservices:
- Create a
prod.properties
file : TODO link to example properties file - Set the
PRIVATE_REPO
environment variable to point to the directory where you're storingprod.properties
:export PRIVATE_REPO=/some/dir
- Build the website:
mvn package -pl website -am -P prod
- Deploy the produced
.war
file to Tomcat
Deploying the frontend webapp:
- TODO configure to point towards the webservices
- Install npm packages needed to build with gulp:
npm install
- Build the webapp:
gulp build
- Deploy the entire
website-ui
directory to a HTTP server of your choice, like Apache httpd
- Eclipse works fairly well as an IDE for this project
- Configure Eclipse to use the JDK you want for building or else it will use the old system default
- m2e for maven; reports some errors but works OK despite that
- [Sysdeo Tomcat plugin] for debugging the webservices website; can be used on Tomcat 8 even though it's not listed on their site
GeneMANIA is actively developed at the University of Toronto, in the Donnelly Centre for Cellular and Biomolecular Research, in the labs of Gary Bader and Quaid Morris. GeneMANIA development was originally funded by Genome Canada, through the Ontario Genomics Institute (2007-OGI-TD-05) and is now funded by the Ontario Ministry of Research and Innovation.