torchcell.datamodels.compound_identity.CompoundIdentityResolution

class CompoundIdentityResolution(*, status: CompoundResolutionStatus, name: str | None = None, inchikey: str | None = None, chebi_id: str | None = None, pubchem_cid: int | None = None, smiles: str | None = None, unresolved_reason: str | None = None)[source]

Bases: BaseModel

What a caller splats into Compound (only the identity-carrying fields).

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

property curated: bool

Whether a table row matched at all (the SMILES route defers to this).

property identified: bool

Whether ANY structure identifier is carried (InChIKey, ChEBI, or CID).

This is the retention rule the brief states: a compound with none of these cannot be encoded, so records depending on it are dropped rather than served under a bare name.