nanoporetech/pyspoa

pyspoa is hardcoded to smith-waterman?

Closed this issue · 2 comments

While it seems that algorithm is an option for the poa wrapper, it seems to be hardcoded to smith waterman?
https://github.com/nanoporetech/pyspoa/blob/master/pyspoa.cpp#L7-L11

In other words, specifying the algorithm doesn't do anything, these are all running local alignment I think??:

cons, msa = poa(['GGGGAAAATTTTT', 'GGGGAAATTTTT'], 0)
cons, msa = poa(['GGGGAAAATTTTT', 'GGGGAAATTTTT'], 1)
cons, msa = poa(['GGGGAAAATTTTT', 'GGGGAAATTTTT'], 2)

I'm not sure, but wouldn't the AlignmentType need to be called the above use cases?
if algorithm == 0 --> spoa::AlignmentType::kSW, m, n, g, e, q, c
if algorithm == 1 --> spoa::AlignmentType::kNW, m, n, g, e, q, c
if algorithm == 2 --> spoa::AlignmentType::kOV, m, n, g, e, q, c

Good catch @nextgenusfs - I've fixed this with bbe5c8a and released v0.0.5.

Sweet. Thanks for the quick fix!