Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
Back to list

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 & AnalyticsAdvanced33,0303,248AI score 8/10Last updated: Aug 9, 2026

What it does

  • Wraps the datamol-io medchem library 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_any columns.
  • 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, HASSUBSTRUCTURE combined with AND/OR/NOT.
  • Flags practical gotchas: DataFrame vs boolean-mask return types, n_jobs=-1 for 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

  1. Apply Ro5 + Veber and exclude PAINS across tens of thousands of SMILES in compounds.csv, writing filtered_compounds.csv.
  2. Combine rule_of_leadlike_soft, NIBR severity < 10, and Bertz complexity below the 95th percentile into one pass mask for lead candidates.
  3. Use the common_warhead_covalent_inhibitors group 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)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download 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.

  1. Open a terminal and clone the repo: git clone https://github.com/K-Dense-AI/scientific-agent-skills.git
  2. Create the skills directory: mkdir -p ~/.claude/skills
  3. Copy just this skill: cp -r scientific-agent-skills/skills/medchem ~/.claude/skills/
  4. In a Python 3.9+ environment, install the dependencies: uv pip install medchem datamol (RDKit comes along automatically).
  5. (Optional) For the Eli Lilly demerit filter, run mamba install -c conda-forge lilly-medchem-rules.
  6. 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.