我是PyMOL新手,我正在尝试编写一个python脚本,该脚本将生成一个.txt文件,并将PyMOL命令输出保存到该文件中。假设它有一个包含pdb文件名的数组和一个将每个文件与特定蛋白质对齐的for循环:
pdb = ["191L", "192L", "193L", "194L"]
cmd.fetch("190L")
for i in pdb:
cmd.fetch(i)
cmd.align(i, "190L")
PyMOL将计算每个路线的RMSD。我如何编写脚本,使其能够接受每个RMSD并将其保存到文本文件中
以下是我目前掌握的情况:
def get_rmsd():
cmd.fetch("190L")
for i in pdb:
cmd.fetch(i)
output = open("rmsd.txt", "w")
data = cmd.align(i, "190L")
data = str(data)
output.write(data)
stored.f.close()
当我在PyMOL上调用该函数时,它会像预期的那样获取并对齐文件,但不会创建文本文件
我不会使用
pymol.Scratch_Storage
类。我会保持它的简单性,并做一些类似的事情:创建一个新文件“test.py”
复制以下内容:
使用以下命令从PyMOL终端运行脚本:
run test.py
找到了我自己问题的答案,这个解决方案非常简单,哈哈
为每个所需输出分配变量,例如:
按原样在PyMOL中运行脚本,然后逐行将python代码输入其中,以“python”开头,以“python end”结尾
这是一个非常基本的例子,但这就是它的要点
尝试:
我应该做这项工作
相关问题 更多 >
编程相关推荐