moleculeresolver.resolution

Submodules

Classes

CandidateEvidence

Evidence and scoring payload for one candidate structure group.

ResolutionResult

Extended result payload for include_evidence=True requests.

StructureGroupCandidate

Single grouped-structure candidate used in consensus scoring.

WeightedStructureScore

Explicit weighted score and breakdown for one structure group.

Functions

build_structure_group_candidates(...)

Build normalized candidates from grouped molecules for scoring.

score_structure_groups(...)

Score grouped structures with explicit weighted components.

select_best_scored_structure(...)

Deterministically select the strongest structure candidate.

Package Contents

class moleculeresolver.resolution.CandidateEvidence

Evidence and scoring payload for one candidate structure group.

smiles: str
service_agreement_count: int
service_names: list[str]
identifiers: list[str]
identifier_concordance_count: int
synonym_overlap_count: int = 0
score_breakdown: dict[str, int]
total_score: int = 0
class moleculeresolver.resolution.ResolutionResult

Extended result payload for include_evidence=True requests.

best_molecule: Molecule | None
ranked_candidates: list[CandidateEvidence]
grouped_by_structure: dict[str, list[moleculeresolver.molecule.Molecule]]
selected_smiles: str | None
selection_reason: str
class moleculeresolver.resolution.StructureGroupCandidate

Single grouped-structure candidate used in consensus scoring.

smiles: str
molecules: list[moleculeresolver.molecule.Molecule]
crosscheck_count: int
non_isomeric_smiles: str
supports_opsin_name_match: bool
chiral_center_count: int
defined_chiral_center_count: int
bond_stereo_count: int
stereo_signal_count: int
class moleculeresolver.resolution.WeightedStructureScore

Explicit weighted score and breakdown for one structure group.

smiles: str
total_score: int
crosscheck_count: int
opsin_bonus: int
stereo_specificity_bonus: int
defined_chirality_bonus: int
bond_stereo_bonus: int
property isomer_specificity_bonus: int
property smiles_length_bonus: int
moleculeresolver.resolution.build_structure_group_candidates(resolver: moleculeresolver.moleculeresolver.MoleculeResolver, grouped_molecules: dict[str, list[moleculeresolver.molecule.Molecule]]) list[StructureGroupCandidate]

Build normalized candidates from grouped molecules for scoring.

moleculeresolver.resolution.score_structure_groups(candidates: list[moleculeresolver.resolution.models.StructureGroupCandidate]) list[moleculeresolver.resolution.models.WeightedStructureScore]

Score grouped structures with explicit weighted components.

moleculeresolver.resolution.select_best_scored_structure(scored_structures: list[moleculeresolver.resolution.models.WeightedStructureScore]) moleculeresolver.resolution.models.WeightedStructureScore

Deterministically select the strongest structure candidate.