我意识到这是一个古老的问题,但是我正在对其进行更新,希望我的问题会更加清楚。
尝试执行前面提到的代码时出现错误。我执行以下操作:
QueueTriggerAttribute
出现以下错误:
import Bio.PDB.ResidueDepth as res_depth
surface = res_depth.get_surface(model)
我正在尝试导入模块并在此模块中调用函数。模块中有一个ResidueDepth类,但是我不需要使用它。有没有一种方法可以只调用函数而不调用类?
如果有用,这里是ResidueDepth.py源代码:
Traceback (most recent call last):
File "setupPpiDb.py", line 489, in <module>
calcEnergyTerms(pdbsToAnalyzeWithChains)
File "setupPpiDb.py", line 446, in calcEnergyTerms
surface = res_depth.get_surface(model)
AttributeError: type object 'ResidueDepth' has no attribute 'get_surface'
答案 0 :(得分:1)
您应该针对ResidueDepth的实例而不是抽象类进行工作。试试类似的东西:
from Bio.PDB.PDBParser import PDBParser
import Bio.PDB.ResidueDepth as res_depth
parser = PDBParser()
structure = parser.get_structure('1FAT.pdb')
model = structure[0]
rd = res_depth(model)
surface = rd.surface
否则,您可以访问该代码中定义的方法,但它们不属于ResidueDepth。您可以独立导入它们。