Caspots - Boolean network inference from time series data with perturbations
- python 2.7
- caspo (pip install caspo)
- gringo python module (shipped with gringo from http://potassco.sourceforge.net)
On Ubuntu, install the gringo package.
- NuSMV >= 2.5 - http://nusmv.fbk.eu/NuSMV/download/getting-v2.html
pip install https://github.com/pauleve/caspots/archive/master.zip
This will install necessary dependencies, except the gringo python module and
A docker image is also available
docker pull pauleve/caspots
The entry point of the docker image is the program
Hence you can run a image directly with
You can create an alias to use
alias caspots='docker run --rm --volume "$PWD":/wd --workdir /wd pauleve/caspots'
If you have multiple
caspots command to run in the same directoy, it is
recommended to first create a container and then execute caspots commands in it.
alias start-caspots='docker create --name caspots -it --volume "$PWD":/wd --workdir /wd --entrypoint=/bin/bash pauleve/caspots && docker start caspots' alias docker-caspots='docker exec caspots caspots' alias stop-caspots='docker stop caspots && docker rm caspots'
start-caspots, then use as many as
docker-caspots calls you want.
Do not forget to call
stop-caspots when the work is done.
In the following, we assume that
- PKN.sif is the SIF description of the PKN delimiting the domain of BNs, e.g.:
- DATASET.csv is the MIDAS description of the multiplex dataset, e.g.,
- RESULTS.csv is a CSV description of a set of Boolean Networks, as outputted by
our python scripts.
- python is the python interpreter in version 2.7.X. On some systems, you should
To identify all Boolean Networks, call
caspots identify PKN.sif DATASET.csv RESULTS.csv
By default, the identification will return the subset-minimal BNs.
Add --family all to compute all the BNs.
Add --family mincard to compute the cardinal-minimal BNs.
The option --true-positives invokes a model-checker (NuSMV) to ensure that only true
positive BNs are returned. The true positive rate is then displayed.
If the PKN is not compatible with the data, the estimated difference of MSE with
minimal MSE is displayed.
The minimal estimated MSE is obtained with
caspots mse PKN.sif DATASET.csv
The option --check-exacts invokes a model-checker (NuSMV) until it finds a BN
and a trace with the estimated MSE: in such a case, the displayed MSE is the
actual minimal MSE of the PKN with respect to the dataset.
The option --control-nodes allows the user to specify nodes that Caspots doesn't have to explain, they'll still be used to infer networks.
Important note: as of now the control nodes must be specified at time point 0 in the MIDAS file.
- Max Ostrowski
- Loïc Paulevé
- Anne Siegel
- Carito Guziolowski