<< All versions

Skill v1.0.0

currentAutomated scan100/100
synthetic-sciences/openscience/multi-objective-optimization
──Details
PublishedOctober 21, 2026 at 12:37 PM
Content Hashsha256:a06051c371b83fc8...
Git SHA79c26bc770f2
──Files
Files (1 file, 2.9 KB)
SKILL.md2.9 KBactive
SKILL.md · 89 lines · 2.9 KB

name: multi-objective-optimization description: Pareto-aware molecular design balancing multiple ADMET properties simultaneously. Based on MultiMol (Yu 2025) and MOLLM (Ran 2025). category: coding license: MIT metadata: skill-author: Synthetic Sciences version: 1.0.0 tags: [drug-discovery, multi-objective, Pareto, optimization, molecular-design] 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

bash
pip install rdkit-pypi numpy pandas

Optional

bash
pip install matplotlib # For Pareto front visualization

Core Workflows

1. Multi-Objective Optimization

bash
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

bash
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

bash
python scripts/property_radar.py \
--reference "original_smiles" \
--candidates optimized.csv \
--output radar.png

Script Reference

ScriptPurposeKey Outputs
pareto_optimize.pyGenerate and rank candidates by Pareto dominanceJSON with Pareto front, dominated set, objective scores
property_radar.pyMulti-property radar visualizationPNG radar plot comparing candidates
All versions