colomoto-docker

Helper script to run docker image colomoto/colomoto-docker


Keywords
biological-networks, docker, jupyter-notebook, model-analysis, systems-biology
Install
pip install colomoto-docker==8.2

Documentation

The CoLoMoTo Docker

PyPI version Binder Gitter

Quick usage guide

You need Docker. We support GNU/Linux, macOS, and Windows.

Using the colomoto-docker script

You need Python.

The script can be installed and upgraded by executing the following command (you may have to use pip3 instead of pip depending on your configuration):

pip install -U colomoto-docker

The CoLoMoTo notebook can then be started by executing in a terminal (if using Docker Toolbox, in a Docker Terminal):

colomoto-docker

The container can be stopped by pressing Ctrl+C keys.

By default, the script uses the most recently fetched image; the first time, it fetches the most recent colomoto/colomoto-docker tag. A specific tag can be specified using the -V option. For example:

colomoto-docker                 # uses the most recently fetched image
colomoto-docker -V latest       # fetches the latest published image
colomoto-docker -V 2018-05-29   # fetches a specific image

Warning: by default, the files within the Docker container are isolated from the running host computer, therefore files are deleted after stopping the container, except the files within the persistent directory.

To have access to the files of your current directory you can use the --bind option:

colomoto-docker --bind .

If you want to have the tutorial notebooks alongside your local files, you can do the following:

mkdir notebooks
colomoto-docker -v notebooks:local-notebooks

in the Jupyter browser, you will see a local-notebooks directory which is bound to your notebooks directory.

See

colomoto-docker --help

for other options.

Manual invocation

First fetch the image with

docker pull colomoto/colomoto-docker:TAG

where TAG is the version of the image, among colomoto/colomoto-docker tags.

The image can be ran using

docker run -it --rm -p 8888:8888 colomoto/colomoto-docker:TAG

then, open your browser and go to http://localhost:8888 for the Jupyter notebook web interface (note: when using Docker Toolbox, replace localhost with the result of docker-machine ip default command).

Embedded software

Besides the Jupyter notebook, the docker image provides access to the following softwares:

Software tool Homepage Description Jupyter interface
ActoNet https://github.com/algorecell/pyActoNet Abduction-based control of fixed points of Boolean networks Python module actonet
AEON.py https://github.com/sybila/biodivine-aeon-py Symbolic analysis (attractors, reachability) of (partially specified) Boolean networks Python module biodivine_aeon
BNS https://people.kth.se/~dubrova/BNS/user_manual.html Identification of synchronous attractors Python module bns
bioLQM http://colomoto.org/biolqm/ Logical Qualitative Modelling toolkit Python module biolqm
BoNesis https://github.com/bnediction/bonesis Synthesis of Boolean Networks from architecture and dynamical properties Python module bonesis 
BooleanNet https://github.com/ialbert/booleannet Simulation of Boolean regulatory networks Python module boolean2 
boolSim https://www.vital-it.ch/research/software/boolSim Attractors and reachable sets in synchronous and asynchronous Boolean networks Python module boolsim 
CABEAN https://satoss.uni.lu/software/CABEAN/ A Software Tool for the Control of Asynchronous Boolean Networks Python module cabean
Caspo https://bioasp.github.io/caspo/ Reasoning on the response of logical signaling networks with Answer Set Programming Python module caspo_control
CaSQ https://github.com/soli/casq Convert static interaction maps into executable models Python module casq
CellCollective https://cellcollective.org Model repository and knowledge base Python module cellcollective
ERODE https://github.com/colomoto/ERODE-CoLoMoTo Backward Boolean Equivalence of Boolean networks Python module erode
GINsim http://ginsim.org Boolean and multi-valued network modelling Python module ginsim
MaBoSS http://maboss.curie.fr Markovian Boolean Stochastic Simulator Python module maboss
mpbn https://github.com/pauleve/mpbn Most Permissive Boolean Networks Python module mpbn
NORDic https://github.com/clreda/NORDic Network Oriented Repurposing of Drugs Python module NORDic
NuSMV http://nusmv.fbk.eu Symbolic model-checker Python module nusmv
Pint https://loicpauleve.name/pint Static analyzer for dynamics of Automata Networks Python module pypint
PyBoolNet https://github.com/hklarner/PyBoolNet Generation, modification and analysis of Boolean networks Python module PyBoolNet
pyStableMotifs https://github.com/jcrozum/pystablemotifs Target-control of Boolean networks Python module pystablemotifs
R-BoolNet https://cran.r-project.org/package=BoolNet Analysis and reconstruction of Boolean networks dynamics RPY2 python interface

Tagging policy and re-executability considerations

Docker images are timestamped with tags of the form YYYY-MM-DD after each tool addition or upgrade.

In order to guarantee the re-executability of your notebook, we recommend to use these tagged images instead of the non-persistent next tag.

Contribute

See CONTRIBUTING.md.