Reference

Contents

Index

GraphDynamicalSystems.QualitativeNetworkType
struct QualitativeNetwork{N, S} <: GraphDynamicalSystem{N, S}

A qualitative network model as described in "Qualitative networks: a symbolic approach to analyze biological signaling networks".

This implementation encompasses both the synchronous and asynchonous cases. In the paper, it is assumed that the synchronous case is used. As such, the default constructor uses a synchronous schedule.

  • graph: Graph containing the topology and target functions of the network

  • state: State of the network

Systems that include the model semantics wrap around this struct with an ArbitrarySteppable from DynamicalSystems. See create_qn_system for an example.

source
GraphDynamicalSystems.build_qn_grammarFunction
build_qn_grammar(
    entity_names;
    ...
) -> HerbGrammar.ContextSensitiveGrammar
build_qn_grammar(
    entity_names,
    constants;
    unique_constr
) -> HerbGrammar.ContextSensitiveGrammar

Builds a grammar based on the base QN grammar adding entity_names and constants to the grammar.

The following constraints are currently included

  1. removing symmetry due to commutativity of +/*/min/max
  2. forbidding same arguments of two argument functions
  3. forbidding constant arguments to 2-argument functions
  4. forbidding constant arguments to 1-argument functions
  5. using each of the entities only once per function
  6. forbidding adding or subtracting zero
  7. forbidding multiplication and division by 1 or 0
  8. forcing the first operator inside ceil and floor to be ÷
  9. forbidding max(□, X) and min(□, X) where X is either the max or min

constant in the grammar.

source
GraphDynamicalSystems.create_qn_systemMethod
create_qn_system(
    qn::QualitativeNetwork
) -> Union{DynamicalSystemsBase.ArbitrarySteppable{U, M, typeof(GraphDynamicalSystems.async_qn_step!), typeof(GraphDynamicalSystems.reset_model!), typeof(GraphDynamicalSystems.extract_state), typeof(GraphDynamicalSystems.extract_parameters), P, DynamicalSystemsBase.var"#22#24"{typeof(GraphDynamicalSystems.reset_model!)}} where {U<:(StaticArraysCore.MVector{N, Int64} where N), M<:QualitativeNetwork, P<:MetaGraphsNext.MetaGraph}, DynamicalSystemsBase.ArbitrarySteppable{U, M, typeof(GraphDynamicalSystems.sync_qn_step!), typeof(GraphDynamicalSystems.reset_model!), typeof(GraphDynamicalSystems.extract_state), typeof(GraphDynamicalSystems.extract_parameters), P, DynamicalSystemsBase.var"#22#24"{typeof(GraphDynamicalSystems.reset_model!)}} where {U<:(StaticArraysCore.MVector{N, Int64} where N), M<:QualitativeNetwork, P<:MetaGraphsNext.MetaGraph}}

Construct an asynchronous QualitativeNetwork system using the async_qn_step! as a step function.

source
GraphDynamicalSystems.limit_changeMethod
limit_change(
    prev_value::Integer,
    next_value::Integer,
    min_level::Integer,
    max_level::Integer
) -> Any

Returns the limited value of next_value which is at most 1 different than prev_value.

It is also never negative, or larger than N.

source
GraphDynamicalSystems.update_functions_to_interaction_graphMethod
update_functions_to_interaction_graph(
    entities::AbstractVector{Symbol},
    update_functions::AbstractVector{Union{Expr, Integer, Symbol}},
    domains::AbstractVector{UnitRange{Int64}};
    schedule
) -> MetaGraphsNext.MetaGraph{Int64, Graphs.SimpleGraphs.SimpleDiGraph{Int64}, Symbol, GraphDynamicalSystems.Entity{Int64}, Nothing, DataType, MetaGraphsNext.var"#11#13", Float64}
source