# Filter and Prioritize Medicinal Chemistry Libraries

Large compound libraries are difficult to assess consistently with multiple medicinal chemistry criteria. This skill combines established filters, alerts, constraints, and reports.

## Install

```bash
npx skillstore add davila7/medchem
```

## Metadata

- Status: approved
- Slug: davila7-medchem
- Skillstore revision: r2
- Version status: missing
- Tree hash: ec0c5aba4f115f9cd08be7eba778e3d4c743e832f80f65834295aea027a8c090
- Author: davila7
- GitHub username: davila7
- License: MIT
- Repository: https://github.com/davila7/claude-code-templates/tree/main/cli-tool/components/skills/scientific/medchem
- Ref: c43861a65bb95efcae259cd161c9d6f4dc7eec6f
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: filesystem, external\_commands, network
- Quality score: 80
- Quality tier: silver
- Public page: https://skillstore.pages.dev/skills/davila7-medchem
- Manifest: https://skillstore.pages.dev/api/skills/davila7-medchem/manifest

## Capabilities

- Applies established rules including Lipinski, Veber, CNS, Oprea, lead-like, and REOS criteria.
- Screens molecules with common alerts, NIBR filters, Lilly demerits, and PAINS patterns.
- Calculates Bertz, Whitlock, and Barone molecular complexity metrics.
- Enforces configurable property limits for molecular weight, LogP, TPSA, hydrogen bonding, and rotatable bonds.
- Detects named chemical groups and custom structural patterns.
- Processes CSV, TSV, SDF, and SMILES text files into CSV results and summary reports.

## Use Cases

- Triage a screening library: Apply drug-likeness rules and structural alerts before selecting compounds for experimental screening.
- Compare lead candidates: Evaluate lead-like properties, complexity, reactive groups, and filter failures across a focused series.
- Build a reproducible filter pipeline: Process molecular files with documented thresholds and export detailed results for downstream analysis.

## Prompt Templates

### Check one molecule

```
Assess this SMILES string with the Rule of Five and Veber criteria. Explain each pass or failure: [SMILES].
```

### Screen a small list

```
Screen these SMILES for Rule of Five, PAINS, and common structural alerts. Return a concise table with failure reasons: [SMILES list].
```

### Design a library filter

```
Create a filtering workflow for [input file] using [rules], [alerts], and [property limits]. Preserve identifiers and summarize exclusions.
```

### Define a staged prioritization strategy

```
Design staged filters for [target class] and [modality]. Include broad triage, structural alerts, complexity, custom constraints, and review checkpoints.
```

## Limitations

- Requires Python and compatible medchem, datamol, pandas, RDKit, and tqdm packages.
- Filtering rules are guidelines and do not predict efficacy, safety, pharmacokinetics, or clinical success.
- Invalid molecular records are removed, so users must review input quality and rejected entries.
- Using all CPU cores can consume substantial resources on shared systems.

## Best Practices

- Choose filters for the biological target, modality, administration route, and development stage.
- Record thresholds, filter versions, excluded compounds, and failure reasons for reproducibility.
- Review flagged molecules with medicinal chemistry expertise before making irreversible decisions.

## Anti Patterns

- Do not treat a passing result as proof of safety, efficacy, or developability.
- Do not apply every available filter without considering project-specific chemical space.
- Do not remove flagged compounds without checking false positives, prodrugs, natural products, and unusual modalities.

## Security Audit

- Audited at: 2026-07-23T13:43:47.08\+00:00
- Summary: All 61 static findings are false positives caused by chemistry terminology, DataFrame append calls, Markdown fences, documented commands, and reference links. The script performs expected local input and output operations, with no prompt injection, system reconnaissance, hidden network requests, or data exfiltration.

## Stats

- Views: 182
- Downloads: 8
- Favorites: 0
- Popularity score: 0
