【问题标题】:Python Library Reference/UsagePython 库参考/使用
【发布时间】:2018-01-10 03:57:44
【问题描述】:

我正在尝试使用 BioPython 包中的一种方法来计算给定肽列表的等电点。可以在此处查看班级细分:

http://biopython.org/DIST/docs/api/Bio.SeqUtils.ProtParam.ProteinAnalysis-class.html#isoelectric_point

为了将这个类导入我的环境,我使用了以下代码(我这样做对吗?):

from Bio.SeqUtils.ProtParam import ProteinAnalysis

然后,为了调用该方法,我执行以下操作:

window_aas = "ditkdteneveadveveadveveadvseql";
ProteinAnalysis.isoelectric_point(window_aas);

但是,我收到以下错误,我不确定如何解释它,尽管多次搜索类似的错误:

文件 "C:\Users\----\AppData\Local\Programs\Python\Python36-32\lib\site-packages\Bio\SeqUtils\ProtParam.py", 第 68 行,在 count_amino_acids 中 如果 self.amino_acids_content 为 None: AttributeError: 'str' object has no attribute 'amino_acids_content'

有人可以在这里指导我正确的方向吗?这个其他类也称为 IsoElectricpoint,但我没有看到其中可以使用的方法:

http://biopython.org/DIST/docs/api/Bio.SeqUtils.IsoelectricPoint-module.html

【问题讨论】:

    标签: python libraries biopython


    【解决方案1】:

    ProteinAnalysis 是一个类。您在代码中所做的是尝试直接调用该类中的方法。在 Python 中,此类函数的第一个参数是类对象,但您传入的是字符串 (window_aas)。这个api的正确使用方法是先创建一个类对象:

    protein_analysis = ProteinAnalysis(window_aas)
    

    然后你就可以打电话了

    protein_analysis.isoelectric_point()
    

    您可以在online docs 中详细了解这一切的工作原理。

    【讨论】:

    • 你太棒了,我的朋友。这很好用。谢谢你的解释。非常感谢!
    【解决方案2】:

    貌似isoelectric_point是一个实例方法,所以需要先创建一个实例:

    analysis = ProteinAnalysis(window_aas)
    analysis.isoelectric_point()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 2015-07-31
      • 2011-01-21
      相关资源
      最近更新 更多