GeoDiver is a web app that allows users to easily analyse GEO datasets.
Feel free to give us a shout on the github issues, if you would like more help than that below.
- Ruby (>= 2.2.0)
- Recommended to use rvm to install ruby
- R (=3.3.2)
- NodeJs (>= 7.7)
- bionode-ncbi (>= 2.0)
- jq (>= 1.5)
In order to use the Google Login System (recommended), you need register with Google API to recieve a key and secret key (don't forget to keep your secret key a secret!)
- Go to 'https://console.developers.google.com'
- Select your project or create a new one (in the top left hand corner).
- Click on the menu button on the top left, and click on 'API Manager'.
- Click on 'Library' in the left side bar.
- In the search bar, type in "Contacts API" and then "Google+ API".
- When it is shown, click on the API name and then select 'Enable'.
- Once enabled, go back to the previous screen and search for the second API.
- After, enabling both APIs, click on 'Credentials' in the side bar.
- Next select the "OAuth consent screen" tab on top, and provide an 'EMAIL ADDRESS' and a 'PRODUCT NAME'
- Press 'Save' (This may automatically take you to step 12)
- Next select the 'Credentials' tab on top and click on 'Create Credentials' and then 'OAuth Client ID'.
- Under Application type, select 'Web Application'
- Select a name for your application (e.g. GeoDiver)
- Under Authorised Javscript origins, add 'http://localhost:9292' (and other domain name you wish to use)
- Next, under Authorised redirect URIs add 'http://localhost:9292/auth/google_oauth2/callback'.
- Copy Client ID and Client Secret.
Simply run the following command in the terminal.
# Clone the repository.
git clone https://github.com/GeoDiver/GEODiver
# Move into GeoDiver source directory.
cd GEODiver
# Install R dependencies & Build and install the latest version of the webapp.
rake install
# Start the web app
# Make sure you replace $CLIENTID and $CLIENTSECRET with the actual values that you copied above.
passenger start --envvar GOOGLE_KEY=$CLIENTID --envvar GOOGLE_SECRET=$CLIENTSECRET -p 9292 -e production --sticky-sessions -d
It is also possible to run from source. However, this is not recommended.
# After cloning the web app and moving into the source directory
# Install bundler
gem install bundler
# Use bundler to install dependencies
bundle install
# Optional: run tests and build the gem from source
bundle exec rake
# Run GeoDiver
bundle exec passenger start -h
# note that `bundle exec` executes GeoDiver in the context of the bundle
# Alternatively run Geodiver using the command line interface
bundle exec geodiver -h
To configure and launch Geodiver, run the following from a command line from the GeoDiver root folder.
bundle exec passenger start -h
That's it! Open http://localhost:9292/ and start using GeoDiver!
See $ passenger start -h
for more information on all the options available when running GeoDiver.
A Config file can be used to specify arguments - the default location of this file is in the home directory at ~/.geodiver.conf
. An examplar of the config file can be seen below.
---
:num_threads: 8
:port: '9292'
:host: 0.0.0.0
:gd_public_dir: "/Users/ismailm/.geodiver"
:devel: true
This program was developed at QMUL as part of the Bioinformatics Masters Course.