|
| 1 | + |
| 2 | + |
| 3 | +# Examples of Jupyter notebooks demonstrating COMBINE standards |
| 4 | + |
| 5 | +[](https://github.com/combine-org/combine-notebooks/actions/workflows/main.yml) |
| 6 | +[](https://pypi.org/project/combine-notebooks/) |
| 7 | +[](https://pypi.org/project/combine-notebooks/) |
| 8 | +[](http://opensource.org/licenses/LGPL-3.0) |
| 9 | +[](https://github.com/ambv/black) |
| 10 | +[](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 | +[](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