Medchem Compound Filtering
Triage compound libraries with drug-likeness rules (Lipinski, Veber, CNS), PAINS/NIBR structural alerts, complexity metrics, and the medchem query language.
Data & AnalyticsAdvanced★ 33,030⑂ 3,248AI score 8/10Last updated: Aug 9, 2026
What it does
- Wraps the datamol-io
medchemlibrary to filter and prioritize molecules for drug discovery. - Applies literature-derived rules (Ro5, Ro3, Veber, CNS, lead-like) to single molecules or whole libraries, returning pandas DataFrames with
pass_all/pass_anycolumns. - Runs structural alert catalogs (PAINS, Brenk, ChEMBL common alerts, NIBR screening-deck rules with severity), ZINC-15 percentile complexity metrics (bertz, sas, qed, whitlock…), and chemical-group detection (privileged scaffolds, covalent warheads).
- Builds multi-criteria filters with the medchem query language:
MATCHRULE,HASALERT,HASPROP,HASGROUP,HASSUBSTRUCTUREcombined with AND/OR/NOT. - Flags practical gotchas: DataFrame vs boolean-mask return types,
n_jobs=-1for libraries over 1000 molecules, and the optional conda-only Lilly demerit filter.
Who it's for
- Medicinal chemists triaging hit-to-lead or lead-optimization candidates.
- Cheminformatics and computational chemistry researchers cleaning large SMILES libraries.
- AI drug-discovery engineers post-filtering generative-model output for alerts and synthesizability.
Example uses
- Apply Ro5 + Veber and exclude PAINS across tens of thousands of SMILES in
compounds.csv, writingfiltered_compounds.csv. - Combine
rule_of_leadlike_soft, NIBR severity < 10, and Bertz complexity below the 95th percentile into one pass mask for lead candidates. - Use the
common_warhead_covalent_inhibitorsgroup to isolate molecules containing covalent warheads for separate review.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/HEAD/skills/medchem/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/medchem folder from the GitHub repo K-Dense-AI/scientific-agent-skills into my ~/.claude/skills/medchem/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git && mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/medchem ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and clone the repo:
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git - Create the skills directory:
mkdir -p ~/.claude/skills - Copy just this skill:
cp -r scientific-agent-skills/skills/medchem ~/.claude/skills/ - In a Python 3.9+ environment, install the dependencies:
uv pip install medchem datamol(RDKit comes along automatically). - (Optional) For the Eli Lilly demerit filter, run
mamba install -c conda-forge lilly-medchem-rules. - Restart Claude Code, then prompt something like "apply Lipinski rules and a PAINS filter to the SMILES column in this CSV" to trigger the skill.
View source on GitHub ↗License: MIT