python:PyMOL 使用教程 及实用示例

article/2025/6/18 23:01:11

安装参阅:开源版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核心操作。实践时建议从简单结构开始,逐步尝试复杂可视化!


http://www.hkcw.cn/article/pRWjBwJfTR.shtml

相关文章

第十二节:第三部分:集合框架:List系列集合:特点、方法、遍历方式、ArrayList集合的底层原理

List系列集合特点 List集合的特有方法 List集合支持的遍历方式 ArrayList集合的底层原理 ArrayList集合适合的应用场景 代码&#xff1a;List系列集合遍历方式 package com.itheima.day19_Collection_List;import java.util.ArrayList; import java.util.Iterator; import jav…

ZC-OFDM雷达通信一体化减小PAPR——SC-FDMA技术

文章目录 前言一、SC-FDMA 技术1、简介2、原理 二、MATLAB 仿真1、核心代码2、仿真结果 三、资源自取 前言 在 OFDM 雷达通信一体化系统中&#xff0c;信号的传输由多个子载波协同完成&#xff0c;多个载波信号相互叠加形成最终的发射信号。此叠加过程可能导致信号峰值显著高于…

【算法】贪心算法

一、贪心算法基本思想 贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从 整体最优考虑&#xff0c;它所作出的选择只是在某种意义上的局部最优选择。 我们希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不 能对所有问题都得到整体最优解&#xff08;O…

通义灵码深度实战测评:从零构建智能家居控制中枢,体验AI编程新范式

一、项目背景&#xff1a;零基础挑战全栈智能家居系统 目标&#xff1a;开发具备设备控制、环境感知、用户习惯学习的智能家居控制中枢&#xff08;PythonFlaskMQTTReact&#xff09; 挑战点&#xff1a; 需集成硬件通信(MQTT)、Web服务(Flask)、前端交互(React) 调用天气AP…

C 语言开发中常见的开发环境

目录 1.Dev-C 2.Visual Studio Code 3.虚拟机 Linux 环境 4.嵌入式 MCU 专用开发环境 1.Dev-C 使用集成的 C/C 开发环境&#xff08;注&#xff1a;较老旧方案&#xff0c;适合基础学习&#xff09; 2.Visual Studio Code 结合 C/C 扩展 GCC/MinGW 编译器&#xff0c;配置…

关于用Cloudflare的Zero Trust实现绕过备案访问国内站点说明

cloudflare 是一个可免费的CDN&#xff0c;CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;加速国内网站&#xff0c;通常是已备案的。Zero Trust类似FRP&#xff0c;可以将请求转发到目标服务器。在使用Zero Trust绕过备案访问国内网站需要&…

火语言UI组件--播放器

【组件功能】&#xff1a;引用网络播放地址的视频播放器。 样式预览 设置 基础设置 属性名称属性释义输入值类型网络资源地址(url)播放视频的网络地址字符串类型音量(volume)播放视频的音量&#xff08;参考值&#xff1a;0 ~ 1)浮点型(Float)自动播放(autoplay)视频是否自动…

Linux基本指令

文章目录 1.ls指令1.1 ls -l指令1.2 ls-a指令1.2.1文件的类型1.2.2隐藏文件1.2.3[.]\[..]的含义 1.3 ls -d指令1.4 ls-F指令1.5ls指令子功能大全 2.pwd指令2.1路径分割符2.2/根目录 3.mkdir指令3.1 mkdir-p3.2mkdir常用功能 4.cd指令4.1多叉树概念4.2绝对/相对路径4.2.1绝对路径…

桥 接 模 式

在玩游戏的时候我们常常会遇到这样的机制&#xff1a;我们可以随意选择不同的角色&#xff0c;搭配不同的武器。这时只有一个抽象上下文的策略模式就不那么适用了&#xff0c;因为一旦我们使用继承的方式&#xff0c;武器和角色总有一方会变得难以扩展。这时&#xff0c;我们就…

leetcode3128. 直角三角形-medium

