Skip to content

An extensible Ruby on Rails web-service application and database for visualising HTGS data

Notifications You must be signed in to change notification settings

TeamMacLean/gee_fu

 
 

Repository files navigation

What is Gee Fu?

Gee Fu is an application that holds Gene Feature data. It has been designed with the needs of researchers wanting to keep, share and annotate sequence and feature data. Gee Fu is a Ruby on Rails based RESTful web-service application that stores and serves sequence assembly and genome feature data on request.

GeeFu can be used as a base that can be easily extended into fuller customised web-applications using the powerful Rails framework.

Gee Fu is ideally suited to serving large amounts of data such as those from high-throughput sequencing experiments via bio-samtools and BAM files.

Gee Fu is capable of receiving and handling requests from AnnoJ , a web service based viewing engine for genomic data. It can return JSON data which AnnoJ is able to render. We anticipate being able to serve up data in formats suitable for different applications as development progresses and we become aware of other rendering engines and web services that request data.

Live Sites

Open Ash Dieback

YellowRust (Available Soon)

Demo Install (not advised for production)

  • Install Docker
  • Get the Dockerfile: wget(or)curl https://raw.github.com/wookoouk/gee_fu/master/Dockerfile
  • Build the container: docker build .
  • Run the image: docker -t geefu /opt/geefu/start

Full Install

Hosting

You can install GeeFu almost anywhere, on a local machine, VM or in then cloud, below are a few recommendations:

  • Linode - Cheep($20 p/m) hosting, very easy to set up.
  • AWS - Cheep (free option available), not so easy to set up.
  • Heroku - Cheep (free option available), easy to setup
  • VirtualBox - Run the site from your local machine, for testing.

Dependencies

Ubuntu/Debian

OSX

Windows (Coming Soon!)

Get GeeFu

  • Clone the GeeFU repo: git clone git://github.com/wookoouk/gee_fu.git geefu
  • Go into geefu folder: cd geefu
  • Accept the .rvmrc as trusted

Configure GeeFu

  • Install bundler gem install bundler
  • Set up the repo bundle install
  • Sign up for a Mandrill account and grab an API key
  • Create a .env file in the root folder with:
EMAIL_SENDER=My Name <me@example.com>
MANDRILL_USERNAME=me@example.com
MANDRILL_APIKEY=[insert API key]
  • Update 'config.action_mailer.default_url_options' inside 'config/environments/development.rb' to reflect your sites base URL.
  • Create a Postgres user called gee_fu with no password
  • Change the attributes of Postgres user gee_fu to allow database creation ALTER USER gee_fu CREATEDB;
  • Run rake db:setup
  • Follow the instructions at README_FOR_DATA.mdown
  • Start the gee-fu server with foreman start
  • Visit http://localhost:5000
  • Once you've signed up as the first user use rake admin:set email=me@example.com to set your account as an admin to be able add Organisms

Start GeeFu

With Rake
bundle exec rails server
With Foreman
foreman start
With Passenger

Install Passenger

The following is added to the Apache2/Httpd conf to route to WebApollo

ProxyRequests Off
ProxyPass /WebApollo http://localhost:8080/WebApollo
ProxyPassReverse /WebApollo http://localhost:8080/WebApollo

Ubuntu/Debian:

sudo /etc/init.d/httpd/restart

Centos:

sudo /etc/init.d/apach2/restart

OSX:

sudo /usr/sbin/apachectl restart

About

An extensible Ruby on Rails web-service application and database for visualising HTGS data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 76.3%
  • JavaScript 19.0%
  • CSS 4.2%
  • Other 0.5%