molecule-visualization
Publication-quality molecular visualization. 2D structure drawings (PNG/SVG), molecule grids with property annotations, scaffold highlighting, protein-ligand interaction diagrams, and interactive 3D views.
- License 许可
- MIT
- 最近更新
- 2026-10-28
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- molecule-visualization
- license
- MIT
- category
- chemistry
- metadata
- { "skill-author": "Synthetic Sciences" }
- description
- Publication-quality molecular visualization. 2D structure drawings (PNG/SVG), molecule grids with property annotations, scaffold highlighting, protein-ligand interaction diagrams, and interactive 3D views.
02 资源文件 6
- 参考文档references/style_guide.md6.8 KB
- 脚本scripts/draw_2d.py8.2 KB
- 脚本scripts/draw_grid.py11.9 KB
- 脚本scripts/draw_interactions.py17.0 KB
- 脚本scripts/draw_scaffold.py15.4 KB
- 脚本scripts/render_3d.py22.9 KB
03 SKILL.md 正文
Molecule Visualization
Generate publication-quality molecular images for drug discovery, medicinal chemistry, and computational chemistry workflows. This skill provides a comprehensive suite of tools for rendering 2D structural drawings, annotated molecule grids, scaffold decomposition views, protein-ligand interaction diagrams, and interactive 3D molecular viewers.
When to Use
- 2D structure drawings: Generate clean, high-resolution depictions of small molecules for papers, patents, reports, and presentations.
- Molecule grids: Compare compound series side-by-side with property annotations (QED, LogP, MW, etc.).
- Scaffold highlighting: Visualize SAR by decomposing molecules into core scaffolds and R-groups.
- Interaction diagrams: Summarize protein-ligand binding modes from docking or crystal structures.
- 3D interactive views: Create browser-based 3D viewers for proteins, ligands, and complexes.
Installation
All scripts require Python 3.8+ and the following packages:
# Core (required for all scripts)
pip install rdkit-pypi pillow matplotlib
# For protein-ligand interaction diagrams
pip install biopython
# For 3D interactive views
pip install py3Dmol
# Full installation
pip install rdkit-pypi pillow matplotlib biopython py3Dmol
Core Workflows
1. Single Molecule Drawing (scripts/draw_2d.py)
Render a single molecule as a high-quality PNG or SVG image.
# Basic usage
python scripts/draw_2d.py --smiles "c1ccccc1" --output benzene.png
# With atom highlighting and title
python scripts/draw_2d.py \
--smiles "CC(=O)Oc1ccccc1C(=O)O" \
--output aspirin.svg \
--title "Aspirin" \
--highlight-atoms 0,1,2,3 \
--highlight-color "#4A90D9"
# Show atom indices for reference
python scripts/draw_2d.py \
--smiles "c1ccc(NC(=O)c2ccccc2)cc1" \
--output benzanilide.png \
--show-atom-indices \
--size 600x400
2. Molecule Grid (scripts/draw_grid.py)
Compare multiple molecules in a grid layout with optional property annotations.
# From CSV file
python scripts/draw_grid.py \
--input compounds.csv \
--output grid.png \
--cols 4 \
--properties "qed,mw,logp"
# From comma-separated SMILES
python scripts/draw_grid.py \
--input "c1ccccc1,c1ccncc1,c1ccoc1" \
--output ring_comparison.png \
--title "Aromatic Ring Comparison"
3. Scaffold Highlighting (scripts/draw_scaffold.py)
Decompose molecules into scaffolds and R-groups for SAR analysis.
# Manual scaffold specification
python scripts/draw_scaffold.py \
--smiles "c1ccc(NC(=O)c2ccccc2Cl)cc1" \
--scaffold "c1ccc(NC(=O)c2ccccc2)cc1" \
--output scaffold.png
# Automatic Murcko scaffold detection
python scripts/draw_scaffold.py \
--smiles "CC(=O)Oc1ccccc1C(=O)O" \
--scaffold auto \
--output murcko.png
# R-group decomposition across analogs
python scripts/draw_scaffold.py \
--smiles "c1ccc(NC(=O)c2ccccc2)cc1" \
--scaffold "c1ccc(NC(=O)c2ccccc2)cc1" \
--analogs analogs.csv \
--output rgroup_table.png
4. Protein-Ligand Interaction Diagram (scripts/draw_interactions.py)
Generate 2D interaction diagrams from protein-ligand complexes.
python scripts/draw_interactions.py \
--protein receptor.pdb \
--ligand ligand.sdf \
--output interactions.png \
--distance-cutoff 4.0
5. Interactive 3D View (scripts/render_3d.py)
Create self-contained HTML files with interactive 3D molecular viewers.
# Protein with cartoon representation
python scripts/render_3d.py \
--input protein.pdb \
--output view.html \
--style cartoon \
--color chain
# Protein-ligand complex
python scripts/render_3d.py \
--input protein.pdb \
--ligand ligand.sdf \
--output complex.html \
--style cartoon
6. Pocket Visualization (scripts/render_3d.py --mode pockets)
Visualize detected binding pockets as colored spheres on the protein surface. Sphere color indicates druggability: green (>0.7), orange (0.4-0.7), red (<0.4). Sphere size is proportional to pocket volume.
# After pocket-detection/detect.py or druggability.py
python scripts/render_3d.py \
--input protein.pdb \
--pockets druggability.json \
--mode pockets \
--output pocket_view.html
# With specific residues highlighted
python scripts/render_3d.py \
--input protein.pdb \
--pockets pockets.json \
--mode pockets \
--highlight-residues "189,195,57" \
--output pocket_view.html
7. Docking Results Visualization (scripts/render_3d.py --mode docking-results)
Overlay top docked poses on the protein, colored by rank (green = best, red = worst). The top-ranked pose gets a translucent surface highlight.
# After molecular-docking/dock.py
python scripts/render_3d.py \
--input protein.pdb \
--poses dock_results/poses.sdf \
--mode docking-results \
--top-n 5 \
--output docking_results.html
Script Reference
| Script | Purpose | Key Inputs |
|---|---|---|
draw_2d.py |
Single molecule 2D drawing | SMILES, output path |
draw_grid.py |
Multi-molecule grid | CSV or SMILES list, output path |
draw_scaffold.py |
Scaffold and R-group analysis | SMILES, scaffold, output path |
draw_interactions.py |
Protein-ligand interactions | PDB, SDF, output path |
render_3d.py |
Interactive 3D viewer | PDB/SDF/SMILES, output HTML |
Style Guide
See references/style_guide.md for detailed guidance on:
- Colors: CPK atom coloring scheme (C=gray, N=blue, O=red, S=yellow, Cl=green, etc.)
- Resolution: 300 DPI minimum for print; 150 DPI for screen. Vector (SVG) preferred for publications.
- Font sizes: 12pt minimum for labels in figures; 8pt minimum for atom indices.
- Image dimensions: Single molecule 400x300px default; grid cells 300x250px; interaction diagrams 800x800px.
- Interaction colors: Green for H-bonds, gray for hydrophobic, orange for pi-stacking, red for salt bridges.
- Colorblind-friendly: Prefer blue/orange instead of red/green when accessibility is a concern.
- 2D vs 3D: Use 2D for SAR tables, patent figures, and print publications. Use 3D for binding mode analysis, presentations, and supplementary material.
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.