synkit 1.6.2b1__tar.gz → 1.6.3__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 (545) hide show
  1. synkit-1.6.3/.gitignore +128 -0
  2. synkit-1.6.3/Experiment/CRN/LICENSES/BIOMODELS.txt +13 -0
  3. synkit-1.6.3/Experiment/CRN/LICENSES/KEGG.txt +15 -0
  4. synkit-1.6.3/PKG-INFO +122 -0
  5. synkit-1.6.3/README.md +73 -0
  6. {synkit-1.6.2b1 → synkit-1.6.3}/pyproject.toml +18 -8
  7. synkit-1.6.3/synkit/CRN/Benchmark/__init__.py +104 -0
  8. synkit-1.6.3/synkit/CRN/Benchmark/crosschecks.py +377 -0
  9. synkit-1.6.3/synkit/CRN/Benchmark/data/kegg_modules.json +175 -0
  10. synkit-1.6.3/synkit/CRN/Benchmark/kegg.py +605 -0
  11. synkit-1.6.3/synkit/CRN/Benchmark/networks.py +459 -0
  12. synkit-1.6.3/synkit/CRN/Benchmark/scaling.py +600 -0
  13. synkit-1.6.3/synkit/CRN/Benchmark/validate.py +412 -0
  14. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/builder.py +80 -10
  15. synkit-1.6.3/synkit/CRN/IO/__init__.py +36 -0
  16. synkit-1.6.3/synkit/CRN/IO/sbml.py +887 -0
  17. synkit-1.6.3/synkit/CRN/Pathway/__init__.py +72 -0
  18. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Pathway/pathfinder.py +5 -0
  19. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Pathway/realizability.py +231 -25
  20. synkit-1.6.3/synkit/CRN/Petrinet/__init__.py +91 -0
  21. synkit-1.6.3/synkit/CRN/Petrinet/minimal_semiflows.py +388 -0
  22. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Petrinet/net.py +4 -2
  23. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Petrinet/persistence.py +4 -0
  24. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Petrinet/semiflows.py +140 -40
  25. synkit-1.6.3/synkit/CRN/Petrinet/siphon_search.py +402 -0
  26. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Petrinet/structure.py +42 -30
  27. synkit-1.6.3/synkit/CRN/Props/__init__.py +126 -0
  28. synkit-1.6.3/synkit/CRN/Props/deficiency.py +932 -0
  29. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Props/helper.py +35 -3
  30. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Props/stoich.py +160 -16
  31. synkit-1.6.3/synkit/CRN/Query/__init__.py +62 -0
  32. synkit-1.6.3/synkit/CRN/Query/to_syncrn.py +294 -0
  33. synkit-1.6.3/synkit/CRN/Structure/_graph_io.py +706 -0
  34. synkit-1.6.3/synkit/CRN/Structure/_matrices.py +88 -0
  35. synkit-1.6.3/synkit/CRN/Structure/_parse.py +544 -0
  36. synkit-1.6.3/synkit/CRN/Structure/syncrn.py +929 -0
  37. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Symmetry/_common.py +13 -1
  38. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Visualize/layout.py +10 -2
  39. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Visualize/validation.py +33 -11
  40. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Visualize/vis.py +1 -1
  41. synkit-1.6.3/synkit/CRN/__init__.py +203 -0
  42. synkit-1.6.3/synkit/CRN/kinds.py +137 -0
  43. synkit-1.6.3/synkit/Chem/Mapper/README.rst +281 -0
  44. synkit-1.6.3/synkit/Chem/Mapper/__init__.py +232 -0
  45. synkit-1.6.3/synkit/Chem/Mapper/_compat.py +77 -0
  46. synkit-1.6.3/synkit/Chem/Mapper/adapters/__init__.py +1 -0
  47. synkit-1.6.3/synkit/Chem/Mapper/adapters/prediction.py +126 -0
  48. synkit-1.6.3/synkit/Chem/Mapper/adapters/template.py +412 -0
  49. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/chem/__init__.py +6 -0
  50. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/chem/aam.py +239 -5
  51. synkit-1.6.3/synkit/Chem/Mapper/chem/blind.py +160 -0
  52. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/chem/smiles.py +40 -0
  53. synkit-1.6.3/synkit/Chem/Mapper/exact/__init__.py +141 -0
  54. synkit-1.6.3/synkit/Chem/Mapper/exact/assignment/__init__.py +1 -0
  55. synkit-1.6.3/synkit/Chem/Mapper/exact/assignment/assignment_certificate.py +113 -0
  56. synkit-1.6.3/synkit/Chem/Mapper/exact/assignment/assignment_domains.py +162 -0
  57. synkit-1.6.3/synkit/Chem/Mapper/exact/assignment/assignment_verification.py +58 -0
  58. synkit-1.6.3/synkit/Chem/Mapper/exact/assignment/incremental_assignment.py +247 -0
  59. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/exact/certificate.py +2 -2
  60. synkit-1.6.3/synkit/Chem/Mapper/exact/core.py +183 -0
  61. synkit-1.6.3/synkit/Chem/Mapper/exact/distance_search/__init__.py +1 -0
  62. synkit-1.6.3/synkit/Chem/Mapper/exact/distance_search/bounds.py +319 -0
  63. {synkit-1.6.2b1/synkit/Chem/Reaction/Mapper/exact → synkit-1.6.3/synkit/Chem/Mapper/exact/distance_search}/exhaustive.py +5 -27
  64. synkit-1.6.3/synkit/Chem/Mapper/exact/distance_search/inputs.py +283 -0
  65. synkit-1.6.3/synkit/Chem/Mapper/exact/distance_search/records.py +242 -0
  66. synkit-1.6.3/synkit/Chem/Mapper/exact/distance_search/search.py +1025 -0
  67. synkit-1.6.3/synkit/Chem/Mapper/exact/distance_search/verify.py +378 -0
  68. synkit-1.6.3/synkit/Chem/Mapper/exact/edit_support.py +375 -0
  69. synkit-1.6.3/synkit/Chem/Mapper/exact/hybrid.py +224 -0
  70. synkit-1.6.3/synkit/Chem/Mapper/exact/hydrogen.py +264 -0
  71. synkit-1.6.3/synkit/Chem/Mapper/exact/kernel_solvers/__init__.py +1 -0
  72. {synkit-1.6.2b1/synkit/Chem/Reaction/Mapper/exact → synkit-1.6.3/synkit/Chem/Mapper/exact/kernel_solvers}/branching.py +27 -41
  73. {synkit-1.6.2b1/synkit/Chem/Reaction/Mapper/exact → synkit-1.6.3/synkit/Chem/Mapper/exact/kernel_solvers}/enumerate.py +5 -5
  74. {synkit-1.6.2b1/synkit/Chem/Reaction/Mapper/exact → synkit-1.6.3/synkit/Chem/Mapper/exact/kernel_solvers}/kernel.py +31 -34
  75. {synkit-1.6.2b1/synkit/Chem/Reaction/Mapper/exact → synkit-1.6.3/synkit/Chem/Mapper/exact/kernel_solvers}/milp.py +8 -1
  76. synkit-1.6.3/synkit/Chem/Mapper/exact/native/__init__.py +1 -0
  77. synkit-1.6.3/synkit/Chem/Mapper/exact/native/build.py +154 -0
  78. synkit-1.6.3/synkit/Chem/Mapper/exact/native/candidates.py +349 -0
  79. synkit-1.6.3/synkit/Chem/Mapper/exact/native/canonical.py +396 -0
  80. synkit-1.6.3/synkit/Chem/Mapper/exact/native/disk_frontier.py +415 -0
  81. synkit-1.6.3/synkit/Chem/Mapper/exact/native/frontier.py +390 -0
  82. synkit-1.6.3/synkit/Chem/Mapper/exact/native/its.py +528 -0
  83. synkit-1.6.3/synkit/Chem/Mapper/exact/native/native_distance.cpp +1021 -0
  84. synkit-1.6.3/synkit/Chem/Mapper/exact/native/orbit_aggregation.py +328 -0
  85. synkit-1.6.3/synkit/Chem/Mapper/exact/native/parallel.py +205 -0
  86. synkit-1.6.3/synkit/Chem/Mapper/exact/native/runtime.py +40 -0
  87. synkit-1.6.3/synkit/Chem/Mapper/exact/native/search.py +196 -0
  88. synkit-1.6.3/synkit/Chem/Mapper/exact/native_build.py +12 -0
  89. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/__init__.py +1 -0
  90. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/cost_lattice.py +43 -0
  91. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/factor_spectrum.py +110 -0
  92. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/multi_shell.py +368 -0
  93. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/propagation.py +679 -0
  94. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/propagation_bounds.py +436 -0
  95. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/propagation_limits.py +13 -0
  96. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/propagation_search.py +856 -0
  97. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/propagation_symmetry.py +66 -0
  98. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/residual_typed_bonds.py +136 -0
  99. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/reward_frontier.py +201 -0
  100. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/separator_bound.py +258 -0
  101. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/separator_spectrum.py +308 -0
  102. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/sparse_reward_bound.py +207 -0
  103. synkit-1.6.3/synkit/Chem/Mapper/exact/pabs/suffix_spectrum.py +299 -0
  104. synkit-1.6.3/synkit/Chem/Mapper/exact/search.py +55 -0
  105. synkit-1.6.3/synkit/Chem/Mapper/exact/seeds/__init__.py +1 -0
  106. synkit-1.6.3/synkit/Chem/Mapper/exact/seeds/seed.py +104 -0
  107. synkit-1.6.3/synkit/Chem/Mapper/exact/seeds/seed_fragments.py +148 -0
  108. synkit-1.6.3/synkit/Chem/Mapper/exact/seeds/seed_relaxation.py +181 -0
  109. synkit-1.6.3/synkit/Chem/Mapper/exact/symmetry.py +223 -0
  110. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/graph/__init__.py +7 -1
  111. synkit-1.6.3/synkit/Chem/Mapper/graph/automorphism.py +395 -0
  112. synkit-1.6.3/synkit/Chem/Mapper/mapper.py +451 -0
  113. synkit-1.6.3/synkit/Chem/Mapper/reaction_search.py +499 -0
  114. synkit-1.6.3/synkit/Chem/Mapper/reporting/__init__.py +1 -0
  115. synkit-1.6.3/synkit/Chem/Mapper/reporting/alternatives.py +451 -0
  116. synkit-1.6.3/synkit/Chem/Mapper/reporting/analysis.py +681 -0
  117. synkit-1.6.3/synkit/Chem/Mapper/reporting/native_analysis.py +485 -0
  118. synkit-1.6.3/synkit/Chem/Mapper/reporting/spectrum.py +642 -0
  119. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/slap/__init__.py +8 -1
  120. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/slap/lap.py +8 -5
  121. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/slap/sequential.py +8 -3
  122. synkit-1.6.3/synkit/Chem/Mapper/validation/__init__.py +1 -0
  123. {synkit-1.6.2b1/synkit/Chem/Reaction/Mapper → synkit-1.6.3/synkit/Chem/Mapper/validation}/aam_validator.py +3 -5
  124. synkit-1.6.3/synkit/Chem/Mapper/validation/annotations.py +274 -0
  125. synkit-1.6.3/synkit/Chem/Mapper/validation/bonds.py +124 -0
  126. synkit-1.6.3/synkit/Chem/Mapper/validation/cohorts.py +72 -0
  127. synkit-1.6.3/synkit/Chem/Mapper/validation/identifiability.py +150 -0
  128. synkit-1.6.3/synkit/Chem/Mapper/validation/numerical_scope.py +36 -0
  129. synkit-1.6.3/synkit/Chem/Mapper/validation/orbits.py +137 -0
  130. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/_stereo_axis_evidence.py +5 -3
  131. synkit-1.6.3/synkit/Chem/Reaction/Mapper/__init__.py +41 -0
  132. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/aam_validator.py +1 -1
  133. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Canon/exact.py +75 -12
  134. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/MTG/__init__.py +49 -0
  135. synkit-1.6.3/synkit/Graph/MTG/gluing.py +451 -0
  136. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/MTG/history.py +284 -17
  137. synkit-1.6.3/synkit/Graph/MTG/inventory.py +118 -0
  138. synkit-1.6.3/synkit/Graph/MTG/local.py +447 -0
  139. synkit-1.6.3/synkit/Graph/MTG/observation.py +209 -0
  140. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/MTG/process.py +17 -2
  141. synkit-1.6.3/synkit/Graph/MTG/queries.py +66 -0
  142. synkit-1.6.3/synkit/Graph/MTG/realization.py +95 -0
  143. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/approx_mcs.py +0 -6
  144. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Morphism/__init__.py +4 -0
  145. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Morphism/llg.py +96 -15
  146. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/__init__.py +8 -0
  147. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/canonical.py +16 -3
  148. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/changes.py +41 -3
  149. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/configured.py +49 -84
  150. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/enumeration.py +7 -0
  151. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/extended_descriptors.py +4 -0
  152. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/orbits.py +5 -1
  153. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/pairwise.py +145 -19
  154. synkit-1.6.3/synkit/Graph/Stereo/rdkit_identity.py +118 -0
  155. synkit-1.6.3/synkit/Graph/Stereo/rdkit_resonance.py +140 -0
  156. synkit-1.6.3/synkit/Rule/Apply/conditions.py +45 -0
  157. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Apply/dpo.py +192 -159
  158. synkit-1.6.3/synkit/Rule/Apply/validation.py +354 -0
  159. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Compose/composition.py +142 -14
  160. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Compose/laws.py +45 -3
  161. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Compose/search.py +27 -4
  162. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/syn_rule.py +2 -2
  163. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/MSR/path_finder.py +20 -0
  164. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/__init__.py +4 -2
  165. synkit-1.6.3/synkit/Vis/crn/__init__.py +40 -0
  166. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/version.py +1 -1
  167. synkit-1.6.2b1/.gitignore +0 -112
  168. synkit-1.6.2b1/PKG-INFO +0 -182
  169. synkit-1.6.2b1/README.md +0 -143
  170. synkit-1.6.2b1/synkit/CRN/Construct/DAG/syncrn.py +0 -919
  171. synkit-1.6.2b1/synkit/CRN/Pathway/__init__.py +0 -27
  172. synkit-1.6.2b1/synkit/CRN/Petrinet/__init__.py +0 -47
  173. synkit-1.6.2b1/synkit/CRN/Props/__init__.py +0 -85
  174. synkit-1.6.2b1/synkit/CRN/Structure/syncrn.py +0 -1844
  175. synkit-1.6.2b1/synkit/CRN/Visualize/crn_vis.py +0 -199
  176. synkit-1.6.2b1/synkit/CRN/__init__.py +0 -81
  177. synkit-1.6.2b1/synkit/CRN/dev_crn/Structure/__init__.py +0 -35
  178. synkit-1.6.2b1/synkit/CRN/dev_crn/Structure/backend.py +0 -86
  179. synkit-1.6.2b1/synkit/CRN/dev_crn/Structure/conversion.py +0 -924
  180. synkit-1.6.2b1/synkit/CRN/dev_crn/Structure/hyperedge.py +0 -70
  181. synkit-1.6.2b1/synkit/CRN/dev_crn/Structure/hypergraph.py +0 -585
  182. synkit-1.6.2b1/synkit/CRN/dev_crn/Structure/rxn.py +0 -477
  183. synkit-1.6.2b1/synkit/CRN/dev_crn/Symmetry/automorphism.py +0 -370
  184. synkit-1.6.2b1/synkit/CRN/dev_crn/Symmetry/canon.py +0 -438
  185. synkit-1.6.2b1/synkit/CRN/dev_crn/Symmetry/wl_canon.py +0 -387
  186. synkit-1.6.2b1/synkit/CRN/dev_crn/__init__.py +0 -83
  187. synkit-1.6.2b1/synkit/CRN/dev_crn/configs/loader.py +0 -203
  188. synkit-1.6.2b1/synkit/CRN/dev_crn/configs/models.py +0 -299
  189. synkit-1.6.2b1/synkit/CRN/dev_crn/constants.py +0 -47
  190. synkit-1.6.2b1/synkit/CRN/dev_crn/crn_formula.py +0 -440
  191. synkit-1.6.2b1/synkit/CRN/dev_crn/deficiency.py +0 -850
  192. synkit-1.6.2b1/synkit/CRN/dev_crn/enumerator.py +0 -288
  193. synkit-1.6.2b1/synkit/CRN/dev_crn/exceptions.py +0 -97
  194. synkit-1.6.2b1/synkit/CRN/dev_crn/explorer.py +0 -249
  195. synkit-1.6.2b1/synkit/CRN/dev_crn/helpers.py +0 -85
  196. synkit-1.6.2b1/synkit/CRN/dev_crn/injectivity.py +0 -696
  197. synkit-1.6.2b1/synkit/CRN/dev_crn/motif.py +0 -371
  198. synkit-1.6.2b1/synkit/CRN/dev_crn/network.py +0 -259
  199. synkit-1.6.2b1/synkit/CRN/dev_crn/pathway.py +0 -114
  200. synkit-1.6.2b1/synkit/CRN/dev_crn/properties.py +0 -309
  201. synkit-1.6.2b1/synkit/CRN/dev_crn/reaction.py +0 -168
  202. synkit-1.6.2b1/synkit/CRN/dev_crn/utils.py +0 -117
  203. synkit-1.6.2b1/synkit/CRN/dev_crn/viz.py +0 -486
  204. synkit-1.6.2b1/synkit/Chem/Reaction/Mapper/__init__.py +0 -70
  205. synkit-1.6.2b1/synkit/Chem/Reaction/Mapper/exact/__init__.py +0 -58
  206. synkit-1.6.2b1/synkit/Chem/Reaction/Mapper/graph/automorphism.py +0 -110
  207. synkit-1.6.2b1/synkit/Synthesis/MSR/__init__.py +0 -0
  208. synkit-1.6.2b1/synkit/Synthesis/Metrics/__init__.py +0 -0
  209. synkit-1.6.2b1/synkit/Synthesis/__init__.py +0 -0
  210. synkit-1.6.2b1/synkit/Utils/__init__.py +0 -0
  211. synkit-1.6.2b1/synkit/Vis/crn/__init__.py +0 -5
  212. synkit-1.6.2b1/synkit/Vis/crn/visualizer.py +0 -978
  213. {synkit-1.6.2b1 → synkit-1.6.3}/LICENSE +0 -0
  214. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/__init__.py +0 -0
  215. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/abstract.py +0 -0
  216. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/arity.py +0 -0
  217. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/derivation.py +0 -0
  218. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/flattener.py +0 -0
  219. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/keys.py +0 -0
  220. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/mixtures.py +0 -0
  221. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/smiles.py +0 -0
  222. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/state.py +0 -0
  223. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/strategy.py +0 -0
  224. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Construct/worker.py +0 -0
  225. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Pathway/_adapter.py +0 -0
  226. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Pathway/reachability.py +0 -0
  227. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Petrinet/analyzer.py +0 -0
  228. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Props/dynamics.py +0 -0
  229. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Props/thermo.py +0 -0
  230. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Query/kegg_api.py +0 -0
  231. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Query/kegg_extract.py +0 -0
  232. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Query/kegg_impute.py +0 -0
  233. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Query/kegg_parse.py +0 -0
  234. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Structure/__init__.py +0 -0
  235. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Structure/reaction.py +0 -0
  236. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Structure/rule.py +0 -0
  237. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Structure/species.py +0 -0
  238. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Symmetry/__init__.py +0 -0
  239. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Symmetry/_ir.py +0 -0
  240. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Symmetry/automorphism.py +0 -0
  241. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Symmetry/canon.py +0 -0
  242. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Symmetry/isomorphism.py +0 -0
  243. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Symmetry/symmetry.py +0 -0
  244. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Symmetry/wl_canon.py +0 -0
  245. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Visualize/__init__.py +0 -0
  246. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Visualize/labels.py +0 -0
  247. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/CRN/Visualize/palette.py +0 -0
  248. {synkit-1.6.2b1/synkit/CRN/Construct/DAG → synkit-1.6.3/synkit/Chem/Cluster}/__init__.py +0 -0
  249. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Cluster/butina.py +0 -0
  250. {synkit-1.6.2b1/synkit/CRN/Query → synkit-1.6.3/synkit/Chem/Fingerprint}/__init__.py +0 -0
  251. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Fingerprint/fp_calculator.py +0 -0
  252. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Fingerprint/smiles_featurizer.py +0 -0
  253. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Fingerprint/transformation_fp.py +0 -0
  254. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/chem/its.py +0 -0
  255. {synkit-1.6.2b1/synkit/Chem/Reaction/Mapper/exact → synkit-1.6.3/synkit/Chem/Mapper/exact/kernel_solvers}/enumeration_result.py +0 -0
  256. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/graph/blockcut.py +0 -0
  257. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/graph/labeled_graph.py +0 -0
  258. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/graph/refine.py +0 -0
  259. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/graph/synkit_adapter.py +0 -0
  260. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/io/__init__.py +0 -0
  261. {synkit-1.6.2b1/synkit/Chem/Reaction → synkit-1.6.3/synkit/Chem}/Mapper/io/idxmapstr.py +0 -0
  262. {synkit-1.6.2b1/synkit/CRN/dev_crn/Symmetry → synkit-1.6.3/synkit/Chem/Molecule}/__init__.py +0 -0
  263. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/_chirality_loci.py +0 -0
  264. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/_chirality_types.py +0 -0
  265. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/_helical_loci.py +0 -0
  266. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/_stereo_element_detection.py +0 -0
  267. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/_stereo_orientation_constraints.py +0 -0
  268. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/_tetrahedral_carriers.py +0 -0
  269. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/atom_features.py +0 -0
  270. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/chirality.py +0 -0
  271. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/cip_assignment.py +0 -0
  272. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/cip_ranking.py +0 -0
  273. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/coordinate_stereo.py +0 -0
  274. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/derived_stereo_naming.py +0 -0
  275. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/descriptors.py +0 -0
  276. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/formula.py +0 -0
  277. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/global_stereo.py +0 -0
  278. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/graph_annotator.py +0 -0
  279. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/standardize.py +0 -0
  280. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/stereo_evidence.py +0 -0
  281. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/stereo_perception.py +0 -0
  282. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Molecule/valence.py +0 -0
  283. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/__init__.py +0 -0
  284. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/balance_check.py +0 -0
  285. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/canon_rsmi.py +0 -0
  286. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/cleaning.py +0 -0
  287. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/deionize.py +0 -0
  288. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/explicit_h_audit.py +0 -0
  289. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/fix_aam.py +0 -0
  290. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/neutralize.py +0 -0
  291. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/radical_wildcard.py +0 -0
  292. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/standardize.py +0 -0
  293. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/Reaction/tautomerize.py +0 -0
  294. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/__init__.py +0 -0
  295. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Chem/utils.py +0 -0
  296. {synkit-1.6.2b1/synkit/CRN/dev_crn/configs → synkit-1.6.3/synkit/Data}/__init__.py +0 -0
  297. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Data/aldol.json.gz +0 -0
  298. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Data/gen_partial_aam.py +0 -0
  299. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Data/paracetamol.json.gz +0 -0
  300. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Canon/__init__.py +0 -0
  301. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Canon/canon_algs.py +0 -0
  302. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Canon/canon_graph.py +0 -0
  303. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Canon/exact_refinement.py +0 -0
  304. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Canon/nauty.py +0 -0
  305. {synkit-1.6.2b1/synkit/Chem/Cluster → synkit-1.6.3/synkit/Graph/Context}/__init__.py +0 -0
  306. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Context/hier_context.py +0 -0
  307. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Context/radius_expand.py +0 -0
  308. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/FG/__init__.py +0 -0
  309. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/FG/api.py +0 -0
  310. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/FG/audit.py +0 -0
  311. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/FG/catalog.py +0 -0
  312. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/FG/detector.py +0 -0
  313. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/FG/model.py +0 -0
  314. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/FG/recognizers.py +0 -0
  315. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/FG/ring_system.py +0 -0
  316. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Feature/Descriptors/topology.py +0 -0
  317. {synkit-1.6.2b1/synkit/Chem → synkit-1.6.3/synkit/Graph/Feature}/Fingerprint/__init__.py +0 -0
  318. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Feature/Fingerprint/wl_rxn_fps.py +0 -0
  319. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Feature/__init__.py +0 -0
  320. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Feature/graph_descriptors.py +0 -0
  321. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Feature/graph_fps.py +0 -0
  322. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Feature/graph_signature.py +0 -0
  323. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Feature/hash_fps.py +0 -0
  324. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Feature/morgan_fps.py +0 -0
  325. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Feature/path_fps.py +0 -0
  326. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Feature/wl_hash.py +0 -0
  327. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Fusion/__init__.py +0 -0
  328. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Fusion/candidate.py +0 -0
  329. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Fusion/constructor.py +0 -0
  330. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Fusion/identity.py +0 -0
  331. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Fusion/interface.py +0 -0
  332. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Fusion/search.py +0 -0
  333. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Hyrogen/__init__.py +0 -0
  334. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Hyrogen/_misc.py +0 -0
  335. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Hyrogen/hcomplete.py +0 -0
  336. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Hyrogen/hcomplete_legacy.py +0 -0
  337. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Hyrogen/hcompletion_algorithms.py +0 -0
  338. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Hyrogen/hextend.py +0 -0
  339. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Hyrogen/hextend_legacy.py +0 -0
  340. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/__init__.py +0 -0
  341. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/its_builder.py +0 -0
  342. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/its_construction.py +0 -0
  343. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/its_decompose.py +0 -0
  344. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/its_destruction.py +0 -0
  345. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/its_expand.py +0 -0
  346. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/its_relabel.py +0 -0
  347. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/its_reverter.py +0 -0
  348. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/normalize_aam.py +0 -0
  349. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/partial_its.py +0 -0
  350. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/rc_extractor.py +0 -0
  351. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/ITS/stereo.py +0 -0
  352. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/MTG/mcs_matcher.py +0 -0
  353. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/MTG/mtg.py +0 -0
  354. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/MTG/mtg_explore.py +0 -0
  355. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/MTG/series_parallel.py +0 -0
  356. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/MTG/utils.py +0 -0
  357. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/__init__.py +0 -0
  358. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/auto_est.py +0 -0
  359. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/automorphism.py +0 -0
  360. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/batch_cluster.py +0 -0
  361. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/dedup_matches.py +0 -0
  362. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/graph_cluster.py +0 -0
  363. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/graph_matcher.py +0 -0
  364. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/graph_morphism.py +0 -0
  365. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/mcs_matcher.py +0 -0
  366. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/multi_turbo_iso.py +0 -0
  367. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/orbit.py +0 -0
  368. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/partial_matcher.py +0 -0
  369. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/sing.py +0 -0
  370. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/subgraph_matcher.py +0 -0
  371. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/turbo_iso.py +0 -0
  372. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Matcher/wl_sel.py +0 -0
  373. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Mech/__init__.py +0 -0
  374. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Mech/conversion.py +0 -0
  375. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Mech/conversion_debug.py +0 -0
  376. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Mech/electron_accounting.py +0 -0
  377. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Mech/lwg_editor.py +0 -0
  378. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Mech/lwg_ops.py +0 -0
  379. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Morphism/constraints.py +0 -0
  380. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Morphism/morphism.py +0 -0
  381. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Morphism/stereo.py +0 -0
  382. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Morphism/stereo_morphism.py +0 -0
  383. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Morphism/stereo_morphism_helpers.py +0 -0
  384. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Morphism/stereo_morphism_types.py +0 -0
  385. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/_descriptor_core.py +0 -0
  386. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/_descriptor_serialization.py +0 -0
  387. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/composition.py +0 -0
  388. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/couplings.py +0 -0
  389. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/descriptors.py +0 -0
  390. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/global_configured.py +0 -0
  391. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/global_stereo.py +0 -0
  392. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/identity.py +0 -0
  393. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/interchange.py +0 -0
  394. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/legacy.py +0 -0
  395. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/matching.py +0 -0
  396. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/outcomes.py +0 -0
  397. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/rdkit_adapter.py +0 -0
  398. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/reaction_interchange.py +0 -0
  399. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/semantics.py +0 -0
  400. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/supports.py +0 -0
  401. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Stereo/wire.py +0 -0
  402. {synkit-1.6.2b1/synkit/Chem/Molecule → synkit-1.6.3/synkit/Graph/Wildcard}/__init__.py +0 -0
  403. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Wildcard/fuse_graph.py +0 -0
  404. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Wildcard/graph_wc.py +0 -0
  405. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Wildcard/its_merge.py +0 -0
  406. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Wildcard/radwc.py +0 -0
  407. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Wildcard/wc_matcher.py +0 -0
  408. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/Wildcard/wildcard.py +0 -0
  409. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/__init__.py +0 -0
  410. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/canon_graph.py +0 -0
  411. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/syn_graph.py +0 -0
  412. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Graph/utils.py +0 -0
  413. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/__init__.py +0 -0
  414. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/chem_converter.py +0 -0
  415. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/combinatorial/__init__.py +0 -0
  416. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/combinatorial/gml_to_graph.py +0 -0
  417. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/combinatorial/graph_to_gml.py +0 -0
  418. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/combinatorial/graph_to_smarts.py +0 -0
  419. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/combinatorial/smarts_expander.py +0 -0
  420. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/combinatorial/smarts_generalizer.py +0 -0
  421. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/combinatorial/smarts_to_graph.py +0 -0
  422. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/conversion.py +0 -0
  423. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/data_io.py +0 -0
  424. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/data_process.py +0 -0
  425. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/debug.py +0 -0
  426. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/gml_to_nx.py +0 -0
  427. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/graph_to_mol.py +0 -0
  428. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/mol_to_graph.py +0 -0
  429. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/mol_to_graph_chemistry.py +0 -0
  430. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/nx_to_gml.py +0 -0
  431. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/IO/smiles_to_id.py +0 -0
  432. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/__init__.py +0 -0
  433. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/adapters.py +0 -0
  434. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/audit.py +0 -0
  435. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/benchmark.py +0 -0
  436. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/compatibility.py +0 -0
  437. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/drawing.py +0 -0
  438. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/electron_models.py +0 -0
  439. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/equivalence.py +0 -0
  440. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/evidence.py +0 -0
  441. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/interchange.py +0 -0
  442. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/model.py +0 -0
  443. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/neighbor_stereo.py +0 -0
  444. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/radical_data.py +0 -0
  445. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/replay.py +0 -0
  446. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/schema.py +0 -0
  447. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/stereo_state.py +0 -0
  448. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Mechanism/symbols.py +0 -0
  449. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Apply/__init__.py +0 -0
  450. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Apply/rule_matcher.py +0 -0
  451. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Compose/__init__.py +0 -0
  452. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Compose/_identity.py +0 -0
  453. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Compose/synrule.py +0 -0
  454. {synkit-1.6.2b1/synkit/Data → synkit-1.6.3/synkit/Rule/Modify}/__init__.py +0 -0
  455. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Modify/implict_rule.py +0 -0
  456. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Modify/longest_path.py +0 -0
  457. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Modify/molecule_rule.py +0 -0
  458. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Modify/prune_templates.py +0 -0
  459. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Modify/rule_utils.py +0 -0
  460. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/Modify/strip_rule.py +0 -0
  461. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/__init__.py +0 -0
  462. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/generic_stereo.py +0 -0
  463. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Rule/stereo_identity.py +0 -0
  464. {synkit-1.6.2b1/synkit/Graph/Context → synkit-1.6.3/synkit/Synthesis/MSR}/__init__.py +0 -0
  465. {synkit-1.6.2b1/synkit/Graph/Feature/Fingerprint → synkit-1.6.3/synkit/Synthesis/Metrics}/__init__.py +0 -0
  466. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Metrics/_base.py +0 -0
  467. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Metrics/_plot.py +0 -0
  468. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Metrics/_ranking.py +0 -0
  469. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/RBL/__init__.py +0 -0
  470. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/RBL/engine.py +0 -0
  471. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/RBL/matching.py +0 -0
  472. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/RBL/overlap.py +0 -0
  473. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/RBL/pipeline.py +0 -0
  474. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/RBL/policy.py +0 -0
  475. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/RBL/proof.py +0 -0
  476. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/RBL/reaction.py +0 -0
  477. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/RBL/state.py +0 -0
  478. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/RBL/validation.py +0 -0
  479. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/__init__.py +0 -0
  480. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/core/__init__.py +0 -0
  481. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/core/engine.py +0 -0
  482. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/core/product.py +0 -0
  483. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/core/rewrite.py +0 -0
  484. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/core/strategy.py +0 -0
  485. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/matching/__init__.py +0 -0
  486. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/matching/mixin.py +0 -0
  487. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/matching/policy.py +0 -0
  488. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/matching/symmetry.py +0 -0
  489. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/output/__init__.py +0 -0
  490. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/output/deduplication.py +0 -0
  491. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/output/policy.py +0 -0
  492. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/output/serialization.py +0 -0
  493. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/output/structural.py +0 -0
  494. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/stereo/__init__.py +0 -0
  495. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/stereo/assignment.py +0 -0
  496. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/stereo/mixin.py +0 -0
  497. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/variants/__init__.py +0 -0
  498. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/variants/imbalanced.py +0 -0
  499. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/variants/partial.py +0 -0
  500. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/workflow/__init__.py +0 -0
  501. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/workflow/batch.py +0 -0
  502. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/workflow/benchmark.py +0 -0
  503. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/workflow/postprocess.py +0 -0
  504. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/Reactor/workflow/rule_filter.py +0 -0
  505. {synkit-1.6.2b1/synkit/Graph/Wildcard → synkit-1.6.3/synkit/Synthesis}/__init__.py +0 -0
  506. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Synthesis/reactor_utils.py +0 -0
  507. {synkit-1.6.2b1/synkit/Rule/Modify → synkit-1.6.3/synkit/Utils}/__init__.py +0 -0
  508. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Utils/utils.py +0 -0
  509. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/epd/__init__.py +0 -0
  510. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/epd/arrows.py +0 -0
  511. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/epd/chem.py +0 -0
  512. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/epd/constants.py +0 -0
  513. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/epd/layout.py +0 -0
  514. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/epd/mapping.py +0 -0
  515. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/epd/models.py +0 -0
  516. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/epd/render.py +0 -0
  517. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/epd/utils.py +0 -0
  518. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/epd/visualizer.py +0 -0
  519. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/graph_visualizer.py +0 -0
  520. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/its/__init__.py +0 -0
  521. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/its/drawer.py +0 -0
  522. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/its_drawer.py +0 -0
  523. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/molecule/__init__.py +0 -0
  524. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/molecule/drawer.py +0 -0
  525. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/molecule/reaction.py +0 -0
  526. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/molecule_drawer.py +0 -0
  527. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/mtg/__init__.py +0 -0
  528. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/mtg/drawer.py +0 -0
  529. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/mtg_drawer.py +0 -0
  530. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/pdf_writer.py +0 -0
  531. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/reaction/__init__.py +0 -0
  532. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/reaction/rule.py +0 -0
  533. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/reaction/rxn.py +0 -0
  534. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/reaction_drawer.py +0 -0
  535. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/space/__init__.py +0 -0
  536. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/space/chemical.py +0 -0
  537. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/space/embedding.py +0 -0
  538. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/vis_synedu/Vis/__init__.py +0 -0
  539. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/vis_synedu/Vis/dpo.py +0 -0
  540. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/vis_synedu/rxn_vis.py +0 -0
  541. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/vis_synedu/vis.py +0 -0
  542. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/visual_drawer.py +0 -0
  543. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/Vis/visual_model.py +0 -0
  544. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/__init__.py +0 -0
  545. {synkit-1.6.2b1 → synkit-1.6.3}/synkit/examples.py +0 -0
