Python中使用PyMOL的详细教程及实用示例指南

安装参阅:开源版PyMol安装保姆级教程

百度网盘下载
提取码:csub

简介: PyMOL是一个Python增强的分子图形工具。它擅长蛋白质、小分子、密度、表面和轨迹的3D可视化。它还包括分子编辑、射线追踪和动画。
PyMol的名字来源于“Py”表示该软件基于Python这个计算机语言,“Mol”则是英文分子(molucule)的缩写,表示该软件用来显示分子结构。

先从 www.python.org 下载 python-3.11.9-amd64.exe
在 Win 10 上安装在 D:\Python311
cd D:\Python311
python.exe -m pip install –upgrade pip

pip install \pyMol\numpy-1.22.4+mkl-cp311-cp311-win_amd64.whl
pip install \pyMol\Pmw-2.0.1-py3-none-any.whl
pip install \pyMol\pymol-2.6.0a0-cp311-cp311-win_amd64.whl
pip install \pyMol\pymol_launcher-2.5-cp311-cp311-win_amd64.whl

D:\Python311> pip install pyqt5
Successfully installed PyQt5-Qt5-5.15.2 PyQt5-sip-12.17.0 pyqt5-5.15.11

安装成功之后 PyMOL.exe 在 D:\Python311\,右键点击发送到桌面快捷即可。

PyMOL 使用教程(实用示例)

PyMOL 是专业的分子可视化软件,广泛应用于结构生物学、药物设计等领域。本教程涵盖基础操作到高级技巧,并提供可直接运行的代码示例。


一、基础操作

1. 启动与界面
  • 图形窗口:3D分子显示区
  • 命令行窗口:输入指令(PyMOL> 前缀)
  • 对象列表:管理加载的分子
  • 显示控制面板:调整渲染效果
  • 2. 视图控制
    # 鼠标操作:
    # - 左键拖动:旋转
    # - 滚轮拖动:平移
    # - 右键拖动:缩放
    
    # 命令行操作:
    reset          # 重置视图
    zoom all       # 完整显示分子
    orient         # 自动最佳视角
    

    二、分子加载与显示

    示例1:从PDB数据库加载蛋白质
    fetch 1TIM     # 加载TIM桶蛋白
    show cartoon   # 显示卡通图
    color green    # 整体着色
    

    1tem

    示例2:本地文件加载

    load r"D:\Python311\Lib\site-packages\pymol\pymol_path\test\dat\ligs3d.sdf"

    load my_ligand.sdf  # 加载配体分子
    show sticks         # 棍棒模型
    util.cbag           # 按原子元素着色(C:青,N:蓝,O:红)
    

    ligs3d.sdf

    示例3:多对象管理
    load protein.pdb, target   # 命名为"target"
    load ligand.mol2, inhibitor # 命名为"inhibitor"
    
    hide everything, target     # 隐藏target
    show surface, target        # 显示表面
    show sticks, inhibitor      # 显示配体棍棒
    

    三、选择与编辑

    示例4:选择特定结构区域
    select active_site, resi 50-60   # 选择50-60号残基
    show spheres, active_site        # 球体显示
    color red, active_site           # 红色标记
    
    select metals, elem Zn+Fe+Mg     # 选择金属离子
    show spheres, metals
    set sphere_scale, 0.3, metals    # 缩小球体
    
    示例5:测量与标注
    distance hbond1, inhibitor/1/O, target/145/N  # 测量氢键
    label hbond1, "2.8 Å"           # 添加距离标签
    
    set label_size, 20              # 标签大小
    set label_color, blue           # 标签颜色
    

    四、高级可视化技巧

    示例6:静电势表面
    fetch 1cll  # 加载溶菌酶
    show surface
    spectrum any, blue_white_red  # 静电势着色
    set surface_solvent, on       # 显示溶剂效应
    
    示例7:结合口袋展示
    select pocket, byres inhibitor around 5  # 配体5Å内残基
    show sticks, pocket
    show surface, pocket
    set surface_transparency, 0.7  # 表面半透明
    
    示例8:多状态比较(如分子对接结果)
    load docking_poses.mol2, poses
    split_states poses             # 拆分为独立对象
    
    # 并排显示前3个构象
    viewport 1200,400
    set_viewport 0,0,1200,400
    align poses_1, poses_2
    orient
    

    五、图像渲染与输出

    示例9:高质量渲染
    set ray_trace_mode, 1    # 启用光线追踪
    set ray_shadows, 0       # 关闭阴影
    set antialias, 2         # 抗锯齿
    set specular, 0          # 关闭镜面反射
    
    bg white                 # 白色背景
    ray 2400,2400            # 渲染分辨率
    png high_quality.png     # 保存PNG
    
    示例10:透明背景输出(用于论文)
    set ray_opaque_background, off  # 透明背景
    png transparent.png
    

    六、动画制作

    示例11:旋转动画
    mset 1 x360       # 设置360帧
    mview store       # 存储起始帧
    rotate y, 360     # 绕Y轴旋转
    mview store       # 存储结束帧
    mview reinterpolate # 生成中间帧
    
    # 导出为MP4(需安装ffmpeg)
    cmd.mpng("frame_", mode=1)  
    # 终端合成: ffmpeg -i frame_%04d.png output.mp4
    
    示例12:构象变化动画
    load trajectory.dcd, protein.pdb  # 加载分子动力学轨迹
    mplay       # 自动播放动画
    movie.produce "dynamics.mp4"  # 直接导出视频
    

    七、实用脚本示例

    示例13:自动生成结合口袋图
    # 保存为 pocket.pml并执行
    load complex.pdb
    select ligand, organic
    create pocket, byres ligand around 5
    
    hide everything
    show cartoon, complex
    show sticks, pocket
    show sticks, ligand
    util.cbag
    
    set bg_rgb=[1,1,1]
    ray 1600,1200
    png binding_pocket.png
    
    示例14:批量渲染多个结构
    # 批量处理脚本 batch_render.py
    from pymol import cmd
    
    pdb_ids = ['1ABC', '2XYZ', '3DEF'] 
    
    for pdb in pdb_ids:
        cmd.fetch(pdb)
        cmd.show("cartoon")
        cmd.color("blue")
        cmd.ray(1200,1200)
        cmd.png(f"{pdb}_render.png")
        cmd.delete(pdb)  # 清理内存
    

    八、常用命令速查

    命令 功能
    show cartoon/sticks/spheres/surface 显示模式
    hide [selection] 隐藏对象
    color color_name, selection 着色
    zoom selection 缩放至选区
    center selection 中心化显示
    save filename.pse 保存会话
    reinitialize 重置PyMOL

    资源推荐

    1. 官方文档:https://pymol.org
    2. 命令手册:help <command> 查看具体命令帮助
    3. 示例库:PyMOL安装目录下的examples文件夹

    通过本教程和示例,您可快速掌握PyMOL核心操作。实践时建议从简单结构开始,逐步尝试复杂可视化!

    作者:belldeep

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python中使用PyMOL的详细教程及实用示例指南

    发表回复