-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblast1hit.py
More file actions
20 lines (18 loc) · 821 Bytes
/
blast1hit.py
File metadata and controls
20 lines (18 loc) · 821 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import pandas as pd
def blast1hit(allhits, output):
'''
Needs documentation
'''
df = pd.read_csv(allhits,sep="\t", header=None)
df.columns = ['qseqid','sseqid','pident','length','mismatch','gapopen','qstart','qend','sstart','send','evalue','bitscore']
if output:
df.groupby('qseqid').head(1).to_csv(output, sep="\t", index=None)
else:
return df.groupby('qseqid').head(1)
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser()#pylint: disable=invalid-name
parser.add_argument("-a", "--allhits", help="Allhits file (.csv format tab-delimited)", required=True)
parser.add_argument("-o", "--output", help="Output file in .fasta format", )
args = parser.parse_args()#pylint: disable=invalid-name
blast1hit(args.allhits, args.output)