pyActoNet Documentation

This Python module implements an abduction-based control of fixed points of Boolean networks (https://doi.org/10.1109/TCBB.2018.2889102), using Answer-Set Programming.

The control predictions can be processed using the algorecell_types library, which eases the display and comparison with other control methods.

Installation instructions at https://github.com/algorecell/pyActoNet.

Examples can be found at:

Quick usage:

>>> import actonet

Model loading:

>>> an = actonet.load("model.bnet") # in BoolNet format
# alternatively, load with biolqm in any format
>>> lm = biolqm.load("model.zginml") # or any format support by bioLQM
>>> an = actonet.load(lm)

Reprogramming predictions:

>>> rs = an.reprogramming_fixpoints({"A": 1, "B": 0})
>>> rs

See help(rs) for other display methods

class actonet.ActoNet(bn, inputs={})

Interface for the reprogramming of fixpoints for a Boolean network with optional input conditions.

Parameters:
  • bn – Boolean network in any format supported by colomoto.minibn.BooleanNetwork, which include filename in BoolNet format, and biolqm or ginsim objects.
  • inputs (dict[str,int]) – value of input (self-activating) nodes
reprogramming_fixpoints(*spec, ignore=[], maxsize=5, **kwspec)

Compute reprogramming strategies ensuring that all the fixpoints of the perturbed network match with the given specification, and that the perturbed network has at least one fixpoint. Fixpoints are the ones of the underlying Boolean map, and correspond to fixpoints with the (a)synchronous dynamics. The perturbations are permanent, and can change the attractors of the input model.

Parameters:
  • ignore (list(str)) – Nodes to exclude from perturations
  • maxsize (int) – maximum number of simultaneous perturbations (default: 5)
Return type:

algorecell_types.ReprogrammingStrategies

Examples:

>>> rs = an.reprogramming_to_attractor(A=1, B=0)
>>> rs = an.reprogramming_to_attractor({"A": 1, "B": 0})
actonet.load(bn, inputs={})

Returns ActoNet (bn, inputs) object