pertdb.Compound .md

class pertdb.Compound(name: str, ontology_id: str | None, abbr: str | None, synonyms: str | None, description: str | None, chembl_id: str | None, smiles: str | None, canonical_smiles: str | None, inchikey: str | None, molweight: float | None, molformula: str | None, parents: list[Compound], source: Source | None)
class pertdb.Compound(*db_args)

Bases: BioRecord, HasOntologyId, TracksRun, TracksUpdates

Models a (chemical) compound such as a drug.

Example:

import pertdb

compound = pertdb.Compound(
    name="Navitoclax",
    ontology_id="CHEMBL443684",
    smiles="[H][C@@](CCN1CCOCC1)(CSC1=CC=CC=C1)NC1=C(C=C(C=C1)S(=O)(=O)NC(=O)C1=CC=C(C=C1)N1CCN(CC2=C(CCC(C)(C)C2)C2=CC=C(Cl)C=C2)CC1)S(=O)(=O)C(F)(F)F"
).save()
type: str | None

Type of the compound.

chembl_id: str | None

Chembl ontology ID of the compound

smiles: str | None

Raw SMILES string as provided by user.

canonical_smiles: str | None

Normalized and standardized canonical SMILES string.

inchikey: str | None

InChIKey of the compound from the canonical SMILES.

molweight: float | None

MolWeight of the compound from the canonical SMILES.

molformula: str | None

MolFormula of the compound from the canonical SMILES.

moa: str | None

Mechanism of action of the compound.

targets: PerturbationTarget

Targets of the compound.

artifacts: Artifact

Artifacts linked to the compound.

save(*args, **kwargs)

Override save to ensure SMILES processing happens before database save.

update_smiles(new_smiles)

Update the SMILES string and reprocess normalization.

Parameters:

new_smiles (str) – New SMILES string to set

Return type:

None