mcpField
P
pymol

pymol

github.com/aminoanalytica数据与数据库041 次安装26 周前更新
代码仓库

关于 pymol

这是供 Claude Code 使用的 PyMOL 操作技能,通过 claudemol socket 控制分子可视化。它涵盖结构加载、展示、渲染和导出,适用于分子结构分析与图像制作。

主要功能

  1. 01安装并配置 PyMOL 与 claudemol
  2. 02加载本地或 RCSB 结构
  3. 03设置分子表示方式与颜色
  4. 04选择残基、链及结合位点
  5. 05调整视角并生成高分辨率图像
  6. 06导出图像、会话和影片

适用场景

  1. 01配置 PyMOL 与 socket 连接
  2. 02查看蛋白质及复合物结构
  3. 03突出显示配体结合位点
  4. 04制作出版级结构图像

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aminoanalytica/amina-skills --skill pymol

安装后在 Claude Code 中输入/pymol确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
commands.md
troubleshooting.md
visualization.md
scripts/
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. 启动并验证
  1. 正常启动 PyMOL
  2. 检查端口 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 安装
光线追踪速度慢降低分辨率或简化场景

外部资源

评论

支持 Markdown