如何在Python中读取fasta文件?

2024-02-28

我正在尝试读取 FASTA 文件,然后找到特定的主题(字符串) https://en.wikipedia.org/wiki/Sequence_motif并打印出它发生的顺序和次数。 AFASTA文件 https://en.wikipedia.org/wiki/FASTA_format只是一系列以标题行开头的序列(字符串),标题的签名或新序列的开头是“>”。在标题之后的新行中紧接着是字母序列。我还没有完成代码,但到目前为止我已经有了这个,它给了我这个错误:

AttributeError:“str”对象没有属性“next”

我不确定这里出了什么问题。

import re

header=""
counts=0
newline=""

f1=open('fpprotein_fasta(2).txt','r')
f2=open('motifs.xls','w')
for line in f1:
    if line.startswith('>'):
        header=line
        #print header
        nextline=line.next()
        for i in nextline:
            motif="ML[A-Z][A-Z][IV]R"
            if re.findall(motif,nextline):
                counts+=1
                #print (header+'\t'+counts+'\t'+motif+'\n')
        fout.write(header+'\t'+counts+'\t'+motif+'\n')

f1.close()
f2.close()

该错误可能来自以下行:

nextline=line.next()

line是你已经读过的字符串,没有next()方法就可以了。

问题的一部分是你试图混合两种不同的读取文件的方式 - 你正在使用迭代行for line in f1 and <handle>.next().

另外,如果您正在使用 FASTA 文件,我建议使用生物蟒蛇 http://biopython.org/DIST/docs/tutorial/Tutorial.html:它使得处理序列集合变得更加容易。尤其,第14章 http://biopython.org/DIST/docs/tutorial/Tutorial.html#sec244您会对主题特别感兴趣。这可能需要您了解更多有关 Python 的知识才能实现您想要的目标,但如果您要做的生物信息学比您此处的示例显示的要多得多,那么绝对值得投入时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python中读取fasta文件? 的相关文章

随机推荐