Dual-cost gap-affine distances with gap opening penalty = 0
RolandFaure opened this issue · 2 comments
RolandFaure commented
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
smarco commented
I think you are right. This use-case makes sense and the library should allow it. Let me test and enable it.
smarco commented
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"