1 题目&#xff1a;直角三角形 官方标定难度&#xff1a;中 给你一个二维 boolean 矩阵 grid 。 如果 grid 的 3 个元素的集合中&#xff0c;一个元素与另一个元素在 同一行&#xff0c;并且与第三个元素在 同一列&#xff0c;则该集合是一个 直角三角形。3 个元素 不必 彼此…

数据资产入表的数据质量评估

在数据资产入表过程中&#xff0c;对数据质量进行全面、系统的评估至关重要。下面将从数据完整性评估、数据准确性校验、数据一致性检查、数据时效性分析、数据可信度评价、数据规范性审核、数据安全性检测和数据可用性考察等方面&#xff0c;对数据资产入表的数据质量进行详细…

精简多功能办公软件

今天向大家推荐一款功能强大的实用软件。 软件介绍 这款名为"一个MH"的软件界面简洁明了&#xff0c;虽然体积小巧&#xff0c;却集成了多种实用功能&#xff0c;相当于整合了多个软件的功能于一身。软件将各类工具进行了系统分类&#xff0c;并配备了便捷的搜索功…

windows+APP PDFgear 免费工具

在处理PDF文件中&#xff0c;我们会遇到合并&#xff0c;编辑旋转、添加水印、转换格式等&#xff0c;这些在wps上是需要会员才能享受的功能&#xff0c;今天他来了--PDFgear&#xff0c;免费、离线、无任何附加条件的 PDF 编辑器。 文件大小&#xff1a;100M左右。 页面展示…

【深度学习】15. Segment Anything Model (SAM) :基于提示的分割新时代

Segment Anything Model (SAM) &#xff1a;基于提示的分割新时代 基本介绍 The first foundation model for promptable segmentation. Segment Anything Model&#xff08;简称 SAM&#xff09;是 Meta AI 于 2023 年提出的一种通用型图像分割基础模型。与以往分割模型不同&…

Rk3568驱动开发_GPIO点亮LED_12

需求&#xff1a; 用配置寄存器方式控制点灯非常原始&#xff0c;现在采用更方便的Linux提供的pctrl和gpio子系统编写字符驱动 1.设备树配置&#xff1a; 现将开发板中呼吸灯关闭掉防止占用到我需要使用的引脚 /* Narnat 2025-5-29 RK3568 GPIO 无需设置pinctrl*/gpioled{co…

Compose原理 - 整体架构与主流程

一、整体架构 在官方文档中&#xff08;Jetpack Compose 架构层 | Android Developers&#xff09;&#xff0c;对Compose的分层有所阐述&#xff1a; 其中 Runtime&#xff1a;提供Compose的基础运行能力&#xff0c;包括State、Side-effects、CompositionLocal、Compositio…

LeetCode 高频 SQL 50 题(基础版)之 【聚合函数】部分

题目&#xff1a;620. 有趣的电影 题解&#xff1a; select * from cinema where description !boring and id%21 order by rating desc题目&#xff1a;1251. 平均售价 题解&#xff1a; select p.product_id product_id,round(ifnull(sum(p.price*u.units)/sum(u.units),0)…

雪花算法的实际应用

什么场景下用雪花算法&#xff1f; 软件项目开发中&#xff0c;主键自动生成是基本需求。而各个数据库对于该需求也提供了相应的支持&#xff0c;比如&#xff1a;数据库自增(MySql,oracle)。但是在分布式环境中&#xff0c;分库分表之后&#xff0c;不同表生成全局唯一的ID是非…

Thinkphp6实现websocket

项目需要连接一台自动售货机&#xff0c;售货机要求两边用websocket连接,监听9997端口。本文实现了一个基于PHP的WebSocket服务器&#xff0c;用于连接自动售货机&#xff0c;支持start/stop/restart命令操作 1.新建文件 新建文件 /command/socket.php <?php namespace a…

痉挛性斜颈带来的困扰

当颈部不受控制地扭转歪斜&#xff0c;生活便被打乱了节奏。颈部肌肉异常收缩&#xff0c;导致头部不自觉偏向一侧或后仰&#xff0c;不仅让外观明显异于常人&#xff0c;还会引发持续的酸痛与僵硬感。长时间保持扭曲姿势&#xff0c;肩颈肌肉过度紧绷&#xff0c;甚至会牵连背…