我想问一些建议如何正确处理我的数据,并在最后,将它们导出到DataFrame。我使用pymol,但问题是一般的,而不是特定于程序。背景:我有这些结构,我想提取关于它们"resname"的信息。我的最终目标是有一个pandas数据框架,其中将有由每个"代码"命名的列。我有这个脚本:
import pymol
import pandas as pd
codes = "2J28, 3BBX, 3J5L"
ID = codes.split(", ")
for IDS in ID:
dir_path = "home/mydata/"
structure= dir_path + "{}.pdb".format(IDS)
cmd.load(structure)
myspace = {"pdbs": []}
my_info = cmd.iterate('(all and name P)', 'pdbs.append(resname)', space=myspace)
print(myspace)
结果是:
{'pdbs': ['A', 'G',...]}
{'pdbs': ['A', 'G',...]}
{'pdbs': ['A', 'G',...]}
当然,我不希望每个dickey都被命名为"pdbs"而是通过相应的代码:
{'2J28': ['A', 'G',...]}
{'3BBX': ['A', 'G',...]}
{'3J5L': ['A', 'G',...]}
我试着直接设置:
myspace = {"{}".format(IDS): []}
my_info = cmd.iterate('(all and name P)', '"{}".format(IDS).append(resname)', space=myspace)
然而,这不起作用,问题似乎是在'"{}".format(IDS).append(resname)
我没有详细检查代码,但是将最后一行更改为:
print({IDS: myspace['pdbs']})