Forward enumeration
renkin-forward enumerate explores what an explicit template set can make
from one known reactant. It is bounded partner enumeration, not a generative
reaction model.
# Unary templates only
renkin-forward enumerate --reactant "Brc1ccccc1" --max-results 5
# Include binary-template partners from a local SMILES file
renkin-forward enumerate \
--reactant "Brc1ccccc1" \
--partners partners.smi \
--max-results 10 \
--max-partners-per-template 50 \
--max-combinations 2000
partners.smi contains one SMILES per line; blank lines and # comments are
ignored. A missing, unreadable, empty, or entirely malformed partner file is a
hard error.
Bounds and output
The command always emits a versioned ForwardEnumerationReport. It records
merged candidates, template provenance, warnings, and truncation statistics.
The three explicit limits are:
| Limit | Meaning |
|---|---|
--max-results |
Maximum merged candidates returned. |
--max-partners-per-template |
Maximum library partners tried for each compatible template slot. |
--max-combinations |
Total template/slot/partner attempts across the run. |
All must be positive. A cap is reported; it is never silently interpreted as an exhaustive search. Templates with two or more missing partners are reported as unsupported rather than guessed.
What it does not establish
An enumerated product is a template-compatible structural proposal. It does not provide conditions, catalyst choice, yield, price, availability, or a reaction-success probability. Apply a route audit and explicit stock policy before treating a proposal as a route candidate.
For a direct list of reactants and predicted products, use
predict. For partner-free search terms and SMARTS
requirements, use retrieval hints.