pharmacophore — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pharmacophore (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A pharmacophore defines the minimum set of 3D chemical features — their types, spatial arrangement, and tolerance spheres — required for biological activity. Used for scaffold hopping, virtual screening, and SAR hypothesis generation.
| Feature | Code | SMARTS definition (simplified) |
|---|---|---|
| H-bond donor | HBD | [N!H0,O!H0,n!H0] |
| H-bond acceptor | HBA | [N,O,F,n,o,s] (lone pairs) |
| Aromatic | AR | any aromatic ring |
| Hydrophobic | HYD | [c,s,C,S,Br,I,Cl] non-polar |
| Positive ionizable | POS | [NH2,NH3+,guanidine,amidine] |
| Negative ionizable | NEG | [COOH,SO3H,PO4H,COO-] |
| Exclusion volume | XV | regions sterically forbidden |
from rdkit import Chem
from rdkit.Chem import AllChem, MolStandardize
from rdkit.Chem.Pharm3D import Pharmacophore, EmbedLib
from rdkit.Chem import rdMolChemicalFeatures
# Load feature factory (FDEF file bundled with RDKit)
import os
from rdkit import RDConfig
fdefName = os.path.join(RDConfig.RDDataDir, 'BaseFeatures.fdef')
factory = rdMolChemicalFeatures.BuildFeatureFactory(fdefName)
# Get features from a molecule
mol = Chem.MolFromSmiles('c1ccc(cc1)C(=O)O') # benzoic acid
feats = factory.GetFeaturesForMol(mol)
for feat in feats:
print(f"{feat.GetFamily():12s} {feat.GetType():20s} atoms={list(feat.GetAtomIds())}")| Task | Reference |
|---|---|
| Feature types, SMARTS, exclusion volumes, RDKit FDEF format | references/features-theory.md |
| Pharm2D fingerprints (Gobbi), Pharm3D matching, feature factory | references/rdkit-pharmacophore.md |
| Derive pharmacophore from protein-ligand co-crystal / interactions | references/structure-based.md |
| Common-feature pharmacophore from a set of active ligands | references/ligand-based.md |
| Pharmacophore VS workflow: conformer gen, hit scoring, enrichment | references/vs-workflow.md |
| Tool | Install | Role |
|---|---|---|
| RDKit | conda install -c conda-forge rdkit | 2D/3D pharmacophore (built-in) |
| ProLIF | pip install prolif | interaction fingerprints (→ features) |
| PLIP | pip install plip | protein-ligand interaction profiler |
| shape-it | conda install -c conda-forge shape-it | shape + pharmacophore overlay |
| Pharmit | web: pharmit.csb.pitt.edu | pharmacophore search (free web) |
rdkit — conformer generation, substructure, 2D fingerprintsdocking — binding poses used to derive structure-based pharmacophoremdanalysis — dynamic pharmacophore from MD trajectoriesdaylight-theory — SMARTS syntax for custom feature FDEF files~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.