Skip to content

mikekucera/genemania

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeneMANIA

http://genemania.org

GeneMANIA helps you predict the function of your favourite genes and gene sets.

Build instructions

General

Requirements:

  1. JDK (v1.7; other vesions may work)
  2. Maven (v3.2+)

Projects:

  1. common : common APIs used amongst the projects
  2. engine : the GeneMANIA algorithm engine
  3. broker : for communicating between the website and workers that use the engine
  4. website : the website backend (webservices etc)
  5. adminweb : the administrative interface for editing data used in the website
  6. plugin : the Cytoscape plugin/app

Building:

  1. To build all Java projects: mvn package
  2. To build a particular project, e.g. website mvn package -pl website -am

Website UI

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. The website should pull in the latest UI by calling the appropriate website-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 at http://localhost:8080/genemania. You can configure this in js/conf.js.

Requirements:

  1. Node.js & npm
  2. Gulp: sudo npm install -g gulp
  3. NB: you must npm install before using gulp

Targets: gulp <target1> <target2> ...

  • clean : clean built java & ui files (resets ui to default unminified state)
  • minify/build : build the minified ui
  • watch (default) : autocompilation & livereload for dev
  • Building java website
  • javac : build java website
  • javac-wdeps : build java website and its java dependencies
  • javac-deploy : build java website and deploy to tomcat
  • javac-clean : clean java website built files
  • java-deploy : deploy java website to tomcat
  • java-deploy-clean : clean java website in tomcat
  • website : deploys the built ui to the tomcat app war dir

Deployment instructions

The GeneMANIA website has several components, including data, workers, the webservices server, and the frontend webapp.

Requirements:

  1. JDK (v1.7; other vesions may work)
  2. Maven (v3.2+)
  3. Tomcat (v8; other versions may work)

Deploying the data:

  1. TODO

Deploying the workers:

  1. TODO

Deploying the webservices:

  1. Create a prod.properties file : TODO link to example properties file
  2. Set the PRIVATE_REPO environment variable to point to the directory where you're storing prod.properties: export PRIVATE_REPO=/some/dir
  3. Build the website: mvn package -pl website -am -P prod
  4. Deploy the produced .war file to Tomcat

Deploying the frontend webapp:

  1. TODO configure to point towards the webservices
  2. Install npm packages needed to build with gulp: npm install
  3. Build the webapp: gulp build
  4. Deploy the entire website-ui directory to a HTTP server of your choice, like Apache httpd

Debugging tools

  • 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

Funding

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.

About

GeneMANIA helps you predict the function of your favourite genes and gene sets.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 47.4%
  • Java 46.2%
  • CSS 4.1%
  • HTML 1.3%
  • Python 0.6%
  • Shell 0.2%
  • Other 0.2%