drug-molecular-fingerprints
learningmatter-mit/AtomisticSkills/.agents/skills/drug-molecular-fingerprints/SKILL.md
Compute Morgan/ECFP fingerprints, Tanimoto similarity, and optional Butina clusters/heatmaps for small-molecule comparison.
Skill172 starsChanged 4 months ago
What's in it
- Molecular Fingerprints
- Goal
- Instructions
- Examples
- SMILES file format
- Basic similarity analysis
- Diversity-based clustering for library selection
- Output Format
- Constraints
---
name: drug-molecular-fingerprints
description: Compute Morgan/ECFP fingerprints, Tanimoto similarity, and optional Butina clusters/heatmaps for small-molecule comparison.
category: [drug-discovery]
---
# Molecular Fingerprints
## Goal
To compute circular Morgan fingerprints (ECFP-style; default ECFP4 with radius=2) for a set of compounds, then calculate pairwise Tanimoto similarity for library comparison. Optionally perform Butina clustering for diversity analysis and generate a similarity heatmap for small sets.
This skill is commonly used for hit expansion, SAR triage, compound library diversity assessment, and applicability-domain style analysis.
## Instructions
The drugdisc MCP server provides a `compute_molecular_fingerprints` tool that can be called directly:
**Basic usage with SMILES file:**
```bash
mcp_drugdisc_compute_molecular_fingerprints(
smiles_file="compounds.smi",
radius=2,
fp_size=2048,
compute_similarity=True,
output_file="similarity.json"
)
```
**With Butina clustering:**
```bash
mcp_drugdisc_compute_molecular_fingerprints(
smiles_file="library.smi",
cluster=True,
cluster_cutoff=0.7,
output_file="clustered.json"
)
```
**With similarity heatmap (small molecule sets, ≤250 compounds):**
```bash
mcp_drugdisc_compute_molecular_fingerprints(
smiles_file="hits.smi",
save_heatmap="heatmap.png",
output_file="similarity.json"
)
```
**Feature Morgan (FCFP-like) fingerprints:**
```bash
mcp_drugdisc_compute_molecular_fingerprints(
smiles_file="compounds.smi",
use_features=True,
output_file="fcfp_similarity.json"
)
```
**Chirality-aware fingerprints:**
```bash
mcp_drugdisc_compute_molecular_fingerprints(
smiles_file="enantiomers.smi",
use_chirality=True,
output_file="chiral_sim.json"
)
```
## Examples
### SMILES file format
```text
CCO ethanol
CCCO propanol
c1ccccc1 benzene
c1ccc(cc1)O phenol
```
### Basic similarity analysis
```bash
mcp_drugdisc_compute_molecular_fingerprints(
smiles_file=".agents/skills/drug-molecular-fingerprints/examples/compounds.smi",
output_file="similarity.json"
)
```
### Diversity-based clustering for library selection
```bash
mcp_drugdisc_compute_molecular_fingerprints(
smiles_file="screening_library.smi",
cluster=True,
cluster_cutoff=0.5,
output_file="diverse_clusters.json"
)
```
## Output Format
The tool returns a JSON with:
- `n_compounds`: Total number of input compounds
- `n_valid`: Number of successfully processed compounds
- `compounds`: List of compound info (SMILES, name, validity, fingerprint bits)
- `similarity_matrix`: Pairwise Tanimoto similarity (if `compute_similarity=True`)
- `clusters`: Butina clustering results (if `cluster=True`)
## Constraints
- **MCP Server**: Requires `drugdisc` MCP server
- **Dependencies**: RDKit (Chem, rdFingerprintGenerator, DataStructs, ML.Cluster.Butina)
- **SMILES file format**: One molecule per line, `SMILES[whitespace]NAME` (NAME optional), `#` for comments
- **Fingerprint defaults**: Morgan radius=2 (ECFP4-like), 2048 bits
- **Heatmap rendering**: Limited to ≤250 compounds due to memory constraints
- **Similarity metric**: Tanimoto coefficient (Jaccard index for bit vectors)
- **Clustering algorithm**: Butina (leader-picker style); cutoff = similarity threshold (not distance)
---
**Author:** Matthew Cox
**Contact:** [GitHub @mcox3406](https://github.com/mcox3406)
More agent context in learningmatter-mit/AtomisticSkills
133 other files this repository gives its agents, the first 60 shown.
AGENTS.md
CLAUDE.md
Skill
- chem-bond-dissociation.agents/skills/chem-bond-dissociation/SKILL.md
- chem-conformer-search.agents/skills/chem-conformer-search/SKILL.md
- chem-db-mof.agents/skills/chem-db-mof/SKILL.md
- chem-db-qmof.agents/skills/chem-db-qmof/SKILL.md
- chem-db-spectra.agents/skills/chem-db-spectra/SKILL.md
- chem-dft-orca-advanced-calculation.agents/skills/chem-dft-orca-advanced-calculation/SKILL.md
- chem-dft-orca-optimization.agents/skills/chem-dft-orca-optimization/SKILL.md
- chem-dft-orca-singlepoint.agents/skills/chem-dft-orca-singlepoint/SKILL.md
- chem-docking-void.agents/skills/chem-docking-void/SKILL.md
- chem-hazard-toxicity.agents/skills/chem-hazard-toxicity/SKILL.md
- chem-irc-verification.agents/skills/chem-irc-verification/SKILL.md
- chem-msms-predict.agents/skills/chem-msms-predict/SKILL.md
- chem-neb-barrier.agents/skills/chem-neb-barrier/SKILL.md
- chem-nmr-analysis.agents/skills/chem-nmr-analysis/SKILL.md
- chem-nmr-predict.agents/skills/chem-nmr-predict/SKILL.md
- chem-react-ot.agents/skills/chem-react-ot/SKILL.md
- chem-similarity-search.agents/skills/chem-similarity-search/SKILL.md
- chem-solution-md.agents/skills/chem-solution-md/SKILL.md
- chem-sorption-gcmc.agents/skills/chem-sorption-gcmc/SKILL.md
- chem-sorption-relax.agents/skills/chem-sorption-relax/SKILL.md
- chem-sorption-widom.agents/skills/chem-sorption-widom/SKILL.md
- chem-spectrum-matcher.agents/skills/chem-spectrum-matcher/SKILL.md
- chem-thermochemistry.agents/skills/chem-thermochemistry/SKILL.md
- chem-ts-optimization.agents/skills/chem-ts-optimization/SKILL.md
- chem-vibration.agents/skills/chem-vibration/SKILL.md
- drug-admet-prediction.agents/skills/drug-admet-prediction/SKILL.md
- drug-binding-site-definition.agents/skills/drug-binding-site-definition/SKILL.md
- drug-bioactivity-assay.agents/skills/drug-bioactivity-assay/SKILL.md
- drug-complex-system-builder.agents/skills/drug-complex-system-builder/SKILL.md
- drug-db-chembl.agents/skills/drug-db-chembl/SKILL.md
- drug-db-pdb.agents/skills/drug-db-pdb/SKILL.md
- drug-db-pubchem.agents/skills/drug-db-pubchem/SKILL.md
- drug-docking-analysis.agents/skills/drug-docking-analysis/SKILL.md
- drug-docking-vina.agents/skills/drug-docking-vina/SKILL.md
- drug-ligand-prep.agents/skills/drug-ligand-prep/SKILL.md
- drug-mmpbsa-gbsa.agents/skills/drug-mmpbsa-gbsa/SKILL.md
- drug-pocket-detection.agents/skills/drug-pocket-detection/SKILL.md
- drug-pose-validation.agents/skills/drug-pose-validation/SKILL.md
- drug-protein-ligand-md.agents/skills/drug-protein-ligand-md/SKILL.md
- drug-protein-prep.agents/skills/drug-protein-prep/SKILL.md
- drug-redocking-rmsd.agents/skills/drug-redocking-rmsd/SKILL.md
- drug-retrosynthesis.agents/skills/drug-retrosynthesis/SKILL.md
- drug-trajectory-analysis.agents/skills/drug-trajectory-analysis/SKILL.md
- general-arxiv-search.agents/skills/general-arxiv-search/SKILL.md
- general-biorxiv-search.agents/skills/general-biorxiv-search/SKILL.md
- general-chemical-literature.agents/skills/general-chemical-literature/SKILL.md
- general-chemical-pricing.agents/skills/general-chemical-pricing/SKILL.md
- general-deep-research.agents/skills/general-deep-research/SKILL.md
- general-fair-data-review.agents/skills/general-fair-data-review/SKILL.md
- general-patent-search.agents/skills/general-patent-search/SKILL.md
- general-peer-review.agents/skills/general-peer-review/SKILL.md
- general-plot-digitizer.agents/skills/general-plot-digitizer/SKILL.md
- general-presentation.agents/skills/general-presentation/SKILL.md
- general-property-units.agents/skills/general-property-units/SKILL.md
- general-query-literature-database.agents/skills/general-query-literature-database/SKILL.md
- general-workflow-planner.agents/skills/general-workflow-planner/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

