This repository contains Jupyter notebooks that showcase COMBINE standards and their libraries. Each of the standards has a simple "Hello world" example (demonstrating the core concepts of the format), or an example file building the repressilator model, or both.
This work was initially carried out as part of a Google Summer of Code 2022 project. See here for more details:
The following standards are demonstrated:
Standard | Description | Basic Example | Repressilator Example |
---|---|---|---|
Systems Biology Graphical Notation (SBGN) | Used to describe visually biological knowledge. | sbgn.ipynb View on Binder (Dev version) |
example_sbgn.ipynb |
Systems Biology Markup Language (SBML) | Used for representing models of biological processes. | sbml.ipynb View on Binder (Dev version) |
example_sbml_libsbml.ipynb |
Simulation Experiment Description Markup Language (SED-ML) | Used for encoding experiments. SED-ML allows defining the models to use, the experimental tasks to run, and which results to produce. It is a computer-readable format for representing the models of biological processes. | sedml.ipynb View on Binder (Dev version) |
example_sedml.ipynb |
CellML | Used to store and exchange computer-based mathematical models. | cellml.ipynb View on Binder (Dev version) |
example_cellml.ipynb |
Synthetic Biology Open Language (SBOL) | Used for description and the exchange of synthetic biological parts, devices, and systems. | sbol.ipynb View on Binder (Dev version) |
- |
NeuroML | An XML based description language that provides a common data format for defining and exchanging descriptions of neuronal cell and network models. | neuroml.ipynb View on Binder (Dev version) |
- |
COMBINE Archive | Used to bundle the various documents necessary for a modelling and simulation project, and all relevant information. | omex.ipynb View on Binder (Dev version) | example_omex.ipynb |
Biological Pathway Exchange (BioPAX) | Used to enable integration, exchange and analysis of biological pathway data. | - | example_biopax.ipynb |
To work with the notebooks, create a virtual environment and install the dependencies:
mkvirtualenv combine_notebooks --python=python3.10
(combine_notebooks) pip install -e .[development] --upgrade
To setup pre-commit hooks (optional) run the following command:
pre-commit install
After changes ensure code formatting via:
./fcode.sh
Tests can be run via pytest and tox. To run all tests use:
tox -p
To run individual tests use the following targets: flake8, mypy, py38, py39, py310:
tox -e flake8
To run the notebooks install a notebook environment:
pip install jupyterlab
Register the created virtual environment [combine_notebooks]{.title-ref} as jupyter kernel:
ipython kernel install --user --name=combine_notebooks
Or alternatively install the package in an existing virtual environment to get all the dependencies. I.e.:
pip install combine-notebooks
Start the notebooks:
cd ./notebooks
jupyter lab
© 2022-2023 Matthias König & Aditya Singhal and contributors.