Chemical Reaction Network topology for generating and analyzing reaction graph structures.
/plugin marketplace add plurigrid/asi/plugin install plurigrid-asi-skills@plurigrid/asiThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Status: ✅ Production Ready Trit: +1 (PLUS - generator) Color: #D82626 (Red) Principle: Network structure → Dynamical behavior Frame: Hypergraph topology of chemical reactions
CRN Topology generates and analyzes the graph structure of chemical reaction networks. The topology determines qualitative dynamics—multistability, oscillations, and computational capacity.
Deficiency δ = n - ℓ - s
n = number of complexes
ℓ = number of linkage classes
s = rank of stoichiometric matrix
Zero deficiency theorem:
δ = 0 and weakly reversible ⟹ unique stable equilibrium
def crn_deficiency(network: CRN) -> int:
n = len(network.complexes)
l = network.linkage_classes()
s = np.linalg.matrix_rank(network.stoichiometry)
return n - l - s
class CRNGenerator:
def __init__(self, species: list[str]):
self.species = species
def random_reaction(self) -> Reaction:
"""Generate topology-valid reaction."""
reactants = self.sample_complex()
products = self.sample_complex()
return Reaction(reactants, products)
def stoichiometry_matrix(self, reactions) -> np.ndarray:
"""S[i,j] = net change in species i from reaction j."""
S = np.zeros((len(self.species), len(reactions)))
for j, rxn in enumerate(reactions):
S[:, j] = rxn.products - rxn.reactants
return S
def generate_oscillator_topology() -> CRN:
"""Generate Brusselator-like topology."""
return CRN([
"A → X",
"2X + Y → 3X",
"B + X → Y + D",
"X → E"
])
def generate_bistable_topology() -> CRN:
"""Generate Schlögl-like bistability."""
return CRN([
"A + 2X ⇌ 3X",
"X ⇌ B"
])
def analyze_topology(crn: CRN) -> dict:
"""Determine dynamical properties from topology."""
delta = crn_deficiency(crn)
wr = is_weakly_reversible(crn)
return {
"deficiency": delta,
"weakly_reversible": wr,
"unique_equilibrium": delta == 0 and wr,
"multistability_possible": delta > 0,
"complex_balanced": check_complex_balance(crn)
}
# Generate CRN with target properties
just crn-generate --oscillator --species 3
# Compute deficiency
just crn-deficiency network.crn
# Visualize reaction hypergraph
just crn-topology network.crn
assembly-index (-1) ⊗ turing-chemputer (0) ⊗ crn-topology (+1) = 0 ✓ [Molecular Complexity]
persistent-homology (-1) ⊗ turing-chemputer (0) ⊗ crn-topology (+1) = 0 ✓ [Topological CRN]
Skill Name: crn-topology Type: Reaction Network Generator Trit: +1 (PLUS) Color: #D82626 (Red)