Loading...
Loading...
Cheminformatics pipeline for small-molecule property calculation, filtering, and similarity analysis using RDKit. Use when the user asks to compute molecular descriptors, filter compounds by Lipinski or Veber rules, detect PAINS, calculate fingerprint similarity, run matched molecular pair analysis, generate ADMET descriptors, or process SMILES. Triggers include "RDKit", "molecular descriptors", "Lipinski", "rule of five", "Veber", "PAINS", "pan-assay interference", "Morgan fingerprint", "Tanimoto", "fingerprint similarity", "matched molecular pair", "MMP", "mmpdb", "ADMET", "druglikeness", "SMILES", "cheminformatics", "compound filtering", "chemical similarity".
npx skill4agent add awslabs/hcls-agent-skills cheminformaticsrdFingerprintGeneratorAllChem.GetMorganFingerprintAsBitVect()sanitize=FalseSanitizeMol()MolFromSmiles| Goal | Fingerprint | Parameters | Tanimoto threshold |
|---|---|---|---|
| General similarity | Morgan (ECFP4) | radius=2, fpSize=2048 | ≥ 0.7 |
| High-specificity matching | Morgan (ECFP6) | radius=3, fpSize=4096 | ≥ 0.6 |
| Substructure screening | MACCS 166 keys | — | ≥ 0.8 |
| Pharmacophore similarity | FCFP | radius=2, | ≥ 0.6 |
| Large-scale clustering | Morgan | radius=2, fpSize=1024 | Speed over precision |
| Filter | Rule | Threshold | Notes |
|---|---|---|---|
| Lipinski MW | ≤ 500 Da | Allow ≤1 violation total | Not binary pass/fail |
| Lipinski LogP | ≤ 5 | — | — |
| Lipinski HBD | ≤ 5 | — | — |
| Lipinski HBA | ≤ 10 | — | — |
| Veber TPSA | ≤ 140 Ų | Hard cutoff | — |
| Veber RotBonds | ≤ 10 | Hard cutoff | — |
| PAINS | A+B+C catalogs | HTS triage only | Don't apply to advanced compounds |
| Scenario | Tool | Key parameter |
|---|---|---|
| SAR from compound pairs | mmpdb fragment → index → transform | |
| Property prediction | mmpdb predict | Requires indexed DB with property data |
| Core identification | | |
| Large libraries (>10K) | mmpdb CLI | |
| Parameter | Value | When to change |
|---|---|---|
| Morgan radius | 2 (ECFP4) | 3 for higher specificity |
| fpSize | 2048 | 1024 for speed; 4096 for precision |
| includeChirality | False | True for stereo-sensitive applications |
| Lipinski max_violations | 1 | 0 for strict; exempt biologics entirely |
| mmpdb --min-pairs | 3 | Lower for sparse datasets |
| mmpdb --max-variable-size | 10 | Increase for macrocycle transformations |
| PAINS catalogs | A+B+C (all three) | Never use partial sets |
AllChem.GetMorganFingerprintAsBitVect()rdFingerprintGenerator.GetMorganGenerator(radius=2, fpSize=2048).GetFingerprint(mol)MolFromSmiles(smi)MolFromSmiles(smi, sanitize=False)SanitizeMol()includeChirality=TrueMolToSmiles(MolFromSmiles(smi))