Stability Analysis¶
-
pybel_tools.analysis.stability.
get_contradiction_summary
(graph)[source]¶ Yield triplets of (source node, target node, set of relations) for (source node, target node) pairs that have multiple, contradictory relations.
Parameters: graph (pybel.BELGraph) – A BEL graph Return type: iter[tuple]
-
pybel_tools.analysis.stability.
get_regulatory_pairs
(graph)[source]¶ Finds pairs of nodes that have mutual causal edges that are regulating each other such that
A -> B
andB -| A
.Parameters: graph (pybel.BELGraph) – A BEL graph Returns: A set of pairs of nodes with mutual causal edges Return type: set
-
pybel_tools.analysis.stability.
get_chaotic_pairs
(graph)[source]¶ Finds pairs of nodes that have mutual causal edges that are increasing each other such that
A -> B
andB -> A
.Parameters: graph (pybel.BELGraph) – A BEL graph Returns: A set of pairs of nodes with mutual causal edges Return type: set
-
pybel_tools.analysis.stability.
get_dampened_pairs
(graph)[source]¶ Finds pairs of nodes that have mutual causal edges that are decreasing each other such that
A -| B
andB -| A
.Parameters: graph (pybel.BELGraph) – A BEL graph Returns: A set of pairs of nodes with mutual causal edges Return type: set
-
pybel_tools.analysis.stability.
get_correlation_graph
(graph)[source]¶ Extracts a graph of only correlative relationships
Parameters: graph (pybel.BELGraph) – A BEL Graph Return type: networkx.Graph
-
pybel_tools.analysis.stability.
get_correlation_triangles
(graph)[source]¶ Returns a set of all triangles pointed by the given node
Parameters: graph (networkx.Graph) – A non-directional graph Return type: set[tuple]
-
pybel_tools.analysis.stability.
get_triangles
(graph)[source]¶ Gets a set of triples representing the 3-cycles from a directional graph. Each 3-cycle is returned once, with nodes in sorted order.
Parameters: graph (networkx.DiGraph) – A directional graph Return type: set[tuple]
-
pybel_tools.analysis.stability.
get_separate_unstable_correlation_triples
(graph)[source]¶ Yields all triples of nodes A, B, C such that
A positiveCorrelation B
,A positiveCorrelation C
, andB negativeCorrelation C
Parameters: graph (pybel.BELGraph) – A BEL graph Returns: An iterator over triples of unstable graphs, where the second two are negative Return type: iter[tuple]
-
pybel_tools.analysis.stability.
get_mutually_unstable_correlation_triples
(graph)[source]¶ Yields all triples of nodes A, B, C such that
A negativeCorrelation B
,B negativeCorrelation C
, andC negativeCorrelation A
.Parameters: graph (pybel.BELGraph) – A BEL graph Return type: iter[tuple]
-
pybel_tools.analysis.stability.
jens_transformation_alpha
(graph)[source]¶ Applies Jens’ transformation (Type 1) to the graph
- Induce a subgraph over causal + correlative edges
- Transform edges by the following rules:
- increases => increases
- decreases => backwards increases
- positive correlation => two way increases
- negative correlation => delete
The resulting graph can be used to search for 3-cycles, which now symbolize unstable triplets where
A -> B
,A -| C
andB positiveCorrelation C
.Parameters: graph (pybel.BELGraph) – A BEL graph Return type: networkx.DiGraph
-
pybel_tools.analysis.stability.
jens_transformation_beta
(graph)[source]¶ Applies Jens’ Transformation (Type 2) to the graph
- Induce a subgraph over causal and correlative relations
- Transform edges with the following rules:
- increases => backwards decreases
- decreases => decreases
- positive correlation => delete
- negative correlation => two way decreases
The resulting graph can be used to search for 3-cycles, which now symbolize stable triples where
A -> B
,A -| C
andB negativeCorrelation C
.Parameters: graph (pybel.BELGraph) – A BEL graph Return type: networkx.DiGraph
-
pybel_tools.analysis.stability.
get_jens_unstable
(graph)[source]¶ Yields triples of nodes where
A -> B
,A -| C
, andC positiveCorrelation A
. Calculated efficiently using the Jens Transformation.Parameters: graph (pybel.BELGraph) – A BEL graph Returns: An iterable of triplets of nodes Return type: iter[tuple]
-
pybel_tools.analysis.stability.
get_increase_mismatch_triplets
(graph)[source]¶ Iterates over triples of nodes where
A -> B
,A -> C
, andC negativeCorrelation A
.Parameters: graph (pybel.BELGraph) – A BEL graph Returns: An iterable of triplets of nodes Return type: iter[tuple]
-
pybel_tools.analysis.stability.
get_decrease_mismatch_triplets
(graph)[source]¶ Iterates over triplets of nodes where
A -| B
,A -| C
, andC negativeCorrelation A
.Parameters: graph (pybel.BELGraph) – A BEL graph Returns: An iterable of triplets of nodes Return type: iter[tuple]
-
pybel_tools.analysis.stability.
get_chaotic_triplets
(graph)[source]¶ Iterates over triples of nodes that mutually increase each other, such as when
A -> B
,B -> C
, andC -> A
.Parameters: graph (pybel.BELGraph) – A BEL graph Returns: An iterable of triplets of nodes Return type: iter[tuple]
-
pybel_tools.analysis.stability.
get_dampened_triplets
(graph)[source]¶ Iterates over triples of nodes that mutually decreases each other, such as when
A -| B
,B -| C
, andC -| A
.Parameters: graph (pybel.BELGraph) – A BEL graph Returns: An iterable of triplets of nodes Return type: iter[tuple]
-
pybel_tools.analysis.stability.
summarize_stability
(graph)[source]¶ Summarize the stability of the graph
Parameters: graph (pybel.BELGraph) – A BEL graph Return type: dict