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.
- synkit-1.7.0/.gitignore +154 -0
- synkit-1.7.0/CMakeLists.txt +28 -0
- synkit-1.7.0/Experiment/CRN/LICENSES/KEGG.txt +15 -0
- synkit-1.7.0/Experiment/CRN/__init__.py +5 -0
- synkit-1.7.0/Experiment/CRN/environments/crn-1.7.0-linux.constraints.txt +21 -0
- synkit-1.7.0/Experiment/CRN/environments/crnt4sbml-requirements.txt +26 -0
- synkit-1.7.0/Experiment/CRN/environments/formose-dpo.rst +80 -0
- synkit-1.7.0/Experiment/CRN/environments/mod-environment.yml +7 -0
- synkit-1.7.0/Experiment/CRN/environments/molfoundry-requirements.txt +3 -0
- synkit-1.7.0/Experiment/CRN/notebooks/crn_glycolysis_case_study.ipynb +226 -0
- synkit-1.7.0/Experiment/CRN/run_all.py +256 -0
- synkit-1.7.0/Experiment/CRN/studies/__init__.py +77 -0
- synkit-1.7.0/Experiment/CRN/studies/biomodels.py +392 -0
- synkit-1.7.0/Experiment/CRN/studies/crosschecks.py +366 -0
- synkit-1.7.0/Experiment/CRN/studies/external_crnt4sbml.py +184 -0
- synkit-1.7.0/Experiment/CRN/studies/formose_case_study.py +346 -0
- synkit-1.7.0/Experiment/CRN/studies/formose_dpo.py +478 -0
- synkit-1.7.0/Experiment/CRN/studies/glycolysis.py +25 -0
- synkit-1.7.0/Experiment/CRN/studies/glycolysis_donors.py +110 -0
- synkit-1.7.0/Experiment/CRN/studies/hydrogen_accounting.py +244 -0
- synkit-1.7.0/Experiment/CRN/studies/kegg.py +677 -0
- synkit-1.7.0/Experiment/CRN/studies/networks.py +452 -0
- synkit-1.7.0/Experiment/CRN/studies/participant_conventions.py +271 -0
- synkit-1.7.0/Experiment/CRN/studies/representation.py +304 -0
- synkit-1.7.0/Experiment/CRN/studies/sbml_reference.py +253 -0
- synkit-1.7.0/Experiment/CRN/studies/scaling.py +694 -0
- synkit-1.7.0/Experiment/CRN/studies/supplementary.py +249 -0
- synkit-1.7.0/Experiment/CRN/studies/validation.py +479 -0
- synkit-1.7.0/Experiment/CRN/tests/conftest.py +22 -0
- synkit-1.7.0/Experiment/CRN/tests/test_biomodels_limits.py +33 -0
- synkit-1.7.0/Experiment/CRN/tests/test_external_crnt4sbml.py +46 -0
- synkit-1.7.0/Experiment/CRN/tests/test_formose_dpo.py +99 -0
- synkit-1.7.0/Experiment/CRN/tests/test_formose_generation.py +79 -0
- synkit-1.7.0/Experiment/CRN/tests/test_inventory_controls.py +29 -0
- synkit-1.7.0/Experiment/CRN/tests/test_kegg_case_study.py +149 -0
- synkit-1.7.0/Experiment/CRN/tests/test_participant_conventions.py +153 -0
- synkit-1.7.0/Experiment/CRN/tests/test_reports.py +63 -0
- synkit-1.7.0/Experiment/CRN/tests/test_reproducibility.py +198 -0
- synkit-1.7.0/Experiment/CRN/tests/test_scaling.py +268 -0
- synkit-1.7.0/Experiment/CRN/tests/test_validation.py +138 -0
- synkit-1.7.0/Experiment/CRN/tools/backends.py +302 -0
- synkit-1.7.0/Experiment/CRN/tools/check_reports.py +102 -0
- synkit-1.7.0/Experiment/CRN/tools/common.py +380 -0
- synkit-1.7.0/Experiment/CRN/tools/formose_dpo_worker.py +142 -0
- synkit-1.7.0/Experiment/CRN/tools/refresh_kegg_cache.py +133 -0
- synkit-1.7.0/Experiment/CRN/tools/reports.py +75 -0
- synkit-1.7.0/Experiment/__init__.py +1 -0
- synkit-1.7.0/PKG-INFO +133 -0
- synkit-1.7.0/README.md +78 -0
- synkit-1.7.0/doc/api/crn.rst +250 -0
- synkit-1.7.0/doc/api/rule.rst +99 -0
- synkit-1.7.0/doc/api/synthesis.rst +101 -0
- synkit-1.7.0/doc/changelog.rst +62 -0
- synkit-1.7.0/doc/crn.rst +532 -0
- synkit-1.7.0/doc/getting_started.rst +204 -0
- synkit-1.7.0/doc/rule.rst +151 -0
- synkit-1.7.0/doc/synthesis.rst +495 -0
- synkit-1.7.0/hatch_build.py +139 -0
- synkit-1.7.0/pyproject.toml +127 -0
- synkit-1.7.0/scripts/check_package_artifacts.py +428 -0
- synkit-1.7.0/synkit/CRN/Construct/__init__.py +34 -0
- synkit-1.7.0/synkit/CRN/Construct/abstract.py +658 -0
- synkit-1.7.0/synkit/CRN/Construct/builder.py +857 -0
- synkit-1.7.0/synkit/CRN/Construct/cpp/CMakeLists.txt +21 -0
- synkit-1.7.0/synkit/CRN/Construct/cpp/expand.cpp +878 -0
- synkit-1.7.0/synkit/CRN/Construct/dpo_cpp/CMakeLists.txt +16 -0
- synkit-1.7.0/synkit/CRN/Construct/dpo_cpp/expand.cpp +743 -0
- synkit-1.7.0/synkit/CRN/Construct/dpo_worker.py +131 -0
- synkit-1.7.0/synkit/CRN/Construct/mixtures.py +109 -0
- synkit-1.7.0/synkit/CRN/Construct/native_dpo.py +282 -0
- synkit-1.7.0/synkit/CRN/Construct/native_expand.py +292 -0
- synkit-1.7.0/synkit/CRN/Construct/rdkit_worker.py +65 -0
- synkit-1.7.0/synkit/CRN/IO/sbml.py +984 -0
- synkit-1.7.0/synkit/CRN/Pathway/_adapter.py +328 -0
- synkit-1.7.0/synkit/CRN/Pathway/pathfinder.py +482 -0
- synkit-1.7.0/synkit/CRN/Pathway/reachability.py +780 -0
- synkit-1.7.0/synkit/CRN/Pathway/realizability.py +1288 -0
- synkit-1.7.0/synkit/CRN/Petrinet/analyzer.py +459 -0
- synkit-1.7.0/synkit/CRN/Petrinet/minimal_semiflows.py +422 -0
- synkit-1.7.0/synkit/CRN/Petrinet/net.py +1021 -0
- synkit-1.7.0/synkit/CRN/Petrinet/persistence.py +91 -0
- synkit-1.7.0/synkit/CRN/Petrinet/semiflows.py +481 -0
- synkit-1.7.0/synkit/CRN/Petrinet/siphon_search.py +409 -0
- synkit-1.7.0/synkit/CRN/Petrinet/structure.py +295 -0
- synkit-1.7.0/synkit/CRN/Props/_rank.py +27 -0
- synkit-1.7.0/synkit/CRN/Props/deficiency.py +919 -0
- synkit-1.7.0/synkit/CRN/Props/dynamics.py +827 -0
- synkit-1.7.0/synkit/CRN/Props/helper.py +149 -0
- synkit-1.7.0/synkit/CRN/Props/stoich.py +729 -0
- synkit-1.7.0/synkit/CRN/Props/thermo.py +586 -0
- synkit-1.7.0/synkit/CRN/Query/cache.py +36 -0
- synkit-1.7.0/synkit/CRN/Query/kegg_extract.py +690 -0
- synkit-1.7.0/synkit/CRN/Query/kegg_impute.py +690 -0
- synkit-1.7.0/synkit/CRN/Query/kegg_parse.py +478 -0
- synkit-1.7.0/synkit/CRN/README.md +247 -0
- synkit-1.7.0/synkit/CRN/Structure/_graph_io.py +687 -0
- synkit-1.7.0/synkit/CRN/Structure/_matrices.py +86 -0
- synkit-1.7.0/synkit/CRN/Structure/_parse.py +528 -0
- synkit-1.7.0/synkit/CRN/Structure/reaction.py +229 -0
- synkit-1.7.0/synkit/CRN/Structure/syncrn.py +914 -0
- synkit-1.7.0/synkit/CRN/Symmetry/_common.py +1041 -0
- synkit-1.7.0/synkit/CRN/Symmetry/_ir.py +908 -0
- synkit-1.7.0/synkit/CRN/Symmetry/automorphism.py +460 -0
- synkit-1.7.0/synkit/CRN/Symmetry/canon.py +427 -0
- synkit-1.7.0/synkit/CRN/Symmetry/isomorphism.py +399 -0
- synkit-1.7.0/synkit/CRN/Symmetry/wl_canon.py +959 -0
- synkit-1.7.0/synkit/CRN/Visualize/labels.py +103 -0
- synkit-1.7.0/synkit/CRN/Visualize/layout.py +702 -0
- synkit-1.7.0/synkit/CRN/Visualize/palette.py +290 -0
- synkit-1.7.0/synkit/CRN/Visualize/validation.py +115 -0
- synkit-1.7.0/synkit/CRN/Visualize/vis.py +1122 -0
- synkit-1.7.0/synkit/CRN/_build.py +48 -0
- synkit-1.7.0/synkit/CRN/_native_build.py +218 -0
- synkit-1.7.0/synkit/CRN/analysis.py +555 -0
- synkit-1.7.0/synkit/CRN/cpp/CMakeLists.txt +58 -0
- synkit-1.7.0/synkit/CRN/native.py +352 -0
- synkit-1.7.0/synkit/CRN/native_analysis.py +441 -0
- synkit-1.7.0/synkit/Chem/Mapper/README.rst +56 -0
- synkit-1.7.0/synkit/Chem/Mapper/solvers/exact/distance_search/records.py +246 -0
- synkit-1.7.0/synkit/Chem/Mapper/solvers/native/core.py +381 -0
- synkit-1.7.0/synkit/Chem/Mapper/solvers/native/cpp/CMakeLists.txt +120 -0
- synkit-1.7.0/synkit/Chem/Molecule/cip_assignment.py +484 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/CMakeLists.txt +102 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/README.md +433 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/examples/rdkit_preparation.cpp +162 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/examples/rdkit_preparation.hpp +4 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/examples/run_experiment.cmake +48 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/examples/run_scientific_pipeline.cmake +61 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/examples/science_experiments.cpp +422 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/examples/stereo_compare.cpp +34 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/examples/stereo_conformance.cpp +124 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/examples/stereo_experiments.cpp +330 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/examples/three_center.h +48 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/canon.h +86 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/configured.hpp +97 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/rdkit.hpp +9 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/science.hpp +37 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/stereo.h +73 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/include/synkit_canon/stereo.hpp +83 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/arrangements.cpp +42 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/canonical.cpp +394 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/configured.cpp +482 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/cip.cpp +308 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/coordinate_assistance.cpp +90 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/coordinates.cpp +159 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/coordination.cpp +116 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/global.cpp +83 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/local_orders.cpp +101 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/science/perception.cpp +269 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/stereo_groups.h +119 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/src/stereo_match.cpp +400 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/tests/configured.cpp +107 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/tests/rdkit_preparation.cpp +42 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/tests/science.cpp +74 -0
- synkit-1.7.0/synkit/Graph/Canon/cpp/tests/stereo_match.cpp +320 -0
- synkit-1.7.0/synkit/Graph/Fusion/__init__.py +4 -0
- synkit-1.7.0/synkit/Graph/Fusion/candidate.py +6 -0
- synkit-1.7.0/synkit/Graph/Fusion/constructor.py +6 -0
- synkit-1.7.0/synkit/Graph/Fusion/identity.py +6 -0
- synkit-1.7.0/synkit/Graph/Fusion/interface.py +6 -0
- synkit-1.7.0/synkit/Graph/Fusion/search.py +6 -0
- synkit-1.7.0/synkit/Graph/Matcher/partial_matcher.py +679 -0
- synkit-1.7.0/synkit/Graph/Matcher/subgraph_matcher.py +764 -0
- synkit-1.7.0/synkit/Graph/Morphism/llg.py +1111 -0
- synkit-1.7.0/synkit/Graph/Morphism/morphism.py +358 -0
- synkit-1.7.0/synkit/Graph/Stereo/_geometry_groups.py +62 -0
- synkit-1.7.0/synkit/Graph/Stereo/canonical.py +646 -0
- synkit-1.7.0/synkit/Graph/Stereo/descriptors.py +978 -0
- synkit-1.7.0/synkit/Graph/Stereo/legacy.py +450 -0
- synkit-1.7.0/synkit/Graph/Stereo/native.py +154 -0
- synkit-1.7.0/synkit/Graph/Stereo/orbits.py +560 -0
- synkit-1.7.0/synkit/Graph/identity.py +184 -0
- synkit-1.7.0/synkit/Rule/Apply/dpo.py +968 -0
- synkit-1.7.0/synkit/Rule/Compose/__init__.py +108 -0
- synkit-1.7.0/synkit/Rule/Compose/composition.py +976 -0
- synkit-1.7.0/synkit/Rule/Compose/laws.py +439 -0
- synkit-1.7.0/synkit/Rule/Compose/resources.py +50 -0
- synkit-1.7.0/synkit/Rule/Compose/synrule.py +182 -0
- synkit-1.7.0/synkit/Rule/Fusion/__init__.py +85 -0
- synkit-1.7.0/synkit/Rule/Fusion/candidate.py +559 -0
- synkit-1.7.0/synkit/Rule/Fusion/constructor.py +877 -0
- synkit-1.7.0/synkit/Rule/Fusion/interface.py +700 -0
- synkit-1.7.0/synkit/Rule/Fusion/search.py +241 -0
- synkit-1.7.0/synkit/Rule/__init__.py +38 -0
- synkit-1.7.0/synkit/Rule/stereo_identity.py +253 -0
- synkit-1.7.0/synkit/Rule/syn_rule.py +981 -0
- synkit-1.7.0/synkit/Rule/wildcard.py +342 -0
- synkit-1.7.0/synkit/Synthesis/RBL/engine.py +1249 -0
- synkit-1.7.0/synkit/Synthesis/RBL/matching.py +652 -0
- synkit-1.7.0/synkit/Synthesis/RBL/overlap.py +336 -0
- synkit-1.7.0/synkit/Synthesis/RBL/proof.py +370 -0
- synkit-1.7.0/synkit/Synthesis/RBL/state.py +169 -0
- synkit-1.7.0/synkit/Synthesis/RBL/validation.py +1060 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/__init__.py +66 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/_native/__init__.py +5 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/_native/build.py +120 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/_native/runtime.py +541 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/core/completion.py +319 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/core/engine.py +1001 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/core/product.py +583 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/core/rewrite.py +542 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/cpp/CMakeLists.txt +47 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/cpp/include/synkit_partial/partial.h +103 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/cpp/src/partial.cpp +751 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/cpp/tests/partial.cpp +391 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/matching/mixin.py +892 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/matching/observation.py +104 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/matching/policy.py +317 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/matching/symmetry.py +281 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/matching/wildcard.py +237 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/output/deduplication.py +666 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/output/policy.py +14 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/output/serialization.py +460 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/output/structural.py +810 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/stereo/assignment.py +33 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/stereo/mixin.py +714 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/variants/imbalanced.py +177 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/variants/partial.py +88 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/variants/wildcard.py +196 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/workflow/batch.py +515 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/workflow/benchmark.py +139 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/workflow/postprocess.py +251 -0
- synkit-1.7.0/synkit/Synthesis/Reactor/workflow/rule_filter.py +205 -0
- synkit-1.7.0/synkit/Utils/__init__.py +0 -0
- synkit-1.7.0/synkit/version.py +23 -0
- synkit-1.6.5/.gitignore +0 -148
- synkit-1.6.5/CMakeLists.txt +0 -23
- synkit-1.6.5/Experiment/CRN/AGENTS.md +0 -13
- synkit-1.6.5/Experiment/CRN/LICENSES/KEGG.txt +0 -15
- synkit-1.6.5/Experiment/CRN/__init__.py +0 -6
- synkit-1.6.5/Experiment/CRN/benchmarks/__init__.py +0 -104
- synkit-1.6.5/Experiment/CRN/benchmarks/backends.py +0 -332
- synkit-1.6.5/Experiment/CRN/benchmarks/crosschecks.py +0 -374
- synkit-1.6.5/Experiment/CRN/benchmarks/glycolysis.py +0 -27
- synkit-1.6.5/Experiment/CRN/benchmarks/kegg.py +0 -638
- synkit-1.6.5/Experiment/CRN/benchmarks/networks.py +0 -455
- synkit-1.6.5/Experiment/CRN/benchmarks/scaling.py +0 -614
- synkit-1.6.5/Experiment/CRN/benchmarks/validate.py +0 -423
- synkit-1.6.5/Experiment/CRN/environments/crnt4sbml-requirements.txt +0 -26
- synkit-1.6.5/Experiment/CRN/notebooks/crn_glycolysis_case_study.ipynb +0 -226
- synkit-1.6.5/Experiment/CRN/run_all.py +0 -272
- synkit-1.6.5/Experiment/CRN/studies/__init__.py +0 -1
- synkit-1.6.5/Experiment/CRN/studies/biomodels.py +0 -405
- synkit-1.6.5/Experiment/CRN/studies/external_crnt4sbml.py +0 -198
- synkit-1.6.5/Experiment/CRN/studies/formose_case_study.py +0 -276
- synkit-1.6.5/Experiment/CRN/studies/glycolysis_donors.py +0 -126
- synkit-1.6.5/Experiment/CRN/studies/kegg_case_study.py +0 -177
- synkit-1.6.5/Experiment/CRN/studies/representation.py +0 -239
- synkit-1.6.5/Experiment/CRN/studies/scaling.py +0 -166
- synkit-1.6.5/Experiment/CRN/studies/supplementary.py +0 -249
- synkit-1.6.5/Experiment/CRN/studies/validation.py +0 -123
- synkit-1.6.5/Experiment/CRN/tools/check_reports.py +0 -100
- synkit-1.6.5/Experiment/CRN/tools/common.py +0 -271
- synkit-1.6.5/Experiment/CRN/tools/refresh_kegg_cache.py +0 -136
- synkit-1.6.5/PKG-INFO +0 -156
- synkit-1.6.5/README.md +0 -102
- synkit-1.6.5/doc/api/crn.rst +0 -248
- synkit-1.6.5/doc/api/rule.rst +0 -65
- synkit-1.6.5/doc/api/synthesis.rst +0 -97
- synkit-1.6.5/doc/changelog.rst +0 -447
- synkit-1.6.5/doc/crn.rst +0 -512
- synkit-1.6.5/doc/getting_started.rst +0 -190
- synkit-1.6.5/doc/rule.rst +0 -106
- synkit-1.6.5/doc/synthesis.rst +0 -432
- synkit-1.6.5/hatch_build.py +0 -138
- synkit-1.6.5/pyproject.toml +0 -128
- synkit-1.6.5/scripts/check_package_artifacts.py +0 -385
- synkit-1.6.5/synkit/CRN/Benchmark/__init__.py +0 -53
- synkit-1.6.5/synkit/CRN/Benchmark/crosschecks.py +0 -13
- synkit-1.6.5/synkit/CRN/Benchmark/kegg.py +0 -12
- synkit-1.6.5/synkit/CRN/Benchmark/networks.py +0 -13
- synkit-1.6.5/synkit/CRN/Benchmark/scaling.py +0 -13
- synkit-1.6.5/synkit/CRN/Benchmark/validate.py +0 -13
- synkit-1.6.5/synkit/CRN/Construct/__init__.py +0 -16
- synkit-1.6.5/synkit/CRN/Construct/abstract.py +0 -668
- synkit-1.6.5/synkit/CRN/Construct/builder.py +0 -619
- synkit-1.6.5/synkit/CRN/Construct/mixtures.py +0 -117
- synkit-1.6.5/synkit/CRN/Construct/rdkit_worker.py +0 -69
- synkit-1.6.5/synkit/CRN/IO/sbml.py +0 -925
- synkit-1.6.5/synkit/CRN/Pathway/_adapter.py +0 -333
- synkit-1.6.5/synkit/CRN/Pathway/pathfinder.py +0 -500
- synkit-1.6.5/synkit/CRN/Pathway/reachability.py +0 -796
- synkit-1.6.5/synkit/CRN/Pathway/realizability.py +0 -1322
- synkit-1.6.5/synkit/CRN/Petrinet/analyzer.py +0 -486
- synkit-1.6.5/synkit/CRN/Petrinet/minimal_semiflows.py +0 -436
- synkit-1.6.5/synkit/CRN/Petrinet/net.py +0 -1041
- synkit-1.6.5/synkit/CRN/Petrinet/persistence.py +0 -97
- synkit-1.6.5/synkit/CRN/Petrinet/semiflows.py +0 -483
- synkit-1.6.5/synkit/CRN/Petrinet/siphon_search.py +0 -402
- synkit-1.6.5/synkit/CRN/Petrinet/structure.py +0 -286
- synkit-1.6.5/synkit/CRN/Props/_rank.py +0 -29
- synkit-1.6.5/synkit/CRN/Props/deficiency.py +0 -953
- synkit-1.6.5/synkit/CRN/Props/dynamics.py +0 -832
- synkit-1.6.5/synkit/CRN/Props/helper.py +0 -151
- synkit-1.6.5/synkit/CRN/Props/stoich.py +0 -751
- synkit-1.6.5/synkit/CRN/Props/thermo.py +0 -584
- synkit-1.6.5/synkit/CRN/Query/cache.py +0 -41
- synkit-1.6.5/synkit/CRN/Query/kegg_extract.py +0 -714
- synkit-1.6.5/synkit/CRN/Query/kegg_impute.py +0 -707
- synkit-1.6.5/synkit/CRN/Query/kegg_parse.py +0 -480
- synkit-1.6.5/synkit/CRN/README.md +0 -234
- synkit-1.6.5/synkit/CRN/Structure/_graph_io.py +0 -713
- synkit-1.6.5/synkit/CRN/Structure/_matrices.py +0 -88
- synkit-1.6.5/synkit/CRN/Structure/_parse.py +0 -544
- synkit-1.6.5/synkit/CRN/Structure/reaction.py +0 -237
- synkit-1.6.5/synkit/CRN/Structure/syncrn.py +0 -929
- synkit-1.6.5/synkit/CRN/Symmetry/_common.py +0 -1059
- synkit-1.6.5/synkit/CRN/Symmetry/_ir.py +0 -940
- synkit-1.6.5/synkit/CRN/Symmetry/automorphism.py +0 -472
- synkit-1.6.5/synkit/CRN/Symmetry/canon.py +0 -441
- synkit-1.6.5/synkit/CRN/Symmetry/isomorphism.py +0 -412
- synkit-1.6.5/synkit/CRN/Symmetry/wl_canon.py +0 -967
- synkit-1.6.5/synkit/CRN/Visualize/labels.py +0 -113
- synkit-1.6.5/synkit/CRN/Visualize/layout.py +0 -708
- synkit-1.6.5/synkit/CRN/Visualize/palette.py +0 -292
- synkit-1.6.5/synkit/CRN/Visualize/validation.py +0 -122
- synkit-1.6.5/synkit/CRN/Visualize/vis.py +0 -1152
- synkit-1.6.5/synkit/CRN/_build.py +0 -50
- synkit-1.6.5/synkit/CRN/_native_build.py +0 -175
- synkit-1.6.5/synkit/CRN/analysis.py +0 -629
- synkit-1.6.5/synkit/CRN/cpp/CMakeLists.txt +0 -58
- synkit-1.6.5/synkit/CRN/native.py +0 -388
- synkit-1.6.5/synkit/CRN/native_analysis.py +0 -459
- synkit-1.6.5/synkit/Chem/Mapper/README.rst +0 -43
- synkit-1.6.5/synkit/Chem/Mapper/solvers/exact/distance_search/records.py +0 -242
- synkit-1.6.5/synkit/Chem/Mapper/solvers/native/core.py +0 -378
- synkit-1.6.5/synkit/Chem/Mapper/solvers/native/cpp/CMakeLists.txt +0 -120
- synkit-1.6.5/synkit/Chem/Molecule/cip_assignment.py +0 -569
- synkit-1.6.5/synkit/Graph/Canon/cpp/CMakeLists.txt +0 -42
- synkit-1.6.5/synkit/Graph/Canon/cpp/README.md +0 -123
- synkit-1.6.5/synkit/Graph/Canon/cpp/include/synkit_canon/canon.h +0 -85
- synkit-1.6.5/synkit/Graph/Canon/cpp/src/canonical.cpp +0 -391
- synkit-1.6.5/synkit/Graph/Fusion/__init__.py +0 -85
- synkit-1.6.5/synkit/Graph/Fusion/candidate.py +0 -559
- synkit-1.6.5/synkit/Graph/Fusion/constructor.py +0 -877
- synkit-1.6.5/synkit/Graph/Fusion/identity.py +0 -184
- synkit-1.6.5/synkit/Graph/Fusion/interface.py +0 -700
- synkit-1.6.5/synkit/Graph/Fusion/search.py +0 -241
- synkit-1.6.5/synkit/Graph/Matcher/partial_matcher.py +0 -694
- synkit-1.6.5/synkit/Graph/Matcher/subgraph_matcher.py +0 -812
- synkit-1.6.5/synkit/Graph/Morphism/llg.py +0 -999
- synkit-1.6.5/synkit/Graph/Morphism/morphism.py +0 -349
- synkit-1.6.5/synkit/Graph/Stereo/canonical.py +0 -648
- synkit-1.6.5/synkit/Graph/Stereo/descriptors.py +0 -1030
- synkit-1.6.5/synkit/Graph/Stereo/legacy.py +0 -460
- synkit-1.6.5/synkit/Graph/Stereo/native.py +0 -154
- synkit-1.6.5/synkit/Graph/Stereo/orbits.py +0 -668
- synkit-1.6.5/synkit/Rule/Apply/dpo.py +0 -998
- synkit-1.6.5/synkit/Rule/Compose/__init__.py +0 -106
- synkit-1.6.5/synkit/Rule/Compose/composition.py +0 -976
- synkit-1.6.5/synkit/Rule/Compose/laws.py +0 -439
- synkit-1.6.5/synkit/Rule/Compose/synrule.py +0 -170
- synkit-1.6.5/synkit/Rule/__init__.py +0 -28
- synkit-1.6.5/synkit/Rule/stereo_identity.py +0 -271
- synkit-1.6.5/synkit/Rule/syn_rule.py +0 -1090
- synkit-1.6.5/synkit/Synthesis/RBL/engine.py +0 -1249
- synkit-1.6.5/synkit/Synthesis/RBL/matching.py +0 -652
- synkit-1.6.5/synkit/Synthesis/RBL/overlap.py +0 -336
- synkit-1.6.5/synkit/Synthesis/RBL/proof.py +0 -370
- synkit-1.6.5/synkit/Synthesis/RBL/state.py +0 -169
- synkit-1.6.5/synkit/Synthesis/RBL/validation.py +0 -1060
- synkit-1.6.5/synkit/Synthesis/Reactor/__init__.py +0 -60
- synkit-1.6.5/synkit/Synthesis/Reactor/core/engine.py +0 -967
- synkit-1.6.5/synkit/Synthesis/Reactor/core/product.py +0 -621
- synkit-1.6.5/synkit/Synthesis/Reactor/core/rewrite.py +0 -561
- synkit-1.6.5/synkit/Synthesis/Reactor/matching/mixin.py +0 -920
- synkit-1.6.5/synkit/Synthesis/Reactor/matching/policy.py +0 -345
- synkit-1.6.5/synkit/Synthesis/Reactor/matching/symmetry.py +0 -309
- synkit-1.6.5/synkit/Synthesis/Reactor/output/deduplication.py +0 -703
- synkit-1.6.5/synkit/Synthesis/Reactor/output/policy.py +0 -16
- synkit-1.6.5/synkit/Synthesis/Reactor/output/serialization.py +0 -485
- synkit-1.6.5/synkit/Synthesis/Reactor/output/structural.py +0 -893
- synkit-1.6.5/synkit/Synthesis/Reactor/stereo/assignment.py +0 -35
- synkit-1.6.5/synkit/Synthesis/Reactor/stereo/mixin.py +0 -780
- synkit-1.6.5/synkit/Synthesis/Reactor/variants/imbalanced.py +0 -180
- synkit-1.6.5/synkit/Synthesis/Reactor/variants/partial.py +0 -84
- synkit-1.6.5/synkit/Synthesis/Reactor/workflow/batch.py +0 -550
- synkit-1.6.5/synkit/Synthesis/Reactor/workflow/benchmark.py +0 -143
- synkit-1.6.5/synkit/Synthesis/Reactor/workflow/postprocess.py +0 -267
- synkit-1.6.5/synkit/Synthesis/Reactor/workflow/rule_filter.py +0 -210
- synkit-1.6.5/synkit/version.py +0 -23
- {synkit-1.6.5 → synkit-1.7.0}/Data/Figure/synkit_graphical_abstract.svg +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/LICENSES/BIOMODELS.txt +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/data/biomodels_manifest.json +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/data/glycolysis_routes.json +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/data/kegg_modules.json +0 -0
- {synkit-1.6.5/synkit/Chem/Cluster → synkit-1.7.0/Experiment/CRN/tests}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/tools/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/Experiment/CRN/tools/crnt4sbml_worker.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/LICENSE +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/_static/custom.css +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/_static/favicon.svg +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/_static/logo-dark.svg +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/_static/logo.svg +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/_static/navigation.js +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/_templates/sidebar-globaltoc.html +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/api/chem.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/api/graph.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/api/index.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/api/io.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/api/vis.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/chem/molecule.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/chem/reaction.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/chem.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/conf.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/aldol.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/aldol_its.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/context.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/epd_sn2.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/mtg.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/mtg_lsg_changed_core.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/mtg_mechanism.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/vis_lsg_sn2.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/vis_molecule_aspirin.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/vis_mtg_steps.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/vis_mtg_timeline.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/figures/vis_reaction_sn2.png +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/graph.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/index.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/io.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/mapper/advanced.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/mapper/implementation.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/mapper.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/reference.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/refs.bib +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/stereo_reactions.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/doc/vis.rst +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/scripts/smoke_native_wheel.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/arity.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/derivation.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/flattener.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/keys.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/smiles.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/state.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/strategy.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Construct/worker.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/IO/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Pathway/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Petrinet/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Props/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Query/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Query/kegg_api.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Query/to_syncrn.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Structure/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Structure/rule.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Structure/species.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Symmetry/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Symmetry/symmetry.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/Visualize/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/backend.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/algebra.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/closure.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/exact.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/pathway.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/semiflows.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/structural.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/symmetry.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/cpp/write_manifest.cmake +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/CRN/kinds.py +0 -0
- {synkit-1.6.5/synkit/Chem/Fingerprint → synkit-1.7.0/synkit/Chem/Cluster}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Cluster/butina.py +0 -0
- {synkit-1.6.5/synkit/Chem/Molecule → synkit-1.7.0/synkit/Chem/Fingerprint}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Fingerprint/fp_calculator.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Fingerprint/smiles_featurizer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Fingerprint/transformation_fp.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/_compat.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/adapters/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/adapters/prediction.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/adapters/template.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/chem/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/chem/aam.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/chem/blind.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/chem/its.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/chem/smiles.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/automorphism.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/blockcut.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/labeled_graph.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/refine.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/graph/synkit_adapter.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/io/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/io/idxmapstr.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/mapper.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reaction_search.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reporting/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reporting/alternatives.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reporting/analysis.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reporting/native_analysis.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/reporting/spectrum.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/assignment/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/assignment/assignment_certificate.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/assignment/assignment_domains.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/assignment/assignment_verification.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/assignment/incremental_assignment.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/certificate.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/core.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/bounds.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/exhaustive.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/inputs.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/search.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/distance_search/verify.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/edit_support.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/hybrid.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/hydrogen.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/branching.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/enumerate.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/enumeration_result.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/kernel.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/kernel_solvers/milp.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/build.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/candidates.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/canonical.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/disk_frontier.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/frontier.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/hydrogen_quotient.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/its.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/native_distance.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/orbit_aggregation.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/parallel.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/pmcd.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/runtime.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/search.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native/separator.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/native_build.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/cost_lattice.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/factor_spectrum.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/multi_shell.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/propagation.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/propagation_bounds.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/propagation_limits.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/propagation_search.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/propagation_symmetry.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/residual_typed_bonds.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/reward_frontier.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/separator_bound.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/separator_spectrum.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/sparse_reward_bound.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/pabs/suffix_spectrum.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/search.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/seeds/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/seeds/seed.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/seeds/seed_fragments.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/seeds/seed_relaxation.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/exact/symmetry.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/assignment.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/astar.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/build.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/classification.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/examples/map_reaction.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/examples/slap_graph.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/assignment/assignment.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/astar/astar.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/astar/bound.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/core/pmcd_witness.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/core/runtime.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/hydrogen/hydrogen.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/mapper.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/mces/mces.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/pabs/seed.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/reaction/reaction.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/sepdp/sepdp.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/slap.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/solvers/solvers.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/symmetry/classification.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/include/synkit_mapper/symmetry/cpabs.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/assignment/abb.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/astar/CMakeLists.txt +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/astar/README.md +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/astar/astar.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/astar/astar_graph.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/astar/bound.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/core/dispatch.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/core/pmcd_witness.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/hydrogen/hydrogen.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/mces/README.md +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/mces/mces.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/bridge.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/chemical_floor.inc +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/endpoint_symmetry.inc +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/exact_helpers.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_assignment_certificate.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_certificate.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_model.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_provider.inc +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_rounding.inc +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/lp_test_hooks.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/objective_reduction.inc +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/overlap_dual.inc +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/profile_seed.inc +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/seed_heuristics.inc +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/sparse_embedding.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/sparse_root_lp.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/pabs/test_hooks.inc +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/reaction/reaction.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/sepdp/README.md +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/sepdp/sepdp.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/slap.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/solvers/formulation.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/solvers/maxsat.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/solvers/ortools.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/solvers/seed.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/solvers/weighted_cnf.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/supporting/README.md +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/supporting/dfs.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/supporting/edit_support.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/classification.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/classification_pipeline.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/classification_stream.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/cpabs.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/edge_deck.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/COPYRIGHT +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/LICENSE-2.0.txt +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/naugraph.c +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/naurng.c +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/naurng.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/nausparse.c +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/nausparse.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/nautil.c +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/naututil.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/nauty.c +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/nauty.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/schreier.c +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/schreier.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/cpp/src/symmetry/vendor/nauty/sorttemplates.c +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/hydrogen.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/implicit.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/implicit_certificate.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/implicit_preparation.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/mces.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/reaction.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/reaction_build.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/reaction_text.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/runtime.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/sepdp.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/slap.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/solvers.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/stereo.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/supporting.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/native/symmetry.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/slap/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/slap/lap.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/solvers/slap/sequential.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/aam_validator.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/annotations.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/bonds.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/cohorts.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/identifiability.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/numerical_scope.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Mapper/validation/orbits.py +0 -0
- {synkit-1.6.5/synkit/Data → synkit-1.7.0/synkit/Chem/Molecule}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_chirality_loci.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_chirality_types.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_helical_loci.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_stereo_axis_evidence.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_stereo_element_detection.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_stereo_orientation_constraints.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/_tetrahedral_carriers.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/atom_features.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/chirality.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/cip_ranking.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/coordinate_stereo.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/derived_stereo_naming.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/descriptors.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/formula.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/global_stereo.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/graph_annotator.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/standardize.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/stereo_evidence.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/stereo_perception.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Molecule/valence.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/Mapper/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/aam_validator.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/balance_check.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/canon_rsmi.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/cleaning.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/deionize.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/explicit_h_audit.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/fix_aam.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/neutralize.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/radical_wildcard.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/standardize.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/Reaction/tautomerize.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Chem/utils.py +0 -0
- {synkit-1.6.5/synkit/Graph/Context → synkit-1.7.0/synkit/Data}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Data/aldol.json.gz +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Data/gen_partial_aam.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Data/paracetamol.json.gz +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/_native/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/_native/build.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/_native/prepare.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/_native/runtime.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/_native/search.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/canon_algs.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/canon_graph.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/cpp/examples/canonical_graph.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/cpp/src/symmetry.h +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/cpp/tests/symmetry.cpp +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/exact.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/exact_refinement.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Canon/nauty.py +0 -0
- {synkit-1.6.5/synkit/Graph/Feature/Fingerprint → synkit-1.7.0/synkit/Graph/Context}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Context/hier_context.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Context/radius_expand.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/api.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/audit.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/catalog.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/detector.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/model.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/recognizers.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/FG/ring_system.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/Descriptors/topology.py +0 -0
- {synkit-1.6.5/synkit/Graph/Wildcard → synkit-1.7.0/synkit/Graph/Feature/Fingerprint}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/Fingerprint/wl_rxn_fps.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/graph_descriptors.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/graph_fps.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/graph_signature.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/hash_fps.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/morgan_fps.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/path_fps.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Feature/wl_hash.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/_misc.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/hcomplete.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/hcomplete_legacy.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/hcompletion_algorithms.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/hextend.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Hyrogen/hextend_legacy.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_builder.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_construction.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_decompose.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_destruction.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_expand.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_relabel.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/its_reverter.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/normalize_aam.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/partial_its.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/rc_extractor.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/ITS/stereo.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/gluing.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/history.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/inventory.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/local.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/mcs_matcher.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/mtg.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/mtg_explore.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/observation.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/process.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/queries.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/realization.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/series_parallel.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/MTG/utils.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/approx_mcs.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/auto_est.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/automorphism.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/batch_cluster.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/dedup_matches.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/graph_cluster.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/graph_matcher.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/graph_morphism.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/mcs_matcher.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/multi_turbo_iso.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/orbit.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/sing.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/turbo_iso.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Matcher/wl_sel.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/conversion.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/conversion_debug.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/electron_accounting.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/lwg_editor.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Mech/lwg_ops.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/constraints.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/stereo.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/stereo_morphism.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/stereo_morphism_helpers.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Morphism/stereo_morphism_types.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/_descriptor_core.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/_descriptor_serialization.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/changes.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/composition.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/configured.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/couplings.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/enumeration.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/extended_descriptors.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/global_configured.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/global_stereo.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/identity.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/interchange.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/matching.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/outcomes.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/pairwise.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/rdkit_adapter.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/rdkit_identity.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/rdkit_resonance.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/reaction_interchange.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/semantics.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/supports.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Stereo/wire.py +0 -0
- {synkit-1.6.5/synkit/Rule/Modify → synkit-1.7.0/synkit/Graph/Wildcard}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/fuse_graph.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/graph_wc.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/its_merge.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/radwc.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/wc_matcher.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/Wildcard/wildcard.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/canon_graph.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/syn_graph.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Graph/utils.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/chem_converter.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/gml_to_graph.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/graph_to_gml.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/graph_to_smarts.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/smarts_expander.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/smarts_generalizer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/combinatorial/smarts_to_graph.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/conversion.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/data_io.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/data_process.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/debug.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/gml_to_nx.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/graph_to_mol.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/mol_to_graph.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/mol_to_graph_chemistry.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/nx_to_gml.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/IO/smiles_to_id.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/adapters.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/audit.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/benchmark.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/compatibility.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/drawing.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/electron_models.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/equivalence.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/evidence.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/interchange.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/model.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/neighbor_stereo.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/radical_data.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/replay.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/schema.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/stereo_state.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Mechanism/symbols.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Apply/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Apply/conditions.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Apply/rule_matcher.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Apply/validation.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Compose/_identity.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Compose/search.py +0 -0
- {synkit-1.6.5/synkit/Synthesis/MSR → synkit-1.7.0/synkit/Rule/Modify}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/implict_rule.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/longest_path.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/molecule_rule.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/prune_templates.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/rule_utils.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/Modify/strip_rule.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Rule/generic_stereo.py +0 -0
- {synkit-1.6.5/synkit/Synthesis/Metrics → synkit-1.7.0/synkit/Synthesis/MSR}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/MSR/path_finder.py +0 -0
- {synkit-1.6.5/synkit/Synthesis → synkit-1.7.0/synkit/Synthesis/Metrics}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Metrics/_base.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Metrics/_plot.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Metrics/_ranking.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/RBL/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/RBL/pipeline.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/RBL/policy.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/RBL/reaction.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/core/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/core/strategy.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/matching/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/output/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/stereo/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/variants/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/Reactor/workflow/__init__.py +0 -0
- {synkit-1.6.5/synkit/Utils → synkit-1.7.0/synkit/Synthesis}/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Synthesis/reactor_utils.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Utils/utils.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/crn/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/arrows.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/chem.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/constants.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/layout.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/mapping.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/models.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/render.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/utils.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/epd/visualizer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/graph_visualizer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/its/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/its/drawer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/its_drawer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/molecule/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/molecule/drawer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/molecule/reaction.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/molecule_drawer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/mtg/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/mtg/drawer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/mtg_drawer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/pdf_writer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/reaction/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/reaction/rule.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/reaction/rxn.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/reaction_drawer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/space/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/space/chemical.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/space/embedding.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/vis_synedu/Vis/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/vis_synedu/Vis/dpo.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/vis_synedu/rxn_vis.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/vis_synedu/vis.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/visual_drawer.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/Vis/visual_model.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/__init__.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/_native.py +0 -0
- {synkit-1.6.5 → synkit-1.7.0}/synkit/examples.py +0 -0
synkit-1.7.0/.gitignore
ADDED
|
@@ -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,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,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
|
+
}
|