smarco / WFA2-lib

WFA-lib: Wavefront alignment algorithm library v2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dual-cost gap-affine distances with gap opening penalty = 0

RolandFaure opened this issue · comments

Hi,

I think there is a little bug in the Dual-cost gap-affine distance aligner initialization in WFA-lib. When declaring wfa::WFAlignerGapAffine2Pieces aligner (5, 0, 5, 5, 1, wfa::WFAligner::Alignment, wfa::WFAligner::MemoryHigh);, WFA exits saying Penalties (X=5,O1=0,E1=5,O2=5,E2=1) must be (X>0,O1>=0,E1>0,O1>=0,E1>0), which seems incoherent.
I looked a little bit in the code, and there (wavefront/wavefront_penalties_set_affine2p.c) it indeed seems forbidden to have O1 = 0 or O2 = 0

I think you are right. This use-case makes sense and the library should allow it. Let me test and enable it.

I'm sorry for the delay. I have pushed a fix to development. Now you can use zero gap-open cost:

./bin/align_benchmark -a gap-affine2p-wfa -i input.seq -o wfa.alg --affine2p-penalties="0,5,0,5,5,1"
./bin/align_benchmark -a gap-affine2p-dp -i input.seq -o dp.alg --affine2p-penalties="0,5,0,5,5,1"