My Google Summer of Code 2017 projects of developing a web interface for DoMo-Pred.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is even with ankanch:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Cache
DoMoPred
Utilities
data
static
templates
.gitattributes
.gitignore
README.md
app.py
index.py

README.md

Web Interface for DoMo-Pred

About

This repository is used for my Google Summer of Code 2017 project that develop a web interface for DoMo-Pred.

For more information,please refer to the Documents section and the External Link section.

You can find the live version here : http://beta.baderlab.org

You can find more documents in related directories.

Documents

File and Folders

  • Cache:Cache folder where to store user upload files and analyze result.
  • data: Here is the folder to save built in data like PWMs and domain as well as network data.
  • DoMoPred:The original DoMo-Pred source code and excuable files (Some changes made for web interface support).
  • static:Flask default folder to store JavaScript and CSS.
  • templates:Flask default folder to store HTML files.
  • Utilities:Function which will help to manage session,call analyze functions and so on.
  • app.py: This is the entry for the web interface, including start cache cleaner and loading balance.
  • index.py:Flask view functions script where to perform rendering HTML file and process HTTP request.

Making it runnable on the server

Before you start, you have to download the database files from here, due to the file size limits of Github repo.

It will be running on port 80, therefore, on the Ubuntu we have to stop Apache2 first by running command below in the terminal:

sudo systemctl stop apache2.service

then type and run command below:

sudo python app.py

The script will automatically dectect if it's on server or local machine. The web interface use gunicorn to balance the load.

In order to make it running in a productive envirement, you have to create a file named as mode.server in the root directory. We use this file to dectect if it's in debug mode or productive.

Python Modules Needed

  • networkx
  • flask
  • numpy
  • scipy
  • apscheduler
  • gunicorn

External Link