EGFR Kinase Inhibitors - SAR Navigation

10,466 compoundschemistrydrug-discoverySAR

A TMAP of 10,466 EGFR kinase inhibitors from ChEMBL (target CHEMBL203), built from Morgan fingerprint similarity (Jaccard metric). The tree structure reveals structure-activity relationships: 53.6% of edges are smooth (delta pIC50 < 0.5), while 677 edges are activity cliffs (delta pIC50 >= 2.0). Scaffold analysis identifies 3,841 unique Murcko scaffolds with 46.1% of tree edges crossing scaffold boundaries. The SAR path from the weakest (pIC50 4.0) to the most potent (pIC50 11.0) compound spans 85 hops. Color indicates pIC50 potency.

EGFR Kinase Inhibitors - SAR NavigationOpen full page
Loading interactive demo…

How it was made

generate.pypython
from tmap import TMAP, fingerprints_from_smiles, murcko_scaffolds
from tmap.graph.analysis import boundary_edges, edge_delta, path_properties

fps = fingerprints_from_smiles(smiles, fp_type="morgan", radius=2, n_bits=2048)
model = TMAP(metric="jaccard", n_neighbors=20, seed=42).fit(fps)

# Activity cliffs: edges with large pIC50 jumps
cliffs = edge_delta(model.tree_, pic50)
print(f"Activity cliffs (delta >= 2.0): {(cliffs >= 2.0).sum()}")

# SAR path from weakest to most potent
path = model.path(weakest_idx, potent_idx)
path_values = path_properties(model.tree_, weakest_idx, potent_idx, pic50)

# Scaffold boundary analysis
scaffolds = murcko_scaffolds(smiles)
boundaries = boundary_edges(model.tree_, scaffolds)
print(f"Scaffold boundaries: {len(boundaries)} / {len(model.tree_.edges)}")