molecular-rag
Retrieve structurally similar compounds with known properties from ChEMBL/ZINC to ground predictions and inform optimization. Based on MolRAG (Xian 2025, ACL).
- License 许可
- MIT
- 最近更新
- 2026-10-28
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- molecular-rag
- tags
- [ "drug-discovery", "RAG", "retrieval", "ChEMBL", "analog-search", "grounding" ]
- license
- MIT
- version
- 1.0.0
- category
- chemistry
- metadata
- { "skill-author": "Synthetic Sciences" }
- description
- Retrieve structurally similar compounds with known properties from ChEMBL/ZINC to ground predictions and inform optimization. Based on MolRAG (Xian 2025, ACL).
- dependencies
- [ "rdkit-pypi", "requests", "pandas" ]
02 资源文件 1
- 脚本scripts/retrieve_analogs.py7.7 KB
03 SKILL.md 正文
Molecular RAG (Retrieval-Augmented Generation)
Overview
LLMs hallucinate molecular properties. This skill grounds predictions by retrieving structurally similar compounds with experimentally measured properties from ChEMBL and ZINC. When the agent says "this compound should have good hERG safety," it can now check what happened with similar compounds in real assays.
Based on:
- MolRAG (Xian et al., 2025, ACL): RAG for molecular property prediction — retrieves similar compounds to ground LLM predictions
When to Use This Skill
- Before property prediction: Retrieve analogs with known properties for context
- Lead optimization: Find what modifications worked for similar scaffolds
- Novelty assessment: Check if your generated molecule is truly novel or already known
- SAR grounding: Ground structure-activity reasoning in experimental data
Do NOT use this skill for:
- Bulk database queries (use
chembl-databaseorpubchem-databasedirectly) - De novo generation (use
denovo-design)
Related Skills
- chembl-database: Direct ChEMBL API access
- pubchem-database: PubChem compound lookup
- zinc-database: ZINC compound search
- admet-reasoning: Interpret properties of retrieved analogs
Installation
pip install rdkit-pypi requests pandas
Core Workflows
1. Find Similar Compounds with Known Properties
python scripts/retrieve_analogs.py \
--smiles "c1ccc(NC(=O)c2ccccc2Cl)cc1" \
--similarity-threshold 0.6 \
--max-results 20 \
--output analogs.json
2. Target-Specific Analog Search
python scripts/retrieve_analogs.py \
--smiles "c1ccc(NC(=O)c2ccccc2Cl)cc1" \
--target CHEMBL25 \
--output target_analogs.json
3. SAR Context for Optimization
python scripts/retrieve_analogs.py \
--smiles "c1ccc(NC(=O)c2ccccc2Cl)cc1" \
--include-activities \
--output sar_context.json
Script Reference
| Script | Purpose | Key Outputs |
|---|---|---|
retrieve_analogs.py |
Find similar compounds with experimental data | JSON with analogs, similarities, bioactivities |
04 同仓库更多 Skills
statistical-power
Sample size calculation, power analysis, and effect size conversion for scientific studies. Use BEFORE data collection (a priori) to determine required N, or after (post-hoc) to compute achieved power. Covers parametric tests (t-test, ANOVA, chi-square, proportions, correlation, regression), simulation-based power for complex/clustered/nested designs, and power curves. Use this skill when someone asks 'how many samples do I need', 'what is my power', 'what effect size can I detect', or any variant. Pairs with /experimental-design (choose design first, then compute power) and /statistical-analysis (analyze data after collection).
statistical-analysis
Guided statistical analysis with test selection and reporting. Use when you need help choosing appropriate tests for your data, assumption checking, power analysis, and APA-formatted results. Best for academic research reporting, test selection guidance. For implementing specific models programmatically use statsmodels.
scientific-writing
Core skill for the deep research and writing tool. Write scientific manuscripts in full paragraphs (never bullet points). Use two-stage process with (1) section outlines with key points using research-lookup then (2) convert to flowing prose. IMRAD structure, citations (APA/AMA/Vancouver), figures/tables, reporting guidelines (CONSORT/STROBE/PRISMA), for research papers and journal submissions.
scientific-visualization
Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib/seaborn/plotly with publication styles. For quick exploration use seaborn or plotly directly.
research-code
Debug, profile, review, and restructure Python research and analysis code. Use when analysis scripts crash, produce wrong results, run too slowly, or need a correctness review. Covers: reading tracebacks and diagnosing root causes, hypothesis-driven debugging, reviewing code for common statistical/numerical errors, profiling data pipelines, improving reproducibility (seeds, environments, determinism), and structuring analysis scripts for sharing. Distinct from /exploratory-data-analysis (which understands data) and /statistical-analysis (which chooses and runs tests) — this skill focuses on the code itself.
markdown-mermaid-writing
Comprehensive markdown and Mermaid diagram writing skill. Use when creating any scientific document, report, analysis, or visualization. Establishes text-based diagrams as the default documentation standard with full style guides (markdown + mermaid), 24 diagram type references, and 9 document templates.