← Về thư mục
skills/retrosynthesis_planning/forward_benchmark.py
- rdkit_connectivity_canonicalize · function · L25-L38 — def rdkit_connectivity_canonicalize(smiles: str) -> str
- _normalize_components · function · L41-L51 — def _normalize_components( value: Any, *, field: str, allow_empty: bool, canonicalizer: Canonicalizer, ) -> str
- validate_forward_inputs · function · L54-L89 — def validate_forward_inputs( rows: Iterable[Mapping[str, Any]], *, canonicalizer: Canonicalizer = rdkit_canonicalize, ) -> tuple[dict[str, str], ...]
- normalize_forward_outputs · function · L92-L195 — def normalize_forward_outputs( inputs: Sequence[Mapping[str, str]], payloads: Iterable[Mapping[str, Any]], *, top_k: int, isomeric_canonicalizer: Canonicalizer = rdkit_canonicalize, connectivity_canonicalizer: Canonicalizer = rdkit_connectivity_canonicalize, ) -> tuple[dict[str, Any], ...]
- evaluate_forward_predictions · function · L198-L299 — def evaluate_forward_predictions( predictions: Sequence[Mapping[str, Any]], reference_rows: Iterable[Mapping[str, Any]], , top_k: int, isomeric_canonicalizer: Canonicalizer = rdkit_canonicalize, connectivity_canonicalizer: Canonicalizer = rdkit_connectivity_canonicalize, ) -> dict[str, Any]: # The non-empty invariant is enforced on the normalize side by every # validate_ helper; without it here the metric divisions below reduce # to a bare ZeroDivisionError instead of a protocol refusal.