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