Minimal Trap Spaces computation using Maximal Siphons


License
GPL-3.0
Install
pip install trappist==1.1.2

Documentation

trappist logo

Trappist is a tool for computing minimal trap spaces of a Boolean model.

Install

You can install trappist with pip directly from the Package Index:

$ python3 -m pip install trappist

or grab the very latest version from the source:

$ python3 -m pip install -e git+https://github.com/soli/trap-spaces-as-siphons.git

You will also need the clingo ASP solver in your PATH for the asp method of computing the trap spaces (default). Instructions are provided directly on the Potassco pages.

Note that Trappist does install the PySAT module so that the sat method is always available even if you do not have clingo.

Run trappist in a Binder image

CMSB 2022 Submitted version: Binder

Latest version, with 2022-12-01 colomoto-docker image: Binder

Read about trappist

You can find articles describing trappist here, here and here (tsconj's improvements have been backported to trappist with conj and conj-c solvers).

Run trappist from the command line

After installing trappist (and maybe clingo), just run

$ trappist -h
usage: trappist [-h] [-d] [-v] [-m MAX] [-p PARALLEL] [-t TIME] [-c {min,max,fix}] [-s {asp,cp,ilp,sat,naive,conj,conj-c}] [infile]

Compute minimal trap-spaces of a Petri-net encoded Boolean model. Copyright (C) Sylvain.Soliman@inria.fr and
giang.trinh91@gmail.com GPLv3

positional arguments:
  infile                Boolnet (.bnet) file of the model or Petri-net (PNML) file of its Petri net encoding. 'naive' and
                        'conj(-c)' solvers only handle .bnet input.

optional arguments:
  -h, --help            show this help message and exit
  -d, --debug           Print debugging information.
  -v, --version         show program's version number and exit
  -m MAX, --max MAX     Maximum number of solutions (0 for all).
  -p PARALLEL, --parallel PARALLEL
                        Maximum number of cores to use [only for naive and conj(-c) method] (0 for no-limit).
  -t TIME, --time TIME  Maximum number of seconds for search (0 for no-limit).
  -c {min,max,fix}, --computation {min,max,fix}
                        Computation option.
  -s {asp,cp,ilp,sat,naive,conj,conj-c}, --solver {asp,cp,ilp,sat,naive,conj,conj-c}
                        Solver to compute the Maximal conflict-free siphons. 'asp', 'naive' and 'conj(-c)' require `clingo`, 'cp'
                        requires `minizinc`.