关于 pymol
这是供 Claude Code 使用的 PyMOL 操作技能,通过 claudemol socket 控制分子可视化。它涵盖结构加载、展示、渲染和导出,适用于分子结构分析与图像制作。
主要功能
- 01安装并配置 PyMOL 与 claudemol
- 02加载本地或 RCSB 结构
- 03设置分子表示方式与颜色
- 04选择残基、链及结合位点
- 05调整视角并生成高分辨率图像
- 06导出图像、会话和影片
适用场景
- 01配置 PyMOL 与 socket 连接
- 02查看蛋白质及复合物结构
- 03突出显示配体结合位点
- 04制作出版级结构图像
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aminoanalytica/ amina-skills --skill pymol安装后在 Claude Code 中输入/pymol确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/commands.mdtroubleshooting.mdvisualization.mdscripts/setup_pymol.py详细介绍
PyMOL:通过 claudemol 进行分子可视化
概要
此技能可让 Claude Code 通过 claudemol 套接字接口控制 PyMOL 分子可视化软件。它支持:
- 设置:跨平台安装 claudemol 和 PyMOL
- 可视化:渲染蛋白质、小分子和复合物
- 出版级图片:生成光线追踪的高分辨率图像
- 交互式控制:以编程方式发送 PyMOL 命令
适用场景
| 任务类别 | 示例 |
|---|---|
| 设置 | 安装 PyMOL、配置 claudemol、验证连接 |
| 结构加载 | 加载 PDB 文件、从 RCSB 获取结构、打开本地结构 |
| 表示形式 | Cartoon、surface、sticks、spheres、ribbons、lines |
| 着色 | 按链、光谱、B-factor、自定义颜色着色 |
| 选择 | 选择残基、链、配体、结合位点 |
| 摄像机 | 调整视角、缩放、旋转、保存视角 |
| 光线追踪 | 高质量渲染、出版级图片 |
| 导出 | 保存图像(PNG)、会话(PSE)、影片 |
设置说明
快速设置(所有平台)
运行自动设置脚本:
python /path/to/skills/pymol/scripts/setup_pymol.py
手动设置
1. 安装 claudemol
pip install claudemol
2. 安装 PyMOL
macOS(推荐):
brew install pymol
Windows/Linux(无头模式):
pip install pymol-open-source
Windows(已授权的 PyMOL):
连接到现有的 PyMOL 安装——参见 references/troubleshooting.md
3. 配置 PyMOL
claudemol setup
这会将套接字插件添加到 PyMOL 的启动流程中。
4. 启动并验证
- 正常启动 PyMOL
- 检查端口 9880 是否正在监听:
lsof -i :9880 # macOS/Linux netstat -an | findstr 9880 # Windows
套接字通信
claudemol 通过端口 9880 上的 TCP 套接字与 PyMOL 通信。
基本模式
import socket
import json
def send_pymol_command(code: str, host: str = 'localhost', port: int = 9880) -> dict:
"""Send a command to PyMOL via claudemol socket."""
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(30)
try:
sock.connect((host, port))
message = json.dumps({"code": code})
sock.sendall(message.encode('utf-8'))
response = sock.recv(65536)
return json.loads(response.decode('utf-8'))
finally:
sock.close()
多命令示例
commands = """
cmd.load('1ubq.pdb')
cmd.show('cartoon')
cmd.color('cyan', 'all')
cmd.orient()
"""
result = send_pymol_command(commands)
快速参考
加载结构
# From local file
cmd.load('/path/to/structure.pdb')
cmd.load('/path/to/structure.cif')
# From RCSB PDB
cmd.fetch('1ubq')
cmd.fetch('6lu7', type='cif')
表示形式
# Show representations
cmd.show('cartoon', 'all')
cmd.show('surface', 'chain A')
cmd.show('sticks', 'resn LIG')
cmd.show('spheres', 'name CA')
# Hide representations
cmd.hide('lines', 'all')
cmd.hide('everything', 'solvent')
着色
# Color by chain (automatic colors)
cmd.util.cbc()
# Spectrum coloring (rainbow N to C)
cmd.spectrum('count', 'rainbow', 'all')
# Specific colors
cmd.color('red', 'chain A')
cmd.color('blue', 'resn LIG')
cmd.color('green', 'resi 50-100')
# B-factor coloring
cmd.spectrum('b', 'blue_white_red', 'all')
选择
# Create named selections
cmd.select('binding_site', 'byres resn LIG around 5')
cmd.select('active_site', 'resi 145+41+166 and chain A')
cmd.select('interface', 'chain A within 4 of chain B')
# Selection algebra
cmd.select('no_water', 'all and not solvent')
视图和摄像机
# Orient and zoom
cmd.orient()
cmd.zoom('all')
cmd.zoom('chain A', buffer=5)
cmd.center('resn LIG')
# Set specific view
cmd.set_view([...]) # 18-element matrix
# Store and recall views
cmd.view('view1', 'store')
cmd.view('view1', 'recall')
光线追踪和导出
# Basic ray trace
cmd.ray(1920, 1080)
cmd.png('/path/to/output.png')
# Publication quality
cmd.set('ray_trace_mode', 1)
cmd.set('ray_shadows', 'on')
cmd.set('antialias', 2)
cmd.ray(2400, 2400)
cmd.png('/path/to/figure.png', dpi=300)
可视化工作流
完整工作流请参见 references/visualization.md:
- 基本蛋白质可视化
- 按链着色的 Cartoon 表示
- 带透明度的表面表示
- 配体结合位点
- 突出显示结构域
- 出版级图片
命令参考
完整命令文档请参见 references/commands.md:
- 所有
cmd.*函数 - 选择语法
- 设置参数
- 配色方案
故障排除
平台相关问题请参见 references/troubleshooting.md:
- macOS GLUT 错误
- Windows 无头模式
- 连接被拒绝错误
- 显示问题
常见问题
| 问题 | 解决方法 |
|---|---|
| 连接被拒绝 | 确保 PyMOL 正在运行,且已加载 claudemol 插件 |
| 端口 9880 已被占用 | 结束其他进程或更改端口 |
| 没有图形界面(Windows pip) | 使用无头模式或已授权的 PyMOL |
| 缺少 GLUT(macOS) | 使用 Homebrew 安装,而不是通过 pip 安装 |
| 光线追踪速度慢 | 降低分辨率或简化场景 |
外部资源
- PyMOL 文档:https://pymol.org/dokuwiki/
- PyMOL Wiki:https://pymolwiki.org/
- claudemol GitHub:https://github.com/colorifix/claudemol
- 开源 PyMOL:https://github.com/schrodinger/pymol-open-source
评论
支持 Markdown