torchcell.datamodels.compound_identity.resolve_compound_identity_from_smiles

resolve_compound_identity_from_smiles(name: str, smiles: str) → CompoundIdentityResolution[source]

Resolve by name, falling back to the caller’s SMILES ONLY when no row exists.

The curated row always wins: the two routes measurably disagree (concanamycin A’s curated PubChem key and its SMILES-derived key differ in the stereo block), so a dataset that both appears in the table and ships a SMILES must not silently get a second identity for the same compound.