Skip to content

combine-org/combine-notebooks

Repository files navigation

COMBINE logo

Examples of Jupyter notebooks demonstrating COMBINE standards

GitHub Actions CI/CD Status Current PyPI Version Supported Python Versions GNU Lesser General Public License 3 Black mypy

Project Overview

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:

Blogger

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

Setup/Installation

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

Notebooks

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.