comparison blast2html.py @ 118:7f3f8c10f44b

fix for Rikilt issues 8, 11, 12, 14
author Jan Kanis <jan.code@jankanis.nl>
date Thu, 31 Jul 2014 13:09:30 +0200
parents f5066973029a
children 591dc9c24824
comparison
equal deleted inserted replaced
117:8ae714069687 118:7f3f8c10f44b
340 yield dict(hit = hit, 340 yield dict(hit = hit,
341 title = firsttitle(hit), 341 title = firsttitle(hit),
342 maxscore = "{0:.1f}".format(max(hsp_val('Hsp_bit-score'))), 342 maxscore = "{0:.1f}".format(max(hsp_val('Hsp_bit-score'))),
343 totalscore = "{0:.1f}".format(sum(hsp_val('Hsp_bit-score'))), 343 totalscore = "{0:.1f}".format(sum(hsp_val('Hsp_bit-score'))),
344 cover = "{0:.0%}".format(cover_count / query_length), 344 cover = "{0:.0%}".format(cover_count / query_length),
345 e_value = "{0:.4g}".format(min(hsp_val('Hsp_evalue'))), 345 e_value = "{0:.4}".format(float(min(hsp_val('Hsp_evalue')))),
346 # FIXME: is this the correct formula vv? 346 # FIXME: is this the correct formula vv?
347 # float(...) because non-flooring division doesn't work with lxml elements in python 2.6 347 # float(...) because non-flooring division doesn't work with lxml elements in python 2.6
348 ident = "{0:.0%}".format(float(min(float(hsp.Hsp_identity) / blastxml_len(hsp) for hsp in hsps)))) 348 ident = "{0:.0%}".format(float(min(float(hsp.Hsp_identity) / blastxml_len(hsp) for hsp in hsps))))
349 349
350 @filter 350 @filter
381 except Exception as e: 381 except Exception as e:
382 warnings.warn('Error in formatting gene bank link {} with {}: {}'.format(template, args, e)) 382 warnings.warn('Error in formatting gene bank link {} with {}: {}'.format(template, args, e))
383 return text if display_nolink else '' 383 return text if display_nolink else ''
384 384
385 classattr = 'class="{0}" '.format(jinja2.escape(cssclass)) if cssclass is not None else '' 385 classattr = 'class="{0}" '.format(jinja2.escape(cssclass)) if cssclass is not None else ''
386 return jinja2.Markup("<a {0}href=\"{1}\">{2}</a>".format(classattr, jinja2.escape(link), jinja2.escape(text))) 386 return jinja2.Markup("<a {0}target=\"_top\" href=\"{1}\">{2}</a>".format(classattr, jinja2.escape(link), jinja2.escape(text)))
387 387
388 388
389 genelinks_entry = namedtuple('genelinks_entry', 'dbname template') 389 genelinks_entry = namedtuple('genelinks_entry', 'dbname template')
390 def read_blastdb(dir, default): 390 def read_blastdb(dir, default):
391 links = defaultdict(lambda: default) 391 links = defaultdict(lambda: default)