Abstract
Chemical reaction networks (CRNs) have been applied successfully to model a wide range of phenomena and are commonly used for designing molecular computation circuits. Often, CRNs with specific properties (oscillations, Turing patterns, multistability) are sought, which entails searching an exponentially large space of CRNs for those that satisfy a property. As the size of the CRNs being considered grows, so does the frequency of isomorphisms, by up to a factor \(N!\), where \(N\) is the number of species. Accordingly, being able to generate sets of non-isomorphic CRNs within a class can lead to large computational savings when carrying out global searches. Here, we present a bijective encoding of bimolecular CRNs into novel vertex-coloured digraphs called . The problem of enumerating non-isomorphic CRNs can then be tackled by leveraging well-established computational methods from graph theory [20]. In particular, we extend Nauty, the graph isomorphism tool suite by McKay [22]. Our method is highly parallelisable and more efficient than competing approaches, and a software package (genCRN) is freely available for reuse. Non-isomorphs are generated directly by genCRN, alleviating the need to store intermediate results. We provide the first complete count of all 2-species bimolecular CRNs and extend previous known counts for classes of CRNs of special interest, such as mass-conserving and reversible CRNs.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Angeli, D.: A tutorial on chemical reaction network dynamics. Eur. J. Control 15(3–4), 398–406 (2009)
Angeli, D., De Leenheer, P., Sontag, E.: A Petri Net approach to persistence analysis in chemical reaction networks. In: Queinnec, I., Tarbouriech, S., Garcia, G., Niculescu, S.I. (eds.) Biology and Control Theory: Current Challenges, pp. 181–216. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71988-5_9
Banaji, M.: Counting chemical reaction networks with NAUTY. arXiv e-prints arXiv:1705.10820, May 2017
Bayramov, S.K.: New theoretical schemes of the simplest chemical oscillators. Biochem. (Mosc.) 70(12), 1377–1384 (2005)
Brendan, D., McKay, A.P.: Nauty and Traces User’s Guide (2013)
Brinkmann, G.: Isomorphism rejection in structure generation programs. DIMACS Ser. Discret. Math. Theor. Comput. Sci. 51(3), 25–38 (2000)
Cardelli, L., Tribastone, M., Vandin, A., Tschaikowski, M.: Forward and backward bisimulations for chemical reaction networks. In: CONCUR 2015 (2015)
Cardelli, L., Tribastone, M., Tschaikowski, M., Vandin, A.: ERODE: a tool for the evaluation and reduction of ordinary differential equations. In: Legay, A., Margaria, T. (eds.) TACAS 2017. LNCS, vol. 10206, pp. 310–328. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-662-54580-5_19
Chen, Y.J., et al.: Programmable chemical controllers made from DNA. Nat. Nanotechnol. 8(10), 755 (2013)
Colom, J.M., Silva, M.: Convex geometry and semiflows in P/T nets. A comparative study of algorithms for computation of minimal p-semiflows. In: Rozenberg, G. (ed.) ICATPN 1989. LNCS, vol. 483, pp. 79–112. Springer, Heidelberg (1991). https://doi.org/10.1007/3-540-53863-1_22
Craciun, G., Feinberg, M.: Multiple equilibria in complex chemical reaction networks: I. The injectivity property. SIAM J. Appl. Math. 65(5), 1526–1546 (2005)
Craciun, G., Feinberg, M.: Multiple equilibria in complex chemical reaction networks: II. The species-reaction graph. SIAM J. Appl. Math. 66(4), 1321–1338 (2006)
Deckard, A.C., Bergmann, F.T., Sauro, H.M.: Enumeration and Online Library of Mass-Action Reaction Networks. arXiv e-prints arXiv:0901.3067, January 2009
Farkas, J.: Uber die theorie der einfachen ungeichungen. J. Reine Angew. Math. 124, 1–24 (1902)
Feinberg, M.: Chemical reaction network structure and the stability of complex isothermal reactors-I. The deficiency zero and deficiency one theorems. Chem. Eng. Sci. 42(10), 2229–2268 (1987)
Feinberg, M.: Chemical reaction network structure and the stability of complex isothermal reactors-II. multiple steady states for networks of deficiency one. Chem. Eng. Sci. 43(1), 1–25 (1988)
Hucka, M., et al.: The systems biology markup language (SBML): a medium for representation and exchange of biochemical network models. Bioinformatics 19(4), 524–531 (2003)
Karlebach, G., Shamir, R.: Modelling and analysis of gene regulatory networks. Nat. Rev. Mol. Cell Biol. 9(10), 770 (2008)
Kondo, S., Miura, T.: Reaction-diffusion model as a framework for understanding biological pattern formation. Science 329(5999), 1616–1620 (2010)
McKay, B.D.: Isomorph-free exhaustive generation. J. Algorithms 26(2), 306–324 (1998)
McKay, B.D.: Isomorph-free exhaustive generation. J. Algorithms 26(2), 306–324 (1998)
McKay, B.D., Piperno, A.: Practical graph isomorphism, II. CoRR abs/1301.1493 (2013)
Mincheva, M., Roussel, M.R.: A graph-theoretic method for detecting potential turing bifurcations. J. Chem. Phys. 125(20), 204102 (2006)
Mincheva, M., Roussel, M.R.: Graph-theoretic methods for the analysis of chemical and biochemical networks. I. Multistability and oscillations in ordinary differential equation models. J. Math. Biol. 55(1), 61–86 (2007)
Miyazaki, T.: The complixity of McKay’s canonical labeling algorithm. In: Groups and Computation, Proceedings of a DIMACS Workshop, New Brunswick, New Jersey, USA, 7–10 June 1995, pp. 239–256 (1995)
Murphy, N., Petersen, R., Phillips, A., Yordanov, B., Dalchau, N.: Synthesizing and tuning stochastic chemical reaction networks with specified behaviours. J. R. Soc. Interface 15(145), 20180283 (2018)
Oishi, K., Klavins, E.: Biomolecular implementation of linear I/O systems. IET Syst. Biol. 5(4), 252–260 (2011)
Pedersen, M., Phillips, A.: Towards programming languages for genetic engineering of living cells. J. R. Soc. Interface 6(suppl–4), S437–S450 (2009)
Pólya, G., Read, R.: Combinatorial Enumeration of Groups, Graphs, and Chemical Compounds. Springer, New York (1987). https://doi.org/10.1007/978-1-4612-4664-0
Read, R.C., Corneil, D.G.: The graph isomorphism disease. J. Graph Theory 1(4), 339–363 (1977)
Rosen, K.H.: Handbook of Discrete and Combinatorial Mathematics, 2nd edn. Chapman & Hall/CRC, Boca Raton (2010)
Shinar, G., Feinberg, M.: Structural sources of robustness in biochemical reaction networks. Science 327(5971), 1389–1391 (2010)
Soloveichik, D., Seelig, G., Winfree, E.: DNA as a universal substrate for chemical kinetics. Proc. Natl. Acad. Sci. 107(12), 5393–5398 (2010)
Srinivas, N., Parkin, J., Seelig, G., Winfree, E., Soloveichik, D.: Enzyme-free nucleic acid dynamical systems. Science 358(eaal2052), 2052 (2017)
Wilhelm, T.: The smallest chemical reaction system with bistability. BMC Syst. Biol. 3(1), 90 (2009)
Acknowledgements
We would like to thank Brendan McKay, who extended NAUTY’s vertex-colouring algorithm to directed graphs on our request, without which this work would have not been possible. We would also like to thank Andrea Vandin and Mirco Tribastone for providing a command-line version of ERODE and for useful discussions. Finally, we thank an anonymous reviewer for helping us to identify an error in the algorithm used for filtering dynamically trivial networks.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
A Definitions
This section introduces definitions for automorphisms, orbits and the autormophism group for graphs, following [31].
Definition 6 (Permutation)
A permutation of a set S is a total function from S to itself.
Definition 7 (Cyclic permutation)
A permutation \( \pi \) of the form:
is said to be cyclic permutation of period p.
Definition 8 (Disjoint cycle representation)
A disjoint cycle representation of a permutation \(\pi \) on a set S is a composition of cyclic permutations on subsets of S that constitute a partition of S, one cyclic permutation for each subset in the partition.
Definition 9 (Group)
An algebraic system \({<}U, \star {>}\) is a called a group if it has the following properties:
-
1.
the operation \( \star \) is associative,
-
2.
there is an identity element,
-
3.
every element of U has an inverse.
Definition 10 (Permutation group)
A closed non-empty collection P of permutations on a set Y of objects that forms a group under the operation of composition is called a permutation group. The combined structure may be denoted \( V = [P : V] \). It is often denoted P when the set of Y objects is understood from context.
Definition 11 (Orbit)
Let \( \mathcal {P} = [P:Y] \) be a permutation group, and let \( y \in Y \). The orbit of the object y under the action of P is the set \( \{\pi (y) ~|~ \pi \in P \} \).
Corollary 1
Let \( \mathcal {P} = [P:Y] \) be a permutation group. Then being coorbital is an equivalence relation
Proof
Identity: by the identity permutation. Commutativity: because each \( \pi \) is invertible. Transitivity: by function composition \( \circ \).
B Proofs
Lemma 1
Let \( \mathcal {N}\) be a bimolecular CRN. Then \(\llbracket \mathcal {N}\rrbracket ^{I_1}_{J_1} \cong \llbracket \mathcal {N}\rrbracket ^{I_2}_{J_2} \) holds for any indexing sets \( I_1, I_2, J_1, J_2\).
Proof
The lemma can be proved by explicitly constructing bijections \( \alpha \) and \( \beta \) required by Definition 5. Recall that we indicate with \( \{c_{i}\}_{i \in I} \) and \( \{A_{j}\}_{j \in J} \) respectively the indexed set of the complexes and of the species in \( \mathcal {N}\).
Let \( \alpha = \{(i_1, i_2)~|~ c_{i_1} = c_{i_2} \text { for } i_1 \in I_1, i_2 \in I_2\} \) and \( \beta = \{(j_1, j_2)~|~ A_{j_1} = A_{j_2} \text { for } j_1 \in J_1, j_2 \in J_2 \} \). These functions are well-defined because the indexing sets all target the same CRN \(\mathcal {N}\). It is also easy to show that they are bijections.
The lemma is proved by verifying that \( \alpha \) and \( \beta \) satisfy Condition 1 to 3 of Definition 5:
-
1.
\( V_1\alpha \beta = V_2 \) because \( \alpha \) and \( \beta \) are bijections over the indexed sets;
-
2.
\( E_1\alpha \beta = \{(j_1, i_1)~|~A_{j_1} \!\in \! c_{i_1}\}\alpha \beta \,\cup \, \{(i_1, i_1')~|~ c_{i_1} \rightarrow c_{i_1'} \in \mathcal {R}\}\alpha \beta \) by Definition 4
\( = \{(j_2, i_2)~|~A_{j_2} \in c_{i_2}\} \cup \{(i_2, i_2')~|~ c_{i_2} \rightarrow c_{i_2'} \in \mathcal {R}\} \) by def. of \(\alpha \), \(\beta \).
\( = E_2\)
which proves the case.
-
3.
Let \( i_1 \) be such that \(\sigma _1(i_1) = \emptyset \). By Definition 4, \( c_{i_1} = \emptyset \), and since \( \alpha (i_1) = i_2 \) implies that \( c_{i_1} = c_{i_2} \), then \( c_2 = \emptyset \) as well. Therefore \( \sigma (i_2) = \emptyset \) holds by Definition 4, which implies \( \sigma (i_1)\alpha = \sigma _2(i_2) \). The proof for the remaining cases (monomers, homodimers and heterodimers) is similar. \(\square \)
Lemma 2
Let \( \mathcal {N}_1 \) and \( \mathcal {N}_2 \) be bimolecular CRNs. If \( \mathcal {N}_1 \cong \mathcal {N}_2 \), then \( \llbracket \mathcal {N}_1\rrbracket ^{I_1}_{J_1} \cong \llbracket \mathcal {N}_2\rrbracket ^{I_2}_{J_2} \) for any indexing sets \( I_1, I_2, J_1 \) and \( J_2 \).
Proof
By definition of CRN isomorphism (Definition 2), there exists a permutation \( \pi \) over the species of \( \mathcal {N}_1 \) such that \( \mathcal {N}_1\pi = \mathcal {N}_2 \). Notice that by Lemma 1 we can deduce \(\llbracket \mathcal {N}_1\pi \rrbracket ^{I_1}_{J_1} \cong \llbracket \mathcal {N}_2\rrbracket ^{I_2}_{J_2} \) for any indexing sets \( I_1, I_2, J_1 \) and \( J_2 \). The proof of this lemma is similar to Lemma 1, by defining \( \alpha = \{(i_1, i_2)~|~ c_{i_1}\pi = c_{i_2} \text { for } i_1 \in I_1, i_2 \in I_2\} \) and \( \beta = \{(j_1, j_2)~|~ A_{j_1}\pi = A_{j_2} \text { for } j_1 \in J_1, j_2 \in J_2 \} \). \(\square \)
Lemma 3
Let \( \mathcal {N}_1 \) and \( \mathcal {N}_2 \) be bimolecular CRNs with indexing sets respectively \( I_1, J_1 \) and \(I_2, J_2\). If \( \llbracket \mathcal {N}_1\rrbracket ^{I_1}_{J_1} \cong \llbracket \mathcal {N}_2\rrbracket ^{I_2}_{J_2} \), then \( \mathcal {N}_1 \cong \mathcal {N}_2 \).
Proof
Let \( \llbracket \mathcal {N}_1\rrbracket ^{I_1}_{J_1} = \langle V_1, E_1, \sigma _1, \rho _1\rangle \) and \( \llbracket \mathcal {N}_2\rrbracket ^{I_2}_{J_2} = \langle V_2, E_2, \sigma _2, \rho _2 \rangle \), such that \( \llbracket \mathcal {N}_1\rrbracket ^{I_1}_{J_1} \cong \llbracket \mathcal {N}_2\rrbracket ^{I_2}_{J_2} \). By hypothesis, \( \llbracket \mathcal {N}_1\rrbracket ^{I_1}_{J_1} \cong \llbracket \mathcal {N}_2\rrbracket ^{I_2}_{J_2} \) implies the existence of bijections \( \alpha \) and \( \beta \) that satisfy conditions 1 to 3 in Definition 5. Let us define the following permutation of \( \mathcal {S}\):
where \( \pi _I \) is the identity function over \(\mathcal {S}\). Since \( \beta \) and \( \pi _I \) are bijections, then \( \pi \) is also a bijection; since its domain and range are \( \mathcal {S}\), \( \pi \) is a well-defined permutation.
Let \( c_{i_1} \rightarrow c_{i_1'} \) be a reaction in \(\mathcal {N}_1\). By Definition 4 \( E_1 \) contains the edge \( (i_1, i_1') \). Since \( \llbracket \mathcal {N}_1\rrbracket ^{I_1}_{J_1} \) and \( \llbracket \mathcal {N}_1\rrbracket ^{I_2}_{J_2} \) are isomorphic by hypothesis, it follows by definition that \( E_2 = E_1\alpha \beta \), therefore the edge \( (i_1, i_1')\alpha = (i_2, i_2') \) also exists in \( E_2 \) for \(i_2, i_2' \in I_2 \). Because of this, the reaction \( c_{i_2} \rightarrow c_{i_2'} \) exists in \(\mathcal {N}_2\); moreover, by Condition 3 of Definition 5, the complexes have the same stoichiometry.
Similarly, let \( (j_1, i_1) \) be an edge in \( E_1\) such that \( A_{j_1} \) occurs in \( c_{i_1} \). By Condition 2 of Definition 5, \( E_2 \) contains the edge \( (j_1, i_1)\alpha \beta = (j_1\alpha , i_1\beta ) = (i_2, j_2) \), which means that \( A_{j_2} \) occurs in \( c_{i_2} \). By definition of \( \pi \), \( A_{j_1}\pi = A_{j_1\beta } = A_{j_2} \); since \( c_{i_1} \) and \( c_{i_2} \) also have the same multiplicity by Condition 3 of Definition 5, this implies that \( c_{i_1}\pi = c_{i_2} \). A similar line of reasoning shows that \(c_{i_1'}\pi = c_{i_2'} \). Therefore \( (c_{i_1} \rightarrow c_{i_1'})\pi = c_{i_2} \rightarrow c_{i_2'} \). Generalising this result to all reactions in \( \mathcal {N}_1 \), we obtain \( \mathcal {N}_1 \pi = \mathcal {N}_2 \), which concludes the proof. \(\square \)
Lemma 4
The number of p-CRNs (reactions have up to p reactants/products) with up to \(N\) species grows as \(\mathcal {O}(2^{N^{2p}})\).
Proof
Following Eq. 3, the total number of p-CRNs with up to \(N\) and specifically \(M\) reactions is given by \({ L_p(N)(L_p(N)-1) \atopwithdelims ()M}\). Given that
we can use the fact that \(\sum _{i=1}^k{n\atopwithdelims ()k}=2^n\) to characterise the total number of bimolecular CRNs as \(\mathcal {O}(2^{N^{2p}})\). \(\square \)
C Complex-Multiplicity-Species Graph
Section 2.1 has shown how to encode bimolecular CRNs as vertex-coloured digraphs. It is natural to wonder whether this encoding extends to more than bimolecularity. Unfortunately cannot encode higher molecularities than 2, however we propose in this section a more general encoding of CRNs called the Complex-Multiplicity-Species graph (or CMS graph).
We begin by showing that cannot encode trimolecular reactions. Consider in fact the reaction \( 2A + B \rightarrow A + 2B \). If we added a new color “\(2\square +\square \)” and connect two node species A and B to it, there would be no way to tell which of the two species is actually the homodimer and which one is the monomer.
To overcome this issue, we propose Complex-Multiplicity-Species graphs, which extend with multiplicity nodes, that is distinct coloured nodes that point out the multiplicity of a species in a reaction. If m is the molecularity of interest, then there are \(m+1\) kinds of multiplicity nodes: naught, \(\square \), \(2\square \), \(3\square \) and so on. Each species node is connected to m multiplicity nodes, signifying for example A, 2A, 3A etc. Naught is a separate multiplicity node that cannot be connected to any species. In turn, multiplicity nodes are connected to complex nodes to represent the original CRN’s reaction. Figure 9 show an example of a CMS graph; notice that no confusion is possible between complexes \(2A + B \) and \( A + 2B\).
We believe that CMS graphs are a general encoding of CRNs with any molecularity, but we leave a formal definition and proofs for future work.
D Counts of Non-isomorphic CRNs
In this appendix, we tabulate the numbers of non-isomorphic CRNs found using genCRN. The tables can be compared against values reported at https://reaction-networks.net/networks/, at the time of writing, which were evaluated using the method in [3]. In each case, we report values for genuine CRNs, those which use all \(N\) species.
1.1 D.1 No Filters
Here, we consider the total number of non-isomorphic CRNs for \(N\) species and \(M\) reactions. The results are graphically depicted in Fig. 5, but tabulated below (Table 1).
1.2 D.2 Reversible CRNs
To generate reversible CRNs, we generate undirected graphs of a suitable size and feed these into genCRNin the same way as for general CRNs with irreversible reactions. Reported below are counts for \(M\) reversible reactions. As such, the CRNs found have \(2M\) unidirectional reactions.
1.3 D.3 Non-trivial Dynamics
As described in the main text, one can test whether a CRN has non-trivial dynamics. To apply this filter to the enumerated non-isomorphic CRNs, one can use the -t flag for genCRN.
We found that our counts differ with those reported at https://reaction-networks.net/networks/ (using the method in [3]) for CRNs with at least 4 species and 4 reactions (Table 3). In each of the 5 counts identified as different, the values we report are lower than those reported previously, though within 1.5% relative error. By analysing the sets of CRNs produced in the 6 species and 4 reactions class, we have determined that we incorrectly classify at least one CRN as trivial, and tracked this to numerical discrepancies in our use of Fourier-Motzkin elimination. Further work would be required to refine the numerical procedure used here, in order to improve confidence in our counts of dynamically non-trivial and non-isomorphic CRNs. For instance, implementing Fourier-Motzkin elimination with explicit rational numbers (one integer variable each for the numerator and denominator), could avoid the emergence of values close to zero.
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Spaccasassi, C., Yordanov, B., Phillips, A., Dalchau, N. (2019). Fast Enumeration of Non-isomorphic Chemical Reaction Networks. In: Bortolussi, L., Sanguinetti, G. (eds) Computational Methods in Systems Biology. CMSB 2019. Lecture Notes in Computer Science(), vol 11773. Springer, Cham. https://doi.org/10.1007/978-3-030-31304-3_12
Download citation
DOI: https://doi.org/10.1007/978-3-030-31304-3_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-31303-6
Online ISBN: 978-3-030-31304-3
eBook Packages: Computer ScienceComputer Science (R0)