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