fasta转成txt
有的时候需要将fasta格式的序列文件转换成以tab键分割的txt文件
写了一个简单的命令。用法如下:
fasta2txt -i input.fa -o out.txt
代码如下
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = "Sheng-Wei Ma"
import click #需要你的电脑安装click包
@click.command()
@click.option('-i', type=click.File('rb'), help='fasta file')
@click.option('-o', type=click.File('w'), help='txt file')
def fasta2txt(i, o):
for line in i:
if line.startswith(">"):
lin = line.strip().split()[0][1:]
o.writelines('\n' + lin + '\t')
else:
o.writelines(line.strip())
if __name__=='__main__':
fasta2txt()
别忘了上述代码保存为fasta2txt,并修改权限使之可运行,最后可将文件放在系统全局环境变量下。