pymol中编写和运行python脚本
0.说明
- 简单介绍pymol中调用python脚本,后续把详细的图片更新。(2021年9月13日)
- 后续相关更新会直接粘贴到文件中。
1. 编写功能
- 批量读取本地夹中pdb文件并去除蛋白质中的水。
- 将批量去水后的pdb文件保存到本地。
2. 代码
# 导入pymolimport pymol
from pymol import*import os
deffile_name(file_dir):
L =[]for root, dirs, files in os.walk(file_dir):forfilein files:# 读取pdb文件if os.path.splitext(file)[1]=='.pdb':
L.append(os.path.join(root ,file))return L
# 读取本地文件夹下pdb文件(../gg/)
file_name_pdb=file_name('本地文件地址')## 利用pymol处理本地pdbfor i inrange(file_name_pdb.__len__()):print(i)# 读取本地pdb文件
cmd.load(file_name_pdb[i])# pdb去除水分子
cmd.remove('solvent')# 保存去除后的水分子
cmd.save(file_name_pdb[i])# 删除当前运行,加载后续
cmd.delete('all')# preset.publication(i, _self=cmd)
3. 编写教程
- 建立python空白脚本,可以用txt或者相关ide环境。
- 将建立的脚本在pymol中点击file->Run Script 中打开运行。
4. 核心教程说明
- 关于功能命令的写作可以参考官网的链接教程
- https://pymol.org/pymol-command-ref.html#save
- 官网中的API 例子部分相关调用方式进行了介绍
- 当需要特定原子信息提取或是特定操作,需要单独写逻辑
# pymol 调用时主要是通过cmd+功能(文件)的形式。#例如下载pdb文件
cmd.fetch(‘z2kp’,async='0')
5.注意事项
- 文件中不要包含中文字符,包括文件地址,保存名称
- 脚本名字要规范
- 输出结果可以直接print或者保存到txt中方便多软件交互使用
- 如果需要叠加可以不设置每次运行删除文件,或删除特定文件
6. 原子信息的读取
cmd.get_extent(string selection="(all)", state=0)
附录. 详细图文教程
本文转载自: https://blog.csdn.net/qq_33980829/article/details/120266188
版权归原作者 热力学负一定理 所有, 如有侵权,请联系我们删除。
版权归原作者 热力学负一定理 所有, 如有侵权,请联系我们删除。