본문으로 건너뛰기
cccskills
무료GitHub에 공개

denovo-design

De novo molecule generation for drug discovery. Scaffold-based analog enumeration, fragment growing/linking, structure-based design, multi-objective optimization, and drug-likeness filtering.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(6)

  • SKILL.md7.8 KB
  • scripts/filter.py15.8 KB
  • scripts/generate_analogs.py19.6 KB
  • scripts/generate_fragments.py20.8 KB
  • scripts/generate_sbdd.py27.2 KB
  • scripts/optimize.py23.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

De Novo Molecule Design

Overview

De novo design is the computational generation of novel molecular structures with desired properties, without starting from known active compounds. This skill provides a complete toolkit for generating drug candidates through multiple complementary strategies: scaffold-based analog enumeration, fragment-based design, structure-based design (SBDD), multi-objective optimization, and drug-likeness filtering.

All generation strategies produce molecules with computed physicochemical properties and similarity metrics, enabling rapid prioritization. The scripts are designed for CPU-first execution using RDKit as the core cheminformatics engine, with optional GPU acceleration noted where applicable.

When to Use This Skill

Use this skill when you need to:

  • Explore chemical space around a known lead compound by generating analogs with R-group enumeration, bioisosteric replacements, or random mutations
  • Design molecules from fragments by growing, linking, or merging fragment hits from screening campaigns
  • Generate molecules for a protein target using pocket shape complementarity or pharmacophore constraints
  • Optimize a set of hits against multiple objectives (QED, LogP, synthetic accessibility, molecular weight) through iterative refinement
  • Filter compound libraries for drug-likeness using Lipinski, Veber, PAINS, Brenk alerts, lead-like, fragment-like, or beyond Rule of Five criteria
  • Enumerate focused libraries for virtual screening or synthesis planning

Installation

pip install rdkit-pypi datamol numpy pandas

Optional (for enhanced fragment design and structure-based approaches):

pip install scipy

For structure-based design with PDB parsing:

pip install biopython

Choosing the Right Strategy

ScenarioScriptStrategy
Have a lead compound, want analogsgenerate_analogs.pyR-group, bioisostere, mutate
Have fragment screening hitsgenerate_fragments.pygrow, link, merge
Have a protein structure / pocketgenerate_sbdd.pyshape, pharmacophore
Have hits, need property optimizationoptimize.pymulti-objective iterative
Have a library, need filteringfilter.pylipinski, veber, pains, etc.

Core Workflows

1. Analog Generation

Generate structural analogs of a lead compound using three complementary strategies.

# Generate 50 analogs using all strategies
python scripts/generate_analogs.py --smiles "c1ccc(NC(=O)c2ccccc2)cc1" --output analogs.csv --num 50 --strategy all

# Only bioisosteric replacements
python scripts/generate_analogs.py --smiles "c1ccc(NC(=O)c2ccccc2)cc1" --output analogs.csv --strategy bioisostere

# Only R-group enumeration
python scripts/generate_analogs.py --smiles "c1ccc(NC(=O)c2ccccc2)cc1" --output analogs.csv --strategy rgroup

Strategies:

  • R-group enumeration: Identifies aromatic and sp3 carbon positions, enumerates common substituents (methyl, ethyl, halides, CF3, OMe, NH2, OH, CN, etc.)
  • Bioisosteric replacement: Swaps functional groups using a curated dictionary (COOH to tetrazole, phenyl to thienyl, amide to sulfonamide, ester to oxadiazole, etc.)
  • Random mutation: Fragment-based random modifications to the molecular graph

Output CSV includes: id, smiles, mw, logp, qed, tanimoto_to_parent, strategy.

2. Fragment-Based Design

Build drug-like molecules from fragment hits.

# Grow a fragment by adding substituents
python scripts/generate_fragments.py --fragments "c1cc[nH]c1" --mode grow --output grown.csv --num 50

# Link two fragments
python scripts/generate_fragments.py --fragments "c1cc[nH]c1,c1ccccc1O" --mode link --output linked.csv --num 50

