如下图所示,我们从网站上下载来的数据可能是这样的,但是我们使用它时可能需要ID一行,然后序列一行。
一个序列的多行表示变成单行表示则需要这样处理:
fr=open('data/dna-binding.fasta', 'r') #读文件
fw=open('data/out.fasta', 'w') #写文件
seq={}
for line in fr:
if line.startswith('>'): #判断字符串是否以‘>开始’
name=line.split()[0] #以空格为分隔符。
seq[name]=''
else:
seq[name]+=line.replace('\n', '')
fr.close()
for i in seq.keys():
fw.write(i)
fw.write('\n')
fw.write(seq[i])
fw.write('\n')
fr.close()
这里的dna-binding.fasta文件是自己下载下来的fasta文件(我里面就是放的上面这几个序列)。out.fasta就是输出的文件格式如下