python读写FASTA文件

FASTA格式
序列文件的第一行是由大于符号>打头的任意文字说明,主要为标记序列用。从第二行开始是序列本身,标准核苷酸符号或氨基酸单字母符号。通常核苷酸符号大小写均可,而氨基酸一般用大写字母。文件中和每一行都不要超过80个字符(通常60个字符)。

python读写FASTA文件
写一个循环加判断就可以将FASTA文件读取,然后处理。

fa_in = open("in.fa", "r")  #读入FASTA文件
fa_Info = []  #定义一个列表,用于存储序列的信息
fa_Seq = []  #定义一个列表,用于存储序列
fa_Num = -1
for line in fa_in.readlines():  #每次从FASTA文件中读取一行
    line = line.rstrip()  #去掉行末的换行符
    if line[0] == ">":  #判断如果是信息行,就存储在fa_Info,否则存储在fa_Seq
        fa_Info.append(line)
        fa_Num = fa_Num + 1
        fa_Seq.append("")
    else:
        fa_Seq[fa_Num] = fa_Seq[fa_Num] + line
 
fa_out = open("out.fa", "w")  #打开一个文件,用于写入
for i in range(fa_Num + 1):
    fa_out.write(fa_Info[i] + "\n")
    while len(fa_Seq[i]) > 60:  #每行写60个碱基
        fa_out.write(fa_Seq[i][:60] + "\n")
        fa_Seq[i] = fa_Seq[i][60:]
    else:
        fa_out.write(fa_Seq[i] + "\n")