本文へ移動
cccskills
無料GitHub で公開

molecular-optimization

Iterative lead optimization with analyze-reason-generate-verify-evaluate loop. Paper-backed (MT-Mol, DrugR, MultiMol).

インストール方法を見る

含まれるファイル(4)

  • SKILL.md5.4 KB
  • scripts/compare_candidates.py5.7 KB
  • scripts/optimize.py13.4 KB
  • scripts/verify_smiles.py10.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Molecular Optimization

Overview

Lead optimization is the bottleneck of drug discovery — modifying a hit compound to improve potency, selectivity, and ADMET properties without breaking what already works. LLMs frequently generate invalid SMILES or propose modifications that don't appear in the actual structure.

This skill implements an iterative optimization protocol based on three peer-reviewed approaches:

  • MT-Mol (Kim et al., 2025): Multi-agent tool-based reasoning with verification — SOTA on 17/23 PMO benchmark tasks
  • DrugR (Liu et al., 2026): Explicit liability reasoning before generation — 18× improvement over blind generation
  • MultiMol (Yu et al., 2025): Generate-then-rank with scaffold preservation — 82.3% multi-objective success rate

The core loop: Analyze → Identify Liabilities → Generate Candidates → Verify → Evaluate & Rank → Iterate.

When to Use This Skill

  • Lead optimization: Improve ADMET properties of a hit while preserving potency
  • Scaffold hopping: Find new scaffolds that maintain key pharmacophoric features
  • Property-driven design: Generate analogs targeting specific property improvements (lower LogP, reduce hERG, improve solubility)
  • Multi-objective optimization: Balance multiple properties simultaneously

Do NOT use this skill for:

  • De novo design from scratch (use denovo-design instead)
  • Simple property prediction without optimization (use admet-prediction)
  • Docking or binding affinity estimation (use molecular-docking, binding-affinity)

Related Skills

  • admet-prediction: Compute ADMET properties (this skill uses it internally)
  • admet-reasoning: Interpretable ADMET analysis with mechanistic explanations
  • smiles-validation: Strict SMILES parsing and structural verification
  • rdkit: Core molecular operations
  • medchem: Medicinal chemistry filters and transformations

Installation

Required dependencies

pip install rdkit-pypi numpy pandas

Optional dependencies

pip install PyTDC datamol
  • PyTDC: Access to TDC ADMET predictors for enhanced property scoring
  • datamol: Convenient molecular manipulation utilities

Core Workflows

1. Single-Molecule Optimization

Optimize one molecule for improved properties:

python scripts/optimize.py \
    --smiles "c1ccc(NC(=O)c2ccccc2Cl)cc1" \
    --targets "LogP<3,hERG<0.3,QED>0.5" \
    --max-iterations 3 \
    --candidates 8 \
    --output results.json

2. Batch Optimization

Optimize a CSV of molecules:

python scripts/optimize.py \
    --input leads.csv \
    --smiles-col SMILES \
    --targets "LogP<3,hERG<0.3" \
    --output optimized.csv

3. Verification Only

Verify a proposed SMILES matches a claimed modification:

python scripts/verify_smiles.py \
    --original "c1ccccc1" \
    --proposed "c1ccc(O)cc1" \
    --claimed-modification "Added hydroxyl group at para position"

4. Candidate Comparison

Compare multiple candidates against a reference:

python scripts/compare_candidates.py \
    --reference "c1ccc(NC(=O)c2ccccc2Cl)cc1" \
    --candidates candidates.csv \
    --output comparison.html

Script Reference

ScriptPurposeKey Outputs
optimize.pyFull iterative optimization loopresults.json with ranked candidates, descriptor deltas, reasoning
verify_smiles.pyValidate SMILES and check claimed modificationsPass/fail report with structural analysis
compare_candidates.pySide-by-side descriptor comparisonComparison table (CSV/HTML) with liability flags

Optimization Protocol Detail

Step 1: ANALYZE

Compute molecular descriptors: MW, LogP, TPSA, HBA, HBD, RotBonds, QED, aromatic rings, Murcko scaffold. Flag properties outside ADMET target thresholds.

Step 2: IDENTIFY LIABILITIES

Rank flagged properties by severity (hERG > DILI > CYP > solubility). For each, identify the structural feature causing the liability and propose a specific modification.

Step 3: GENERATE CANDIDATES

Apply proposed modifications via:

  • Bioisosteric replacement (e.g., phenyl → pyridine, amide → sulfonamide)
  • Functional group addition/removal
  • Ring system modification
  • Chain length adjustment

Generate 4-8 candidates per iteration.

Step 4: VERIFY

For each candidate:

  1. Chem.MolFromSmiles() — discard if None
  2. Scaffold preservation: Murcko scaffold match
  3. Tanimoto similarity (ECFP4): flag if < 0.4
  4. Structural verification: confirm claimed modification exists

Step 5: EVALUATE & RANK

Recompute descriptors, build comparison table, score by net liability improvement (+1 per fix, -0.5 per new liability).

Step 6: ITERATE

If no improvement after 3 iterations, return best found with honest assessment.

ADMET Target Thresholds

PropertyTargetSeverity
hERG inhibition< 0.3Critical
DILI< 0.5Critical
CYP inhibition< 0.5High
LogP1.0 – 3.0Medium
TPSA20 – 130Medium
MW150 – 500Medium
QED> 0.5Low
Solubility (LogS)> -4.0Medium

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Simplest distributed training API. 4 lines to add distributed support to any PyTorch script. Unified API for DeepSpeed/FSDP/Megatron/DDP. Automatic device placement, mixed precision (FP16/BF16/FP8). Interactive config, single launch command. HuggingFace ecosystem standard.

日本語の概要は準備中です。原文の説明を表示しています。

huang-sh/DeepScience42026年7月15日 更新

ADMET property prediction for drug candidates. Full pharmacokinetic panel (Caco-2, PPB, clearance, CYP), toxicity (hERG, AMES, DILI), drug-likeness (Lipinski, QED), using RDKit descriptors and TDC models.

日本語の概要は準備中です。原文の説明を表示しています。

huang-sh/DeepScience42026年7月15日 更新

Interpretable ADMET analysis with mechanistic reasoning. Maps liabilities to structural causes and biological pathways. Based on CoTox (Park 2025) and DrugR (Liu 2026).

日本語の概要は準備中です。原文の説明を表示しています。

huang-sh/DeepScience42026年7月15日 更新

aeon

無料

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

日本語の概要は準備中です。原文の説明を表示しています。

huang-sh/DeepScience42026年7月15日 更新

arboreto

無料

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

日本語の概要は準備中です。原文の説明を表示しています。

huang-sh/DeepScience42026年7月15日 更新

astropy

無料

Comprehensive Python library for astronomy and astrophysics. This skill should be used when working with astronomical data including celestial coordinates, physical units, FITS files, cosmological calculations, time systems, tables, world coordinate systems (WCS), and astronomical data analysis. Use when tasks involve coordinate transformations, unit conversions, FITS file manipulation, cosmological distance calculations, time scale conversions, or astronomical data processing.

日本語の概要は準備中です。原文の説明を表示しています。

huang-sh/DeepScience42026年7月15日 更新

huang-sh のスキルをすべて見る

このスキルの問題を報告する