Mercurial > repos > sanbi-uwc > assess_poliovirus_alignment
changeset 10:fb905d0f8201 draft
planemo upload for repository https://github.com/pvanheus/polio_report commit aa90f911e6269aba792c9814c98a659e631400b2-dirty
author | sanbi-uwc |
---|---|
date | Tue, 27 Sep 2022 08:44:35 +0000 |
parents | acaaf49e2747 |
children | fff48fa8a22b |
files | assess_alignment.py assess_poliovirus_alignment.xml |
diffstat | 2 files changed, 16 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/assess_alignment.py Tue Sep 27 05:52:53 2022 +0000 +++ b/assess_alignment.py Tue Sep 27 08:44:35 2022 +0000 @@ -4,6 +4,7 @@ import json import sys from dataclasses import dataclass +from textwrap import fill from typing import TextIO @@ -46,8 +47,11 @@ max_end = max([int(al["leadingGaps"]) + len(al["align"]) for al in msas]) base_state = ["n"] * len(reference["align"]) mismatch_bases = {} - consensus = '' + base_start = 0 for i, reference_base in enumerate(reference["align"]): + if vp1only and not base_start: + if data['gappedConsensus'][i] != '-': + base_start = i for k, al in enumerate(msas): leading_gaps = int(al["leadingGaps"]) align_len = len(al["align"]) @@ -57,7 +61,6 @@ # skip positions outside of vp1 gene region continue al_base = al["align"][i - leading_gaps] - consensus += al_base has_secondary_basecall = False if sec_is_conflict: gappedTrace = data["gappedTraces"][k] @@ -110,6 +113,15 @@ mismatch_list.append( [i + 1, i - offset + 1, reference["align"][i], mismatch_bases[i]] ) + if vp1only: + # we have trim consensus bases before vp1 region + if base_start <= offset: + cons_start = offset - base_start + else: + cons_start = 0 + consensus = data['gapFreeConsensus'][cons_start:cons_start + length] + else: + consensus = data['gapFreeConsensus'] return [conflicts, matches, mismatches, mismatch_list, consensus] @@ -200,4 +212,4 @@ } json.dump(info, open(args.output_filename, "w")) - open(args.consensus_output_filename, "w").write(best_consensus) + open(args.consensus_output_filename, "w").write(f'>{args.sample_name}\n' + fill(best_consensus))
--- a/assess_poliovirus_alignment.xml Tue Sep 27 05:52:53 2022 +0000 +++ b/assess_poliovirus_alignment.xml Tue Sep 27 08:44:35 2022 +0000 @@ -1,4 +1,4 @@ -<tool id="assess_poliovirus_alignment" name="Assess poliovirus alignment" version="0.8.0+galaxy0" profile="21.05"> +<tool id="assess_poliovirus_alignment" name="Assess poliovirus alignment" version="0.9.0+galaxy0" profile="21.05"> <requirements> <requirement type="package" version="3.9">python</requirement> </requirements>