renkin 0.18.0 → 0.20.0
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.
- package/README.md +31 -13
- package/package.json +1 -1
- package/renkin_bg.wasm +0 -0
package/README.md
CHANGED
|
@@ -314,6 +314,20 @@ underneath (deduplicated when the same reference backs more than one part of
|
|
|
314
314
|
an example). See [Reaction Evidence guide](docs/guides/reaction-evidence.md#substrate-specific-examples-schema_version-2)
|
|
315
315
|
for full matching/validation semantics.
|
|
316
316
|
|
|
317
|
+
**Importing evidence from ORD.** `renkin evidence match` (exact-set batch
|
|
318
|
+
template matching, no fuzzy/similarity matching) and
|
|
319
|
+
[`scripts/ord_evidence_audit.py`](scripts/README_ord_evidence.md) (offline,
|
|
320
|
+
network-free) turn a locally-downloaded
|
|
321
|
+
[Open Reaction Database](https://github.com/open-reaction-database/ord-data)
|
|
322
|
+
corpus into a `schema_version: 2` sidecar — every accepted record is
|
|
323
|
+
independently re-validated by RENKIN's own loader, and anything not uniquely
|
|
324
|
+
matched, unambiguous, and provenanced is excluded and counted in an audit
|
|
325
|
+
report rather than guessed at. RENKIN itself never fetches or searches the
|
|
326
|
+
literature; reported yields are citations, not predictions. ORD's reaction
|
|
327
|
+
data is CC-BY-SA-4.0, a different license from RENKIN's own MIT code — see
|
|
328
|
+
[Reaction Evidence guide](docs/guides/reaction-evidence.md#importing-from-ord-open-reaction-database)
|
|
329
|
+
for the full acceptance criteria and licensing split.
|
|
330
|
+
|
|
317
331
|
---
|
|
318
332
|
|
|
319
333
|
## Key Features
|
|
@@ -331,6 +345,7 @@ for full matching/validation semantics.
|
|
|
331
345
|
| **Constraint DSL** | `--constraints constraints.json` — JSON-driven synthesis planning: element filters, step limits, confidence thresholds, preferred reaction families; enables LLM → RENKIN pipeline |
|
|
332
346
|
| **Output formats** | `--format json` · `tree` · `mermaid` · `explain` (human-readable per-route analysis) · `compare` (side-by-side table) · `compare-json` · `pareto` |
|
|
333
347
|
| **Failure diagnostics** | Zero-route JSON output includes `diagnostics` block with `likely_causes` and `suggestions` |
|
|
348
|
+
| **Standalone forward prediction** | `renkin-forward predict --reactants <SMILES>...` enumerates and ranks forward reaction product candidates from reversed SMIRKS templates, independent of route search — see the [Forward Prediction guide](docs/guides/forward-prediction.md) |
|
|
334
349
|
| **Forward validation** | `renkin-forward validate` verifies each step by applying templates forward; accepts `--route-json` or stdin |
|
|
335
350
|
| **Plausibility report** | `renkin-bench --plausibility` — forward-validates best routes and reports composite plausibility score |
|
|
336
351
|
| **PaRoutes benchmark** | `renkin-bench --input-format paroutes` for multi-step ground-truth evaluation with `depth_delta` and `route_diversity` |
|
|
@@ -363,6 +378,9 @@ for full matching/validation semantics.
|
|
|
363
378
|
# Route cost scoring with commercial prices
|
|
364
379
|
renkin -t "Cc1ccc(-c2ccccc2)cc1" --bb-prices data/prices.csv --format json
|
|
365
380
|
|
|
381
|
+
# Standalone forward prediction — no route search involved
|
|
382
|
+
renkin-forward predict --reactants "Oc1ccccc1C(=O)O" "CCO" --report --max-results 5
|
|
383
|
+
|
|
366
384
|
# Forward validation — pipe find_routes output directly
|
|
367
385
|
renkin -t "CC(=O)Oc1ccccc1C(=O)O" --format json | renkin-forward validate
|
|
368
386
|
|
|
@@ -564,6 +582,8 @@ renkin/ ← Cargo workspace root
|
|
|
564
582
|
│ ├── score.rs # SA Score heuristic + step cost
|
|
565
583
|
│ ├── search.rs # A* / AND-OR tree engine + beam pruning
|
|
566
584
|
│ ├── scorer.rs # Phase B: tract-onnx NN template scorer
|
|
585
|
+
│ ├── candidate.rs # one-step candidate proposal (offline reranking foundation, not wired into search)
|
|
586
|
+
│ ├── pool_export.rs # candidate-pool JSONL + reproducibility-manifest export
|
|
567
587
|
│ ├── python.rs # PyO3 bindings (--features python)
|
|
568
588
|
│ └── wasm.rs # wasm-bindgen bindings (cfg = wasm32)
|
|
569
589
|
├── crates/ ← sibling crates
|
|
@@ -576,7 +596,9 @@ renkin/ ← Cargo workspace root
|
|
|
576
596
|
│ └── bench_chunks/ # USPTO-50k per-chunk results
|
|
577
597
|
├── scripts/
|
|
578
598
|
│ ├── extract_templates.py # rdchiral template extraction pipeline
|
|
579
|
-
│
|
|
599
|
+
│ ├── run_benchmark_chunks.sh # resumable chunked benchmark runner
|
|
600
|
+
│ ├── train_reranker.py # candidate reranker training/evaluation (dev tool, offline only — see docs/guides/reranker-candidate-pools.md)
|
|
601
|
+
│ └── tests/ # unittest suite for train_reranker.py
|
|
580
602
|
├── docs/ # MkDocs source → kent-tokyo.github.io/renkin/
|
|
581
603
|
└── mkdocs.yml
|
|
582
604
|
```
|
|
@@ -587,8 +609,12 @@ renkin/ ← Cargo workspace root
|
|
|
587
609
|
|
|
588
610
|
### Recently shipped
|
|
589
611
|
|
|
612
|
+
- [x] `apply_retro`/`run_reactants` performance regression resolved — `chematic` moved from a narrow git-pinned fix to the published `0.8.0` release (upstream automorphism-orbit-pruned canonicalization, [chematic#193](https://github.com/kent-tokyo/chematic/pull/193)); on a fixed 30-target gate, measured in one session against current master: total elapsed **34.7%** faster, p95 **33.8%** faster, and the single worst-case target **42.2%** faster (confirmed via repeated isolated measurement, not a one-off run). Zero correctness change (`apply_retro` call counts identical across versions)
|
|
613
|
+
- [x] `renkin-forward` CLI hardening — versioned `ForwardPredictionReport`, deterministic candidate IDs/merge/provenance, reactant-order-independent matching (up to 3 reactants), strict CLI/route-JSON validation
|
|
614
|
+
- [x] RETROSPECT-inspired offline candidate-reranking foundation — candidate proposal/selection separation, feature schema v1, manifest v2, leakage-safe train/val/test splitting, 7 deterministic baseline arms + trained-ranker arm, paired bootstrap + offline gate tooling ([#59](https://github.com/kent-tokyo/renkin/pull/59); **foundation only — no trained model or accuracy result yet, not wired into route search**)
|
|
590
615
|
- [x] Stable `template_id` (`rule:<name>` / `smirks-sha256:<hex>`) + `--template-metadata` evidence sidecar + `renkin template ids` ([#41](https://github.com/kent-tokyo/renkin/issues/41) phase 1)
|
|
591
616
|
- [x] Substrate-specific `examples` (`schema_version: 2`) — per-step exact-substrate vs. same-template-different-substrate resolution, surfaced in `--format explain` and as `match_kind` in JSON ([#41](https://github.com/kent-tokyo/renkin/issues/41) phase 2)
|
|
617
|
+
- [x] Deterministic ORD (Open Reaction Database) evidence import — offline `renkin evidence match` exact-set batch template matcher + `scripts/ord_evidence_audit.py` audit/converter into `schema_version: 2` sidecars; no network access, no fuzzy matching, ambiguous/unprovenanced records excluded and counted in an audit report rather than guessed at ([#41](https://github.com/kent-tokyo/renkin/issues/41) phase 3A)
|
|
592
618
|
- [x] `renkin-bench cascade` — multi-stage search (fast defaults → hard cases re-run deeper); only unsolved targets propagate to later stages. **78.0% → 95.9%** on USPTO-50k
|
|
593
619
|
- [x] `renkin-bench --failure-taxonomy` — classify unsolved targets by cause (beam limit / depth limit / template gap / stock near-miss)
|
|
594
620
|
- [x] Graph-based ester cleavage — BFS-leakage-free `R-C(=O)-O-R' → RCOOH + R'OH`
|
|
@@ -650,18 +676,10 @@ renkin/ ← Cargo workspace root
|
|
|
650
676
|
|
|
651
677
|
## Citation
|
|
652
678
|
|
|
653
|
-
If you use RENKIN in academic work, please cite
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
author = {kent-tokyo},
|
|
658
|
-
title = {{RENKIN}: Retrosynthesis Engine for Knowledge-Informed Navigation},
|
|
659
|
-
year = {2026},
|
|
660
|
-
url = {https://github.com/kent-tokyo/renkin/releases/tag/v0.18.0},
|
|
661
|
-
version = {0.18.0},
|
|
662
|
-
license = {MIT}
|
|
663
|
-
}
|
|
664
|
-
```
|
|
679
|
+
If you use RENKIN in academic work, please cite it — see [`CITATION.cff`](CITATION.cff)
|
|
680
|
+
for the canonical, version-tracked citation record. GitHub's "Cite this
|
|
681
|
+
repository" button (top of the repo page) reads it directly and can export
|
|
682
|
+
APA or BibTeX on demand.
|
|
665
683
|
|
|
666
684
|
---
|
|
667
685
|
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"kent-tokyo <kent-tokyo@users.noreply.github.com>"
|
|
6
6
|
],
|
|
7
7
|
"description": "Ultra-fast retrosynthesis engine for computer-aided synthesis planning (CASP) — pure Rust, WASM-ready, Python bindings via PyO3",
|
|
8
|
-
"version": "0.
|
|
8
|
+
"version": "0.20.0",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
package/renkin_bg.wasm
CHANGED
|
Binary file
|