Mercurial > repos > jankanis > blast2html
comparison blast2html.py @ 122:5f104d05aa23
fix python 2.6 issue with array type codes
| author | Jan Kanis <jan.code@jankanis.nl> |
|---|---|
| date | Thu, 31 Jul 2014 17:24:10 +0200 |
| parents | 2729c2326235 |
| children | 720efb818f1b |
comparison
equal
deleted
inserted
replaced
| 120:2729c2326235 | 122:5f104d05aa23 |
|---|---|
| 326 query_length = blastxml_len(result) | 326 query_length = blastxml_len(result) |
| 327 | 327 |
| 328 for hit in hits(result): | 328 for hit in hits(result): |
| 329 hsps = hit.Hit_hsps.Hsp | 329 hsps = hit.Hit_hsps.Hsp |
| 330 | 330 |
| 331 cover = array('B', [0]) * query_length | 331 # In python 2.6 array doesn't accept unicode type codes, but in 3.4 it requires them |
| 332 cover = array(str('B'), [0]) * query_length | |
| 332 for hsp in hsps: | 333 for hsp in hsps: |
| 333 cover[hsp['Hsp_query-from']-1 : int(hsp['Hsp_query-to'])] = array('B', [1]) * blastxml_len(hsp) | 334 cover[hsp['Hsp_query-from']-1 : int(hsp['Hsp_query-to'])] = array(str('B'), [1]) * blastxml_len(hsp) |
| 334 cover_count = cover.count(1) | 335 cover_count = cover.count(1) |
| 335 | 336 |
| 336 best_hsp = max(hsps, key=lambda h: h['Hsp_bit-score']) | 337 best_hsp = max(hsps, key=lambda h: h['Hsp_bit-score']) |
| 337 | 338 |
| 338 yield dict(hit = hit, | 339 yield dict(hit = hit, |
