为什么PDBParser无法读取所有fpocket输出文件?

时间:2012-08-08 16:43:44

标签: python biopython

我正在使用fpocket在我的PDB蛋白质结构中找到口袋。输出是口袋pocket0_atm.pdbpocket1_atm.pdb等的有序列表。有些文件会被发送到Bio.PDB.PDBParser而不会发生意外。其他人则因“AssertionError”而失败。

尝试比较工作的.pdb文件和失败的文件没有向我显示一致的差异。有什么想法吗?

以下是给我带来麻烦的相关代码部分:

def get_pdb_limits(pdb_file):
    ''' Return the X,Y,Z size limits of a PDB file. '''
    p = PDB.PDBParser()
    structure = p.get_structure('test', pdb_file)

2 个答案:

答案 0 :(得分:1)

根据fpocket documentation,pocketx_atm.pdb文件仅包含与用于提取口袋的球体接触的原子。换句话说,口袋文件不包含完整的残留物,这可能是解析问题的根源。

答案 1 :(得分:0)

没有堆栈跟踪,实际上不可能知道你的问题是什么。但是,PDB.PDBParser可以容忍和补偿PDB文件中的一些错误。尝试将PERMISSIVE设置为True,如下所示,看看是否仍然出错。

p = PDB.PDBParser(PERMISSIVE=1)
p.get_structure("pdb_id", pdb_file)