From ed37e1158113bc7a89f5b6000449da460741fce3 Mon Sep 17 00:00:00 2001 From: a2390yu Date: Fri, 17 Jul 2026 12:22:34 +0200 Subject: [PATCH] initial commit --- daniels-strats/dg.py | 24 +++++++++++++ graphs/AcP.gml | 27 +++++++++++++++ graphs/DHAP.gml | 35 +++++++++++++++++++ graphs/E4P.gml | 43 ++++++++++++++++++++++++ graphs/F6P.gml | 59 ++++++++++++++++++++++++++++++++ graphs/FBP.gml | 69 ++++++++++++++++++++++++++++++++++++++ graphs/G3P.gml | 35 +++++++++++++++++++ graphs/Pi.gml | 17 ++++++++++ graphs/R5P.gml | 51 ++++++++++++++++++++++++++++ graphs/Ru5P-X5P.gml | 51 ++++++++++++++++++++++++++++ graphs/S7P.gml | 67 ++++++++++++++++++++++++++++++++++++ rules/aldolase.gml | 37 ++++++++++++++++++++ rules/aldose-ketose.gml | 32 ++++++++++++++++++ rules/ketose-aldose.gml | 32 ++++++++++++++++++ rules/phosphohydrolase.gml | 36 ++++++++++++++++++++ rules/phosphoketolase.gml | 49 +++++++++++++++++++++++++++ rules/transaldolase.gml | 56 +++++++++++++++++++++++++++++++ rules/transketolase.gml | 46 +++++++++++++++++++++++++ 18 files changed, 766 insertions(+) create mode 100644 daniels-strats/dg.py create mode 100644 graphs/AcP.gml create mode 100644 graphs/DHAP.gml create mode 100644 graphs/E4P.gml create mode 100644 graphs/F6P.gml create mode 100644 graphs/FBP.gml create mode 100644 graphs/G3P.gml create mode 100644 graphs/Pi.gml create mode 100644 graphs/R5P.gml create mode 100644 graphs/Ru5P-X5P.gml create mode 100644 graphs/S7P.gml create mode 100644 rules/aldolase.gml create mode 100644 rules/aldose-ketose.gml create mode 100644 rules/ketose-aldose.gml create mode 100644 rules/phosphohydrolase.gml create mode 100644 rules/phosphoketolase.gml create mode 100644 rules/transaldolase.gml create mode 100644 rules/transketolase.gml diff --git a/daniels-strats/dg.py b/daniels-strats/dg.py new file mode 100644 index 0000000..659c2c5 --- /dev/null +++ b/daniels-strats/dg.py @@ -0,0 +1,24 @@ +import os +include("common.py") +filename = "dg.dg" + +nogMols = (Pi, AcP, G3P, DHAP, E4P, R5P, Ru5P, F6P, S7P, FBP) + +if os.path.isfile(prefixFilename(filename)): + dg = DG.load(inputGraphs, inputRules, filename) +else: + stratBFS = ( + addSubset(nogMols) + >> rightPredicate[ + lambda d: all(a.vLabelCount("C") <= 8 for a in d.right) + ]( + repeat(nogRules) + ) + ) + dg = DG(graphDatabase=inputGraphs) + dg.build().execute(stratBFS) + outFile = dg.dump() + post("cp \"" + outFile + "\" \"" + prefixFilename(filename) + "\"") +print("|V| =", dg.numVertices) +print("|E| =", dg.numEdges) +renameGraphs(dg.graphDatabase) diff --git a/graphs/AcP.gml b/graphs/AcP.gml new file mode 100644 index 0000000..ddaf1ad --- /dev/null +++ b/graphs/AcP.gml @@ -0,0 +1,27 @@ +graph [ + node [ id 0 label "O" ] + node [ id 1 label "P" ] + node [ id 2 label "O" ] + node [ id 3 label "O" ] + node [ id 4 label "O" ] + node [ id 5 label "C" ] + node [ id 6 label "O" ] + node [ id 7 label "C" ] + node [ id 8 label "H" ] + node [ id 9 label "H" ] + node [ id 10 label "H" ] + node [ id 11 label "H" ] + node [ id 12 label "H" ] + edge [ source 2 target 1 label "-" ] + edge [ source 3 target 1 label "=" ] + edge [ source 1 target 0 label "-" ] + edge [ source 4 target 1 label "-" ] + edge [ source 6 target 5 label "=" ] + edge [ source 5 target 4 label "-" ] + edge [ source 7 target 5 label "-" ] + edge [ source 8 target 0 label "-" ] + edge [ source 9 target 2 label "-" ] + edge [ source 10 target 7 label "-" ] + edge [ source 11 target 7 label "-" ] + edge [ source 12 target 7 label "-" ] +] diff --git a/graphs/DHAP.gml b/graphs/DHAP.gml new file mode 100644 index 0000000..99ffbbd --- /dev/null +++ b/graphs/DHAP.gml @@ -0,0 +1,35 @@ +graph [ + node [ id 0 label "O" ] + node [ id 1 label "P" ] + node [ id 2 label "O" ] + node [ id 3 label "O" ] + node [ id 4 label "O" ] + node [ id 5 label "C" ] + node [ id 6 label "C" ] + node [ id 7 label "O" ] + node [ id 8 label "C" ] + node [ id 9 label "O" ] + node [ id 10 label "H" ] + node [ id 11 label "H" ] + node [ id 12 label "H" ] + node [ id 13 label "H" ] + node [ id 14 label "H" ] + node [ id 15 label "H" ] + node [ id 16 label "H" ] + edge [ source 2 target 1 label "-" ] + edge [ source 3 target 1 label "=" ] + edge [ source 1 target 0 label "-" ] + edge [ source 4 target 1 label "-" ] + edge [ source 5 target 4 label "-" ] + edge [ source 7 target 6 label "=" ] + edge [ source 6 target 5 label "-" ] + edge [ source 8 target 6 label "-" ] + edge [ source 9 target 8 label "-" ] + edge [ source 10 target 0 label "-" ] + edge [ source 11 target 2 label "-" ] + edge [ source 12 target 5 label "-" ] + edge [ source 13 target 5 label "-" ] + edge [ source 14 target 8 label "-" ] + edge [ source 15 target 8 label "-" ] + edge [ source 16 target 9 label "-" ] +] diff --git a/graphs/E4P.gml b/graphs/E4P.gml new file mode 100644 index 0000000..f382066 --- /dev/null +++ b/graphs/E4P.gml @@ -0,0 +1,43 @@ +graph [ + node [ id 0 label "O" ] + node [ id 1 label "P" ] + node [ id 2 label "O" ] + node [ id 3 label "O" ] + node [ id 4 label "O" ] + node [ id 5 label "C" ] + node [ id 6 label "C" ] + node [ id 7 label "O" ] + node [ id 8 label "C" ] + node [ id 9 label "O" ] + node [ id 10 label "C" ] + node [ id 11 label "O" ] + node [ id 12 label "H" ] + node [ id 13 label "H" ] + node [ id 14 label "H" ] + node [ id 15 label "H" ] + node [ id 16 label "H" ] + node [ id 17 label "H" ] + node [ id 18 label "H" ] + node [ id 19 label "H" ] + node [ id 20 label "H" ] + edge [ source 2 target 1 label "-" ] + edge [ source 3 target 1 label "=" ] + edge [ source 1 target 0 label "-" ] + edge [ source 4 target 1 label "-" ] + edge [ source 5 target 4 label "-" ] + edge [ source 7 target 6 label "-" ] + edge [ source 6 target 5 label "-" ] + edge [ source 9 target 8 label "-" ] + edge [ source 8 target 6 label "-" ] + edge [ source 10 target 8 label "-" ] + edge [ source 11 target 10 label "=" ] + edge [ source 12 target 0 label "-" ] + edge [ source 13 target 2 label "-" ] + edge [ source 14 target 5 label "-" ] + edge [ source 15 target 5 label "-" ] + edge [ source 16 target 6 label "-" ] + edge [ source 17 target 7 label "-" ] + edge [ source 18 target 8 label "-" ] + edge [ source 19 target 9 label "-" ] + edge [ source 20 target 10 label "-" ] +] diff --git a/graphs/F6P.gml b/graphs/F6P.gml new file mode 100644 index 0000000..726532f --- /dev/null +++ b/graphs/F6P.gml @@ -0,0 +1,59 @@ +graph [ + node [ id 0 label "O" ] + node [ id 1 label "C" ] + node [ id 2 label "C" ] + node [ id 3 label "O" ] + node [ id 4 label "C" ] + node [ id 5 label "O" ] + node [ id 6 label "C" ] + node [ id 7 label "O" ] + node [ id 8 label "C" ] + node [ id 9 label "O" ] + node [ id 10 label "C" ] + node [ id 11 label "O" ] + node [ id 12 label "P" ] + node [ id 13 label "O" ] + node [ id 14 label "O" ] + node [ id 15 label "O" ] + node [ id 16 label "H" ] + node [ id 17 label "H" ] + node [ id 18 label "H" ] + node [ id 19 label "H" ] + node [ id 20 label "H" ] + node [ id 21 label "H" ] + node [ id 22 label "H" ] + node [ id 23 label "H" ] + node [ id 24 label "H" ] + node [ id 25 label "H" ] + node [ id 26 label "H" ] + node [ id 27 label "H" ] + node [ id 28 label "H" ] + edge [ source 1 target 0 label "-" ] + edge [ source 3 target 2 label "=" ] + edge [ source 2 target 1 label "-" ] + edge [ source 5 target 4 label "-" ] + edge [ source 4 target 2 label "-" ] + edge [ source 7 target 6 label "-" ] + edge [ source 6 target 4 label "-" ] + edge [ source 9 target 8 label "-" ] + edge [ source 8 target 6 label "-" ] + edge [ source 10 target 8 label "-" ] + edge [ source 11 target 10 label "-" ] + edge [ source 13 target 12 label "=" ] + edge [ source 14 target 12 label "-" ] + edge [ source 12 target 11 label "-" ] + edge [ source 15 target 12 label "-" ] + edge [ source 16 target 0 label "-" ] + edge [ source 17 target 1 label "-" ] + edge [ source 18 target 1 label "-" ] + edge [ source 19 target 4 label "-" ] + edge [ source 20 target 5 label "-" ] + edge [ source 21 target 6 label "-" ] + edge [ source 22 target 7 label "-" ] + edge [ source 23 target 8 label "-" ] + edge [ source 24 target 9 label "-" ] + edge [ source 25 target 10 label "-" ] + edge [ source 26 target 10 label "-" ] + edge [ source 27 target 14 label "-" ] + edge [ source 28 target 15 label "-" ] +] diff --git a/graphs/FBP.gml b/graphs/FBP.gml new file mode 100644 index 0000000..cbec9c9 --- /dev/null +++ b/graphs/FBP.gml @@ -0,0 +1,69 @@ +graph [ + node [ id 0 label "O" ] + node [ id 1 label "C" ] + node [ id 2 label "C" ] + node [ id 3 label "O" ] + node [ id 4 label "P" ] + node [ id 5 label "O" ] + node [ id 6 label "O" ] + node [ id 7 label "O" ] + node [ id 8 label "C" ] + node [ id 9 label "O" ] + node [ id 10 label "C" ] + node [ id 11 label "O" ] + node [ id 12 label "C" ] + node [ id 13 label "C" ] + node [ id 14 label "O" ] + node [ id 15 label "P" ] + node [ id 16 label "O" ] + node [ id 17 label "O" ] + node [ id 18 label "O" ] + node [ id 19 label "O" ] + node [ id 20 label "H" ] + node [ id 21 label "H" ] + node [ id 22 label "H" ] + node [ id 23 label "H" ] + node [ id 24 label "H" ] + node [ id 25 label "H" ] + node [ id 26 label "H" ] + node [ id 27 label "H" ] + node [ id 28 label "H" ] + node [ id 29 label "H" ] + node [ id 30 label "H" ] + node [ id 31 label "H" ] + node [ id 32 label "H" ] + node [ id 33 label "H" ] + edge [ source 2 target 1 label "-" ] + edge [ source 3 target 2 label "-" ] + edge [ source 5 target 4 label "-" ] + edge [ source 6 target 4 label "-" ] + edge [ source 4 target 3 label "-" ] + edge [ source 7 target 4 label "=" ] + edge [ source 1 target 0 label "-" ] + edge [ source 9 target 8 label "-" ] + edge [ source 8 target 1 label "-" ] + edge [ source 11 target 10 label "-" ] + edge [ source 10 target 8 label "-" ] + edge [ source 13 target 12 label "-" ] + edge [ source 14 target 13 label "-" ] + edge [ source 16 target 15 label "-" ] + edge [ source 17 target 15 label "-" ] + edge [ source 15 target 14 label "-" ] + edge [ source 18 target 15 label "=" ] + edge [ source 12 target 10 label "-" ] + edge [ source 19 target 12 label "=" ] + edge [ source 20 target 0 label "-" ] + edge [ source 21 target 1 label "-" ] + edge [ source 22 target 2 label "-" ] + edge [ source 23 target 2 label "-" ] + edge [ source 24 target 5 label "-" ] + edge [ source 25 target 6 label "-" ] + edge [ source 26 target 8 label "-" ] + edge [ source 27 target 9 label "-" ] + edge [ source 28 target 10 label "-" ] + edge [ source 29 target 11 label "-" ] + edge [ source 30 target 13 label "-" ] + edge [ source 31 target 13 label "-" ] + edge [ source 32 target 16 label "-" ] + edge [ source 33 target 17 label "-" ] +] diff --git a/graphs/G3P.gml b/graphs/G3P.gml new file mode 100644 index 0000000..22b6c33 --- /dev/null +++ b/graphs/G3P.gml @@ -0,0 +1,35 @@ +graph [ + node [ id 0 label "C" ] + node [ id 1 label "C" ] + node [ id 2 label "C" ] + node [ id 3 label "O" ] + node [ id 4 label "O" ] + node [ id 5 label "O" ] + node [ id 6 label "P" ] + node [ id 7 label "O" ] + node [ id 8 label "O" ] + node [ id 9 label "O" ] + node [ id 10 label "H" ] + node [ id 11 label "H" ] + node [ id 12 label "H" ] + node [ id 13 label "H" ] + node [ id 14 label "H" ] + node [ id 15 label "H" ] + node [ id 16 label "H" ] + edge [ source 2 target 1 label "-" ] + edge [ source 3 target 2 label "=" ] + edge [ source 1 target 0 label "-" ] + edge [ source 4 target 1 label "-" ] + edge [ source 5 target 0 label "-" ] + edge [ source 7 target 6 label "=" ] + edge [ source 8 target 6 label "-" ] + edge [ source 6 target 5 label "-" ] + edge [ source 9 target 6 label "-" ] + edge [ source 10 target 0 label "-" ] + edge [ source 11 target 0 label "-" ] + edge [ source 12 target 1 label "-" ] + edge [ source 13 target 2 label "-" ] + edge [ source 14 target 4 label "-" ] + edge [ source 15 target 8 label "-" ] + edge [ source 16 target 9 label "-" ] +] diff --git a/graphs/Pi.gml b/graphs/Pi.gml new file mode 100644 index 0000000..eb17e55 --- /dev/null +++ b/graphs/Pi.gml @@ -0,0 +1,17 @@ +graph [ + node [ id 0 label "O" ] + node [ id 1 label "P" ] + node [ id 2 label "O" ] + node [ id 3 label "O" ] + node [ id 4 label "O" ] + node [ id 5 label "H" ] + node [ id 6 label "H" ] + node [ id 7 label "H" ] + edge [ source 2 target 1 label "-" ] + edge [ source 3 target 1 label "-" ] + edge [ source 1 target 0 label "=" ] + edge [ source 4 target 1 label "-" ] + edge [ source 5 target 2 label "-" ] + edge [ source 6 target 3 label "-" ] + edge [ source 7 target 4 label "-" ] +] diff --git a/graphs/R5P.gml b/graphs/R5P.gml new file mode 100644 index 0000000..562cda3 --- /dev/null +++ b/graphs/R5P.gml @@ -0,0 +1,51 @@ +graph [ + node [ id 0 label "O" ] + node [ id 1 label "P" ] + node [ id 2 label "O" ] + node [ id 3 label "O" ] + node [ id 4 label "O" ] + node [ id 5 label "C" ] + node [ id 6 label "C" ] + node [ id 7 label "O" ] + node [ id 8 label "C" ] + node [ id 9 label "O" ] + node [ id 10 label "C" ] + node [ id 11 label "O" ] + node [ id 12 label "C" ] + node [ id 13 label "O" ] + node [ id 14 label "H" ] + node [ id 15 label "H" ] + node [ id 16 label "H" ] + node [ id 17 label "H" ] + node [ id 18 label "H" ] + node [ id 19 label "H" ] + node [ id 20 label "H" ] + node [ id 21 label "H" ] + node [ id 22 label "H" ] + node [ id 23 label "H" ] + node [ id 24 label "H" ] + edge [ source 2 target 1 label "-" ] + edge [ source 3 target 1 label "=" ] + edge [ source 1 target 0 label "-" ] + edge [ source 4 target 1 label "-" ] + edge [ source 5 target 4 label "-" ] + edge [ source 7 target 6 label "-" ] + edge [ source 6 target 5 label "-" ] + edge [ source 9 target 8 label "-" ] + edge [ source 8 target 6 label "-" ] + edge [ source 11 target 10 label "-" ] + edge [ source 10 target 8 label "-" ] + edge [ source 12 target 10 label "-" ] + edge [ source 13 target 12 label "=" ] + edge [ source 14 target 0 label "-" ] + edge [ source 15 target 2 label "-" ] + edge [ source 16 target 5 label "-" ] + edge [ source 17 target 5 label "-" ] + edge [ source 18 target 6 label "-" ] + edge [ source 19 target 7 label "-" ] + edge [ source 20 target 8 label "-" ] + edge [ source 21 target 9 label "-" ] + edge [ source 22 target 10 label "-" ] + edge [ source 23 target 11 label "-" ] + edge [ source 24 target 12 label "-" ] +] diff --git a/graphs/Ru5P-X5P.gml b/graphs/Ru5P-X5P.gml new file mode 100644 index 0000000..2d01d47 --- /dev/null +++ b/graphs/Ru5P-X5P.gml @@ -0,0 +1,51 @@ +graph [ + node [ id 0 label "O" ] + node [ id 1 label "C" ] + node [ id 2 label "C" ] + node [ id 3 label "O" ] + node [ id 4 label "C" ] + node [ id 5 label "O" ] + node [ id 6 label "C" ] + node [ id 7 label "O" ] + node [ id 8 label "C" ] + node [ id 9 label "O" ] + node [ id 10 label "P" ] + node [ id 11 label "O" ] + node [ id 12 label "O" ] + node [ id 13 label "O" ] + node [ id 14 label "H" ] + node [ id 15 label "H" ] + node [ id 16 label "H" ] + node [ id 17 label "H" ] + node [ id 18 label "H" ] + node [ id 19 label "H" ] + node [ id 20 label "H" ] + node [ id 21 label "H" ] + node [ id 22 label "H" ] + node [ id 23 label "H" ] + node [ id 24 label "H" ] + edge [ source 1 target 0 label "-" ] + edge [ source 3 target 2 label "=" ] + edge [ source 2 target 1 label "-" ] + edge [ source 5 target 4 label "-" ] + edge [ source 4 target 2 label "-" ] + edge [ source 7 target 6 label "-" ] + edge [ source 6 target 4 label "-" ] + edge [ source 8 target 6 label "-" ] + edge [ source 9 target 8 label "-" ] + edge [ source 11 target 10 label "=" ] + edge [ source 12 target 10 label "-" ] + edge [ source 10 target 9 label "-" ] + edge [ source 13 target 10 label "-" ] + edge [ source 14 target 0 label "-" ] + edge [ source 15 target 1 label "-" ] + edge [ source 16 target 1 label "-" ] + edge [ source 17 target 4 label "-" ] + edge [ source 18 target 5 label "-" ] + edge [ source 19 target 6 label "-" ] + edge [ source 20 target 7 label "-" ] + edge [ source 21 target 8 label "-" ] + edge [ source 22 target 8 label "-" ] + edge [ source 23 target 12 label "-" ] + edge [ source 24 target 13 label "-" ] +] diff --git a/graphs/S7P.gml b/graphs/S7P.gml new file mode 100644 index 0000000..2a20c45 --- /dev/null +++ b/graphs/S7P.gml @@ -0,0 +1,67 @@ +graph [ + node [ id 0 label "O" ] + node [ id 1 label "P" ] + node [ id 2 label "O" ] + node [ id 3 label "O" ] + node [ id 4 label "C" ] + node [ id 5 label "C" ] + node [ id 6 label "O" ] + node [ id 7 label "C" ] + node [ id 8 label "O" ] + node [ id 9 label "C" ] + node [ id 10 label "O" ] + node [ id 11 label "C" ] + node [ id 12 label "O" ] + node [ id 13 label "C" ] + node [ id 14 label "O" ] + node [ id 15 label "C" ] + node [ id 16 label "O" ] + node [ id 17 label "O" ] + node [ id 18 label "H" ] + node [ id 19 label "H" ] + node [ id 20 label "H" ] + node [ id 21 label "H" ] + node [ id 22 label "H" ] + node [ id 23 label "H" ] + node [ id 24 label "H" ] + node [ id 25 label "H" ] + node [ id 26 label "H" ] + node [ id 27 label "H" ] + node [ id 28 label "H" ] + node [ id 29 label "H" ] + node [ id 30 label "H" ] + node [ id 31 label "H" ] + node [ id 32 label "H" ] + edge [ source 2 target 1 label "-" ] + edge [ source 3 target 1 label "-" ] + edge [ source 4 target 3 label "-" ] + edge [ source 6 target 5 label "-" ] + edge [ source 5 target 4 label "-" ] + edge [ source 8 target 7 label "-" ] + edge [ source 7 target 5 label "-" ] + edge [ source 10 target 9 label "-" ] + edge [ source 9 target 7 label "-" ] + edge [ source 12 target 11 label "-" ] + edge [ source 11 target 9 label "-" ] + edge [ source 14 target 13 label "=" ] + edge [ source 13 target 11 label "-" ] + edge [ source 15 target 13 label "-" ] + edge [ source 16 target 15 label "-" ] + edge [ source 1 target 0 label "=" ] + edge [ source 17 target 1 label "-" ] + edge [ source 18 target 2 label "-" ] + edge [ source 19 target 4 label "-" ] + edge [ source 20 target 4 label "-" ] + edge [ source 21 target 5 label "-" ] + edge [ source 22 target 6 label "-" ] + edge [ source 23 target 7 label "-" ] + edge [ source 24 target 8 label "-" ] + edge [ source 25 target 9 label "-" ] + edge [ source 26 target 10 label "-" ] + edge [ source 27 target 11 label "-" ] + edge [ source 28 target 12 label "-" ] + edge [ source 29 target 15 label "-" ] + edge [ source 30 target 15 label "-" ] + edge [ source 31 target 16 label "-" ] + edge [ source 32 target 17 label "-" ] +] diff --git a/rules/aldolase.gml b/rules/aldolase.gml new file mode 100644 index 0000000..d71f900 --- /dev/null +++ b/rules/aldolase.gml @@ -0,0 +1,37 @@ +rule [ + ruleID "AL" + left [ + edge [ source 1 target 4 label "-" ] + + edge [ source 101 target 102 label "=" ] + ] + context [ + node [ id 1 label "C" ] + node [ id 2 label "C" ] + node [ id 3 label "O" ] + node [ id 4 label "H" ] + + edge [ source 1 target 2 label "-" ] + edge [ source 2 target 3 label "=" ] + + node [ id 30 label "O" ] + edge [ source 1 target 30 label "-" ] + node [ id 31 label "H" ] + edge [ source 30 target 31 label "-" ] + node [ id 32 label "H" ] + edge [ source 1 target 32 label "-" ] + + + node [ id 101 label "C" ] + node [ id 102 label "O" ] + + node [ id 130 label "H" ] + edge [ source 101 target 130 label "-" ] + ] + right [ + edge [ source 102 target 4 label "-" ] + edge [ source 101 target 102 label "-" ] + + edge [ source 1 target 101 label "-" ] + ] +] \ No newline at end of file diff --git a/rules/aldose-ketose.gml b/rules/aldose-ketose.gml new file mode 100644 index 0000000..5e27173 --- /dev/null +++ b/rules/aldose-ketose.gml @@ -0,0 +1,32 @@ +rule [ + ruleID "AlKe" + left [ + edge [ source 1 target 2 label "-" ] + edge [ source 1 target 5 label "-" ] + edge [ source 2 target 6 label "-" ] + edge [ source 3 target 4 label "=" ] + ] + context [ + node [ id 1 label "O" ] + node [ id 2 label "C" ] + node [ id 3 label "C" ] + node [ id 4 label "O" ] + node [ id 5 label "H" ] + node [ id 6 label "H" ] + node [ id 7 label "H" ] + edge [ source 2 target 3 label "-" ] + edge [ source 3 target 7 label "-" ] + ] + right [ + edge [ source 1 target 2 label "=" ] + edge [ source 3 target 4 label "-" ] + edge [ source 3 target 5 label "-" ] + edge [ source 4 target 6 label "-" ] + ] + constrainAdj [ + id 2 + op "=" + count 1 + nodeLabels [ label "O" ] + ] +] \ No newline at end of file diff --git a/rules/ketose-aldose.gml b/rules/ketose-aldose.gml new file mode 100644 index 0000000..3763ab3 --- /dev/null +++ b/rules/ketose-aldose.gml @@ -0,0 +1,32 @@ +rule [ + ruleID "KeAl" + left [ + edge [ source 1 target 2 label "=" ] + edge [ source 3 target 4 label "-" ] + edge [ source 3 target 5 label "-" ] + edge [ source 4 target 6 label "-" ] + ] + context [ + node [ id 1 label "O" ] + node [ id 2 label "C" ] + node [ id 3 label "C" ] + node [ id 4 label "O" ] + node [ id 5 label "H" ] + node [ id 6 label "H" ] + node [ id 7 label "H" ] + edge [ source 2 target 3 label "-" ] + edge [ source 3 target 7 label "-" ] + ] + right [ + edge [ source 1 target 2 label "-" ] + edge [ source 1 target 5 label "-" ] + edge [ source 2 target 6 label "-" ] + edge [ source 3 target 4 label "=" ] + ] + constrainAdj [ + id 2 + op "=" + count 1 + nodeLabels [ label "O" ] + ] +] \ No newline at end of file diff --git a/rules/phosphohydrolase.gml b/rules/phosphohydrolase.gml new file mode 100644 index 0000000..966c267 --- /dev/null +++ b/rules/phosphohydrolase.gml @@ -0,0 +1,36 @@ +rule [ + ruleID "PHL" + left [ + edge [ source 0 target 6 label "-" ] + + edge [ source 100 target 101 label "-" ] + ] + context [ + node [ id 0 label "P" ] + node [ id 1 label "O" ] + edge [ source 0 target 1 label "=" ] + node [ id 2 label "O" ] + edge [ source 0 target 2 label "-" ] + node [ id 3 label "H" ] + edge [ source 2 target 3 label "-" ] + node [ id 4 label "O" ] + edge [ source 0 target 4 label "-" ] + node [ id 5 label "H" ] + edge [ source 4 target 5 label "-" ] + node [ id 6 label "O" ] + + node [ id 7 label "C" ] + edge [ source 6 target 7 label "-" ] + + + node [ id 100 label "O" ] + node [ id 101 label "H" ] + node [ id 102 label "H" ] + edge [ source 100 target 102 label "-" ] + ] + right [ + edge [ source 100 target 0 label "-" ] + + edge [ source 101 target 6 label "-" ] + ] +] \ No newline at end of file diff --git a/rules/phosphoketolase.gml b/rules/phosphoketolase.gml new file mode 100644 index 0000000..f7be5b7 --- /dev/null +++ b/rules/phosphoketolase.gml @@ -0,0 +1,49 @@ +rule [ + # The transition state is strange + ruleID "PKL" + left [ + edge [ source 4 target 7 label "-" ] # O-H (Pi) + edge [ source 11 target 13 label "-" ] # C-C (Ketone) + edge [ source 13 target 14 label "-" ] # C-O (Ketone) + edge [ source 14 target 15 label "-" ] # O-H (Ketone) + + edge [ source 10 target 16 label "-" ] # HO-C (Ketone) + ] + context [ + # phosphate + node [ id 0 label "P" ] + node [ id 1 label "O" ] + node [ id 2 label "O" ] + node [ id 3 label "O" ] + node [ id 4 label "O" ] + node [ id 5 label "H" ] + node [ id 6 label "H" ] + node [ id 7 label "H" ] + edge [ source 0 target 1 label "=" ] + edge [ source 0 target 2 label "-" ] + edge [ source 0 target 3 label "-" ] + edge [ source 0 target 4 label "-" ] + edge [ source 2 target 5 label "-" ] + edge [ source 3 target 6 label "-" ] + + # HO-C-C(=O)-COH + node [ id 10 label "C" ] + node [ id 11 label "C" ] + node [ id 12 label "O" ] + node [ id 13 label "C" ] + node [ id 14 label "O" ] + node [ id 15 label "H" ] + node [ id 16 label "O" ] + node [ id 17 label "H" ] + edge [ source 10 target 11 label "-" ] + edge [ source 11 target 12 label "=" ] + edge [ source 16 target 17 label "-" ] + ] + right [ + edge [ source 4 target 11 label "-" ] # C-O (Ketone-Pi) + edge [ source 13 target 14 label "=" ] # C=O (Ketone) + + edge [ source 15 target 16 label "-" ] + edge [ source 10 target 7 label "-" ] + ] +] \ No newline at end of file diff --git a/rules/transaldolase.gml b/rules/transaldolase.gml new file mode 100644 index 0000000..bb0bc4b --- /dev/null +++ b/rules/transaldolase.gml @@ -0,0 +1,56 @@ +rule [ + ruleID "TAL" + left [ + edge [ source 8 target 15 label "-" ] + edge [ source 10 target 8 label "-" ] + + edge [ source 11 target 9 label "=" ] + + edge [ source 12 target 10 label "-" ] + ] + context [ + node [ id 1 label "H" ] + node [ id 2 label "C" ] + edge [ source 2 target 1 label "-" ] + node [ id 3 label "H" ] + edge [ source 3 target 2 label "-" ] + node [ id 4 label "O" ] + edge [ source 4 target 2 label "-" ] + node [ id 5 label "H" ] + edge [ source 5 target 4 label "-" ] + node [ id 6 label "C" ] + edge [ source 6 target 2 label "-" ] + node [ id 7 label "O" ] + edge [ source 7 target 6 label "=" ] + + node [ id 15 label "C" ] + edge [ source 15 target 6 label "-" ] + node [ id 16 label "H" ] + edge [ source 16 target 15 label "-" ] + node [ id 17 label "O" ] + edge [ source 17 target 15 label "-" ] + node [ id 18 label "H" ] + edge [ source 18 target 17 label "-" ] + + + node [ id 8 label "C" ] + node [ id 10 label "O" ] + node [ id 13 label "H" ] + edge [ source 13 target 8 label "-" ] + + node [ id 9 label "C" ] + node [ id 11 label "O" ] + node [ id 14 label "H" ] + edge [ source 14 target 9 label "-" ] + + node [ id 12 label "H" ] + ] + right [ + edge [ source 9 target 15 label "-" ] + edge [ source 10 target 8 label "=" ] + + edge [ source 11 target 9 label "-" ] + + edge [ source 12 target 11 label "-" ] + ] +] \ No newline at end of file diff --git a/rules/transketolase.gml b/rules/transketolase.gml new file mode 100644 index 0000000..7bdb4b0 --- /dev/null +++ b/rules/transketolase.gml @@ -0,0 +1,46 @@ +rule [ + ruleID "TKL" + left [ + edge [ source 8 target 6 label "-" ] + edge [ source 10 target 8 label "-" ] + + edge [ source 11 target 9 label "=" ] + + edge [ source 12 target 10 label "-" ] + ] + context [ + node [ id 1 label "H" ] + node [ id 2 label "C" ] + edge [ source 2 target 1 label "-" ] + node [ id 3 label "H" ] + edge [ source 3 target 2 label "-" ] + node [ id 4 label "O" ] + edge [ source 4 target 2 label "-" ] + node [ id 5 label "H" ] + edge [ source 5 target 4 label "-" ] + node [ id 6 label "C" ] + edge [ source 6 target 2 label "-" ] + node [ id 7 label "O" ] + edge [ source 7 target 6 label "=" ] + + node [ id 8 label "C" ] + node [ id 10 label "O" ] + node [ id 13 label "H" ] + edge [ source 13 target 8 label "-" ] + + node [ id 9 label "C" ] + node [ id 11 label "O" ] + node [ id 14 label "H" ] + edge [ source 14 target 9 label "-" ] + + node [ id 12 label "H" ] + ] + right [ + edge [ source 9 target 6 label "-" ] + edge [ source 10 target 8 label "=" ] + + edge [ source 11 target 9 label "-" ] + + edge [ source 12 target 11 label "-" ] + ] +] \ No newline at end of file