nuskell.crnverifier

exception nuskell.crnverifier.TimeoutError[source]
nuskell.crnverifier.verify(fcrn, icrn, formals, method, interpretation=None, timeout=0)[source]

Verify the equivalence of a formal CRN and its implementation CRN.

This wrapper function for two notions of equivalence (bisimulation and pathway decomposition) and variations of in their implementation.

Parameters:
  • formal_crn (list[list[...]]) – List of list data structure for formal CRNs as returned from the nuskell.parser module. The CRN must specify reversible reactions as two irreversible reactions.

  • impl_crn (list[list[...]]) – List of list data structure for implementation CRNs as returned from the nuskell.parser module. The CRN must specify reversible reactions as two irreversible reactions.

  • formals (list[str,...]) – A list of formal species.

  • interpret (dict, optional) – A dictionary storing a partial interpretation of the System. Typically stores a mapping between formal and singal species.

  • method (str, optional) – Choose a notion of equivalence: ‘bisimulation’, ‘pathway’, ‘integrated’.

  • timeout (int, optional) – Set a timeout (in seconds) for verification. Defaults to 0, i.e. no timeout.

Returns:

True if equivalent, False otherwise.

Return type:

bool

nuskell.crnverifier.verify_modules(fcrns, icrns, formals, method, interpretation=None, timeout=0)[source]

Choose from different algorithms for modular CRN bisimulation.