Molecular Fingerprints
SkillDev toolsCompute Morgan/ECFP fingerprints, Tanimoto similarity, and optional Butina clusters/heatmaps for small-molecule comparison.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Molecular Fingerprints skill
What this skill tells your AI
The instructions your AI receives, as published by learningmatter-mit/atomisticskills in .agents/skills/drug-molecular-fingerprints/SKILL.md and read by ahel’s review.
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:
mcp_drugdisc_compute_molecular_fingerprints(
smiles_file="compounds.smi",
radius=2,
fp_size=2048,
compute_similarity=True,
output_file="similarity.json"
)
With Butina clustering:
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):
mcp_drugdisc_compute_molecular_fingerprints(
smiles_file="hits.smi",
save_heatmap="heatmap.png",
output_file="similarity.json"
)
Feature Morgan (FCFP-like) fingerprints:
mcp_drugdisc_compute_molecular_fingerprints(
smiles_file="compounds.smi",
use_features=True,
output_file="fcfp_similarity.json"
)
Chirality-aware fingerprints:
mcp_drugdisc_compute_molecular_fingerprints(
smiles_file="enantiomers.smi",
use_chirality=True,
output_file="chiral_sim.json"
)
Examples
SMILES file format
CCO ethanol
CCCO propanol
c1ccccc1 benzene
c1ccc(cc1)O phenol
Basic similarity analysis
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
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 compoundsn_valid: Number of successfully processed compoundscompounds: List of compound info (SMILES, name, validity, fingerprint bits)similarity_matrix: Pairwise Tanimoto similarity (ifcompute_similarity=True)clusters: Butina clustering results (ifcluster=True)
Constraints
- MCP Server: Requires
drugdiscMCP 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
Signals
- GitHub stars
- 164
- Forks
- 24
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
drug-molecular-fingerprints- Source
- github.com/learningmatter-mit/atomisticskills