2012-08-08 79 views
0

我使用fpocket在我的PDB蛋白質結構中找到口袋。輸出是一個有序的口袋列表pocket0_atm.pdb,pocket1_atm.pdb等。有些文件被讀入Bio.PDB.PDBParser而不會發生。其他人會因「AssertionError」而失敗。爲什麼PDBParser無法讀取所有fpocket輸出文件?

嘗試將工作的.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) 
+0

斷言錯誤是什麼?你能告訴我們一些代碼,並可能是堆棧跟蹤? – 2012-08-09 04:25:40

+0

這是違規所得: – AntC 2012-08-10 13:43:26

+0

'def get_pdb_limits(pdb_file): ''' 返回PDB文件的X,Y,Z大小限制。 ''」 P = PDB.PDBParser() x_min,X_MAX =無,無 Y_MIN,Y_MAX =無,無 z_min,z_max =無,無 結構= p.get_structure( '測試',pdb_file)' 但我們有一個解決方法,看看fpocket輸出中的ATOM行。 – AntC 2012-08-10 13:49:03

回答

0

沒有一個堆棧跟蹤,這是不可能真正知道你的問題是什麼。但是,PDB.PDBParser的構建是爲了容忍和彌補PDB文件中的一些錯誤。嘗試將PERMISSIVE設置爲True,如下所示,然後查看是否仍然出現錯誤。

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

根據fpocket documentation的pocketx_atm.pdb文件只包含在與用於提取袋球體接觸的原子。換句話說,口袋文件不包含可能成爲解析問題源的完整殘留。

相關問題