Mercurial > repos > jankanis > blast2html
diff blast2html.py @ 71:371cd585e459
refactor
author | Jan Kanis <jan.code@jankanis.nl> |
---|---|
date | Wed, 18 Jun 2014 14:23:15 +0200 |
parents | 0c4ac210068b |
children | 6ecbfebb9dd9 |
line wrap: on
line diff
--- a/blast2html.py Wed Jun 18 14:22:57 2014 +0200 +++ b/blast2html.py Wed Jun 18 14:23:15 2014 +0200 @@ -84,8 +84,9 @@ @filter def alignment_pre(hsp): """Create the preformatted alignment blocks""" - - step = 60 + + # line break length + linewidth = 60 qfrom = int(hsp['Hsp_query-from']) qto = int(hsp['Hsp_query-to']) @@ -93,21 +94,22 @@ hfrom = int(hsp['Hsp_hit-from']) hto = int(hsp['Hsp_hit-to']) hframe = int(hsp['Hsp_hit-frame']) + qseq = hsp.Hsp_qseq.text midline = hsp.Hsp_midline.text hseq = hsp.Hsp_hseq.text - if not qframe in [1, -1]: - warnings.warn("Error in BlastXML input: Hsp node {} has a Hsp_query-frame of {}".format(nodeid(hsp), qframe)) + if not qframe in (1, -1): + warnings.warn("Error in BlastXML input: Hsp node {} has a Hsp_query-frame of {}. (should be 1 or -1)".format(nodeid(hsp), qframe)) qframe = -1 if qframe < 0 else 1 - if not hframe in [1, -1]: - warnings.warn("Error in BlastXML input: Hsp node {} has a Hsp_hit-frame of {}".format(nodeid(hsp), hframe)) + if not hframe in (1, -1): + warnings.warn("Error in BlastXML input: Hsp node {} has a Hsp_hit-frame of {}. (should be 1 or -1)".format(nodeid(hsp), hframe)) hframe = -1 if hframe < 0 else 1 def split(txt): - return [txt[i:i+step] for i in range(0, len(txt), step)] + return [txt[i:i+linewidth] for i in range(0, len(txt), linewidth)] - for qs, mid, hs, offset in zip(split(qseq), split(midline), split(hseq), range(0, len(qseq), step)): + for qs, mid, hs, offset in zip(split(qseq), split(midline), split(hseq), range(0, len(qseq), linewidth)): yield ( "Query {:>7} {} {}\n".format(qfrom+offset*qframe, qs, qfrom+(offset+len(qs)-1)*qframe) + " {:7} {}\n".format('', mid) +