bel-commons

A web application exposing core PyBEL functionalities


Keywords
Biological, Expression, Language, BEL, Systems, Biology, Networks, bioinformatics, biological-expression-language, networks-biology, systems-biology
License
MIT
Install
pip install bel-commons==0.3.1

Documentation

BEL Commons Travis-CI Build Status Documentation Status

An environment for curating, validating, and exploring knowledge assemblies encoded in Biological Expression Language (BEL) to support elucidating disease-specific, mechanistic insight.

Installation

BEL Commons can be installed easily from PyPI with the following code in your favorite shell:

$ pip install bel_commons

Get the latest code on GitHub with:

$ python3 -m pip install git+https://github.com/bel-commons/bel-commons.git

It's also suggested to use a relational database management system like PostgreSQL and install their corresponding connectors:

$ python3 -m pip install psycopg2-binary

Usage

Run BEL Commons

A test server can be easily run with:

$ bel-commons run

A more powerful server like gunicorn can also be used like:

$ gunicorn bel_commons.wsgi:flask_app

Running with the Parser

To run the parser, you'll need an instance of a message queue like RabbitMQ (or any other message queue supported by Celery), a results backend like Redis, and a worker. It's best to run in docker if you want to do this.

Run with Docker

Clone this repo from GitHub

$ git clone https://github.com/bel-commons/bel-commons.git
$ cd bel-commons

Create a file called .env and generate both SECRET_KEY and SECURITY_PASSWORD_SALT.

SECRET_KEY=mypassword
SECURITY_PASSWORD_SALT=mypassword
BUTLER_NAME="BEL Commons Butler"
BUTLER_EMAIL=bel@example.com
BUTLER_PASSWORD=butlerpassword

Run docker compose:

$ docker-compose up

Ports exposed:

  • 5002: BEL Commons web application
  • 5432: PostgreSQL database

Reset the Database

For the times when you just have to burn it down and start over:

  1. bel-commons manage drop will nuke the database and output a user list
  2. bel-commons manage load will automatically add the most recently exported user list
  3. bel-commons manage examples load will automatically load some example networks and data sets

Citation

If you find BEL Commons useful in your work, please consider citing [Hoyt2018] and [Hoyt2017]:

[Hoyt2018] Hoyt, C. T., Domingo-Fernández, D., & Hofmann-Apitius, M. (2018). BEL Commons: an environment for exploration and analysis of networks encoded in Biological Expression Language. Database, 2018(3), 1–11.
[Hoyt2017] Hoyt, C. T., Konotopez, A., & Ebeling, C., (2017). PyBEL: a computational framework for Biological Expression Language. Bioinformatics, 34(4), 703–704.

Acknowledgements

Supporters

This project has been supported by several organizations:

Logo

The BEL Commons logo was designed by Scott Colby.