Giter VIP home page Giter VIP logo

refinery-platform / refinery-platform Goto Github PK

View Code? Open in Web Editor NEW
102.0 8.0 24.0 126.99 MB

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 interpretation of results at all stages of the analysis process.

Home Page: http://www.refinery-platform.org

License: Other

Python 42.63% HTML 11.82% CSS 3.50% JavaScript 38.48% XSLT 1.41% Ruby 0.01% Puppet 0.75% Shell 0.25% HCL 1.15%
refinery-platform gehlenborglab galaxy-project refinery

refinery-platform's Introduction

 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 [email protected]: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

Install Pre-Commit Hooks

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

refinery-platform's People

Contributors

antonxue avatar drj11 avatar flekschas avatar gmnelson avatar hackdna avatar ilan-gold avatar jkmarx avatar katrinleinweber avatar mccalluc avatar ngehlenborg avatar psm3426 avatar rpark37 avatar scottx611x avatar sgratzl avatar sluger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

refinery-platform's Issues

version data sets

Data sets (core) will contain one or more instances of a ISA-TAB investigation. Only the most recent one will be "active" (e.g. for indexing and searching.

Pivotal Tracker story 28338013 (Nils Gehlenborg - Apr 19, 2012)

ISA-Tab Logging

modify ISA-Tab processing to log into a single file

Pivotal Tracker story 32490181 (Nils Gehlenborg - Jul 9, 2012)

explore options for Django logging and monitoring

I was wondering if you have time to look into logging in Django and how we could use this for Refinery. It looks like Django 1.3 introduced extensive logging facilities but I'm specifically interested in whether there is there is already an extension or project with a UI to centrally monitor the log messages for a Django project (such as Refinery). Maybe this has been implemented or could be implemented in the Django admin interface.

In Refinery we would like to avoid exposing all errors to the end users because there is not much that they can do if a problem occurs so I imagine that we will have (a) a log monitor for the system administrator with all messages and (b) log monitors for project administrators/users that contains only messages that they can address themselves (problems with user uploaded files, approaching disk quotas, etc.).

For now all you'd need to do is to read up on this and get an overview of what is out there that could help us with these tasks. The next step would be to work on (a) and figure out what the best way is to implement filters, search, notifications etc. for log messages. Once we have figured this out (b) should be easy to implement.

Pivotal Tracker story 26823249 (Nils Gehlenborg - Mar 21, 2012)

Figure out Expansion Factor of SPP workflow

First test on fisher. 2x2 inputs and experiments totaling about 2 GB creates a final analysis set of about 6.5 gb. The total expansion factor is about 2-3x.

Pivotal Tracker story 27409219 (Psalm Haseley - Apr 2, 2012)

store analysis results in repository

Once an analysis has completed the results (i.e. specific output files) have to be stored in the repository together with information about how they were created.

Pivotal Tracker story 26784185 (Nils Gehlenborg - Mar 21, 2012)

progress updates for Galaxy workflows

Use states of the current history to implement this.
Tasks:

  • implement monitoring with callbacks
  • implemented monitoring via analysis_manager for workflows

Pivotal Tracker story 26811059 (Nils Gehlenborg - Mar 21, 2012)

Integration Refinery with Galaxy. Step 1: Creating a Galaxy Instance

Following the instructions for importing a workflow from galaxy into refinery.
Step 1 is to create a galaxy instance in refinery.

The instructions say to use the administration interface, which i can't seam to find.
At 1st i thought my refinery user didn't have enough permissions to see the administration interface (perhaps my creation of the django super user failed, though an account was created....)

Then I found the create_galaxy_instance command in manage.py.
Though there was no details on how to use it.

Using my imagination i tried:
python manage.py create_galaxy_instance galaxyAPIURL
But that didn't work either.

edit process_isatab command

takes in a directory of isa-archives or a single isa-archive

Pivotal Tracker story 33121935 (Psalm Haseley - Jul 20, 2012)

Assignment of data files to workflow inputs in the data set view is not working correctly

Steps to reproduce:
Open a data set view (/data_sets//). Select a workflow and assign inputs. Add or remove a column, or change a facet filter. Assign inputs.

Observed behavior:
Workflow input assignment is reset after view columns are added/removed or if filters are applied. Inputs are not available for selection until the workflow is deselected then selected again.

Expected behavior:
Input assignments should not be changed by applying filters or selecting/removing view columns. If input assignments are reset, they should be available for selection without having to de-select then re-select the workflow.

Error starting a workflow

TypeError exception is sometimes raised when trying to run a workflow from Available Samples page.

Steps to reproduce:

  1. Import an ISA-Tab file.
  2. Proceed to the Available Samples page.
  3. Select a workflow and its inputs, and click Run Workflow.

Analysis Results page loads but progress bars are not displayed. Data is not imported in Galaxy. No errors appear in Django server console but the following output appears in Celery console:

[2012-07-13 17:52:40,053: WARNING/PoolWorker-1] analysis_manager.chord_postprocessing called
[2012-07-13 17:52:40,065: WARNING/PoolWorker-1] analysis_manger.download_history_files called
[2012-07-13 17:52:40,122: ERROR/MainProcess] Task analysis_manager.tasks.chord_postprocessing[d5c88166-9d1d-47ac-bacc-375b950cd927] raised exception: TypeError("cannot concatenate 'str' and 'NoneType' objects",)
Traceback (most recent call last):
  File "/Users/isytchev/environments/refinery/lib/python2.7/site-packages/celery/execute/trace.py", line 47, in trace
    return cls(states.SUCCESS, retval=fun(*args, **kwargs))
  File "/Users/isytchev/environments/refinery/lib/python2.7/site-packages/celery/app/task/__init__.py", line 247, in __call__
    return self.run(*args, **kwargs)
  File "/Users/isytchev/environments/refinery/lib/python2.7/site-packages/celery/app/__init__.py", line 175, in run
    return fun(*args, **kwargs)
  File "/Users/isytchev/workspace/Refinery/refinery/analysis_manager/tasks.py", line 74, in chord_postprocessing
    postprocessing_taskset = download_history_files(analysis)
  File "/Users/isytchev/environments/refinery/lib/python2.7/site-packages/celery/app/task/__init__.py", line 247, in __call__
    return self.run(*args, **kwargs)
  File "/Users/isytchev/environments/refinery/lib/python2.7/site-packages/celery/app/__init__.py", line 175, in run
    return fun(*args, **kwargs)
  File "/Users/isytchev/workspace/Refinery/refinery/analysis_manager/tasks.py", line 399, in download_history_files
    download_list = connection.get_history_file_list(analysis.history_id)
  File "/Users/isytchev/workspace/Refinery/refinery/galaxy_connector/connection.py", line 124, in get_history_file_list
    print self.get_history_contents( history_id )
  File "/Users/isytchev/workspace/Refinery/refinery/galaxy_connector/connection.py", line 98, in get_history_contents
    return self.get( "histories" + "/" + history_id + "/" + "contents" )
TypeError: cannot concatenate 'str' and 'NoneType' objects

Traceback (most recent call last):
  File "/Users/isytchev/environments/refinery/lib/python2.7/site-packages/celery/execute/trace.py", line 47, in trace
    return cls(states.SUCCESS, retval=fun(*args, **kwargs))
  File "/Users/isytchev/environments/refinery/lib/python2.7/site-packages/celery/app/task/__init__.py", line 247, in __call__
    return self.run(*args, **kwargs)
  File "/Users/isytchev/environments/refinery/lib/python2.7/site-packages/celery/app/__init__.py", line 175, in run
    return fun(*args, **kwargs)
  File "/Users/isytchev/workspace/Refinery/refinery/analysis_manager/tasks.py", line 74, in chord_postprocessing
    postprocessing_taskset = download_history_files(analysis)
  File "/Users/isytchev/environments/refinery/lib/python2.7/site-packages/celery/app/task/__init__.py", line 247, in __call__
    return self.run(*args, **kwargs)
  File "/Users/isytchev/environments/refinery/lib/python2.7/site-packages/celery/app/__init__.py", line 175, in run
    return fun(*args, **kwargs)
  File "/Users/isytchev/workspace/Refinery/refinery/analysis_manager/tasks.py", line 399, in download_history_files
    download_list = connection.get_history_file_list(analysis.history_id)
  File "/Users/isytchev/workspace/Refinery/refinery/galaxy_connector/connection.py", line 124, in get_history_file_list
    print self.get_history_contents( history_id )
  File "/Users/isytchev/workspace/Refinery/refinery/galaxy_connector/connection.py", line 98, in get_history_contents
    return self.get( "histories" + "/" + history_id + "/" + "contents" )
TypeError: cannot concatenate 'str' and 'NoneType' objects

specify file store

  • interfaces with: Analysis Manager, Data Set Manager (Repository), external repositories, Connectors?
  • includes cache, analysis input/output directories, original meta data files, data files for the local repository

Pivotal Tracker story 26871757 (Nils Gehlenborg - Mar 22, 2012)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.