Agent Skills
› synthetic-sciences/openscience
› multi-objective-optimization
multi-objective-optimization
GitHub基于MultiMol和MOLLM实现Pareto多目标分子优化,平衡ADMET属性权衡,避免单目标加权,支持生成、分析及雷达图可视化。
Trigger Scenarios
需要同时优化多个药物属性(如效力与安全性)
进行Pareto前沿分析以识别最佳候选分子
在特定属性约束范围内生成分子
Install
npx skills add synthetic-sciences/openscience --skill multi-objective-optimization -g -y
SKILL.md
Frontmatter
{
"name": "multi-objective-optimization",
"tags": [
"drug-discovery",
"multi-objective",
"Pareto",
"optimization",
"molecular-design"
],
"license": "MIT",
"version": "1.0.0",
"category": "coding",
"metadata": {
"skill-author": "Synthetic Sciences"
},
"description": "Pareto-aware molecular design balancing multiple ADMET properties simultaneously. Based on MultiMol (Yu 2025) and MOLLM (Ran 2025).",
"dependencies": [
"rdkit-pypi",
"numpy",
"pandas"
]
}
Multi-Objective Molecular Optimization
Overview
Real drug design is never single-objective. A useful molecule must simultaneously satisfy potency, selectivity, solubility, metabolic stability, and safety constraints. This skill implements Pareto-aware optimization that balances multiple properties without collapsing to a single weighted score.
Based on:
- MultiMol (Yu et al., 2025): 82.3% multi-objective success rate with generate-then-rank
- MOLLM (Ran et al., 2025): LLMs as genetic operators for multi-objective molecular design
- DrugR (Liu et al., 2026): Multi-granular reward balancing across property groups
When to Use This Skill
- "Improve potency while keeping hERG safe" — classic multi-objective lead optimization
- Balancing ADMET tradeoffs — LogP vs solubility, BBB penetration vs peripheral safety
- Pareto analysis — identify which candidates best balance competing objectives
- Property-constrained generation — generate molecules within a defined property box
Do NOT use this skill for:
- Single-property optimization (use
molecular-optimization) - Property prediction without optimization (use
admet-prediction)
Related Skills
- molecular-optimization: Single-objective iterative optimization
- admet-prediction: Compute properties used as objectives
- admet-reasoning: Understand why properties need improvement
Installation
pip install rdkit-pypi numpy pandas
Optional
pip install matplotlib # For Pareto front visualization
Core Workflows
1. Multi-Objective Optimization
python scripts/pareto_optimize.py \
--smiles "c1ccc(NC(=O)c2ccccc2Cl)cc1" \
--objectives "LogP:minimize:3.0,QED:maximize:0.5,TPSA:range:20:130" \
--candidates 16 \
--output pareto_results.json
2. Pareto Analysis of Existing Candidates
python scripts/pareto_optimize.py \
--input candidates.csv \
--objectives "LogP:minimize:3.0,QED:maximize:0.5" \
--mode analyze \
--output pareto_front.json
3. Property Radar Plot
python scripts/property_radar.py \
--reference "original_smiles" \
--candidates optimized.csv \
--output radar.png
Script Reference
| Script | Purpose | Key Outputs |
|---|---|---|
pareto_optimize.py |
Generate and rank candidates by Pareto dominance | JSON with Pareto front, dominated set, objective scores |
property_radar.py |
Multi-property radar visualization | PNG radar plot comparing candidates |
Version History
- e9844a4 Current 2026-07-11 17:23
Dependencies
-
required
rdkit-pypi -
required
numpy -
required
pandas


