diff --git a/primertrim/align.py b/primertrim/align.py index bfdf761..866ebb2 100644 --- a/primertrim/align.py +++ b/primertrim/align.py @@ -111,8 +111,4 @@ def parse(self, f): for field in self.fields: fcn = BLAST_FIELD_TYPES[field] res[field] = fcn(res[field]) - if res["qstrand"] == "-": - qstart_temp = res["qlen"]-res["qend"]+1 - res["qend"] = res["qlen"]-res["qstart"]+1 - res["qstart"] = qstart_temp yield res diff --git a/primertrim/matcher.py b/primertrim/matcher.py index 0740b15..faaec2f 100644 --- a/primertrim/matcher.py +++ b/primertrim/matcher.py @@ -141,6 +141,9 @@ def find_in_seqs(self, seqs): # Vsearch indexes positions starting with 1 start_idx = hit["qstart"] - 1 end_idx = hit["qend"] + if hit["qstrand"] == "-": + start_idx = hit["qlen"]-hit["qend"] + end_idx = hit["qlen"]-hit["qstart"]+1 assert(start_idx < end_idx) seq = seqs[seq_id] primerseq = seq[start_idx:end_idx]