以 fasta 格式编写序列

这是一个用于以 fasta 格式编写序列的 python 示例函数。

参数:

  • filename(String) - 以 fasta 格式写入序列的文件名。
  • seq(String) - DNA 或 RNA 序列。
  • id(String) - 给定序列的 ID。
  • desc(String) - 给定序列的简短描述。
import math

    def save_fsta(filename,seq,id,desc):
        fo = open(filename+'.fa',"a")
        header= str(id)+' <'+desc+'> \n'
        fo.write(header)
        count=math.floor(len(seq)/80+1)
        iteration = range(count)
        for i in iteration:
            fo.write(seq[80*(i):80*(i+1)]+'\n')        
        fo.write('\n \n')
        fo.close()

另一种方法是使用 textwrap

import textwrap

def save_fasta(filename,seq, id, desc):
    filename+='.fa'
    with open(filename, 'w') as f:
        f.write('>'+id+' <'+desc+'>\n');
        text = textwrap.wrap(seq,80);
        for x in text:
            f.write(x+'\n');