Weirauch Transcription Factor Research Lab
Center for Autoimmune Genomics and Etiology
Cincinnati Children's Hospital Medical Center
Ben Albert •
Brad Arvin
Juanita Dickhaus •
Kevin Ernst
We are collaborating with Dr. Matt Weirauch
at Cincinnati Children's Hospital
Our faculty advisor is Dr. Karen Davis of CEAS
Create a web-based functional genomics analysis tool for investigating interactions between human and viral DNA sequences and proteins
It's a field of molecular biology that draws insight from
whole-genome sequencing data
(e.g., the Human
Genome Project)
…to describe gene and protein interactions and their functions within an organism.
Information flow: DNA → proteins
Develop a reusable, open-source framework which could be used as a basis for new bioinformatics analysis tools
Bioinformaticicans often want web interfaces for their tools, so that non-Unixy collaborators can use them.
… so we intend to produce a modular, reusable framework for quickly adding a web interface on top of an existing analysis pipeline.
Database-backed web application, written in Python.
Front end UI fetches from a REST API backend.
Each analysis has input form elements for tunable parameters, the contents of which are queried from REST endpoints on the server.
The server will validate these and return any problems in a JSON response to the POST request.
Results of the analysis can be displayed in tabular form, downloaded, or visualized graphically as a sequence logo.
see also: Sequence logo on Wikipedia
Command-line interface for database / user management provided by the Click library
Big improvement over Bioreactor's predecessor, which did not adapt to small-form factor screens
REST:
Representational State Transfer
Autocomplete / search functionality for a sample "organisms" table:
Getting a common development environment for the team
$ git clone git@github.uc.edu:Bioreactor/bioreactor-vm.git
$ vagrant box add bioreactor http://url.to/bioreactor.box
$ vagrant up
We chose Vagrant to manage the VM environment, and Ansible for automated software installation and configuration
Provided setup.sh
handles all initial setup tasks,
including making the Bioreactor server available at
host port 9980:
The VM boots with the Flask app automatically running on startup, but a local development server can be started like this:
cd /path/to/cloned/bioreactor
# create a "virtual environment" for our dependencies
virtualenv venv && source venv/bin/activate
# install dependencies and 'bioreactor' script
pip install -e .
# Initialize the database tables and launch server
export FLASK_APP=bioreactor/app.py
bioreactor run
(with help from PythonAnywhere)
The following people contributed to the development of Bioreactor's predecessor, CressInt: