我是學習python的新手,我真的需要完成這項工作,而且我真的不知道如何尋找答案,看起來像什麼信息巨大的巨大海洋。我應該如何在python中爲單個操作編寫多個循環
我一個PDB解析器工作,我有以下代碼:
#Calling the module
from Bio.PDB.PDBParser import PDBParser
#Defining some variables
parser = PDBParser(PERMISSIVE=1)
structure_id= "3caq"
filename = "3caq.pdb"
#This is the actual task to be done
structure = parser.get_structure(structure_id, filename)
#What I'm interested in doing
compound = structure.header['compound']
print structure_id + " |", compound
這個結果:
3caq | {'1': {'synonym': 'delta(4)-3-ketosteroid 5-beta-reductase, aldo-keto reductase family 1 member d1 ', 'chain': 'a, b', 'misc': '', 'molecule': '3-oxo-5-beta-steroid 4-dehydrogenase', 'ec_number': '1.3.1.3','ec': '1.3.1.3', 'engineered': 'yes'}}
的事情是,我不只是一個單一的工作文件(在「文件名」下定義),但我有我需要提取「標題」的數百個文件,並且只保留所述標題的「複合」變量。
我知道我必須寫爲循環做,我試過如下:
#Defining lists
nicknames = { "3caq", "2zb7" }
structures = { "3caq.pdb", "2bz7.pdb" }
structure_id = []
for structure in structures:
structure_id.append(nickname)
filename = []
for structure in structures:
filename.append(structure)
然後我喂解析器,但我得到一個錯誤。
Traceback (most recent call last):
File "/home/tomas/Escritorio/d.py", line 16, in <module>
header = parser.get_structure(structure_id, filename)
File "/usr/local/lib/python2.7/dist-packages/Bio/PDB/PDBParser.py"
, line 82, in get_structure
self._parse(handle.readlines())
AttributeError: 'list' object has no attribute 'readlines'
我很確定循環沒有被正確寫入。
因此,如果我可以通過我可以檢查的資源或正確的命令來正確編寫該循環,我將非常感激。
此致敬禮。
_「我得到一個錯誤」 _ - 你可以請你發佈完整的錯誤嗎? –
對不起,我忘了這 – TFdoe
回溯(最近通話最後一個): 文件 「/home/tomas/Escritorio/d.py」,第16行,在 頭= parser.get_structure(structure_id,文件名) 文件「 /usr/local/lib/python2.7/dist-packages/Bio/PDB/PDBParser.py「,第82行,在get_structure中 self._parse(handle.readlines()) AttributeError:'list'對象沒有屬性'readlines' –
TFdoe