# Merge fragment pharmacophores
python scripts/generate_fragments.py --fragments "c1cc[nH]c1,c1ccccc1O" --mode merge --output merged.csv --num 50

Modes:

  • Grow: Adds substituents at attachment points on a single fragment
  • Link: Connects two fragments with linkers (alkyl chains, amides, ethers, piperazines, etc.)
  • Merge: Combines pharmacophoric features of two fragments into hybrid molecules

3. Structure-Based Design (SBDD)

Generate molecules complementary to a protein binding pocket.

# Shape-based design from a PDB file
python scripts/generate_sbdd.py --protein target.pdb --pocket-residues "ASP189,SER195,HIS57" --method shape --output sbdd_hits.csv --num 100

# Pharmacophore-based design
python scripts/generate_sbdd.py --protein target.pdb --pocket-residues auto --method pharmacophore --output sbdd_hits.csv --num 100

Methods:

  • Shape-based (CPU): Generates molecules complementing the pocket shape using fragment assembly
  • Pharmacophore (CPU): Defines pharmacophore features from pocket residues and generates matching molecules

Note: For production SBDD, consider GPU-accelerated methods like DiffSBDD or Pocket2Mol. This script provides a CPU-based starting point.

4. Multi-Objective Optimization

Iteratively optimize a set of compounds against multiple property objectives.

# Optimize for QED and LogP with constraints
python scripts/optimize.py --input hits.csv --objectives qed,logp,sa --constraints "mw<500,logp<5,qed>0.5" --output optimized.csv --num-iterations 3

The optimizer runs iterative cycles: generate analogs, compute properties, filter by constraints, rank by multi-objective score, select top compounds for the next round.

5. Drug-Likeness Filtering

Apply standard medicinal chemistry filters to compound libraries.

# Apply Lipinski and PAINS filters
python scripts/filter.py --input library.csv --output filtered.csv --filters lipinski,pains

# Apply all available filters
python scripts/filter.py --input library.csv --output filtered.csv --filters lipinski,veber,qed,pains,brenk,leadlike,fragmentlike,bro5

# Custom thresholds
python scripts/filter.py --input library.csv --output filtered.csv --filters qed,pains --qed-threshold 0.6 --sa-threshold 5.0

Available filters:

  • Lipinski Ro5: MW <= 500, LogP <= 5, HBD <= 5, HBA <= 10
  • Veber: RotBonds <= 10, TPSA <= 140
  • QED: Quantitative drug-likeness score above threshold
  • PAINS: Pan-assay interference compounds (RDKit FilterCatalog)
  • Brenk: Structural alerts for reactive/toxic groups
  • Lead-like: MW 200-350, LogP -1 to 3
  • Fragment-like (Ro3): MW <= 300, LogP <= 3, HBD <= 3, HBA <= 3
  • bRo5: Beyond Rule of Five for natural product-like space (MW 500-1000, LogP -2 to 10)
  • SA score: Synthetic accessibility (1 = easy, 10 = hard)

Tips

  • Start broad, then narrow: Use generate_analogs.py with --strategy all first, then filter with filter.py, then optimize survivors with optimize.py.
  • Fragment merging is powerful: If you have multiple fragment hits from an FBDD campaign, merging can produce leads that retain key interactions from both fragments.
  • Combine SBDD with filtering: Structure-based hits often need medicinal chemistry optimization. Pipe SBDD output through filter.py and optimize.py.
  • Check synthetic accessibility: Always include SA score in your analysis. A beautiful molecule is useless if it cannot be synthesized. Use --sa-threshold 5.0 or lower for practical compounds.
  • Deduplicate early: All generation scripts deduplicate by canonical SMILES, but if you combine outputs from multiple runs, deduplicate again before downstream analysis.
  • Property distributions matter: Look at the property distribution summaries printed by each script. Bimodal distributions or outliers can indicate issues with the generation strategy.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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의 스킬 모두 보기

이 스킬의 문제 신고