# Crate biodivine_lib_param_bn

source ·## Expand description

A library for analysis of Boolean networks. As of now, the library supports:

- Regulatory graphs with monotonicity and observability constraints.
- Boolean networks, possibly with partially unknown and parametrised update functions.
- Full SBML-qual support for import/export as well as custom string format
`.aeon`

. - Fully symbolic asynchronous state-space generator using BDDs (great overall performance).
- Semi-symbolic state-space generator, using BDDs used only for the network parameters (allows state-level parallelism for smaller networks).

For a quick introduction to Boolean networks and their symbolic manipulation, you can check out our tutorial module.

## Modules

*Legacy*semi-symbolic representation of the coloured asynchronous state-transition graph.*Legacy*symbolic representation of parameter space of a`BooleanNetwork`

using`Bdds`

.*Legacy*utility structs and traits, such as`State`

or`Set`

.- This module contains algorithms and data structures for efficiently computing fixed-points of large Boolean networks.
- Adds support for SBML-qual import and export to
`BooleanNetwork`

. - Solver context provides a way of interfacing between
`lib-param-bn`

and the Z3 SMT prover. - A fully symbolic coloured graph representation of the Asynchronous Boolean Network.
- This is a documentation-only module which describes how to use this crate to work with parametrised Boolean networks and construct symbolic algorithms with them.

## Structs

- A Boolean network, possibly parametrised with uninterpreted Boolean functions.
- Annotations are “meta” objects that can be declared as part of AEON models to add additional properties that are not directly recognized by the main AEON toolbox.
- An explicit parameter of a
`BooleanNetwork`

; an uninterpreted Boolean function with a given`name`

and`arity`

. - A type-safe index of a
`Parameter`

inside a`BooleanNetwork`

. - Describes an interaction between two
`Variables`

in a`RegulatoryGraph`

(or a`BooleanNetwork`

). - A directed graph representing relationships between a collection of Boolean variables using
`Regulations`

. - A more efficient representation of a signed directed graph that can be used for studying the properties of a
`RegulatoryGraph`

. `Space`

represents a hypercube (multi-dimensional rectangle) in the Boolean state space.- A Boolean variable of a
`RegulatoryGraph`

(or a`BooleanNetwork`

) with a given`name`

. - A type-safe index of a
`Variable`

inside a`RegulatoryGraph`

(or a`BooleanNetwork`

).

## Enums

- Possible binary Boolean operators that can appear in
`FnUpdate`

. - An enum representing the possible state of each variable when describing a hypercube.
- A Boolean update function formula which references
`Variables`

and`Parameters`

of a`BooleanNetwork`

. - Possible monotonous effects of a
`Regulation`

in a`RegulatoryGraph`

. - A sign enum that describes the monotonicity of edges.

## Type Aliases

- An iterator over all
`ParameterIds`

of a`BooleanNetwork`

. - An iterator over all
`Regulations`

of a`RegulatoryGraph`

. - An iterator over all
`VariableIds`

of a`RegulatoryGraph`

(or a`BooleanNetwork`

).