python – 使用Bio.SeqIO编写单行FASTA

QIIME请求此(here)关于它作为输入接收的fasta文件:

该文件是FASTA文件,序列采用单行格式.也就是说,序列不会分成特定长度的多行,而是整个序列占据一行.

Bio.SeqIO.write当然遵循format recommendations,并且每隔80个bps分割序列.
我可以写自己的作家来编写那些“单行”快速 – 但我的问题是,如果有一种方法我错过了让SeqIO这样做.

解决方法:

BioPython的SeqIO模块使用FastaIO子模块以FASTA格式读写.

FastaIO.FastaWriter类每行可以输出不同数量的字符,但接口的这部分不会通过SeqIO公开.您需要直接使用FastaIO.

所以不要使用:

from Bio import SeqIO
SeqIO.write(data, handle, format)

使用:

from Bio.SeqIO import FastaIO
fasta_out = FastaIO.FastaWriter(handle, wrap=None)
fasta_out.write_file(data)

要么

for record in data:
    fasta_out.write_record(record)
上一篇:mysql数据库架构设计与优化


下一篇:python – 将列表中的每个项目添加到FASTA文件中特定行的末尾