我有一个脚本,可以对蛋白质进行一些计算。完成后,方法将导入pymol
模块,并使用pymol.cmd
API在PyMOL会话中显示结果。该过程类似于以下内容:
def display_results(results, protein_fn):
import pymol
pymol.cmd.load(protein_fn)
pymol.cmd.alter(...)
...
protein_fn = "1abc.ent"
results = analyze_protein(protein_fn)
display_results(results, protein_fn)
但是,我的脚本并不一定需要在PyMOL中显示结果,我希望仅在安装并运行PyMOL时才能执行此操作。
检查是否已安装PyMOL很容易(我只能按
try: import pymol
),但是有没有办法检查是否有活动的PyMOL会话显示结果? 最佳答案
我不是PyMOL的专家(从来没有编写过脚本),但是我看到了两种可能的方法:
做一些需要打开PyMOL会话的琐碎事情
例外情况
查看进程名称(类似于os.system("ps ux |grep -i pymol")
)
第一种方法更好,第二种是肮脏的破解。
关于python - 仅在PyMOL运行时调用函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11858681/