synkit 1.6.5__tar.gz → 1.7.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (939) hide show
  1. synkit-1.7.0/.gitignore +154 -0
  2. synkit-1.7.0/CMakeLists.txt +28 -0
  3. synkit-1.7.0/Experiment/CRN/LICENSES/KEGG.txt +15 -0
  4. synkit-1.7.0/Experiment/CRN/__init__.py +5 -0
  5. synkit-1.7.0/Experiment/CRN/environments/crn-1.7.0-linux.constraints.txt +21 -0
  6. synkit-1.7.0/Experiment/CRN/environments/crnt4sbml-requirements.txt +26 -0
  7. synkit-1.7.0/Experiment/CRN/environments/formose-dpo.rst +80 -0
  8. synkit-1.7.0/Experiment/CRN/environments/mod-environment.yml +7 -0
  9. synkit-1.7.0/Experiment/CRN/environments/molfoundry-requirements.txt +3 -0
  10. synkit-1.7.0/Experiment/CRN/notebooks/crn_glycolysis_case_study.ipynb +226 -0
  11. synkit-1.7.0/Experiment/CRN/run_all.py +256 -0
  12. synkit-1.7.0/Experiment/CRN/studies/__init__.py +77 -0
  13. synkit-1.7.0/Experiment/CRN/studies/biomodels.py +392 -0
  14. synkit-1.7.0/Experiment/CRN/studies/crosschecks.py +366 -0
  15. synkit-1.7.0/Experiment/CRN/studies/external_crnt4sbml.py +184 -0
  16. synkit-1.7.0/Experiment/CRN/studies/formose_case_study.py +346 -0
  17. synkit-1.7.0/Experiment/CRN/studies/formose_dpo.py +478 -0
  18. synkit-1.7.0/Experiment/CRN/studies/glycolysis.py +25 -0
  19. synkit-1.7.0/Experiment/CRN/studies/glycolysis_donors.py +110 -0
  20. synkit-1.7.0/Experiment/CRN/studies/hydrogen_accounting.py +244 -0
  21. synkit-1.7.0/Experiment/CRN/studies/kegg.py +677 -0
  22. synkit-1.7.0/Experiment/CRN/studies/networks.py +452 -0
  23. synkit-1.7.0/Experiment/CRN/studies/participant_conventions.py +271 -0
  24. synkit-1.7.0/Experiment/CRN/studies/representation.py +304 -0
  25. synkit-1.7.0/Experiment/CRN/studies/sbml_reference.py +253 -0
  26. synkit-1.7.0/Experiment/CRN/studies/scaling.py +694 -0
  27. synkit-1.7.0/Experiment/CRN/studies/supplementary.py +249 -0
  28. synkit-1.7.0/Experiment/CRN/studies/validation.py +479 -0
  29. synkit-1.7.0/Experiment/CRN/tests/conftest.py +22 -0
  30. synkit-1.7.0/Experiment/CRN/tests/test_biomodels_limits.py +33 -0
  31. synkit-1.7.0/Experiment/CRN/tests/test_external_crnt4sbml.py +46 -0
  32. synkit-1.7.0/Experiment/CRN/tests/test_formose_dpo.py +99 -0
  33. synkit-1.7.0/Experiment/CRN/tests/test_formose_generation.py +79 -0
  34. synkit-1.7.0/Experiment/CRN/tests/test_inventory_controls.py +29 -0
  35. synkit-1.7.0/Experiment/CRN/tests/test_kegg_case_study.py +149 -0
  36. synkit-1.7.0/Experiment/CRN/tests/test_participant_conventions.py +153 -0
  37. synkit-1.7.0/Experiment/CRN/tests/test_reports.py +63 -0
  38. synkit-1.7.0/Experiment/CRN/tests/test_reproducibility.py +198 -0
  39. synkit-1.7.0/Experiment/CRN/tests/test_scaling.py +268 -0
  40. synkit-1.7.0/Experiment/CRN/tests/test_validation.py +138 -0
  41. synkit-1.7.0/Experiment/CRN/tools/backends.py +302 -0
  42. synkit-1.7.0/Experiment/CRN/tools/check_reports.py +102 -0
  43. synkit-1.7.0/Experiment/CRN/tools/common.py +380 -0
  44. synkit-1.7.0/Experiment/CRN/tools/formose_dpo_worker.py +142 -0
  45. synkit-1.7.0/Experiment/CRN/tools/refresh_kegg_cache.py +133 -0
  46. synkit-1.7.0/Experiment/CRN/tools/reports.py +75 -0
  47. synkit-1.7.0/Experiment/__init__.py +1 -0
  48. synkit-1.7.0/PKG-INFO +133 -0
  49. synkit-1.7.0/README.md +78 -0
  50. synkit-1.7.0/doc/api/crn.rst +250 -0
  51. synkit-1.7.0/doc/api/rule.rst +99 -0
  52. synkit-1.7.0/doc/api/synthesis.rst +101 -0
  53. synkit-1.7.0/doc/changelog.rst +62 -0
  54. synkit-1.7.0/doc/crn.rst +532 -0
  55. synkit-1.7.0/doc/getting_started.rst +204 -0
  56. synkit-1.7.0/doc/rule.rst +151 -0
  57. synkit-1.7.0/doc/synthesis.rst +495 -0
  58. synkit-1.7.0/hatch_build.py +139 -0
  59. synkit-1.7.0/pyproject.toml +127 -0
  60. synkit-1.7.0/scripts/check_package_artifacts.py +428 -0
  61. synkit-1.7.0/synkit/CRN/Construct/__init__.py +34 -0
  62. synkit-1.7.0/synkit/CRN/Construct/abstract.py +658 -0
  63. synkit-1.7.0/synkit/CRN/Construct/builder.py +857 -0
  64. synkit-1.7.0/synkit/CRN/Construct/cpp/CMakeLists.txt +21 -0
  65. synkit-1.7.0/synkit/CRN/Construct/cpp/expand.cpp +878 -0
  66. synkit-1.7.0/synkit/CRN/Construct/dpo_cpp/CMakeLists.txt +16 -0
  67. synkit-1.7.0/synkit/CRN/Construct/dpo_cpp/expand.cpp +743 -0
  68. synkit-1.7.0/synkit/CRN/Construct/dpo_worker.py +131 -0
  69. synkit-1.7.0/synkit/CRN/Construct/mixtures.py +109 -0
  70. synkit-1.7.0/synkit/CRN/Construct/native_dpo.py +282 -0
  71. synkit-1.7.0/synkit/CRN/Construct/native_expand.py +292 -0
  72. synkit-1.7.0/synkit/CRN/Construct/rdkit_worker.py +65 -0
  73. synkit-1.7.0/synkit/CRN/IO/sbml.py +984 -0
  74. synkit-1.7.0/synkit/CRN/Pathway/_adapter.py +328 -0
  75. synkit-1.7.0/synkit/CRN/Pathway/pathfinder.py +482 -0
  76. synkit-1.7.0/synkit/CRN/Pathway/reachability.py +780 -0
  77. synkit-1.7.0/synkit/CRN/Pathway/realizability.py +1288 -0
  78. synkit-1.7.0/synkit/CRN/Petrinet/analyzer.py +459 -0
  79. synkit-1.7.0/synkit/CRN/Petrinet/minimal_semiflows.py +422 -0
  80. synkit-1.7.0/synkit/CRN/Petrinet/net.py +1021 -0
  81. synkit-1.7.0/synkit/CRN/Petrinet/persistence.py +91 -0
  82. synkit-1.7.0/synkit/CRN/Petrinet/semiflows.py +481 -0
  83. synkit-1.7.0/synkit/CRN/Petrinet/siphon_search.py +409 -0
  84. synkit-1.7.0/synkit/CRN/Petrinet/structure.py +295 -0
  85. synkit-1.7.0/synkit/CRN/Props/_rank.py +27 -0
  86. synkit-1.7.0/synkit/CRN/Props/deficiency.py +919 -0
  87. synkit-1.7.0/synkit/CRN/Props/dynamics.py +827 -0
  88. synkit-1.7.0/synkit/CRN/Props/helper.py +149 -0
  89. synkit-1.7.0/synkit/CRN/Props/stoich.py +729 -0
  90. synkit-1.7.0/synkit/CRN/Props/thermo.py +586 -0
  91. synkit-1.7.0/synkit/CRN/Query/cache.py +36 -0
  92. synkit-1.7.0/synkit/CRN/Query/kegg_extract.py +690 -0
  93. synkit-1.7.0/synkit/CRN/Query/kegg_impute.py +690 -0
  94. synkit-1.7.0/synkit/CRN/Query/kegg_parse.py +478 -0
  95. synkit-1.7.0/synkit/CRN/README.md +247 -0
  96. synkit-1.7.0/synkit/CRN/Structure/_graph_io.py +687 -0
  97. synkit-1.7.0/synkit/CRN/Structure/_matrices.py +86 -0
  98. synkit-1.7.0/synkit/CRN/Structure/_parse.py +528 -0
  99. synkit-1.7.0/synkit/CRN/Structure/reaction.py +229 -0
  100. synkit-1.7.0/synkit/CRN/Structure/syncrn.py +914 -0
  101. synkit-1.7.0/synkit/CRN/Symmetry/_common.py +1041 -0
  102. synkit-1.7.0/synkit/CRN/Symmetry/_ir.py +908 -0
  103. synkit-1.7.0/synkit/CRN/Symmetry/automorphism.py +460 -0
  104. synkit-1.7.0/synkit/CRN/Symmetry/canon.py +427 -0
  105. synkit-1.7.0/synkit/CRN/Symmetry/isomorphism.py +399 -0
  106. synkit-1.7.0/synkit/CRN/Symmetry/wl_canon.py +959 -0
  107. synkit-1.7.0/synkit/CRN/Visualize/labels.py +103 -0
  108. synkit-1.7.0/synkit/CRN/Visualize/layout.py +702 -0
  109. synkit-1.7.0/synkit/CRN/Visualize/palette.py +290 -0
  110. synkit-1.7.0/synkit/CRN/Visualize/validation.py +115 -0
  111. synkit-1.7.0/synkit/CRN/Visualize/vis.py +1122 -0
  112. synkit-1.7.0/synkit/CRN/_build.py +48 -0
  113. synkit-1.7.0/synkit/CRN/_native_build.py +218 -0
  114. synkit-1.7.0/synkit/CRN/analysis.py +555 -0
  115. synkit-1.7.0/synkit/CRN/cpp/CMakeLists.txt +58 -0
  116. synkit-1.7.0/synkit/CRN/native.py +352 -0
  117. synkit-1.7.0/synkit/CRN/native_analysis.py +441 -0
  118. synkit-1.7.0/synkit/Chem/Mapper/README.rst +56 -0
  119. synkit-1.7.0/synkit/Chem/Mapper/solvers/exact/distance_search/records.py +246 -0
  120. synkit-1.7.0/synkit/Chem/Mapper/solvers/native/core.py +381 -0
  121. synkit-1.7.0/synkit/Chem/Mapper/solvers/native/cpp/CMakeLists.txt +120 -0
  122. synkit-1.7.0/synkit/Chem/Molecule/cip_assignment.py +484 -0
  123. synkit-1.7.0/synkit/Graph/Canon/cpp/CMakeLists.txt +102 -0
  124. synkit-1.7.0/synkit/Graph/Canon/cpp/README.md +433 -0
  125. synkit-1.7.0/synkit/Graph/Canon/cpp/examples/rdkit_preparation.cpp +162 -0
  126. synkit-1.7.0/synkit/Graph/Canon/cpp/examples/rdkit_preparation.hpp +4 -0
  127. synkit-1.7.0/synkit/Graph/Canon/cpp/examples/run_experiment.cmake +48 -0
  128. synkit-1.7.0/synkit/Graph/Canon/cpp/examples/run_scientific_pipeline.cmake +61 -0
  129. synkit-1.7.0/synkit/Graph/Canon/cpp/examples/science_experiments.cpp +422 -0
  130. synkit-1.7.0/synkit/Graph/Canon/cpp/examples/stereo_compare.cpp +34 -0
  131. synkit-1.7.0/synkit/Graph/Canon/cpp/examples/stereo_conformance.cpp +124 -0
  132. synkit-1.7.0/synkit/Graph/Canon/cpp/examples/stereo_experiments.cpp +330 -0
  133. synkit-1.7.0/synkit/Graph/Canon/cpp/examples/three_center.h +48 -0
  134. synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/canon.h +86 -0
  135. synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/configured.hpp +97 -0
  136. synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/rdkit.hpp +9 -0
  137. synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/science.hpp +37 -0
  138. synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/stereo.h +73 -0
  139. synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/stereo.hpp +83 -0
  140. synkit-1.7.0/synkit/Graph/Canon/cpp/src/arrangements.cpp +42 -0
  141. synkit-1.7.0/synkit/Graph/Canon/cpp/src/canonical.cpp +394 -0
  142. synkit-1.7.0/synkit/Graph/Canon/cpp/src/configured.cpp +482 -0
  143. synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/cip.cpp +308 -0
  144. synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/coordinate_assistance.cpp +90 -0
  145. synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/coordinates.cpp +159 -0
  146. synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/coordination.cpp +116 -0
  147. synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/global.cpp +83 -0
  148. synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/local_orders.cpp +101 -0
  149. synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/perception.cpp +269 -0
  150. synkit-1.7.0/synkit/Graph/Canon/cpp/src/stereo_groups.h +119 -0
  151. synkit-1.7.0/synkit/Graph/Canon/cpp/src/stereo_match.cpp +400 -0
  152. synkit-1.7.0/synkit/Graph/Canon/cpp/tests/configured.cpp +107 -0
  153. synkit-1.7.0/synkit/Graph/Canon/cpp/tests/rdkit_preparation.cpp +42 -0
  154. synkit-1.7.0/synkit/Graph/Canon/cpp/tests/science.cpp +74 -0
  155. synkit-1.7.0/synkit/Graph/Canon/cpp/tests/stereo_match.cpp +320 -0
  156. synkit-1.7.0/synkit/Graph/Fusion/__init__.py +4 -0
  157. synkit-1.7.0/synkit/Graph/Fusion/candidate.py +6 -0
  158. synkit-1.7.0/synkit/Graph/Fusion/constructor.py +6 -0
  159. synkit-1.7.0/synkit/Graph/Fusion/identity.py +6 -0
  160. synkit-1.7.0/synkit/Graph/Fusion/interface.py +6 -0
  161. synkit-1.7.0/synkit/Graph/Fusion/search.py +6 -0
  162. synkit-1.7.0/synkit/Graph/Matcher/partial_matcher.py +679 -0
  163. synkit-1.7.0/synkit/Graph/Matcher/subgraph_matcher.py +764 -0
  164. synkit-1.7.0/synkit/Graph/Morphism/llg.py +1111 -0
  165. synkit-1.7.0/synkit/Graph/Morphism/morphism.py +358 -0
  166. synkit-1.7.0/synkit/Graph/Stereo/_geometry_groups.py +62 -0
  167. synkit-1.7.0/synkit/Graph/Stereo/canonical.py +646 -0
  168. synkit-1.7.0/synkit/Graph/Stereo/descriptors.py +978 -0
  169. synkit-1.7.0/synkit/Graph/Stereo/legacy.py +450 -0
  170. synkit-1.7.0/synkit/Graph/Stereo/native.py +154 -0
  171. synkit-1.7.0/synkit/Graph/Stereo/orbits.py +560 -0
  172. synkit-1.7.0/synkit/Graph/identity.py +184 -0
  173. synkit-1.7.0/synkit/Rule/Apply/dpo.py +968 -0
  174. synkit-1.7.0/synkit/Rule/Compose/__init__.py +108 -0
  175. synkit-1.7.0/synkit/Rule/Compose/composition.py +976 -0
  176. synkit-1.7.0/synkit/Rule/Compose/laws.py +439 -0
  177. synkit-1.7.0/synkit/Rule/Compose/resources.py +50 -0
  178. synkit-1.7.0/synkit/Rule/Compose/synrule.py +182 -0
  179. synkit-1.7.0/synkit/Rule/Fusion/__init__.py +85 -0
  180. synkit-1.7.0/synkit/Rule/Fusion/candidate.py +559 -0
  181. synkit-1.7.0/synkit/Rule/Fusion/constructor.py +877 -0
  182. synkit-1.7.0/synkit/Rule/Fusion/interface.py +700 -0
  183. synkit-1.7.0/synkit/Rule/Fusion/search.py +241 -0
  184. synkit-1.7.0/synkit/Rule/__init__.py +38 -0
  185. synkit-1.7.0/synkit/Rule/stereo_identity.py +253 -0
  186. synkit-1.7.0/synkit/Rule/syn_rule.py +981 -0
  187. synkit-1.7.0/synkit/Rule/wildcard.py +342 -0
  188. synkit-1.7.0/synkit/Synthesis/RBL/engine.py +1249 -0
  189. synkit-1.7.0/synkit/Synthesis/RBL/matching.py +652 -0
  190. synkit-1.7.0/synkit/Synthesis/RBL/overlap.py +336 -0
  191. synkit-1.7.0/synkit/Synthesis/RBL/proof.py +370 -0
  192. synkit-1.7.0/synkit/Synthesis/RBL/state.py +169 -0
  193. synkit-1.7.0/synkit/Synthesis/RBL/validation.py +1060 -0
  194. synkit-1.7.0/synkit/Synthesis/Reactor/__init__.py +66 -0
  195. synkit-1.7.0/synkit/Synthesis/Reactor/_native/__init__.py +5 -0
  196. synkit-1.7.0/synkit/Synthesis/Reactor/_native/build.py +120 -0
  197. synkit-1.7.0/synkit/Synthesis/Reactor/_native/runtime.py +541 -0
  198. synkit-1.7.0/synkit/Synthesis/Reactor/core/completion.py +319 -0
  199. synkit-1.7.0/synkit/Synthesis/Reactor/core/engine.py +1001 -0
  200. synkit-1.7.0/synkit/Synthesis/Reactor/core/product.py +583 -0
  201. synkit-1.7.0/synkit/Synthesis/Reactor/core/rewrite.py +542 -0
  202. synkit-1.7.0/synkit/Synthesis/Reactor/cpp/CMakeLists.txt +47 -0
  203. synkit-1.7.0/synkit/Synthesis/Reactor/cpp/include/synkit_partial/partial.h +103 -0
  204. synkit-1.7.0/synkit/Synthesis/Reactor/cpp/src/partial.cpp +751 -0
  205. synkit-1.7.0/synkit/Synthesis/Reactor/cpp/tests/partial.cpp +391 -0
  206. synkit-1.7.0/synkit/Synthesis/Reactor/matching/mixin.py +892 -0
  207. synkit-1.7.0/synkit/Synthesis/Reactor/matching/observation.py +104 -0
  208. synkit-1.7.0/synkit/Synthesis/Reactor/matching/policy.py +317 -0
  209. synkit-1.7.0/synkit/Synthesis/Reactor/matching/symmetry.py +281 -0
  210. synkit-1.7.0/synkit/Synthesis/Reactor/matching/wildcard.py +237 -0
  211. synkit-1.7.0/synkit/Synthesis/Reactor/output/deduplication.py +666 -0
  212. synkit-1.7.0/synkit/Synthesis/Reactor/output/policy.py +14 -0
  213. synkit-1.7.0/synkit/Synthesis/Reactor/output/serialization.py +460 -0
  214. synkit-1.7.0/synkit/Synthesis/Reactor/output/structural.py +810 -0
  215. synkit-1.7.0/synkit/Synthesis/Reactor/stereo/assignment.py +33 -0
  216. synkit-1.7.0/synkit/Synthesis/Reactor/stereo/mixin.py +714 -0
  217. synkit-1.7.0/synkit/Synthesis/Reactor/variants/imbalanced.py +177 -0
  218. synkit-1.7.0/synkit/Synthesis/Reactor/variants/partial.py +88 -0
  219. synkit-1.7.0/synkit/Synthesis/Reactor/variants/wildcard.py +196 -0
  220. synkit-1.7.0/synkit/Synthesis/Reactor/workflow/batch.py +515 -0
  221. synkit-1.7.0/synkit/Synthesis/Reactor/workflow/benchmark.py +139 -0
  222. synkit-1.7.0/synkit/Synthesis/Reactor/workflow/postprocess.py +251 -0
  223. synkit-1.7.0/synkit/Synthesis/Reactor/workflow/rule_filter.py +205 -0
  224. synkit-1.7.0/synkit/Utils/__init__.py +0 -0
  225. synkit-1.7.0/synkit/version.py +23 -0
  226. synkit-1.6.5/.gitignore +0 -148
  227. synkit-1.6.5/CMakeLists.txt +0 -23
  228. synkit-1.6.5/Experiment/CRN/AGENTS.md +0 -13
  229. synkit-1.6.5/Experiment/CRN/LICENSES/KEGG.txt +0 -15
  230. synkit-1.6.5/Experiment/CRN/__init__.py +0 -6
  231. synkit-1.6.5/Experiment/CRN/benchmarks/__init__.py +0 -104
  232. synkit-1.6.5/Experiment/CRN/benchmarks/backends.py +0 -332
  233. synkit-1.6.5/Experiment/CRN/benchmarks/crosschecks.py +0 -374
  234. synkit-1.6.5/Experiment/CRN/benchmarks/glycolysis.py +0 -27
  235. synkit-1.6.5/Experiment/CRN/benchmarks/kegg.py +0 -638
  236. synkit-1.6.5/Experiment/CRN/benchmarks/networks.py +0 -455
  237. synkit-1.6.5/Experiment/CRN/benchmarks/scaling.py +0 -614
  238. synkit-1.6.5/Experiment/CRN/benchmarks/validate.py +0 -423
  239. synkit-1.6.5/Experiment/CRN/environments/crnt4sbml-requirements.txt +0 -26
  240. synkit-1.6.5/Experiment/CRN/notebooks/crn_glycolysis_case_study.ipynb +0 -226
  241. synkit-1.6.5/Experiment/CRN/run_all.py +0 -272
  242. synkit-1.6.5/Experiment/CRN/studies/__init__.py +0 -1
  243. synkit-1.6.5/Experiment/CRN/studies/biomodels.py +0 -405
  244. synkit-1.6.5/Experiment/CRN/studies/external_crnt4sbml.py +0 -198
  245. synkit-1.6.5/Experiment/CRN/studies/formose_case_study.py +0 -276
  246. synkit-1.6.5/Experiment/CRN/studies/glycolysis_donors.py +0 -126
  247. synkit-1.6.5/Experiment/CRN/studies/kegg_case_study.py +0 -177
  248. synkit-1.6.5/Experiment/CRN/studies/representation.py +0 -239
  249. synkit-1.6.5/Experiment/CRN/studies/scaling.py +0 -166
  250. synkit-1.6.5/Experiment/CRN/studies/supplementary.py +0 -249
  251. synkit-1.6.5/Experiment/CRN/studies/validation.py +0 -123
  252. synkit-1.6.5/Experiment/CRN/tools/check_reports.py +0 -100
  253. synkit-1.6.5/Experiment/CRN/tools/common.py +0 -271
  254. synkit-1.6.5/Experiment/CRN/tools/refresh_kegg_cache.py +0 -136
  255. synkit-1.6.5/PKG-INFO +0 -156
  256. synkit-1.6.5/README.md +0 -102
  257. synkit-1.6.5/doc/api/crn.rst +0 -248
  258. synkit-1.6.5/doc/api/rule.rst +0 -65
  259. synkit-1.6.5/doc/api/synthesis.rst +0 -97
  260. synkit-1.6.5/doc/changelog.rst +0 -447
  261. synkit-1.6.5/doc/crn.rst +0 -512
  262. synkit-1.6.5/doc/getting_started.rst +0 -190
  263. synkit-1.6.5/doc/rule.rst +0 -106
  264. synkit-1.6.5/doc/synthesis.rst +0 -432
  265. synkit-1.6.5/hatch_build.py +0 -138
  266. synkit-1.6.5/pyproject.toml +0 -128
  267. synkit-1.6.5/scripts/check_package_artifacts.py +0 -385
  268. synkit-1.6.5/synkit/CRN/Benchmark/__init__.py +0 -53
  269. synkit-1.6.5/synkit/CRN/Benchmark/crosschecks.py +0 -13
  270. synkit-1.6.5/synkit/CRN/Benchmark/kegg.py +0 -12
  271. synkit-1.6.5/synkit/CRN/Benchmark/networks.py +0 -13
  272. synkit-1.6.5/synkit/CRN/Benchmark/scaling.py +0 -13
  273. synkit-1.6.5/synkit/CRN/Benchmark/validate.py +0 -13
  274. synkit-1.6.5/synkit/CRN/Construct/__init__.py +0 -16
  275. synkit-1.6.5/synkit/CRN/Construct/abstract.py +0 -668
  276. synkit-1.6.5/synkit/CRN/Construct/builder.py +0 -619
  277. synkit-1.6.5/synkit/CRN/Construct/mixtures.py +0 -117
  278. synkit-1.6.5/synkit/CRN/Construct/rdkit_worker.py +0 -69
  279. synkit-1.6.5/synkit/CRN/IO/sbml.py +0 -925
  280. synkit-1.6.5/synkit/CRN/Pathway/_adapter.py +0 -333
  281. synkit-1.6.5/synkit/CRN/Pathway/pathfinder.py +0 -500
  282. synkit-1.6.5/synkit/CRN/Pathway/reachability.py +0 -796
  283. synkit-1.6.5/synkit/CRN/Pathway/realizability.py +0 -1322
  284. synkit-1.6.5/synkit/CRN/Petrinet/analyzer.py +0 -486
  285. synkit-1.6.5/synkit/CRN/Petrinet/minimal_semiflows.py +0 -436
  286. synkit-1.6.5/synkit/CRN/Petrinet/net.py +0 -1041
  287. synkit-1.6.5/synkit/CRN/Petrinet/persistence.py +0 -97
  288. synkit-1.6.5/synkit/CRN/Petrinet/semiflows.py +0 -483
  289. synkit-1.6.5/synkit/CRN/Petrinet/siphon_search.py +0 -402
  290. synkit-1.6.5/synkit/CRN/Petrinet/structure.py +0 -286
  291. synkit-1.6.5/synkit/CRN/Props/_rank.py +0 -29
  292. synkit-1.6.5/synkit/CRN/Props/deficiency.py +0 -953
  293. synkit-1.6.5/synkit/CRN/Props/dynamics.py +0 -832
  294. synkit-1.6.5/synkit/CRN/Props/helper.py +0 -151
  295. synkit-1.6.5/synkit/CRN/Props/stoich.py +0 -751
  296. synkit-1.6.5/synkit/CRN/Props/thermo.py +0 -584
  297. synkit-1.6.5/synkit/CRN/Query/cache.py +0 -41
  298. synkit-1.6.5/synkit/CRN/Query/kegg_extract.py +0 -714
  299. synkit-1.6.5/synkit/CRN/Query/kegg_impute.py +0 -707
  300. synkit-1.6.5/synkit/CRN/Query/kegg_parse.py +0 -480
  301. synkit-1.6.5/synkit/CRN/README.md +0 -234
  302. synkit-1.6.5/synkit/CRN/Structure/_graph_io.py +0 -713
  303. synkit-1.6.5/synkit/CRN/Structure/_matrices.py +0 -88
  304. synkit-1.6.5/synkit/CRN/Structure/_parse.py +0 -544
  305. synkit-1.6.5/synkit/CRN/Structure/reaction.py +0 -237
  306. synkit-1.6.5/synkit/CRN/Structure/syncrn.py +0 -929
  307. synkit-1.6.5/synkit/CRN/Symmetry/_common.py +0 -1059
  308. synkit-1.6.5/synkit/CRN/Symmetry/_ir.py +0 -940
  309. synkit-1.6.5/synkit/CRN/Symmetry/automorphism.py +0 -472
  310. synkit-1.6.5/synkit/CRN/Symmetry/canon.py +0 -441
  311. synkit-1.6.5/synkit/CRN/Symmetry/isomorphism.py +0 -412
  312. synkit-1.6.5/synkit/CRN/Symmetry/wl_canon.py +0 -967
  313. synkit-1.6.5/synkit/CRN/Visualize/labels.py +0 -113
  314. synkit-1.6.5/synkit/CRN/Visualize/layout.py +0 -708
  315. synkit-1.6.5/synkit/CRN/Visualize/palette.py +0 -292
  316. synkit-1.6.5/synkit/CRN/Visualize/validation.py +0 -122
  317. synkit-1.6.5/synkit/CRN/Visualize/vis.py +0 -1152
  318. synkit-1.6.5/synkit/CRN/_build.py +0 -50
  319. synkit-1.6.5/synkit/CRN/_native_build.py +0 -175
  320. synkit-1.6.5/synkit/CRN/analysis.py +0 -629
  321. synkit-1.6.5/synkit/CRN/cpp/CMakeLists.txt +0 -58
  322. synkit-1.6.5/synkit/CRN/native.py +0 -388
  323. synkit-1.6.5/synkit/CRN/native_analysis.py +0 -459
  324. synkit-1.6.5/synkit/Chem/Mapper/README.rst +0 -43
  325. synkit-1.6.5/synkit/Chem/Mapper/solvers/exact/distance_search/records.py +0 -242
  326. synkit-1.6.5/synkit/Chem/Mapper/solvers/native/core.py +0 -378
  327. synkit-1.6.5/synkit/Chem/Mapper/solvers/native/cpp/CMakeLists.txt +0 -120
  328. synkit-1.6.5/synkit/Chem/Molecule/cip_assignment.py +0 -569
  329. synkit-1.6.5/synkit/Graph/Canon/cpp/CMakeLists.txt +0 -42
  330. synkit-1.6.5/synkit/Graph/Canon/cpp/README.md +0 -123
  331. synkit-1.6.5/synkit/Graph/Canon/cpp/include/synkit_canon/canon.h +0 -85
  332. synkit-1.6.5/synkit/Graph/Canon/cpp/src/canonical.cpp +0 -391
  333. synkit-1.6.5/synkit/Graph/Fusion/__init__.py +0 -85
  334. synkit-1.6.5/synkit/Graph/Fusion/candidate.py +0 -559
  335. synkit-1.6.5/synkit/Graph/Fusion/constructor.py +0 -877
  336. synkit-1.6.5/synkit/Graph/Fusion/identity.py +0 -184
  337. synkit-1.6.5/synkit/Graph/Fusion/interface.py +0 -700
  338. synkit-1.6.5/synkit/Graph/Fusion/search.py +0 -241
  339. synkit-1.6.5/synkit/Graph/Matcher/partial_matcher.py +0 -694
  340. synkit-1.6.5/synkit/Graph/Matcher/subgraph_matcher.py +0 -812
  341. synkit-1.6.5/synkit/Graph/Morphism/llg.py +0 -999
  342. synkit-1.6.5/synkit/Graph/Morphism/morphism.py +0 -349
  343. synkit-1.6.5/synkit/Graph/Stereo/canonical.py +0 -648
  344. synkit-1.6.5/synkit/Graph/Stereo/descriptors.py +0 -1030
  345. synkit-1.6.5/synkit/Graph/Stereo/legacy.py +0 -460
  346. synkit-1.6.5/synkit/Graph/Stereo/native.py +0 -154
  347. synkit-1.6.5/synkit/Graph/Stereo/orbits.py +0 -668
  348. synkit-1.6.5/synkit/Rule/Apply/dpo.py +0 -998
  349. synkit-1.6.5/synkit/Rule/Compose/__init__.py +0 -106
  350. synkit-1.6.5/synkit/Rule/Compose/composition.py +0 -976
  351. synkit-1.6.5/synkit/Rule/Compose/laws.py +0 -439
  352. synkit-1.6.5/synkit/Rule/Compose/synrule.py +0 -170
  353. synkit-1.6.5/synkit/Rule/__init__.py +0 -28
  354. synkit-1.6.5/synkit/Rule/stereo_identity.py +0 -271
  355. synkit-1.6.5/synkit/Rule/syn_rule.py +0 -1090
  356. synkit-1.6.5/synkit/Synthesis/RBL/engine.py +0 -1249
  357. synkit-1.6.5/synkit/Synthesis/RBL/matching.py +0 -652
  358. synkit-1.6.5/synkit/Synthesis/RBL/overlap.py +0 -336
  359. synkit-1.6.5/synkit/Synthesis/RBL/proof.py +0 -370
  360. synkit-1.6.5/synkit/Synthesis/RBL/state.py +0 -169
  361. synkit-1.6.5/synkit/Synthesis/RBL/validation.py +0 -1060
  362. synkit-1.6.5/synkit/Synthesis/Reactor/__init__.py +0 -60
  363. synkit-1.6.5/synkit/Synthesis/Reactor/core/engine.py +0 -967
  364. synkit-1.6.5/synkit/Synthesis/Reactor/core/product.py +0 -621
  365. synkit-1.6.5/synkit/Synthesis/Reactor/core/rewrite.py +0 -561
  366. synkit-1.6.5/synkit/Synthesis/Reactor/matching/mixin.py +0 -920
  367. synkit-1.6.5/synkit/Synthesis/Reactor/matching/policy.py +0 -345
  368. synkit-1.6.5/synkit/Synthesis/Reactor/matching/symmetry.py +0 -309
  369. synkit-1.6.5/synkit/Synthesis/Reactor/output/deduplication.py +0 -703
  370. synkit-1.6.5/synkit/Synthesis/Reactor/output/policy.py +0 -16
  371. synkit-1.6.5/synkit/Synthesis/Reactor/output/serialization.py +0 -485
  372. synkit-1.6.5/synkit/Synthesis/Reactor/output/structural.py +0 -893
  373. synkit-1.6.5/synkit/Synthesis/Reactor/stereo/assignment.py +0 -35
  374. synkit-1.6.5/synkit/Synthesis/Reactor/stereo/mixin.py +0 -780
  375. synkit-1.6.5/synkit/Synthesis/Reactor/variants/imbalanced.py +0 -180
  376. synkit-1.6.5/synkit/Synthesis/Reactor/variants/partial.py +0 -84
  377. synkit-1.6.5/synkit/Synthesis/Reactor/workflow/batch.py +0 -550
  378. synkit-1.6.5/synkit/Synthesis/Reactor/workflow/benchmark.py +0 -143
  379. synkit-1.6.5/synkit/Synthesis/Reactor/workflow/postprocess.py +0 -267
  380. synkit-1.6.5/synkit/Synthesis/Reactor/workflow/rule_filter.py +0 -210
  381. synkit-1.6.5/synkit/version.py +0 -23
  382. {synkit-1.6.5 → synkit-1.7.0}/Data/Figure/synkit_graphical_abstract.svg +0 -0
  383. {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/LICENSES/BIOMODELS.txt +0 -0
  384. {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/data/biomodels_manifest.json +0 -0
  385. {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/data/glycolysis_routes.json +0 -0
  386. {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/data/kegg_modules.json +0 -0
  387. {synkit-1.6.5/synkit/Chem/Cluster → synkit-1.7.0/Experiment/CRN/tests}/__init__.py +0 -0
  388. {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/tools/__init__.py +0 -0
  389. {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/tools/crnt4sbml_worker.py +0 -0
  390. {synkit-1.6.5 → synkit-1.7.0}/LICENSE +0 -0
  391. {synkit-1.6.5 → synkit-1.7.0}/doc/_static/custom.css +0 -0
  392. {synkit-1.6.5 → synkit-1.7.0}/doc/_static/favicon.svg +0 -0
  393. {synkit-1.6.5 → synkit-1.7.0}/doc/_static/logo-dark.svg +0 -0
  394. {synkit-1.6.5 → synkit-1.7.0}/doc/_static/logo.svg +0 -0
  395. {synkit-1.6.5 → synkit-1.7.0}/doc/_static/navigation.js +0 -0
  396. {synkit-1.6.5 → synkit-1.7.0}/doc/_templates/sidebar-globaltoc.html +0 -0
  397. {synkit-1.6.5 → synkit-1.7.0}/doc/api/chem.rst +0 -0
  398. {synkit-1.6.5 → synkit-1.7.0}/doc/api/graph.rst +0 -0
  399. {synkit-1.6.5 → synkit-1.7.0}/doc/api/index.rst +0 -0
  400. {synkit-1.6.5 → synkit-1.7.0}/doc/api/io.rst +0 -0
  401. {synkit-1.6.5 → synkit-1.7.0}/doc/api/vis.rst +0 -0
  402. {synkit-1.6.5 → synkit-1.7.0}/doc/chem/molecule.rst +0 -0
  403. {synkit-1.6.5 → synkit-1.7.0}/doc/chem/reaction.rst +0 -0
  404. {synkit-1.6.5 → synkit-1.7.0}/doc/chem.rst +0 -0
  405. {synkit-1.6.5 → synkit-1.7.0}/doc/conf.py +0 -0
  406. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/aldol.png +0 -0
  407. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/aldol_its.png +0 -0
  408. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/context.png +0 -0
  409. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/epd_sn2.png +0 -0
  410. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/mtg.png +0 -0
  411. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/mtg_lsg_changed_core.png +0 -0
  412. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/mtg_mechanism.png +0 -0
  413. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/vis_lsg_sn2.png +0 -0
  414. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/vis_molecule_aspirin.png +0 -0
  415. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/vis_mtg_steps.png +0 -0
  416. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/vis_mtg_timeline.png +0 -0
  417. {synkit-1.6.5 → synkit-1.7.0}/doc/figures/vis_reaction_sn2.png +0 -0
  418. {synkit-1.6.5 → synkit-1.7.0}/doc/graph.rst +0 -0
  419. {synkit-1.6.5 → synkit-1.7.0}/doc/index.rst +0 -0
  420. {synkit-1.6.5 → synkit-1.7.0}/doc/io.rst +0 -0
  421. {synkit-1.6.5 → synkit-1.7.0}/doc/mapper/advanced.rst +0 -0
  422. {synkit-1.6.5 → synkit-1.7.0}/doc/mapper/implementation.rst +0 -0
  423. {synkit-1.6.5 → synkit-1.7.0}/doc/mapper.rst +0 -0
  424. {synkit-1.6.5 → synkit-1.7.0}/doc/reference.rst +0 -0
  425. {synkit-1.6.5 → synkit-1.7.0}/doc/refs.bib +0 -0
  426. {synkit-1.6.5 → synkit-1.7.0}/doc/stereo_reactions.rst +0 -0
  427. {synkit-1.6.5 → synkit-1.7.0}/doc/vis.rst +0 -0
  428. {synkit-1.6.5 → synkit-1.7.0}/scripts/smoke_native_wheel.py +0 -0
  429. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/arity.py +0 -0
  430. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/derivation.py +0 -0
  431. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/flattener.py +0 -0
  432. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/keys.py +0 -0
  433. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/smiles.py +0 -0
  434. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/state.py +0 -0
  435. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/strategy.py +0 -0
  436. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/worker.py +0 -0
  437. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/IO/__init__.py +0 -0
  438. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Pathway/__init__.py +0 -0
  439. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Petrinet/__init__.py +0 -0
  440. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Props/__init__.py +0 -0
  441. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Query/__init__.py +0 -0
  442. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Query/kegg_api.py +0 -0
  443. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Query/to_syncrn.py +0 -0
  444. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Structure/__init__.py +0 -0
  445. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Structure/rule.py +0 -0
  446. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Structure/species.py +0 -0
  447. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Symmetry/__init__.py +0 -0
  448. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Symmetry/symmetry.py +0 -0
  449. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Visualize/__init__.py +0 -0
  450. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/__init__.py +0 -0
  451. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/backend.py +0 -0
  452. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/algebra.cpp +0 -0
  453. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/closure.cpp +0 -0
  454. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/exact.h +0 -0
  455. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/pathway.cpp +0 -0
  456. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/semiflows.cpp +0 -0
  457. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/structural.cpp +0 -0
  458. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/symmetry.cpp +0 -0
  459. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/write_manifest.cmake +0 -0
  460. {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/kinds.py +0 -0
  461. {synkit-1.6.5/synkit/Chem/Fingerprint → synkit-1.7.0/synkit/Chem/Cluster}/__init__.py +0 -0
  462. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Cluster/butina.py +0 -0
  463. {synkit-1.6.5/synkit/Chem/Molecule → synkit-1.7.0/synkit/Chem/Fingerprint}/__init__.py +0 -0
  464. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Fingerprint/fp_calculator.py +0 -0
  465. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Fingerprint/smiles_featurizer.py +0 -0
  466. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Fingerprint/transformation_fp.py +0 -0
  467. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/__init__.py +0 -0
  468. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/_compat.py +0 -0
  469. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/adapters/__init__.py +0 -0
  470. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/adapters/prediction.py +0 -0
  471. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/adapters/template.py +0 -0
  472. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/chem/__init__.py +0 -0
  473. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/chem/aam.py +0 -0
  474. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/chem/blind.py +0 -0
  475. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/chem/its.py +0 -0
  476. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/chem/smiles.py +0 -0
  477. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/__init__.py +0 -0
  478. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/automorphism.py +0 -0
  479. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/blockcut.py +0 -0
  480. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/labeled_graph.py +0 -0
  481. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/refine.py +0 -0
  482. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/synkit_adapter.py +0 -0
  483. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/io/__init__.py +0 -0
  484. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/io/idxmapstr.py +0 -0
  485. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/mapper.py +0 -0
  486. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reaction_search.py +0 -0
  487. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reporting/__init__.py +0 -0
  488. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reporting/alternatives.py +0 -0
  489. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reporting/analysis.py +0 -0
  490. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reporting/native_analysis.py +0 -0
  491. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reporting/spectrum.py +0 -0
  492. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/__init__.py +0 -0
  493. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/__init__.py +0 -0
  494. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/assignment/__init__.py +0 -0
  495. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/assignment/assignment_certificate.py +0 -0
  496. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/assignment/assignment_domains.py +0 -0
  497. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/assignment/assignment_verification.py +0 -0
  498. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/assignment/incremental_assignment.py +0 -0
  499. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/certificate.py +0 -0
  500. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/core.py +0 -0
  501. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/__init__.py +0 -0
  502. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/bounds.py +0 -0
  503. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/exhaustive.py +0 -0
  504. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/inputs.py +0 -0
  505. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/search.py +0 -0
  506. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/verify.py +0 -0
  507. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/edit_support.py +0 -0
  508. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/hybrid.py +0 -0
  509. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/hydrogen.py +0 -0
  510. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/__init__.py +0 -0
  511. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/branching.py +0 -0
  512. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/enumerate.py +0 -0
  513. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/enumeration_result.py +0 -0
  514. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/kernel.py +0 -0
  515. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/milp.py +0 -0
  516. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/__init__.py +0 -0
  517. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/build.py +0 -0
  518. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/candidates.py +0 -0
  519. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/canonical.py +0 -0
  520. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/disk_frontier.py +0 -0
  521. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/frontier.py +0 -0
  522. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/hydrogen_quotient.py +0 -0
  523. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/its.py +0 -0
  524. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/native_distance.cpp +0 -0
  525. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/orbit_aggregation.py +0 -0
  526. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/parallel.py +0 -0
  527. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/pmcd.py +0 -0
  528. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/runtime.py +0 -0
  529. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/search.py +0 -0
  530. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/separator.py +0 -0
  531. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native_build.py +0 -0
  532. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/__init__.py +0 -0
  533. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/cost_lattice.py +0 -0
  534. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/factor_spectrum.py +0 -0
  535. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/multi_shell.py +0 -0
  536. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/propagation.py +0 -0
  537. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/propagation_bounds.py +0 -0
  538. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/propagation_limits.py +0 -0
  539. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/propagation_search.py +0 -0
  540. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/propagation_symmetry.py +0 -0
  541. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/residual_typed_bonds.py +0 -0
  542. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/reward_frontier.py +0 -0
  543. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/separator_bound.py +0 -0
  544. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/separator_spectrum.py +0 -0
  545. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/sparse_reward_bound.py +0 -0
  546. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/suffix_spectrum.py +0 -0
  547. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/search.py +0 -0
  548. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/seeds/__init__.py +0 -0
  549. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/seeds/seed.py +0 -0
  550. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/seeds/seed_fragments.py +0 -0
  551. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/seeds/seed_relaxation.py +0 -0
  552. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/symmetry.py +0 -0
  553. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/__init__.py +0 -0
  554. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/assignment.py +0 -0
  555. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/astar.py +0 -0
  556. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/build.py +0 -0
  557. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/classification.py +0 -0
  558. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/examples/map_reaction.cpp +0 -0
  559. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/examples/slap_graph.cpp +0 -0
  560. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/assignment/assignment.h +0 -0
  561. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/astar/astar.h +0 -0
  562. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/astar/bound.h +0 -0
  563. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/core/pmcd_witness.h +0 -0
  564. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/core/runtime.h +0 -0
  565. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/hydrogen/hydrogen.h +0 -0
  566. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/mapper.h +0 -0
  567. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/mces/mces.h +0 -0
  568. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/pabs/seed.h +0 -0
  569. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/reaction/reaction.h +0 -0
  570. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/sepdp/sepdp.h +0 -0
  571. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/slap.h +0 -0
  572. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/solvers/solvers.h +0 -0
  573. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/symmetry/classification.h +0 -0
  574. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/symmetry/cpabs.h +0 -0
  575. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/assignment/abb.cpp +0 -0
  576. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/astar/CMakeLists.txt +0 -0
  577. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/astar/README.md +0 -0
  578. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/astar/astar.cpp +0 -0
  579. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/astar/astar_graph.cpp +0 -0
  580. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/astar/bound.cpp +0 -0
  581. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/core/dispatch.cpp +0 -0
  582. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/core/pmcd_witness.cpp +0 -0
  583. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/hydrogen/hydrogen.cpp +0 -0
  584. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/mces/README.md +0 -0
  585. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/mces/mces.cpp +0 -0
  586. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/bridge.cpp +0 -0
  587. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/chemical_floor.inc +0 -0
  588. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/endpoint_symmetry.inc +0 -0
  589. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/exact_helpers.h +0 -0
  590. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_assignment_certificate.h +0 -0
  591. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_certificate.h +0 -0
  592. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_model.h +0 -0
  593. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_provider.inc +0 -0
  594. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_rounding.inc +0 -0
  595. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_test_hooks.h +0 -0
  596. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/objective_reduction.inc +0 -0
  597. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/overlap_dual.inc +0 -0
  598. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/profile_seed.inc +0 -0
  599. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/seed_heuristics.inc +0 -0
  600. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/sparse_embedding.cpp +0 -0
  601. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/sparse_root_lp.h +0 -0
  602. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/test_hooks.inc +0 -0
  603. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/reaction/reaction.cpp +0 -0
  604. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/sepdp/README.md +0 -0
  605. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/sepdp/sepdp.cpp +0 -0
  606. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/slap.cpp +0 -0
  607. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/solvers/formulation.h +0 -0
  608. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/solvers/maxsat.cpp +0 -0
  609. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/solvers/ortools.cpp +0 -0
  610. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/solvers/seed.h +0 -0
  611. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/solvers/weighted_cnf.h +0 -0
  612. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/supporting/README.md +0 -0
  613. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/supporting/dfs.cpp +0 -0
  614. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/supporting/edit_support.cpp +0 -0
  615. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/classification.cpp +0 -0
  616. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/classification_pipeline.cpp +0 -0
  617. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/classification_stream.h +0 -0
  618. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/cpabs.cpp +0 -0
  619. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/edge_deck.cpp +0 -0
  620. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/COPYRIGHT +0 -0
  621. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/LICENSE-2.0.txt +0 -0
  622. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/naugraph.c +0 -0
  623. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/naurng.c +0 -0
  624. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/naurng.h +0 -0
  625. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/nausparse.c +0 -0
  626. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/nausparse.h +0 -0
  627. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/nautil.c +0 -0
  628. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/naututil.h +0 -0
  629. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/nauty.c +0 -0
  630. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/nauty.h +0 -0
  631. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/schreier.c +0 -0
  632. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/schreier.h +0 -0
  633. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/sorttemplates.c +0 -0
  634. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/hydrogen.py +0 -0
  635. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/implicit.py +0 -0
  636. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/implicit_certificate.py +0 -0
  637. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/implicit_preparation.py +0 -0
  638. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/mces.py +0 -0
  639. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/reaction.py +0 -0
  640. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/reaction_build.py +0 -0
  641. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/reaction_text.py +0 -0
  642. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/runtime.py +0 -0
  643. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/sepdp.py +0 -0
  644. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/slap.py +0 -0
  645. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/solvers.py +0 -0
  646. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/stereo.py +0 -0
  647. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/supporting.py +0 -0
  648. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/symmetry.py +0 -0
  649. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/slap/__init__.py +0 -0
  650. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/slap/lap.py +0 -0
  651. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/slap/sequential.py +0 -0
  652. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/__init__.py +0 -0
  653. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/aam_validator.py +0 -0
  654. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/annotations.py +0 -0
  655. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/bonds.py +0 -0
  656. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/cohorts.py +0 -0
  657. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/identifiability.py +0 -0
  658. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/numerical_scope.py +0 -0
  659. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/orbits.py +0 -0
  660. {synkit-1.6.5/synkit/Data → synkit-1.7.0/synkit/Chem/Molecule}/__init__.py +0 -0
  661. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_chirality_loci.py +0 -0
  662. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_chirality_types.py +0 -0
  663. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_helical_loci.py +0 -0
  664. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_stereo_axis_evidence.py +0 -0
  665. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_stereo_element_detection.py +0 -0
  666. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_stereo_orientation_constraints.py +0 -0
  667. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_tetrahedral_carriers.py +0 -0
  668. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/atom_features.py +0 -0
  669. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/chirality.py +0 -0
  670. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/cip_ranking.py +0 -0
  671. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/coordinate_stereo.py +0 -0
  672. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/derived_stereo_naming.py +0 -0
  673. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/descriptors.py +0 -0
  674. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/formula.py +0 -0
  675. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/global_stereo.py +0 -0
  676. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/graph_annotator.py +0 -0
  677. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/standardize.py +0 -0
  678. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/stereo_evidence.py +0 -0
  679. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/stereo_perception.py +0 -0
  680. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/valence.py +0 -0
  681. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/Mapper/__init__.py +0 -0
  682. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/__init__.py +0 -0
  683. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/aam_validator.py +0 -0
  684. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/balance_check.py +0 -0
  685. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/canon_rsmi.py +0 -0
  686. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/cleaning.py +0 -0
  687. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/deionize.py +0 -0
  688. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/explicit_h_audit.py +0 -0
  689. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/fix_aam.py +0 -0
  690. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/neutralize.py +0 -0
  691. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/radical_wildcard.py +0 -0
  692. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/standardize.py +0 -0
  693. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/tautomerize.py +0 -0
  694. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/__init__.py +0 -0
  695. {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/utils.py +0 -0
  696. {synkit-1.6.5/synkit/Graph/Context → synkit-1.7.0/synkit/Data}/__init__.py +0 -0
  697. {synkit-1.6.5 → synkit-1.7.0}/synkit/Data/aldol.json.gz +0 -0
  698. {synkit-1.6.5 → synkit-1.7.0}/synkit/Data/gen_partial_aam.py +0 -0
  699. {synkit-1.6.5 → synkit-1.7.0}/synkit/Data/paracetamol.json.gz +0 -0
  700. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/__init__.py +0 -0
  701. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/_native/__init__.py +0 -0
  702. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/_native/build.py +0 -0
  703. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/_native/prepare.py +0 -0
  704. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/_native/runtime.py +0 -0
  705. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/_native/search.py +0 -0
  706. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/canon_algs.py +0 -0
  707. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/canon_graph.py +0 -0
  708. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/cpp/examples/canonical_graph.cpp +0 -0
  709. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/cpp/src/symmetry.h +0 -0
  710. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/cpp/tests/symmetry.cpp +0 -0
  711. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/exact.py +0 -0
  712. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/exact_refinement.py +0 -0
  713. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/nauty.py +0 -0
  714. {synkit-1.6.5/synkit/Graph/Feature/Fingerprint → synkit-1.7.0/synkit/Graph/Context}/__init__.py +0 -0
  715. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Context/hier_context.py +0 -0
  716. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Context/radius_expand.py +0 -0
  717. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/__init__.py +0 -0
  718. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/api.py +0 -0
  719. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/audit.py +0 -0
  720. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/catalog.py +0 -0
  721. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/detector.py +0 -0
  722. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/model.py +0 -0
  723. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/recognizers.py +0 -0
  724. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/ring_system.py +0 -0
  725. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/Descriptors/topology.py +0 -0
  726. {synkit-1.6.5/synkit/Graph/Wildcard → synkit-1.7.0/synkit/Graph/Feature/Fingerprint}/__init__.py +0 -0
  727. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/Fingerprint/wl_rxn_fps.py +0 -0
  728. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/__init__.py +0 -0
  729. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/graph_descriptors.py +0 -0
  730. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/graph_fps.py +0 -0
  731. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/graph_signature.py +0 -0
  732. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/hash_fps.py +0 -0
  733. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/morgan_fps.py +0 -0
  734. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/path_fps.py +0 -0
  735. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/wl_hash.py +0 -0
  736. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/__init__.py +0 -0
  737. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/_misc.py +0 -0
  738. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/hcomplete.py +0 -0
  739. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/hcomplete_legacy.py +0 -0
  740. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/hcompletion_algorithms.py +0 -0
  741. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/hextend.py +0 -0
  742. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/hextend_legacy.py +0 -0
  743. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/__init__.py +0 -0
  744. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_builder.py +0 -0
  745. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_construction.py +0 -0
  746. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_decompose.py +0 -0
  747. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_destruction.py +0 -0
  748. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_expand.py +0 -0
  749. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_relabel.py +0 -0
  750. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_reverter.py +0 -0
  751. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/normalize_aam.py +0 -0
  752. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/partial_its.py +0 -0
  753. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/rc_extractor.py +0 -0
  754. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/stereo.py +0 -0
  755. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/__init__.py +0 -0
  756. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/gluing.py +0 -0
  757. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/history.py +0 -0
  758. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/inventory.py +0 -0
  759. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/local.py +0 -0
  760. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/mcs_matcher.py +0 -0
  761. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/mtg.py +0 -0
  762. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/mtg_explore.py +0 -0
  763. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/observation.py +0 -0
  764. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/process.py +0 -0
  765. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/queries.py +0 -0
  766. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/realization.py +0 -0
  767. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/series_parallel.py +0 -0
  768. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/utils.py +0 -0
  769. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/__init__.py +0 -0
  770. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/approx_mcs.py +0 -0
  771. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/auto_est.py +0 -0
  772. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/automorphism.py +0 -0
  773. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/batch_cluster.py +0 -0
  774. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/dedup_matches.py +0 -0
  775. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/graph_cluster.py +0 -0
  776. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/graph_matcher.py +0 -0
  777. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/graph_morphism.py +0 -0
  778. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/mcs_matcher.py +0 -0
  779. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/multi_turbo_iso.py +0 -0
  780. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/orbit.py +0 -0
  781. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/sing.py +0 -0
  782. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/turbo_iso.py +0 -0
  783. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/wl_sel.py +0 -0
  784. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/__init__.py +0 -0
  785. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/conversion.py +0 -0
  786. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/conversion_debug.py +0 -0
  787. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/electron_accounting.py +0 -0
  788. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/lwg_editor.py +0 -0
  789. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/lwg_ops.py +0 -0
  790. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/__init__.py +0 -0
  791. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/constraints.py +0 -0
  792. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/stereo.py +0 -0
  793. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/stereo_morphism.py +0 -0
  794. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/stereo_morphism_helpers.py +0 -0
  795. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/stereo_morphism_types.py +0 -0
  796. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/__init__.py +0 -0
  797. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/_descriptor_core.py +0 -0
  798. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/_descriptor_serialization.py +0 -0
  799. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/changes.py +0 -0
  800. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/composition.py +0 -0
  801. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/configured.py +0 -0
  802. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/couplings.py +0 -0
  803. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/enumeration.py +0 -0
  804. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/extended_descriptors.py +0 -0
  805. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/global_configured.py +0 -0
  806. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/global_stereo.py +0 -0
  807. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/identity.py +0 -0
  808. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/interchange.py +0 -0
  809. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/matching.py +0 -0
  810. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/outcomes.py +0 -0
  811. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/pairwise.py +0 -0
  812. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/rdkit_adapter.py +0 -0
  813. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/rdkit_identity.py +0 -0
  814. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/rdkit_resonance.py +0 -0
  815. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/reaction_interchange.py +0 -0
  816. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/semantics.py +0 -0
  817. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/supports.py +0 -0
  818. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/wire.py +0 -0
  819. {synkit-1.6.5/synkit/Rule/Modify → synkit-1.7.0/synkit/Graph/Wildcard}/__init__.py +0 -0
  820. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/fuse_graph.py +0 -0
  821. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/graph_wc.py +0 -0
  822. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/its_merge.py +0 -0
  823. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/radwc.py +0 -0
  824. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/wc_matcher.py +0 -0
  825. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/wildcard.py +0 -0
  826. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/__init__.py +0 -0
  827. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/canon_graph.py +0 -0
  828. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/syn_graph.py +0 -0
  829. {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/utils.py +0 -0
  830. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/__init__.py +0 -0
  831. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/chem_converter.py +0 -0
  832. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/__init__.py +0 -0
  833. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/gml_to_graph.py +0 -0
  834. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/graph_to_gml.py +0 -0
  835. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/graph_to_smarts.py +0 -0
  836. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/smarts_expander.py +0 -0
  837. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/smarts_generalizer.py +0 -0
  838. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/smarts_to_graph.py +0 -0
  839. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/conversion.py +0 -0
  840. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/data_io.py +0 -0
  841. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/data_process.py +0 -0
  842. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/debug.py +0 -0
  843. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/gml_to_nx.py +0 -0
  844. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/graph_to_mol.py +0 -0
  845. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/mol_to_graph.py +0 -0
  846. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/mol_to_graph_chemistry.py +0 -0
  847. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/nx_to_gml.py +0 -0
  848. {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/smiles_to_id.py +0 -0
  849. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/__init__.py +0 -0
  850. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/adapters.py +0 -0
  851. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/audit.py +0 -0
  852. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/benchmark.py +0 -0
  853. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/compatibility.py +0 -0
  854. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/drawing.py +0 -0
  855. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/electron_models.py +0 -0
  856. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/equivalence.py +0 -0
  857. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/evidence.py +0 -0
  858. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/interchange.py +0 -0
  859. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/model.py +0 -0
  860. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/neighbor_stereo.py +0 -0
  861. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/radical_data.py +0 -0
  862. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/replay.py +0 -0
  863. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/schema.py +0 -0
  864. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/stereo_state.py +0 -0
  865. {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/symbols.py +0 -0
  866. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Apply/__init__.py +0 -0
  867. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Apply/conditions.py +0 -0
  868. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Apply/rule_matcher.py +0 -0
  869. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Apply/validation.py +0 -0
  870. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Compose/_identity.py +0 -0
  871. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Compose/search.py +0 -0
  872. {synkit-1.6.5/synkit/Synthesis/MSR → synkit-1.7.0/synkit/Rule/Modify}/__init__.py +0 -0
  873. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/implict_rule.py +0 -0
  874. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/longest_path.py +0 -0
  875. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/molecule_rule.py +0 -0
  876. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/prune_templates.py +0 -0
  877. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/rule_utils.py +0 -0
  878. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/strip_rule.py +0 -0
  879. {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/generic_stereo.py +0 -0
  880. {synkit-1.6.5/synkit/Synthesis/Metrics → synkit-1.7.0/synkit/Synthesis/MSR}/__init__.py +0 -0
  881. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/MSR/path_finder.py +0 -0
  882. {synkit-1.6.5/synkit/Synthesis → synkit-1.7.0/synkit/Synthesis/Metrics}/__init__.py +0 -0
  883. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Metrics/_base.py +0 -0
  884. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Metrics/_plot.py +0 -0
  885. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Metrics/_ranking.py +0 -0
  886. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/RBL/__init__.py +0 -0
  887. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/RBL/pipeline.py +0 -0
  888. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/RBL/policy.py +0 -0
  889. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/RBL/reaction.py +0 -0
  890. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/core/__init__.py +0 -0
  891. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/core/strategy.py +0 -0
  892. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/matching/__init__.py +0 -0
  893. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/output/__init__.py +0 -0
  894. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/stereo/__init__.py +0 -0
  895. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/variants/__init__.py +0 -0
  896. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/workflow/__init__.py +0 -0
  897. {synkit-1.6.5/synkit/Utils → synkit-1.7.0/synkit/Synthesis}/__init__.py +0 -0
  898. {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/reactor_utils.py +0 -0
  899. {synkit-1.6.5 → synkit-1.7.0}/synkit/Utils/utils.py +0 -0
  900. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/__init__.py +0 -0
  901. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/crn/__init__.py +0 -0
  902. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/__init__.py +0 -0
  903. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/arrows.py +0 -0
  904. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/chem.py +0 -0
  905. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/constants.py +0 -0
  906. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/layout.py +0 -0
  907. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/mapping.py +0 -0
  908. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/models.py +0 -0
  909. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/render.py +0 -0
  910. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/utils.py +0 -0
  911. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/visualizer.py +0 -0
  912. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/graph_visualizer.py +0 -0
  913. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/its/__init__.py +0 -0
  914. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/its/drawer.py +0 -0
  915. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/its_drawer.py +0 -0
  916. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/molecule/__init__.py +0 -0
  917. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/molecule/drawer.py +0 -0
  918. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/molecule/reaction.py +0 -0
  919. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/molecule_drawer.py +0 -0
  920. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/mtg/__init__.py +0 -0
  921. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/mtg/drawer.py +0 -0
  922. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/mtg_drawer.py +0 -0
  923. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/pdf_writer.py +0 -0
  924. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/reaction/__init__.py +0 -0
  925. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/reaction/rule.py +0 -0
  926. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/reaction/rxn.py +0 -0
  927. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/reaction_drawer.py +0 -0
  928. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/space/__init__.py +0 -0
  929. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/space/chemical.py +0 -0
  930. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/space/embedding.py +0 -0
  931. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/vis_synedu/Vis/__init__.py +0 -0
  932. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/vis_synedu/Vis/dpo.py +0 -0
  933. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/vis_synedu/rxn_vis.py +0 -0
  934. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/vis_synedu/vis.py +0 -0
  935. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/visual_drawer.py +0 -0
  936. {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/visual_model.py +0 -0
  937. {synkit-1.6.5 → synkit-1.7.0}/synkit/__init__.py +0 -0
  938. {synkit-1.6.5 → synkit-1.7.0}/synkit/_native.py +0 -0
  939. {synkit-1.6.5 → synkit-1.7.0}/synkit/examples.py +0 -0
@@ -0,0 +1,154 @@
1
+ # Python bytecode, environments, and tool caches
2
+ **/__pycache__/
3
+ *.py[cod]
4
+ .coverage
5
+ .mypy_cache/
6
+ .pytest_cache/
7
+ .ruff_cache/
8
+ .tox/
9
+ .venv/
10
+ venv/
11
+ *cachedir
12
+ */catboost_info/
13
+
14
+ # Build and generated documentation output
15
+ /build/
16
+ /dist/
17
+ /docs/
18
+ *.egg-info/
19
+ # Optional Mapper kernel artifacts are rebuilt from the shipped C++ source.
20
+ libsynkit_distance_*.so
21
+ libsynkit_distance_*.json
22
+ libsynkit_mapper_*.so
23
+ libsynkit_mapper_*.dylib
24
+ libsynkit_mapper_*.dll
25
+ libsynkit_mapper_*.json
26
+
27
+ # Generated logs, reports, notebooks, and data files
28
+ *.log
29
+ *.pdf
30
+ *.rdf
31
+ *.ipynb
32
+ !Experiment/CRN/notebooks/crn_glycolysis_case_study.ipynb
33
+ *.csv
34
+ *.json
35
+ *.json.gz
36
+ *.pkl.gz
37
+ *.txt
38
+ !synkit/Chem/Mapper/solvers/native/cpp/CMakeLists.txt
39
+ !synkit/Graph/Canon/cpp/CMakeLists.txt
40
+ !synkit/Synthesis/Reactor/cpp/CMakeLists.txt
41
+ libsynkit_partial_*.so
42
+ libsynkit_partial_*.dylib
43
+ libsynkit_partial_*.dll
44
+ libsynkit_partial_*.json
45
+ !synkit/CRN/cpp/CMakeLists.txt
46
+ !synkit/CRN/Construct/cpp/CMakeLists.txt
47
+ !synkit/CRN/Construct/dpo_cpp/CMakeLists.txt
48
+ !synkit/Chem/Mapper/solvers/native/cpp/**/CMakeLists.txt
49
+ !synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/LICENSE-2.0.txt
50
+
51
+ # Package resources and repository evidence retained despite the broad rules
52
+ !/CMakeLists.txt
53
+ !Experiment/CRN/LICENSES/*.txt
54
+ !Experiment/CRN/environments/*.txt
55
+ !Data/Conformance/stereomolgraph_graph_conformance.json
56
+ !Data/Mech/polar.json
57
+ !Data/Mech/radical.json
58
+ !Data/Mech/stereo.json
59
+ !Data/Schema/
60
+ !Data/Schema/attribute_propagation_v1_5.json
61
+ !/scripts/python_file_size_baseline.json
62
+ !Test/Synthesis/Reactor/fixtures/small_rewrite_conformance.json
63
+ !Test/Synthesis/Reactor/fixtures/wildcard_conformance.json
64
+ !Test/Synthesis/Reactor/fixtures/wildcard_real_examples.json
65
+ !Test/Synthesis/Reactor/fixtures/wildcard_observed_examples.json
66
+ !Test/Synthesis/Reactor/fixtures/wildcard_symbolic_example.json
67
+ !Test/Synthesis/Reactor/fixtures/wildcard_aromatic_examples.json
68
+
69
+ # Lewis benchmark inputs and reviewed evidence
70
+ !Experiment/Lewis/Data/all.csv
71
+ !Experiment/Lewis/Data/benchmark.json.gz
72
+ !Experiment/Lewis/Data/combinatorial_all.csv
73
+ !Experiment/Lewis/Data/hydrogen.pkl.gz
74
+ !Experiment/Lewis/mech_path/Data/MechanismBench/electrocyclic_machinery.json
75
+ !Experiment/Lewis/mech_path/Data/MechanismBench/polar.json
76
+ !Experiment/Lewis/mech_path/Data/MechanismBench/radical.json
77
+ !Experiment/Lewis/mech_path/Data/MechanismBench/stereo.json
78
+ !Experiment/Lewis/mech_path/Data/MechanismBench/stereo_branch_coverage.json
79
+ !Experiment/Lewis/mech_path/Data/MechanismBench/stereo_couplings.json
80
+ !Experiment/Lewis/mech_path/Data/MechanismBench/evidence/mechanismbench_evidence.json
81
+ !Experiment/Lewis/mech_path/Data/reconstruction_audit/polar-failures.csv
82
+ !Experiment/Lewis/mech_path/Data/reconstruction_audit/radical-arrow-review.csv
83
+ !Experiment/Lewis/mech_path/Data/reconstruction_audit/radical-failures.csv
84
+ !Experiment/Lewis/rule_replay/Data/bidirectional-replay/results.json
85
+ !Experiment/Lewis/rule_replay/Data/relative-lone-pair/results.json
86
+
87
+ # Stereo benchmark inputs and reproducible reports
88
+ !Experiment/Stereo/Data/**/*.csv
89
+ !Experiment/Stereo/Data/**/*.json
90
+ !Experiment/Stereo/Data/manifest.json
91
+ !Experiment/Stereo/Data/Perception/full_detection_report.json
92
+ !Experiment/Stereo/Data/Perception/perception_conformance_cases.json
93
+
94
+ # Historical reaction-stereo records consumed by experiment audits
95
+ !Experiment/StereoReaction/evidence/stereo_rxn_closeout.json
96
+ !Experiment/StereoReaction/evidence/stereo_rxn_validation.json
97
+
98
+ # Large or reproducible data products
99
+ /Data/Benchmark/*
100
+ !/Data/Benchmark/mech/
101
+ /Data/Benchmark/mech/*
102
+ !/Data/Benchmark/mech/README.md
103
+ !/Data/Benchmark/mech/polar-failures.csv
104
+ !/Data/Benchmark/mech/radical-failures.csv
105
+ !/Data/Benchmark/partial_expand/
106
+ !/Data/Benchmark/partial_expand/**
107
+ /Data/Benchmark/partial_expand/results/
108
+ !/Data/Benchmark/Stereo/
109
+ !/Data/Benchmark/Stereo/**
110
+ /Data/Fragment/*
111
+ /Data/Study/CRN/case_formose/*
112
+ /Data/USPTO/*
113
+ /Experiment/Lewis/Runs/
114
+
115
+ # Resumable local benchmark state
116
+ /Experiment/RBL/*checkpoint*.jsonl
117
+
118
+ # Development and scratch paths
119
+ /Experiment/atom_map/
120
+ /Test/Conformance/
121
+ /crn/
122
+ /debug/
123
+ /dev/
124
+ # Manuscripts, evidence, figures, and local cleanup archives
125
+ /paper/
126
+ /sprint/
127
+ /synkit/Graph/dev/
128
+
129
+ # Local one-off scripts and prompts
130
+ .gitignore
131
+ measure_candidate_stages.py
132
+ request.md
133
+ run.sh
134
+ run_rdcanon.py
135
+ run_valid_bug_cases.py
136
+ test_partial.py
137
+ test_run.py
138
+ test_syn.py
139
+ test_syn_reactor.py
140
+
141
+ # Local benchmark outputs and frozen source copies stay local.
142
+ /benchmark_results/
143
+
144
+ # Keep unreleased experiments local; publish only CRN and Lewis until release.
145
+ /Experiment/*
146
+ !/Experiment/CRN/
147
+ !/Experiment/Lewis/
148
+ !/Experiment/Autocatalytic/
149
+ # Third-party simulation code of Higgs and Blackmond (Zenodo), not redistributed.
150
+ /Experiment/Autocatalytic/Homochiral/higgs2025/
151
+ !/Experiment/__init__.py
152
+
153
+ # Experiment READMEs are local documentation, including nested directories.
154
+ /Experiment/**/[Rr][Ee][Aa][Dd][Mm][Ee]*
@@ -0,0 +1,28 @@
1
+ cmake_minimum_required(VERSION 3.20)
2
+ project(synkit_native VERSION 1.7.0 LANGUAGES C CXX)
3
+
4
+ option(SYNKIT_BUILD_MAPPER "Build the atom mapper and its solver backends" ON)
5
+ option(SYNKIT_BUILD_CRN "Build exact chemical reaction network analysis" ON)
6
+ option(SYNKIT_BUILD_CANON "Build graph and stereograph canonicalization" ON)
7
+ option(SYNKIT_BUILD_PARTIAL "Build typed partial-rule application" ON)
8
+ option(SYNKIT_NATIVE_WHEEL "Install native libraries into their Python packages" OFF)
9
+
10
+ if(SYNKIT_NATIVE_WHEEL)
11
+ set(SYNKIT_MAPPER_WHEEL ON CACHE BOOL "Install mapper into the wheel" FORCE)
12
+ set(SYNKIT_CANON_WHEEL ON CACHE BOOL "Install canonicalization into the wheel" FORCE)
13
+ set(SYNKIT_PARTIAL_WHEEL ON CACHE BOOL "Install partial application into the wheel" FORCE)
14
+ endif()
15
+
16
+ enable_testing()
17
+ if(SYNKIT_BUILD_MAPPER)
18
+ add_subdirectory(synkit/Chem/Mapper/solvers/native/cpp mapper)
19
+ endif()
20
+ if(SYNKIT_BUILD_CRN)
21
+ add_subdirectory(synkit/CRN/cpp crn)
22
+ endif()
23
+ if(SYNKIT_BUILD_CANON)
24
+ add_subdirectory(synkit/Graph/Canon/cpp canon)
25
+ endif()
26
+ if(SYNKIT_BUILD_PARTIAL)
27
+ add_subdirectory(synkit/Synthesis/Reactor/cpp partial)
28
+ endif()
@@ -0,0 +1,15 @@
1
+ KEGG-derived cache notice
2
+ =========================
3
+
4
+ The file ``Experiment/CRN/data/kegg_modules.json`` contains records
5
+ derived from the Kyoto Encyclopedia of Genes and Genomes (KEGG), retrieved on
6
+ the date recorded inside that file. KEGG is copyright Kanehisa Laboratories.
7
+
8
+ This cache is not covered by SynKit's MIT licence. KEGG's current terms state
9
+ that academic users may use the KEGG website and that non-academic use requires
10
+ a commercial licence. See: https://www.kegg.jp/kegg/legal.html
11
+
12
+ Release maintainers must confirm that their intended redistribution of this
13
+ cache is authorized under the applicable KEGG terms. If it is not, the cache
14
+ must be excluded from the release and users must retrieve the source records
15
+ under their own authorized access.
@@ -0,0 +1,5 @@
1
+ """Chemical reaction network experiments.
2
+
3
+ Experiments and shared fixtures live in studies; execution and checking helpers
4
+ live in tools. Run the paper workload with run_all.py.
5
+ """
@@ -0,0 +1,21 @@
1
+ # Native CRN evidence environment, Linux x86_64, Python 3.12.12
2
+ # Boost headers 1.90.0; RDKit C++ SDK 2026.03.1; C++17/C++20 toolchain.
3
+ # Install project/test dependencies with pip -c this-file -e ".[test]" sympy
4
+ numpy==2.4.4
5
+ networkx==3.6.1
6
+ scipy==1.17.0
7
+ rdkit==2026.3.1
8
+ sympy==1.14.0
9
+ pytest==9.1.1
10
+ matplotlib==3.10.8
11
+ pandas==2.3.3
12
+ seaborn==0.13.2
13
+ requests==2.33.0
14
+ scikit-learn==1.7.2
15
+ joblib==1.5.3
16
+ pillow==13.0.0
17
+ regex==2026.4.4
18
+ tqdm==4.67.1
19
+ hatchling==1.31.0
20
+ build==1.5.0
21
+ psutil==7.2.2
@@ -0,0 +1,26 @@
1
+ crnt4sbml==0.0.15
2
+ cycler==0.11.0
3
+ decorator==4.4.2
4
+ descartes==1.1.0
5
+ kiwisolver==1.4.5
6
+ matplotlib==3.1.1
7
+ mizani==0.6.0
8
+ mpmath==1.3.0
9
+ networkx==2.3
10
+ numpy==1.16.4
11
+ palettable==3.3.3
12
+ pandas==1.0.4
13
+ patsy==0.5.1
14
+ pip==24.0
15
+ plotnine==0.6.0
16
+ pyparsing==2.4.7
17
+ python-dateutil==2.8.2
18
+ python-libsbml==5.18.0
19
+ pytz==2019.3
20
+ scipy==1.4.1
21
+ setuptools==67.8.0
22
+ six==1.17.0
23
+ statsmodels==0.10.2
24
+ sympy==1.4
25
+ typing_extensions==4.7.1
26
+ wheel==0.42.0
@@ -0,0 +1,80 @@
1
+ Formose DPO reproduction
2
+ =======================
3
+
4
+ The benchmark is shipped with the SynKit source distribution. It uses the four
5
+ mapped rules and two seed molecules defined in
6
+ ``Experiment/CRN/studies/formose_case_study.py``. It does not import manuscript
7
+ scripts or archived result files. Native controller and typed DPO kernel builds
8
+ are explicit, content-addressed, and fingerprinted in the report.
9
+
10
+ Native prerequisites
11
+ --------------------
12
+
13
+ Install SynKit and its CRN environment constraints, a C++20 compiler, CMake >=
14
+ 3.20, and an RDKit C++ SDK with Boost headers and CMake configuration. The native
15
+ controller uses RDKit for molecular IO and identity, and the SynKit DPO kernel
16
+ for graph transformations. The SDK need not share an address space with the
17
+ RDKit Python package. Set ``SYNKIT_RDKIT_CPP_DIR`` or pass ``--rdkit-dir``; no SDK
18
+ is downloaded automatically. The reference SDK was RDKit 2026.03.1.
19
+
20
+ From the unpacked source distribution, a short native check is::
21
+
22
+ python Experiment/CRN/studies/formose_dpo.py \
23
+ --rdkit-dir /path/to/rdkit-sdk --output-dir /tmp/formose-smoke \
24
+ --depths 1 2 3 4 --warmups 1 --repeats 2
25
+
26
+ The complete native measurement workload is::
27
+
28
+ python Experiment/CRN/studies/formose_dpo.py \
29
+ --rdkit-dir /path/to/rdkit-sdk --output-dir /tmp/formose-native \
30
+ --depths 1 2 3 4 5 6 --warmups 3 --repeats 20
31
+
32
+ Independent engine comparison
33
+ -----------------------------
34
+
35
+ Create a MØD environment using ``mod-environment.yml`` and a separate Python
36
+ virtual environment using ``molfoundry-requirements.txt``. The pins fix the engine
37
+ versions used for the comparison; they are not full operating-system lockfiles.
38
+ MolFoundry is distributed through ``https://py.molfoundry.de/dl/``; its custom
39
+ package index is included in the requirements file.
40
+ The benchmark records the engine and Python versions actually executed. Neither
41
+ external environment needs a SynKit installation or RDKit Python package;
42
+ format translation and network canonicalization run in the main interpreter.
43
+
44
+ Require all three engines with::
45
+
46
+ python Experiment/CRN/studies/formose_dpo.py \
47
+ --rdkit-dir /path/to/rdkit-sdk --output-dir /tmp/formose-three-tools \
48
+ --external --mod-python /path/to/mod-env/bin/python \
49
+ --molfoundry-python /path/to/molfoundry-env/bin/python \
50
+ --depths 1 2 3 4 5 6 --warmups 3 --repeats 20
51
+
52
+ A missing requested engine, timeout, incomplete native expansion, unstable
53
+ repetition, mismatching network, or source modification makes the report fail
54
+ and the command return nonzero. Native-only runs explicitly set
55
+ ``cross_tool_equality_checked`` to false and cannot establish cross-tool
56
+ agreement. The report writes one row for every requested engine and depth.
57
+
58
+ Timing and verification
59
+ -----------------------
60
+
61
+ Each timed call prepares fresh seeds and rules and constructs the network through
62
+ the tool's public API. Imports, native compilation, controller startup, fixed GML
63
+ translation, graph export, and the independent molecular identity audit are
64
+ outside timing. Warmups are distinct from measured samples. Only one expansion
65
+ is active at once, with tool order rotated across repetitions and depths.
66
+
67
+ On POSIX the default per-worker address-space bound is 8 GiB; Linux workers are
68
+ pinned to one available CPU by default. The default timeout is 180 seconds per
69
+ expansion, with separate startup and audit budgets. Limits and whether they are
70
+ enforced are recorded. CPU affinity and address-space controls may differ on
71
+ other platforms; benchmark times are machine-specific and must be regenerated.
72
+
73
+ Canonicalization removes explicit hydrogen vertices and stereochemistry and
74
+ compares full species sets and directed reactant/product multisets. Shared
75
+ participants are retained, and stoichiometric multiplicities are counted. Every
76
+ repetition must have the same snapshot hash. The report contains the exact rule
77
+ inputs, source hashes, controller build manifest, all samples, full execution
78
+ schedule, and separate snapshots for inspection. Completed depths 1--6 have
79
+ reference species/reaction counts of 3/1, 5/4, 9/10, 37/44, 302/371, and
80
+ 10572/11239. These checks do not assert kinetic or thermodynamic equivalence.
@@ -0,0 +1,7 @@
1
+ name: synkit-crn-mod
2
+ channels:
3
+ - jakobandersen
4
+ - conda-forge
5
+ dependencies:
6
+ - python=3.12
7
+ - mod=1.0.0.75
@@ -0,0 +1,3 @@
1
+ # Independent formose DPO comparison; install in its own interpreter.
2
+ --extra-index-url https://py.molfoundry.de/dl/
3
+ molfoundry==0.1.11
@@ -0,0 +1,226 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "glycolysis-00",
6
+ "metadata": {},
7
+ "source": [
8
+ "# Glycolysis: a CRN case study\n",
9
+ "\n",
10
+ "This offline example uses the reviewed KEGG M00001 fixture. It reproduces the\n",
11
+ "cached reduced-network structural results and verifies a prescribed glycolytic\n",
12
+ "flux from one glucose token. Currency removal is an explicit model choice.\n",
13
+ "These calculations do not predict kinetic or physiological behaviour.\n",
14
+ "\n",
15
+ "See [the experiment commands](../../README.md) for the complete CRN studies.\n",
16
+ "\n",
17
+ "Production analyses use the C++ backend through the Python interface. Execution requires a C++17 compiler and local Boost headers. It does not download dependencies."
18
+ ]
19
+ },
20
+ {
21
+ "cell_type": "code",
22
+ "execution_count": null,
23
+ "id": "glycolysis-01",
24
+ "metadata": {},
25
+ "outputs": [],
26
+ "source": [
27
+ "from collections import Counter\n",
28
+ "from pathlib import Path\n",
29
+ "from tempfile import gettempdir\n",
30
+ "import sys\n",
31
+ "\n",
32
+ "repo_root = next(\n",
33
+ " path for path in (Path.cwd(), *Path.cwd().parents)\n",
34
+ " if (path / \"pyproject.toml\").is_file() and (path / \"synkit\").is_dir()\n",
35
+ ")\n",
36
+ "if str(repo_root) not in sys.path:\n",
37
+ " sys.path.insert(0, str(repo_root))\n",
38
+ "\n",
39
+ "from synkit.CRN import (\n",
40
+ " build_native, native_backend, PathwayRealizability, conserved_moieties, crnt_summary, find_siphons,\n",
41
+ " siphon_persistence_details, crn_from_sbml, crn_to_sbml,\n",
42
+ ")\n",
43
+ "from Experiment.CRN.studies import GLYCOLYSIS_FLUX, build_kegg_crn\n",
44
+ "from Experiment.CRN.studies.representation import execute\n",
45
+ "\n",
46
+ "library = build_native(Path(gettempdir()) / \"synkit-crn-notebook-native\", with_semiflows=True)"
47
+ ]
48
+ },
49
+ {
50
+ "cell_type": "markdown",
51
+ "id": "glycolysis-02",
52
+ "metadata": {},
53
+ "source": [
54
+ "## Reduced network and exact structural results\n",
55
+ "\n",
56
+ "Remove the documented currency metabolites. The reduced network has 14 species,\n",
57
+ "15 directed reactions, deficiency one, three minimal conserved pools, and three\n",
58
+ "minimal siphons. Failure of the sufficient persistence test\n",
59
+ "does not establish extinction."
60
+ ]
61
+ },
62
+ {
63
+ "cell_type": "code",
64
+ "execution_count": null,
65
+ "id": "glycolysis-03",
66
+ "metadata": {},
67
+ "outputs": [],
68
+ "source": [
69
+ "with native_backend(library):\n",
70
+ " crn = build_kegg_crn(\"M00001\", drop_currency=True)\n",
71
+ " summary = crnt_summary(crn)\n",
72
+ " moieties = conserved_moieties(crn)\n",
73
+ " siphons = find_siphons(crn)\n",
74
+ " persistence = siphon_persistence_details(crn)\n",
75
+ "\n",
76
+ " assert (summary.n_species, summary.n_reactions, summary.deficiency) == (14, 15, 1)\n",
77
+ " assert not summary.is_weakly_reversible\n",
78
+ " assert len(moieties) == len(siphons) == 3\n",
79
+ " assert persistence.complete and persistence.persistence_ok is False\n",
80
+ " print({\n",
81
+ " \"species\": summary.n_species, \"reactions\": summary.n_reactions,\n",
82
+ " \"deficiency\": summary.deficiency, \"conserved_pools\": len(moieties),\n",
83
+ " \"minimal_siphons\": len(siphons), \"sufficient_persistence\": persistence.persistence_ok,\n",
84
+ " })"
85
+ ]
86
+ },
87
+ {
88
+ "cell_type": "markdown",
89
+ "id": "glycolysis-04",
90
+ "metadata": {},
91
+ "source": [
92
+ "## Prescribed glycolytic flux\n",
93
+ "\n",
94
+ "Request the prescribed reaction multiset from one alpha-D-glucose token. A positive\n",
95
+ "result supplies an ordered firing certificate. Search statistics may depend on\n",
96
+ "the implementation; the checks below concern the prescribed flux and execution."
97
+ ]
98
+ },
99
+ {
100
+ "cell_type": "code",
101
+ "execution_count": null,
102
+ "id": "glycolysis-05",
103
+ "metadata": {},
104
+ "outputs": [],
105
+ "source": [
106
+ "with native_backend(library):\n",
107
+ " initial_marking = {\"alpha-D-Glucose\": 1}\n",
108
+ " checker = PathwayRealizability().load_syncrn_and_flow(\n",
109
+ " crn, flow=dict(GLYCOLYSIS_FLUX), initial_marking=initial_marking,\n",
110
+ " species=\"label\", reaction=\"label\",\n",
111
+ " )\n",
112
+ " checker.build_petri_net_from_flow()\n",
113
+ " outcome = checker.realizability_result()\n",
114
+ " assert outcome.status.value == \"realizable\"\n",
115
+ " certificate = list(outcome.certificate)\n",
116
+ " assert len(certificate) == sum(GLYCOLYSIS_FLUX.values()) == 15\n",
117
+ " print({\"status\": outcome.status.value, \"firings\": len(certificate)})"
118
+ ]
119
+ },
120
+ {
121
+ "cell_type": "markdown",
122
+ "id": "glycolysis-06",
123
+ "metadata": {},
124
+ "source": [
125
+ "## Independent inventory replay\n",
126
+ "\n",
127
+ "Replay the certificate against the stored reactant and product counts,\n",
128
+ "without calling the search's Petri-net firing methods. Every step must have its\n",
129
+ "reactants, all inventories must stay non-negative, and firing counts must equal\n",
130
+ "the requested flux."
131
+ ]
132
+ },
133
+ {
134
+ "cell_type": "code",
135
+ "execution_count": null,
136
+ "id": "glycolysis-07",
137
+ "metadata": {},
138
+ "outputs": [],
139
+ "source": [
140
+ "marking = {sid: initial_marking.get(species.label, 0) for sid, species in crn.species.items()}\n",
141
+ "reactions = {reaction.label: reaction for reaction in crn.reactions.values()}\n",
142
+ "for label in certificate:\n",
143
+ " reaction = reactions[label]\n",
144
+ " assert all(marking[sid] >= count for sid, count in reaction.lhs.items())\n",
145
+ " for sid, count in reaction.lhs.items():\n",
146
+ " marking[sid] -= count\n",
147
+ " for sid, count in reaction.rhs.items():\n",
148
+ " marking[sid] += count\n",
149
+ " assert all(count >= 0 for count in marking.values())\n",
150
+ "assert dict(Counter(certificate)) == dict(GLYCOLYSIS_FLUX)\n",
151
+ "final_inventory = {species.label: marking[sid] for sid, species in crn.species.items() if marking[sid]}\n",
152
+ "assert final_inventory[\"Pyruvate\"] == 2\n",
153
+ "print(final_inventory)"
154
+ ]
155
+ },
156
+ {
157
+ "cell_type": "markdown",
158
+ "id": "glycolysis-08",
159
+ "metadata": {},
160
+ "source": [
161
+ "## Currency-retention control\n",
162
+ "\n",
163
+ "Retain currencies under the same glucose-only inventory and prescribed flux.\n",
164
+ "The currency-retaining model has an exhaustive negative result. This comparison\n",
165
+ "shows that the reduced-model certificate does not establish execution when\n",
166
+ "cofactor requirements are restored."
167
+ ]
168
+ },
169
+ {
170
+ "cell_type": "code",
171
+ "execution_count": null,
172
+ "id": "glycolysis-09",
173
+ "metadata": {},
174
+ "outputs": [],
175
+ "source": [
176
+ "with native_backend(library):\n",
177
+ " intact = build_kegg_crn(\"M00001\", drop_currency=False)\n",
178
+ " control = execute(intact, dict(GLYCOLYSIS_FLUX), initial_marking)\n",
179
+ " assert control[\"status\"] == \"unrealizable\" and control[\"exhaustive\"]\n",
180
+ " print({\"currencies_retained\": True, \"species\": intact.n_species, \"status\": control[\"status\"]})"
181
+ ]
182
+ },
183
+ {
184
+ "cell_type": "markdown",
185
+ "id": "glycolysis-10",
186
+ "metadata": {},
187
+ "source": [
188
+ "## Structural SBML round trip\n",
189
+ "\n",
190
+ "Serialize and reload the reduced network in memory, then compare all directed\n",
191
+ "reaction equations and structural invariants. The adapter exchanges supported\n",
192
+ "SBML Core structure. This example supplies no kinetic laws."
193
+ ]
194
+ },
195
+ {
196
+ "cell_type": "code",
197
+ "execution_count": null,
198
+ "id": "glycolysis-11",
199
+ "metadata": {},
200
+ "outputs": [],
201
+ "source": [
202
+ "with native_backend(library):\n",
203
+ " sbml = crn_to_sbml(crn, model_id=\"kegg_m00001\")\n",
204
+ " restored = crn_from_sbml(sbml)\n",
205
+ " assert sorted(restored.to_equations(species=\"label\", include_id=False)) == sorted(\n",
206
+ " crn.to_equations(species=\"label\", include_id=False)\n",
207
+ " )\n",
208
+ " restored_summary = crnt_summary(restored)\n",
209
+ " assert (restored_summary.n_species, restored_summary.n_reactions, restored_summary.deficiency) == (14, 15, 1)\n",
210
+ " print({\"sbml_round_trip\": \"verified\", \"species\": restored.n_species, \"reactions\": restored.n_reactions})"
211
+ ]
212
+ }
213
+ ],
214
+ "metadata": {
215
+ "kernelspec": {
216
+ "display_name": "Python 3",
217
+ "language": "python",
218
+ "name": "python3"
219
+ },
220
+ "language_info": {
221
+ "name": "python"
222
+ }
223
+ },
224
+ "nbformat": 4,
225
+ "nbformat_minor": 5
226
+ }