@@ -0,0 +1,128 @@
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
+
23
+ # Generated logs, reports, notebooks, and data files
24
+ *.log
25
+ *.pdf
26
+ *.rdf
27
+ *.ipynb
28
+ !Experiment/CRN/notebooks/crn_glycolysis_case_study.ipynb
29
+ *.csv
30
+ *.json
31
+ *.json.gz
32
+ *.pkl.gz
33
+ *.txt
34
+
35
+ # Package resources and repository evidence retained despite the broad rules
36
+ !Experiment/CRN/LICENSES/*.txt
37
+ !synkit/CRN/Benchmark/data/kegg_modules.json
38
+ !Data/Conformance/stereomolgraph_graph_conformance.json
39
+ !Data/Mech/polar.json
40
+ !Data/Mech/radical.json
41
+ !Data/Mech/stereo.json
42
+ !Data/Schema/
43
+ !Data/Schema/attribute_propagation_v1_5.json
44
+ !/scripts/python_file_size_baseline.json
45
+ !Test/Synthesis/Reactor/fixtures/small_rewrite_conformance.json
46
+
47
+ # Lewis benchmark inputs and reviewed evidence
48
+ !Experiment/Lewis/Data/all.csv
49
+ !Experiment/Lewis/Data/benchmark.json.gz
50
+ !Experiment/Lewis/Data/combinatorial_all.csv
51
+ !Experiment/Lewis/Data/hydrogen.pkl.gz
52
+ !Experiment/Lewis/mech_path/Data/MechanismBench/electrocyclic_machinery.json
53
+ !Experiment/Lewis/mech_path/Data/MechanismBench/polar.json
54
+ !Experiment/Lewis/mech_path/Data/MechanismBench/radical.json
55
+ !Experiment/Lewis/mech_path/Data/MechanismBench/stereo.json
56
+ !Experiment/Lewis/mech_path/Data/MechanismBench/stereo_branch_coverage.json
57
+ !Experiment/Lewis/mech_path/Data/MechanismBench/stereo_couplings.json
58
+ !Experiment/Lewis/mech_path/Data/MechanismBench/evidence/mechanismbench_evidence.json
59
+ !Experiment/Lewis/mech_path/Data/reconstruction_audit/polar-failures.csv
60
+ !Experiment/Lewis/mech_path/Data/reconstruction_audit/radical-arrow-review.csv
61
+ !Experiment/Lewis/mech_path/Data/reconstruction_audit/radical-failures.csv
62
+ !Experiment/Lewis/rule_replay/Data/bidirectional-replay/results.json
63
+ !Experiment/Lewis/rule_replay/Data/relative-lone-pair/results.json
64
+
65
+ # Stereo benchmark inputs and reproducible reports
66
+ !Experiment/Stereo/Data/**/*.csv
67
+ !Experiment/Stereo/Data/**/*.json
68
+ !Experiment/Stereo/Data/manifest.json
69
+ !Experiment/Stereo/Data/Perception/full_detection_report.json
70
+ !Experiment/Stereo/Data/Perception/perception_conformance_cases.json
71
+
72
+ # Historical reaction-stereo records consumed by experiment audits
73
+ !Experiment/StereoReaction/evidence/stereo_rxn_closeout.json
74
+ !Experiment/StereoReaction/evidence/stereo_rxn_validation.json
75
+
76
+ # Large or reproducible data products
77
+ /Data/Benchmark/*
78
+ !/Data/Benchmark/mech/
79
+ /Data/Benchmark/mech/*
80
+ !/Data/Benchmark/mech/README.md
81
+ !/Data/Benchmark/mech/polar-failures.csv
82
+ !/Data/Benchmark/mech/radical-failures.csv
83
+ !/Data/Benchmark/partial_expand/
84
+ !/Data/Benchmark/partial_expand/**
85
+ /Data/Benchmark/partial_expand/results/
86
+ !/Data/Benchmark/Stereo/
87
+ !/Data/Benchmark/Stereo/**
88
+ /Data/Fragment/*
89
+ /Data/Study/CRN/case_formose/*
90
+ /Data/USPTO/*
91
+ /Experiment/Lewis/Runs/
92
+
93
+ # Generated FLOWER intermediates and long-run evidence
94
+ /Experiment/Lewis/FLOWER/batches/
95
+ /Experiment/Lewis/FLOWER/full_reactions/
96
+ /Experiment/Lewis/FLOWER/replay-debug/
97
+ /Experiment/Lewis/FLOWER/replay-results*/
98
+ /Experiment/Lewis/FLOWER/replay-runs/
99
+ !Experiment/Lewis/FLOWER/full-reaction-batches/manifest.json
100
+ !Experiment/Lewis/FLOWER/full-reaction-replay-summary.json
101
+
102
+ # Resumable local benchmark state
103
+ /Experiment/RBL/*checkpoint*.jsonl
104
+
105
+ # Development and scratch paths
106
+ /Test/Conformance/
107
+ /crn/
108
+ /debug/
109
+ /dev/
110
+ # Manuscripts, evidence, figures, and local cleanup archives
111
+ /paper/
112
+ /sprint/
113
+ /synkit/Graph/dev/
114
+
115
+ # Local one-off scripts and prompts
116
+ .gitignore
117
+ measure_candidate_stages.py
118
+ request.md
119
+ run.sh
120
+ run_rdcanon.py
121
+ run_valid_bug_cases.py
122
+ test_partial.py
123
+ test_run.py
124
+ test_syn.py
125
+ test_syn_reactor.py
126
+
127
+ # Local benchmark outputs and frozen source copies stay local.
128
+ /benchmark_results/
@@ -0,0 +1,13 @@
1
+ BioModels input notice
2
+ ======================
3
+
4
+ The optional interoperability study downloads models from BioModels. The
5
+ BioModels dataset, including encoded models and annotations, is made available
6
+ under the Creative Commons CC0 1.0 Public Domain Dedication:
7
+
8
+ https://www.ebi.ac.uk/biomodels/termsofuse
9
+
10
+ Downloaded model files are cached locally under
11
+ ``Experiment/CRN/data/biomodels`` but are excluded from SynKit distribution
12
+ artifacts. Evidence reports retain identifiers, source URLs, file sizes and
13
+ SHA-256 checksums.
@@ -0,0 +1,15 @@
1
+ KEGG-derived cache notice
2
+ =========================
3
+
4
+ The file ``synkit/CRN/Benchmark/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.
synkit-1.6.3/PKG-INFO ADDED
@@ -0,0 +1,122 @@
1
+ Metadata-Version: 2.4
2
+ Name: synkit
3
+ Version: 1.6.3
4
+ Summary: Utility for reaction modeling using graph grammar
5
+ Project-URL: homepage, https://github.com/TieuLongPhan/SynKit
6
+ Project-URL: source, https://github.com/TieuLongPhan/SynKit
7
+ Project-URL: issues, https://github.com/TieuLongPhan/SynKit/issues
8
+ Project-URL: documentation, https://tieulongphan.github.io/SynKit/
9
+ Author-email: Tieu Long Phan <tieu@bioinf.uni-leipzig.de>
10
+ License-Expression: MIT
11
+ License-File: LICENSE
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Requires-Python: >=3.11
15
+ Requires-Dist: joblib>=1.2.0
16
+ Requires-Dist: matplotlib>=3.9
17
+ Requires-Dist: networkx>=3.3
18
+ Requires-Dist: numpy>=2.2.0
19
+ Requires-Dist: pandas>=2.2.2
20
+ Requires-Dist: pillow
21
+ Requires-Dist: rdkit>=2025.3.1
22
+ Requires-Dist: regex>=2024.11.6
23
+ Requires-Dist: requests>=2.32.3
24
+ Requires-Dist: scikit-learn>=1.4.2
25
+ Requires-Dist: scipy>=1.14.0
26
+ Requires-Dist: seaborn>=0.13.2
27
+ Requires-Dist: tqdm
28
+ Provides-Extra: all
29
+ Requires-Dist: pulp; extra == 'all'
30
+ Requires-Dist: sympy>=1.13.1; extra == 'all'
31
+ Requires-Dist: torch>=2.2.0; extra == 'all'
32
+ Provides-Extra: docs
33
+ Requires-Dist: graphviz; extra == 'docs'
34
+ Requires-Dist: myst-parser; extra == 'docs'
35
+ Requires-Dist: pydata-sphinx-theme; extra == 'docs'
36
+ Requires-Dist: sphinx-copybutton; extra == 'docs'
37
+ Requires-Dist: sphinx-design; extra == 'docs'
38
+ Requires-Dist: sphinx-rtd-theme; extra == 'docs'
39
+ Requires-Dist: sphinx-togglebutton; extra == 'docs'
40
+ Requires-Dist: sphinx>=6.0; extra == 'docs'
41
+ Requires-Dist: sphinxcontrib-bibtex; extra == 'docs'
42
+ Provides-Extra: milp
43
+ Requires-Dist: pulp; extra == 'milp'
44
+ Provides-Extra: test
45
+ Requires-Dist: flake8; extra == 'test'
46
+ Requires-Dist: psutil<8,>=5.9; extra == 'test'
47
+ Requires-Dist: pytest; extra == 'test'
48
+ Description-Content-Type: text/markdown
49
+
50
+ # SynKit
51
+
52
+ [![PyPI version](https://img.shields.io/pypi/v/synkit.svg)](https://pypi.org/project/synkit/)
53
+ [![License](https://img.shields.io/github/license/tieulongphan/synkit.svg)](https://github.com/tieulongphan/synkit/blob/main/LICENSE)
54
+ [![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.15269901.svg)](https://doi.org/10.5281/zenodo.15269901)
55
+ [![CI](https://github.com/tieulongphan/synkit/actions/workflows/test-and-lint.yml/badge.svg?branch=main)](https://github.com/tieulongphan/synkit/actions/workflows/test-and-lint.yml)
56
+
57
+ **Graph-native reaction informatics and executable electron-flow models**
58
+
59
+ SynKit is a Python toolkit for atom mapping, chemical graph transformations,
60
+ reaction rules, stereochemistry, and chemical reaction networks. It also
61
+ represents Lewis-labelled graphs and verifies user-supplied electron-flow
62
+ mechanisms. It does not predict the kinetically or thermodynamically preferred
63
+ mechanism.
64
+
65
+ ![SynKit graphical abstract](https://raw.githubusercontent.com/TieuLongPhan/SynKit/main/Data/Figure/synkit_graphical_abstract.svg)
66
+
67
+ ## Installation
68
+
69
+ Requires Python 3.11 or later.
70
+
71
+ ```bash
72
+ python -m pip install synkit
73
+ ```
74
+
75
+ See [Getting Started](doc/getting_started.rst) for examples, optional
76
+ dependencies, and Docker installation.
77
+
78
+ ## Documentation
79
+
80
+ - [Documentation](https://tieulongphan.github.io/SynKit/)
81
+ - [API reference](https://tieulongphan.github.io/SynKit/api/index.html)
82
+ - [Issue tracker](https://github.com/TieuLongPhan/SynKit/issues)
83
+ - [Changelog](doc/changelog.rst)
84
+
85
+ ## Publications
86
+
87
+ - [Lewis-labeled graphs: curly arrows and fishhooks as executable electron
88
+ transfers](https://arxiv.org/abs/2607.26088), submitted (2026).
89
+ - [SynKit: A Graph-Based Python Framework for Rule-Based Reaction Modeling and
90
+ Analysis](https://pubs.acs.org/doi/full/10.1021/acs.jcim.5c02123), *Journal
91
+ of Chemical Information and Modeling* (2025).
92
+
93
+ ## Contributing
94
+
95
+ Contributions and bug reports are welcome. Create a branch from the current
96
+ mainline, make a focused change, and run the repository checks before opening
97
+ a pull request:
98
+
99
+ ```bash
100
+ git switch -c feature/short-description
101
+ bash scripts/lint.sh
102
+ bash scripts/pytest.sh
103
+ ```
104
+
105
+ Questions can be sent to [tieu@bioinf.uni-leipzig.de](mailto:tieu@bioinf.uni-leipzig.de).
106
+
107
+ ## Contributors
108
+
109
+ - [Tieu-Long Phan](https://tieulongphan.github.io/)
110
+ - [Klaus Weinbauer](https://github.com/klausweinbauer)
111
+ - [Phuoc-Chung Nguyen Van](https://github.com/phuocchung123)
112
+ - [Tuyet-Minh Phan](https://github.com/tuyetminhphan)
113
+
114
+ ## License
115
+
116
+ SynKit is distributed under the MIT License. See [LICENSE](LICENSE).
117
+
118
+ ## Acknowledgments
119
+
120
+ This project received funding from the European Union’s Horizon Europe
121
+ Doctoral Network programme under Marie Skłodowska-Curie grant agreement
122
+ No. 101072930 ([TACsy](https://tacsy.eu/)).
synkit-1.6.3/README.md ADDED
@@ -0,0 +1,73 @@
1
+ # SynKit
2
+
3
+ [![PyPI version](https://img.shields.io/pypi/v/synkit.svg)](https://pypi.org/project/synkit/)
4
+ [![License](https://img.shields.io/github/license/tieulongphan/synkit.svg)](https://github.com/tieulongphan/synkit/blob/main/LICENSE)
5
+ [![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.15269901.svg)](https://doi.org/10.5281/zenodo.15269901)
6
+ [![CI](https://github.com/tieulongphan/synkit/actions/workflows/test-and-lint.yml/badge.svg?branch=main)](https://github.com/tieulongphan/synkit/actions/workflows/test-and-lint.yml)
7
+
8
+ **Graph-native reaction informatics and executable electron-flow models**
9
+
10
+ SynKit is a Python toolkit for atom mapping, chemical graph transformations,
11
+ reaction rules, stereochemistry, and chemical reaction networks. It also
12
+ represents Lewis-labelled graphs and verifies user-supplied electron-flow
13
+ mechanisms. It does not predict the kinetically or thermodynamically preferred
14
+ mechanism.
15
+
16
+ ![SynKit graphical abstract](https://raw.githubusercontent.com/TieuLongPhan/SynKit/main/Data/Figure/synkit_graphical_abstract.svg)
17
+
18
+ ## Installation
19
+
20
+ Requires Python 3.11 or later.
21
+
22
+ ```bash
23
+ python -m pip install synkit
24
+ ```
25
+
26
+ See [Getting Started](doc/getting_started.rst) for examples, optional
27
+ dependencies, and Docker installation.
28
+
29
+ ## Documentation
30
+
31
+ - [Documentation](https://tieulongphan.github.io/SynKit/)
32
+ - [API reference](https://tieulongphan.github.io/SynKit/api/index.html)
33
+ - [Issue tracker](https://github.com/TieuLongPhan/SynKit/issues)
34
+ - [Changelog](doc/changelog.rst)
35
+
36
+ ## Publications
37
+
38
+ - [Lewis-labeled graphs: curly arrows and fishhooks as executable electron
39
+ transfers](https://arxiv.org/abs/2607.26088), submitted (2026).
40
+ - [SynKit: A Graph-Based Python Framework for Rule-Based Reaction Modeling and
41
+ Analysis](https://pubs.acs.org/doi/full/10.1021/acs.jcim.5c02123), *Journal
42
+ of Chemical Information and Modeling* (2025).
43
+
44
+ ## Contributing
45
+
46
+ Contributions and bug reports are welcome. Create a branch from the current
47
+ mainline, make a focused change, and run the repository checks before opening
48
+ a pull request:
49
+
50
+ ```bash
51
+ git switch -c feature/short-description
52
+ bash scripts/lint.sh
53
+ bash scripts/pytest.sh
54
+ ```
55
+
56
+ Questions can be sent to [tieu@bioinf.uni-leipzig.de](mailto:tieu@bioinf.uni-leipzig.de).
57
+
58
+ ## Contributors
59
+
60
+ - [Tieu-Long Phan](https://tieulongphan.github.io/)
61
+ - [Klaus Weinbauer](https://github.com/klausweinbauer)
62
+ - [Phuoc-Chung Nguyen Van](https://github.com/phuocchung123)
63
+ - [Tuyet-Minh Phan](https://github.com/tuyetminhphan)
64
+
65
+ ## License
66
+
67
+ SynKit is distributed under the MIT License. See [LICENSE](LICENSE).
68
+
69
+ ## Acknowledgments
70
+
71
+ This project received funding from the European Union’s Horizon Europe
72
+ Doctoral Network programme under Marie Skłodowska-Curie grant agreement
73
+ No. 101072930 ([TACsy](https://tacsy.eu/)).
@@ -1,36 +1,42 @@
1
1
  [build-system]
2
- requires = ["hatchling"]
2
+ requires = ["hatchling>=1.27.0"]
3
3
  build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "synkit"
7
- version = "1.6.2b1"
7
+ version = "1.6.3"
8
8
  description = "Utility for reaction modeling using graph grammar"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
11
- license = { text = "MIT" }
11
+ license = "MIT"
12
12
  license-files = ["LICENSE", "synkit/Graph/Stereo/LICENSES/*"]
13
13
  authors = [
14
14
  { name = "Tieu Long Phan", email = "tieu@bioinf.uni-leipzig.de" }
15
15
  ]
16
16
  classifiers = [
17
17
  "Programming Language :: Python :: 3",
18
- "License :: OSI Approved :: MIT License",
19
18
  "Operating System :: OS Independent",
20
19
  ]
21
20
  dependencies = [
22
- "scikit-learn>=1.4.0",
23
- "pandas>=1.5.3",
21
+ "numpy>=2.2.0",
22
+ "scikit-learn>=1.4.2",
23
+ "pandas>=2.2.2",
24
24
  "rdkit>=2025.3.1",
25
25
  "networkx>=3.3",
26
26
  "scipy>=1.14.0",
27
27
  "seaborn>=0.13.2",
28
28
  "requests>=2.32.3",
29
29
  "regex>=2024.11.6",
30
+ "joblib>=1.2.0",
31
+ "matplotlib>=3.9",
32
+ "pillow",
33
+ "tqdm",
30
34
  ]
31
35
 
32
36
  [project.optional-dependencies]
33
- all = ["numpy>=2.2.0", "torch>=2.2.0", "sympy>=1.13.1"]
37
+ test = ["flake8", "pytest", "psutil>=5.9,<8"]
38
+ milp = ["pulp"]
39
+ all = ["torch>=2.2.0", "sympy>=1.13.1", "pulp"]
34
40
  docs = [
35
41
  # Core Sphinx
36
42
  "sphinx>=6.0",
@@ -65,22 +71,26 @@ packages = ["synkit"]
65
71
  core-metadata-version = "2.4"
66
72
 
67
73
  [tool.hatch.build.targets.wheel.force-include]
74
+ "synkit/Chem/Mapper/exact/native/native_distance.cpp" = "synkit/Chem/Mapper/exact/native/native_distance.cpp"
68
75
  "synkit/Data/aldol.json.gz" = "synkit/Data/aldol.json.gz"
69
76
  "synkit/Data/paracetamol.json.gz" = "synkit/Data/paracetamol.json.gz"
77
+ "synkit/CRN/Benchmark/data/kegg_modules.json" = "synkit/CRN/Benchmark/data/kegg_modules.json"
70
78
 
71
79
  [tool.hatch.build.targets.sdist]
72
80
  core-metadata-version = "2.4"
73
81
  include = [
74
82
  "/synkit",
75
83
  "/LICENSE",
76
- "/LICENSES",
84
+ "/Experiment/CRN/LICENSES",
77
85
  "/README.md",
78
86
  "/pyproject.toml",
79
87
  ]
80
88
 
81
89
  [tool.hatch.build.targets.sdist.force-include]
90
+ "synkit/Chem/Mapper/exact/native/native_distance.cpp" = "synkit/Chem/Mapper/exact/native/native_distance.cpp"
82
91
  "synkit/Data/aldol.json.gz" = "synkit/Data/aldol.json.gz"
83
92
  "synkit/Data/paracetamol.json.gz" = "synkit/Data/paracetamol.json.gz"
93
+ "synkit/CRN/Benchmark/data/kegg_modules.json" = "synkit/CRN/Benchmark/data/kegg_modules.json"
84
94
 
85
95
  [tool.coverage.run]
86
96
  source = ["synkit"]
@@ -0,0 +1,104 @@
1
+ """Benchmark, validation and case-study material for :mod:`synkit.CRN`.
2
+
3
+ The package includes:
4
+
5
+ - **A validation set** (:mod:`~synkit.CRN.Benchmark.networks`,
6
+ :mod:`~synkit.CRN.Benchmark.validate`) — literature and regression networks
7
+ with the structural verdicts they must reproduce, each quantity additionally
8
+ recomputed by an independent route from
9
+ :mod:`~synkit.CRN.Benchmark.crosschecks`.
10
+ - **A scaling benchmark** (:mod:`~synkit.CRN.Benchmark.scaling`) — wall-clock
11
+ timings of the analysis stack against network size.
12
+ - **A metabolic case study** (:mod:`~synkit.CRN.Benchmark.kegg`) — cached KEGG
13
+ modules processed from pathway retrieval through
14
+ conservation laws, persistence and flux realizability.
15
+
16
+ .. rubric:: Example
17
+
18
+ .. code-block:: python
19
+
20
+ from synkit.CRN.Benchmark import run_validation, validation_table
21
+
22
+ print(validation_table(run_validation()))
23
+ """
24
+
25
+ from __future__ import annotations
26
+
27
+ from .networks import (
28
+ BENCHMARK_NETWORKS,
29
+ BenchmarkNetwork,
30
+ get_network,
31
+ network_names,
32
+ )
33
+ from .crosschecks import (
34
+ brute_force_siphons,
35
+ check_conservation_laws,
36
+ check_semiflows,
37
+ deficiency_by_rank_identity,
38
+ persistence_by_brute_force,
39
+ rank_by_svd,
40
+ )
41
+ from .scaling import (
42
+ NETWORK_FAMILIES,
43
+ ScalingRecord,
44
+ TASKS,
45
+ generate_network,
46
+ run_scaling_benchmark,
47
+ scaling_table,
48
+ )
49
+ from .kegg import (
50
+ CASE_STUDY_MODULES,
51
+ GLYCOLYSIS_FLUX,
52
+ KeggModuleAnalysis,
53
+ analyze_kegg_module,
54
+ build_kegg_crn,
55
+ check_glycolysis_flux,
56
+ kegg_case_study_report,
57
+ load_kegg_cache,
58
+ module_ids,
59
+ )
60
+ from .validate import (
61
+ NetworkValidation,
62
+ ValidationReport,
63
+ run_validation,
64
+ validate_network,
65
+ validation_table,
66
+ )
67
+
68
+ __all__ = [
69
+ # networks
70
+ "BENCHMARK_NETWORKS",
71
+ "BenchmarkNetwork",
72
+ "get_network",
73
+ "network_names",
74
+ # independent cross-checks
75
+ "brute_force_siphons",
76
+ "check_conservation_laws",
77
+ "check_semiflows",
78
+ "deficiency_by_rank_identity",
79
+ "persistence_by_brute_force",
80
+ "rank_by_svd",
81
+ # scaling benchmark
82
+ "NETWORK_FAMILIES",
83
+ "ScalingRecord",
84
+ "TASKS",
85
+ "generate_network",
86
+ "run_scaling_benchmark",
87
+ "scaling_table",
88
+ # KEGG case study
89
+ "CASE_STUDY_MODULES",
90
+ "GLYCOLYSIS_FLUX",
91
+ "KeggModuleAnalysis",
92
+ "analyze_kegg_module",
93
+ "build_kegg_crn",
94
+ "check_glycolysis_flux",
95
+ "kegg_case_study_report",
96
+ "load_kegg_cache",
97
+ "module_ids",
98
+ # validation
99
+ "NetworkValidation",
100
+ "ValidationReport",
101
+ "run_validation",
102
+ "validate_network",
103
+ "validation_table",
104
+ ]