# -*- coding: utf-8 -*-import click
@click.command()@click.option('-f','--fastafile',help='Input a fasta file', required=True)@click.option('-i','--idfile',help='Input an idlist', required=True)@click.option('-o','--outfile',help='Input the name of result file', default='result.fa')defget(fastafile, idfile, outfile):"""
Extract seqences from a fasta file
according to a id list.
"""
idfile =open(idfile,'r')
resultfile =open(outfile,'w')foridin idfile:
qid =id.strip()
flag =0withopen(fastafile,'r')as ffile:for line in ffile:
line = line.strip()if line.startswith('>'):
name = line.replace('>','').split()[0]if name == qid:
flag =1
resultfile.write(line +'\n')else:
flag =0else:if flag ==0:passelse:
resultfile.write(line +'\n')
resultfile.close()if __name__ =='__main__':
get()import pandas.api
import numpy