Skip to content

Commit 155e5a2

Browse files
committed
Add markdown readme
1 parent 9ae02f6 commit 155e5a2

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

README.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
![COMBINE logo](https://raw.githubusercontent.com/combine-org/combine-notebooks/main/docs/images/combine.png)
2+
3+
# Examples of Jupyter notebooks demonstrating COMBINE standards
4+
5+
[![GitHub Actions CI/CD Status](https://github.com/combine-org/combine-notebooks/actions/workflows/main.yml/badge.svg)](https://github.com/combine-org/combine-notebooks/actions/workflows/main.yml)
6+
[![Current PyPI Version](https://img.shields.io/pypi/v/combine-notebooks.svg)](https://pypi.org/project/combine-notebooks/)
7+
[![Supported Python Versions](https://img.shields.io/pypi/pyversions/combine-notebooks.svg)](https://pypi.org/project/combine-notebooks/)
8+
[![GNU Lesser General Public License 3](https://img.shields.io/pypi/l/combine-notebooks.svg)](http://opensource.org/licenses/LGPL-3.0)
9+
[![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
10+
[![mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
11+
12+
## Project Overview
13+
14+
This repository contains Jupyter notebooks that showcase [COMBINE](http://co.mbine.org/standards) standards and their libraries.
15+
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](https://pubmed.ncbi.nlm.nih.gov/10659856/), or both.
16+
17+
This work was initially carried out as part of a Google Summer of Code 2022 project. See here for more details:
18+
19+
[![Blogger](https://img.shields.io/badge/Blogger-FF5722?style=for-the-badge&logo=blogger&logoColor=white)](https://combine-notebooks-gsoc-2022.blogspot.com/)
20+
21+
The following standards are demonstrated:
22+
23+
| Standard | Description | Basic Example | Repressilator Example |
24+
|---|---|---|---|
25+
| Systems Biology Graphical Notation ([SBGN](https://sbgn.github.io/)) | Used to describe visually biological knowledge. | [sbgn.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/sbgn.ipynb) | [example_sbgn.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/example_sbgn.ipynb) |
26+
| Systems Biology Markup Language ([SBML](https://sbml.org/)) | Used for representing models of biological processes. | [sbml.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/sbml.ipynb) | [example_sbml_libsbml.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/example_sbml_libsbml.ipynb) |
27+
| Simulation Experiment Description Markup Language ([SED-ML](https://sed-ml.org/)) | 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](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/sedml.ipynb) | [example_sedml.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/example_sedml.ipynb) |
28+
| [CellML](https://www.cellml.org/) | Used to store and exchange computer-based mathematical models. | [cellml.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/cellml.ipynb) | [example_cellml.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/example_cellml.ipynb) |
29+
| Synthetic Biology Open Language ([SBOL](https://sbolstandard.org/)) | Used for description and the exchange of synthetic biological parts, devices, and systems. | [sbol.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/sbol.ipynb) | - |
30+
| [NeuroML](https://neuroml.org/) | An XML based description language that provides a common data format for defining and exchanging descriptions of neuronal cell and network models. | [neuroml.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/neuroml.ipynb) | - |
31+
| [COMBINE Archive](https://combinearchive.org/index/) | Used to bundle the various documents necessary for a modelling and simulation project, and all relevant information. | [omex.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/omex.ipynb) | [example_omex.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/example_omex.ipynb) |
32+
| Biological Pathway Exchange ([BioPAX](http://www.biopax.org/)) | Used to enable integration, exchange and analysis of biological pathway data. | - | [example_biopax.ipynb](https://github.com/combine-org/combine-notebooks/blob/main/notebooks/example_biopax.ipynb) |
33+
34+
35+
## Setup/Installation
36+
37+
To work with the notebooks, create a virtual environment and install the dependencies:
38+
39+
mkvirtualenv combine_notebooks --python=python3.10
40+
(combine_notebooks) pip install -e .[development] --upgrade
41+
42+
To setup pre-commit hooks (optional) run the following command:
43+
44+
pre-commit install
45+
46+
After changes ensure code formatting via:
47+
48+
./fcode.sh
49+
50+
Tests can be run via pytest and tox. To run all tests use:
51+
52+
tox -p
53+
54+
To run individual tests use the following targets: flake8, mypy, py38, py39, py310:
55+
56+
tox -e flake8
57+
58+
## Notebooks
59+
60+
To run the notebooks install a notebook environment:
61+
62+
pip install jupyterlab
63+
64+
Register the created virtual environment [combine_notebooks]{.title-ref}
65+
as jupyter kernel:
66+
67+
ipython kernel install --user --name=combine_notebooks
68+
69+
Or alternatively install the package in an existing virtual environment
70+
to get all the dependencies. I.e.:
71+
72+
pip install combine-notebooks
73+
74+
Start the notebooks:
75+
76+
cd ./notebooks
77+
jupyter lab
78+
79+
© 2022-2023 Matthias König & Aditya Singhal and [contributors](https://github.com/combine-org/combine-notebooks/graphs/contributors).
80+

0 commit comments

Comments
 (0)