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

Python 为什么PDBParser无法读取所有fpocket输出文件?,python,biopython,Python,Biopython,我用fpocket在我的PDB蛋白质结构中找到口袋。输出是口袋pocket0_atm.pdb,pocket1_atm.pdb等的有序列表。一些文件被读取到Bio.pdb.PDBParser。其他人则以“断言错误”的方式失败 尝试比较有效的.pdb文件和失败的.pdb文件并没有显示出一致的差异。有什么想法吗 下面是给我带来麻烦的相关代码部分: def get_pdb_limits(pdb_file): ''' Return the X,Y,Z size limits of a PDB fi

我用fpocket在我的PDB蛋白质结构中找到口袋。输出是口袋
pocket0_atm.pdb
pocket1_atm.pdb
等的有序列表。一些文件被读取到
Bio.pdb.PDBParser
。其他人则以“断言错误”的方式失败

尝试比较有效的.pdb文件和失败的.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)

如果没有stacktrace,就不可能真正知道您的问题是什么。但是,
PDB.PDBParser
是为了容忍和补偿PDB文件中的一些错误而构建的。尝试将
PERMISSIVE
设置为True,如下所示,然后查看是否仍有错误

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

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

断言错误是什么?你能给我们看一些代码,可能还有堆栈跟踪吗?这是有问题的部分:
def get_pdb_limits(pdb_文件):“返回pdb文件的X、Y、Z大小限制。”p=PDB.PDBParser()x_min,x_max=None,None y_min,y_max=None,None z_min,z_max=None,None structure=p.get_structure('test',PDB_file)
但是我们有一个解决方案,可以查看fpocket输出中的原子行。谢谢你,AntC。以后,只需编辑您的帖子!我已经为你做了,但是你应该在这里添加这些信息。在这种情况下,stacktrace是最重要的部分。如果我的回答不能解决您的问题,请张贴您得到的具体错误。