Matthias König and Jan Grzegorzewski
Tellurium Web
provides an online database and simulation tools for running reproducible simulation experiments in computational biology.
The Tellurium Web
workflow is based around COMBINE Archives (*.omex
)
as an exchange format. A COMBINE Archive is a single zip file containing the various documents
necessary for the description of a model and all associated data and procedures.
This includes for instance, but not limited to, simulation experiment descriptions,
all models needed to run the simulations and associated data files.
The archive is encoded using the Open Modeling EXchange format (OMEX).
Tellurium, a python environment for reproducible dynamical modeling of biological networks, is used as simulation backend with libroadrunner as high performance simulation engine.
The current version of Tellurium Web
supports the execution of simulation experiments with model descriptions in the Systems Biology Markup Language (SBML),
the de facto standard for encoding mathematical models in computational biology, and simulation descriptions in
the Simulation Experiment Description Markup Language (SED-ML), the standard for describing
simulation experiments.
- COMBINE archive browser (upload & managing of archives)
- COMBINE archive viewer (managing metadata, manifest & annotations)
- Execution of COMBINE archive based simulation experiments
- supports SBML models (all level and versions, i.e.,
L2V*
andL3V*
) - supports SED-ML simulations (all level and versions, i.e.,
L1V1
,L1V2
andL1V3
)
Tellurium Web
has been tested with a wide range of archives, among others
- COMBINE Archive Showcase
- JWS online archives
Tellurium Web
is based existing technology and standards in the "Coordinating standards for modeling in biology" (COMBINE)
initative
COMBINE archive viewer with access to manifest, metadata and annotations
Simulation results of SED-ML experiment
- Source Code: LGPLv3
- Documentation: CC BY-SA 4.0
Matthias König is supported by the Federal Ministry of Education and Research (BMBF, Germany) within the research network Systems Medicine of the Liver (LiSyM, grant number 031L0054).
The following technology is used in Tellurium Web
- Web framework: django
- Database layer: postgres & sqlite (develop)
- Task queue: celery Distributed task queue
- Message broker: redis Redis is an open source in-memory data structure store, used as a database, cache and message broker.
- Interactive plots: plotly.js
- Websockets: Django channels
v0.2.0 [2018-01-06]
- complete rewrite of the user interface and core functionality
- combine archive viewer/editor (metadata)
- manifest.xml and metadata.rdf handling
- dynamic generation of archives
- archive upload via url
- user management (global and user archives)
- annotation support (external annotation files and SBML annotations)
- django channels for task notifications
- REST API (with swagger documentation)
v0.1.0 [2017-10-19]
- initial release
- core functionality implemented
tellurium-web
supports python 3.5
or python 3.6
.
Clone repository
git clone https://github.com/matthiaskoenig/tellurium-web.git
cd tellurium-web
Create virtual environment
mkvirtualenv tellurium-web --python=python3
(tellurium-web) pip install -r requirements.txt
Set necessary environment variables for database
(tellurium-web) export DJANGO_ADMIN_PASSWORD="test"
Set environment variable and create database
(tellurium-web) ./scripts/create_db.sh
Tellurium Web
uses a task queue to manage the execution of simulation experiments.
To provide the functionality of simulation execution redis
as message broker must be setup
and a celery
worker must be started
To install redis on Ubuntu use the installation script
./scripts/install_redis.sh 2>&1 | tee ./scripts/install_redis.log
To start a celery
test worker change in the teweb
folder start a worker via
(tellurium-web) cd teweb
(tellurium-web) celery -A teweb worker -l info
The test server is run via
(tellurium-web) cd teweb
(tellurium-web) python manage.py runserver 8001
© 2018 Matthias König