pymol中编写和运行python脚本
2023-03-20 15:00:04 时间
pymol中编写和运行python脚本
0.说明
- 简单介绍pymol中调用python脚本,后续把详细的图片更新。(2021年9月13日)
- 后续相关更新会直接粘贴到文件中。
1. 编写功能
- 批量读取本地夹中pdb文件并去除蛋白质中的水。
- 将批量去水后的pdb文件保存到本地。
2. 代码
# 导入pymol
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:
# 读取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处理本地pdb
for i in range(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 )
附录. 详细图文教程
相关文章
- Python中的函数与方法 以及Bound Method和Unbound Method
- 一文贯通python文件读取
- Python 中的异步编程:Asyncio
- 7个你现在就该学习Python的理由
- 提高Python运行效率的六个窍门
- Python数据科学:神经网络
- 一篇文章看懂大数据分析就业前景及职能定位
- R和Python中的文本挖掘:8个入门小贴士
- 告诉你为什么Python有点慢,但我却无所谓?
- 专注学习DevOps编程语言Top 5推荐
- Python发送邮件脚本
- Python多进程并行编程实践: mpi4py 的使用
- Python语言在未来的发展前景
- Python vs Ruby: 谁是最好的 web 开发语言?
- Python对Ruby:谁在Web开发领域更胜一筹?
- Python一行代码完成并行任务
- Python开发者2017应该关注的七个类库
- python爬虫入门基本知识
- 在终端中优雅地编写Python
- Python机器学习实战:信用卡欺诈检测