-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblastit.py
More file actions
31 lines (20 loc) · 1.12 KB
/
Copy pathblastit.py
File metadata and controls
31 lines (20 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import os,sys
import argparse
import pandas as pd
parser = argparse.ArgumentParser(description='BLASTp without looking up the damn outfmt every time.')
parser.add_argument('-db', metavar='[DB NAME]', help='Name of blastp database')
parser.add_argument('-threads', metavar='[NUM THREADS]', help="Number of threads to use.")
parser.add_argument('-outfile', metavar='[OUTPUT]', help='Name of output log file.')
parser.add_argument('-query', metavar='[Query fasta]', help="Query fasta file to search with.")
args = parser.parse_args()
db_name = args.db
query = args.query
output = args.outfile
threads = args.threads
#print(db_name, query, output, threads)
#sys.exit()
os.system('blastp -outfmt "6 sseqid qseqid pident qlen slen length mismatch gapopen qstart qend sstart send sseq evalue bitscore" -db ' + db_name + ' -num_threads ' + threads + \
' -query ' + query + ' -out ' + output)
header = ['sseqid', 'qseqid', 'pident', 'qlen', 'slen', 'length', 'mismatch', 'gapopen', 'qstart', 'qend', 'sstart', 'send', 'sseq', 'evalue', 'bitscore']
hits = pd.read_csv(output, sep='\t', names=header)
hits.to_csv(output, index=False, sep='\t')