当前位置: 首页 > news >正文

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 5hide everything
show cartoon, complex
show sticks, pocket
show sticks, ligand
util.cbagset bg_rgb=[1,1,1]
ray 1600,1200
png binding_pocket.png
示例14:批量渲染多个结构
# 批量处理脚本 batch_render.py
from pymol import cmdpdb_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核心操作。实践时建议从简单结构开始,逐步尝试复杂可视化!

相关文章:

  • 【愚公系列】《生产线数字化设计与仿真》006-颜色分类站仿真(配置颜色分类站的气缸和传送带)
  • 1-Wire 一线式总线:从原理到实战,玩转 DS18B20 温度采集
  • Python字符串格式化(三): t-string前瞻(Python 3.14 新特性)
  • VR/AR 视网膜级显示破局:10000PPI 如何终结颗粒感时代?
  • FreeRTOS多任务系统①
  • 利用计算机模拟和玉米壳废料开发新型抗病毒药物合成方法
  • 如何用VASP计算单个原子的能量和能级
  • 【leetcode】704. 二分查找
  • SOC-ESP32S3部分:19-ADC模数转换
  • 熵最小化Entropy Minimization (一): 基本认识
  • LangChain-自定义Tool和Agent结合DeepSeek应用实例
  • python装饰器
  • 深入理解数组索引:原理、应用与优化
  • 《操作系统真相还原》——加载器
  • 二维平面点集相似问题思考及优化
  • 《java创世手记》---java基础篇(下)
  • python37天打卡
  • 智慧工厂整体解决方案
  • win32相关(创建线程)
  • 【速写】PPOTrainer样例与错误思考(少量DAPO)
  • 全站仪为什么要建站/百度竞价托管费用
  • 山东法院网站哪个公司做的/西安网站建设哪家好
  • 西安网站设计 牛人网络/国外免费建站网站搭建
  • 门户网站网页设计/网站seo快速
  • 广州番禺清河市场火灾/seo入门讲解
  • 购物网站开发 项目描述/已备案域名交易平台