Quickstart
Installation
pip install -e .
If you plan to build the docs, add the docs extra:
pip install -e ".[docs]"
Create a drug object
from drugs import Drug, PUBCHEM_MINIMAL_STABLE
# Start from any identifier
aspirin = Drug.from_pubchem_cid(2244)
# alternatives:
# Drug.from_chembl_id("CHEMBL25")
# Drug.from_inchikey("BSYNRYMUTXBXSQ-UHFFFAOYSA-N")
print(aspirin.map_ids())
Fetch properties and text
props = aspirin.fetch_pubchem_properties()
text = aspirin.fetch_pubchem_text(PUBCHEM_MINIMAL_STABLE)
Structure and fingerprints
smiles = aspirin.smiles()
selfies = aspirin.selfies()
fp = aspirin.molecular_fingerprint(method="morgan")
Similarity and batch workflows
ibuprofen = Drug.from_chembl_id("CHEMBL521")
sim = aspirin.similarity_to(ibuprofen)
cohort = Drug.from_batch([2244, "CHEMBL521", "BSYNRYMUTXBXSQ-UHFFFAOYSA-N"])
mat = Drug.batch_similarity_matrix(cohort)
Bioactivity and safety
acts = aspirin.fetch_chembl_bioactivities(min_pchembl=6.0, assay_types=["B", "F"])
ddis = aspirin.fetch_drug_interactions()
RDKit property calculators
props = aspirin.molecular_properties()
print(props["qed"], props["tpsa"], props["lipinski_violations"])
Mechanisms and targets
mechs = aspirin.fetch_chembl_mechanisms()
accessions = aspirin.target_accessions()
genes = aspirin.target_gene_symbols()
Embeddings
Plug in any embedding function. A trivial example:
vec = aspirin.text_embedding(lambda s: s.upper())
Report generation
aspirin.write_drug_markdown(output_path="aspirin.md")
# yields artifacts/embeddings when using cached embedding helpers