moleculeresolver.resolution =========================== .. py:module:: moleculeresolver.resolution Submodules ---------- .. toctree:: :maxdepth: 1 /autoapi/moleculeresolver/resolution/evidence/index /autoapi/moleculeresolver/resolution/models/index /autoapi/moleculeresolver/resolution/scorer/index /autoapi/moleculeresolver/resolution/selector/index Classes ------- .. autoapisummary:: moleculeresolver.resolution.CandidateEvidence moleculeresolver.resolution.ResolutionResult moleculeresolver.resolution.StructureGroupCandidate moleculeresolver.resolution.WeightedStructureScore Functions --------- .. autoapisummary:: moleculeresolver.resolution.build_structure_group_candidates moleculeresolver.resolution.score_structure_groups moleculeresolver.resolution.select_best_scored_structure Package Contents ---------------- .. py:class:: CandidateEvidence Evidence and scoring payload for one candidate structure group. .. py:attribute:: smiles :type: str .. py:attribute:: service_agreement_count :type: int .. py:attribute:: service_names :type: list[str] .. py:attribute:: identifiers :type: list[str] .. py:attribute:: identifier_concordance_count :type: int .. py:attribute:: synonym_overlap_count :type: int :value: 0 .. py:attribute:: score_breakdown :type: dict[str, int] .. py:attribute:: total_score :type: int :value: 0 .. py:class:: ResolutionResult Extended result payload for include_evidence=True requests. .. py:attribute:: best_molecule :type: Molecule | None .. py:attribute:: ranked_candidates :type: list[CandidateEvidence] .. py:attribute:: grouped_by_structure :type: dict[str, list[moleculeresolver.molecule.Molecule]] .. py:attribute:: selected_smiles :type: str | None .. py:attribute:: selection_reason :type: str .. py:class:: StructureGroupCandidate Single grouped-structure candidate used in consensus scoring. .. py:attribute:: smiles :type: str .. py:attribute:: molecules :type: list[moleculeresolver.molecule.Molecule] .. py:attribute:: crosscheck_count :type: int .. py:attribute:: non_isomeric_smiles :type: str .. py:attribute:: supports_opsin_name_match :type: bool .. py:attribute:: chiral_center_count :type: int .. py:attribute:: defined_chiral_center_count :type: int .. py:attribute:: bond_stereo_count :type: int .. py:attribute:: stereo_signal_count :type: int .. py:class:: WeightedStructureScore Explicit weighted score and breakdown for one structure group. .. py:attribute:: smiles :type: str .. py:attribute:: total_score :type: int .. py:attribute:: crosscheck_count :type: int .. py:attribute:: opsin_bonus :type: int .. py:attribute:: stereo_specificity_bonus :type: int .. py:attribute:: defined_chirality_bonus :type: int .. py:attribute:: bond_stereo_bonus :type: int .. py:property:: isomer_specificity_bonus :type: int .. py:property:: smiles_length_bonus :type: int .. py:function:: 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. .. py:function:: score_structure_groups(candidates: list[moleculeresolver.resolution.models.StructureGroupCandidate]) -> list[moleculeresolver.resolution.models.WeightedStructureScore] Score grouped structures with explicit weighted components. .. py:function:: select_best_scored_structure(scored_structures: list[moleculeresolver.resolution.models.WeightedStructureScore]) -> moleculeresolver.resolution.models.WeightedStructureScore Deterministically select the strongest structure candidate.