Biopython - 字符串分配错误

时间:2014-05-23 12:06:07

标签: python biopython

我试着用Biopython开始。所以我可以在其中完成我的论文。但这真的让我三思而后行。显示缺少的功能,当我尝试一个整数值时,它不起作用,同样也是字符串的情况。请帮助。谢谢。

链接:

http://imgur.com/87Gw9E5

2 个答案:

答案 0 :(得分:2)

Biopython对我来说似乎非常强大,错误可能是由于你缺乏经验。

您有几个错误,其中一个是您忘记用“”结束字符串。以下几行

print "location start, features[ftNum].location.start # note location.start"
print "feature qualifiers,features[ftNum].qualifiers"

应该更正

print "location start", features[ftNum].location.start # note location.start
print "feature qualifiers", features[ftNum].qualifiers

此外,正如Wooble指出你的while循环中的条件是错误的。我猜你想要反转“>”,也就是说,功能的数量应该大于零。

请添加一些示例数据和错误消息。

答案 1 :(得分:1)

Biopython的工作人员实际上很容易处理这些功能。你的问题是字符串管理(普通python)。我已使用format,但您可以使用%运算符。

同样在python中,你很少需要在循环时保持计数。 Python不是C。

from Bio import SeqIO

for record in SeqIO.parse("NG_009616.gb", "genbank"):

    # You don't have to take care of the number of features with a while
    # Loop all of them.
    for feature in record.features:
        print "Attributes of feature"
        print "Type {0}".format(feature.type)
        print "Start {0}".format(feature.location.start)
        print "End {0}".format(feature.location.end)
        print "Qualifiers {0}".format(feature.qualifiers)
        # This is the right way to extract the sequence:
        print "Sequence {0}".format(feature.location.extract(record).seq)
        print "Sub-features {0}".format(feature.sub_features)