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 # 整体着色示例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:红)示例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.pyfrom 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 |
资源推荐:官方文档:https://pymol.org命令手册:help <command>查看具体命令帮助示例库:PyMOL安装目录下的examples文件夹
通过本教程和示例,您可快速掌握PyMOL核心操作。实践时建议从简单结构开始,逐步尝试复杂可视化!