Mercurial > repos > dfornika > blast_report
annotate blast_report.py @ 2:cf3e9a68d558 draft
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit e8b469f0fed66159f07bfc3904b0c4bce9a16d09-dirty
author | dfornika |
---|---|
date | Wed, 11 Sep 2019 23:34:31 -0400 |
parents | 18b097eb1a51 |
children | 2b4f30c6b50a |
rev | line source |
---|---|
0
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
1 #!/usr/bin/env python |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
2 from __future__ import print_function |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
3 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
4 '''Report on BLAST results. |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
5 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
6 python bccdc_blast_report.py input_tab cheetah_tmpl output_html output_tab [-f [filter_pident]:[filterkw1,...,filterkwN]] [-b bin1_label=bin1_path[,...binN_label=binN_path]] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
7 ''' |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
8 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
9 import optparse |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
10 import re |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
11 import sys |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
12 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
13 def stop_err( msg ): |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
14 sys.stderr.write("%s\n" % msg) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
15 sys.exit(1) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
16 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
17 class BLASTBin: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
18 def __init__(self, label, file): |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
19 self.label = label |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
20 self.dict = {} |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
21 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
22 file_in = open(file) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
23 for line in file_in: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
24 self.dict[line.rstrip().split('.')[0]] = '' |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
25 file_in.close() |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
26 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
27 def __str__(self): |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
28 return "label: %s dict: %s" % (self.label, str(self.dict)) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
29 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
30 class BLASTQuery: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
31 def __init__(self, query_id): |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
32 self.query_id = query_id |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
33 self.matches = [] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
34 self.match_accessions = {} |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
35 self.bins = {} #{bin(label):[match indexes]} |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
36 self.pident_filtered = 0 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
37 self.kw_filtered = 0 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
38 self.kw_filtered_breakdown = {} #{kw:count} |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
39 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
40 def __str__(self): |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
41 return "query_id: %s len(matches): %s bins (labels only): %s pident_filtered: %s kw_filtered: %s kw_filtered_breakdown: %s" \ |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
42 % (self.query_id, |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
43 str(len(self.matches)), |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
44 str([bin.label for bin in bins]), |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
45 str(self.pident_filtered), |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
46 str(self.kw_filtered), |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
47 str(self.kw_filtered_breakdown)) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
48 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
49 class BLASTMatch: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
50 def __init__(self, subject_acc, subject_descr, score, p_cov, p_ident, subject_bins): |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
51 self.subject_acc = subject_acc |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
52 self.subject_descr = subject_descr |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
53 self.score = score |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
54 self.p_cov = p_cov |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
55 self.p_ident = p_ident |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
56 self.bins = subject_bins |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
57 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
58 def __str__(self): |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
59 return "subject_acc: %s subject_descr: %s score: %s p-cov: %s p-ident: %s" \ |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
60 % (self.subject_acc, |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
61 self.subject_descr, |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
62 str(self.score), |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
63 str(round(self.p_cov,2)), |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
64 str(round(self.p_ident, 2))) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
65 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
66 #PARSE OPTIONS AND ARGUMENTS |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
67 parser = optparse.OptionParser(description='Report on BLAST results.', |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
68 usage='python bccdc_blast_report_generator.py input_tabut cheetah_tmpl output_html [output_id output_dir] [options]') |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
69 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
70 parser.add_option('-f', '--filter', |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
71 type='string', |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
72 dest='filter', |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
73 ) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
74 parser.add_option('-b', '--bins', |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
75 type='string', |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
76 dest='bins' |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
77 ) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
78 parser.add_option('-r', '--redundant', |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
79 dest='hsp', |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
80 default=False, |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
81 action='store_true' |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
82 ) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
83 options, args = parser.parse_args() |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
84 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
85 try: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
86 input_tab, cheetah_tmpl, output_html, output_tab = args |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
87 except: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
88 stop_err('you must supply the arguments input_tab, cheetah_tmpl and output_html.') |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
89 #print('input_tab: %s cheetah_tmpl: %s output_html: %s output_tab: %s' % (input_tab, cheetah_tmpl, output_html, output_tab)) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
90 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
91 #BINS |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
92 bins=[] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
93 if options.bins != None: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
94 bins = list([BLASTBin(label_file.split('=')[0],label_file.split('=')[-1]) for label_file in options.bins.split(',')]) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
95 print('database bins: %s' % str([bin.label for bin in bins])) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
96 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
97 #FILTERS |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
98 filter_pident = 0 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
99 filter_kws = [] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
100 if options.filter != None: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
101 pident_kws = options.filter.split(':') |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
102 filter_pident = float(pident_kws[0]) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
103 filter_kws = pident_kws[-1].split(',') |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
104 print('filter_pident: %s filter_kws: %s' % (str(filter_pident), str(filter_kws))) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
105 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
106 if options.hsp: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
107 print('Throwing out redundant hits...') |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
108 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
109 #RESULTS! |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
110 PIDENT_COL = 2 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
111 DESCR_COL = 25 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
112 SUBJ_ID_COL = 12 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
113 SCORE_COL = 11 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
114 PCOV_COL = 24 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
115 queries = [] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
116 current_query = '' |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
117 output_tab = open(output_tab, 'w') |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
118 with open(input_tab) as input_tab: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
119 for line in input_tab: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
120 cols = line.split('\t') |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
121 if cols[0] != current_query: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
122 current_query = cols[0] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
123 queries.append(BLASTQuery(current_query)) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
124 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
125 try: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
126 accs = cols[SUBJ_ID_COL].split('|')[1::2][1::2] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
127 except IndexError as e: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
128 stop_err("Problem with splitting:" + cols[SUBJ_ID_COL]) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
129 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
130 #hsp option: keep best (first) hit only for each query and accession id. |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
131 if options.hsp: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
132 if accs[0] in queries[-1].match_accessions: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
133 continue #don't save the result and skip to the next |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
134 else: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
135 queries[-1].match_accessions[accs[0]] = '' |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
136 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
137 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
138 p_ident = float(cols[PIDENT_COL]) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
139 #FILTER BY PIDENT |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
140 if p_ident < filter_pident: #if we are not filtering, filter_pident == 0 and this will never evaluate to True |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
141 queries[-1].pident_filtered += 1 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
142 continue |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
143 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
144 descrs = cols[DESCR_COL] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
145 #FILTER BY KEY WORDS |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
146 filter_by_kw = False |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
147 for kw in filter_kws: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
148 kw = kw.strip() #Fix by Damion D Nov 2013 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
149 if kw != '' and re.search(kw, descrs, re.IGNORECASE): |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
150 filter_by_kw = True |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
151 try: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
152 queries[-1].kw_filtered_breakdown[kw] += 1 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
153 except: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
154 queries[-1].kw_filtered_breakdown[kw] = 1 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
155 if filter_by_kw: #if we are not filtering, for loop will not be entered and this will never be True |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
156 queries[-1].kw_filtered += 1 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
157 continue |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
158 descr = descrs.split(';')[0] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
159 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
160 #ATTEMPT BIN |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
161 subj_bins = [] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
162 for bin in bins: #if we are not binning, bins = [] so for loop not entered |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
163 for acc in accs: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
164 if acc.split('.')[0] in bin.dict: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
165 try: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
166 queries[-1].bins[bin.label].append(len(queries[-1].matches)) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
167 except: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
168 queries[-1].bins[bin.label] = [len(queries[-1].matches)] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
169 subj_bins.append(bin.label) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
170 break #this result has been binned to this bin so break |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
171 acc = accs[0] |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
172 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
173 score = int(float(cols[SCORE_COL])) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
174 p_cov = float(cols[PCOV_COL]) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
175 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
176 #SAVE RESULT |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
177 queries[-1].matches.append(BLASTMatch(acc, descr, score, p_cov, p_ident, subj_bins)) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
178 output_tab.write(line) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
179 input_tab.close() |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
180 output_tab.close() |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
181 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
182 ''' |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
183 for query in queries: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
184 print(query) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
185 for match in query.matches: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
186 print(' %s' % str(match)) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
187 for bin in query.bins: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
188 print(' bin: %s' % bin) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
189 for x in query.bins[bin]: |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
190 print(' %s' % str(query.matches[x])) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
191 ''' |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
192 |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
193 from Cheetah.Template import Template |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
194 namespace = {'queries': queries} |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
195 html = Template(file=cheetah_tmpl, searchList=[namespace]) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
196 out_html = open(output_html, 'w') |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
197 out_html.write(str(html)) |
18b097eb1a51
planemo upload for repository https://github.com/dfornika/galaxy/tree/master/tools/blast_report commit 006cbba6513492f5a06b573c676400a2d464520b-dirty
dfornika
parents:
diff
changeset
|
198 out_html.close() |