The Refinery Platform is a data management, analysis and visualization system for bioinformatics and computational biology applications. The platforms consists of three major components: a data repository with rich metadata capabilities, a workflow engine based on the popular Galaxy system, and visualization tools to support the exploration and …
JavaScript Python HTML CSS XSLT Puppet Other
Latest commit 3a392b1 May 19, 2017 @jkmarx jkmarx committed on GitHub Jkmarx/data set 2 add selection nav (#1737)
* Add tools service and unit test.

* Fix bug due to duplicate module names.

* Fix service name to reflect api.

* Rename module for clarity.

* Seperate and rename module for clarity.

* Fix group index bug.

* Fix indexing.

* Add generate list config.

* Launch visualization tool.

* Add template generator helper function.

* Launch config tested for simple tools.

* Update unit test.

* Remove empty sets helper method.

* Add generate template unit test.

* Refactor and add additional unit test.

* Add postToolLaunch unit test.

* Update API to accept a str instead a str of str uuids.

* Add unit tests for generating file str.

* Add insert comma method and update unit test.

* Remove unused attribute.

* Update indices name for clarity.

* Remove unneccessary code.

* Add comments.

* Fix edge case by generating correct size template.

* Add comments.

* Update index name for clarity.

* Update description.

* Refactor.

* Add comments.

* Replace method with underscore method.

* Rename for clarity.

* Add inner nav directive for popover.

* Adjust css.

* Add unit tests.

* Add validation method.

* Add validation method.

* Add unit tests.

README.md

 Refinery Platform

Build Status Code Health Coverage Status

  • Additional information about how to administer and develop Refinery can be found in the wiki
  • Production deployments require access to Amazon Web Services
  • Refinery supports the latest version of Chrome (Linux and OS X), Firefox (Linux and OS X), and Safari (OS X)

Installing and Launching for Development

Prerequisites

Configure and Load Virtual Machine

$ git clone git@github.com:refinery-platform/refinery-platform.git
$ cd refinery-platform
$ vagrant up

The above step should take about 15 minutes depending on the speed of your machine and Internet connection. If you get an error, simply retry by:

$ vagrant provision

Open http://192.168.50.50:8000/ in your web browser.

Configure Deployment Environment on the Host

Create a Python 2.7 virtual environment (optional but recommended, assumes virtualenvwrapper is installed):

$ mkvirtualenv -a $(pwd) refinery-deployment

Install deployment tools (assumes header files for Python are installed):

$ pip install -r deployment/requirements.txt

Use fabricrc.sample to update or initialize Fabric configuration, for example:

$ cp fabricrc.sample ~/.fabricrc

To pull the latest code and update Refinery installation:

$ fab vm update

Refinery Operations on the VM

Connect to the initialized VM:

$ vagrant ssh
$ workon refinery-platform
$ ./manage.py [command]

Log in to Refinery (http://192.168.50.50:8000/) with the default guest user account (username: guest, password: guest).

Log in to Django admin UI (http://192.168.50.50:8000/admin/) with the default superuser account (username: admin, password: refinery).

Please see installation notes for more details, including information on how to configure Galaxy for this setup.

Troubleshooting

  • Refinery deployment requires a lot of external dependencies. You might have to run vagrant provision repeatedly to install all dependencies successfully. Any errors in the output of vagrant provision indicate that you have to re-run the command.
  • If you run into a build error in OS X when trying to install Fabric: export C_INCLUDE_PATH=/usr/local/include
  • If you have a VPN connection running, you may need to disconnect and reconnect before you can access the VM. In some cases you may have to reboot the host machine.
  • To make sure all the required services are running after the VM was restarted or shut down, you need to provision again: vagrant reload --provision or vagrant up --provision