Closed huanglangwen closed 4 years ago
Would appreciate some very basic documentation of how exactly the transformation is done, so I can write it down in plain English (or maybe post the picture if you re following that logic still). Thanks man.
Just outlining specifically that this point that this breaks the possibility of non-linear gap penalties.
I think it would be worth to implement another class for nonlinear gap for performance reason.
Would appreciate some very basic documentation of how exactly the transformation is done, so I can write it down in plain English (or maybe post the picture if you re following that logic still). Thanks man.
Well, it might be easier to explain to you tomorrow with some graphs.
Just outlining specifically that this point that this breaks the possibility of non-linear gap penalties.
I think it would be worth to implement another class for nonlinear gap for performance reason.
It is still possible though to implement iteration for nonlinear gap functions by branching in similarity matrix class.
Here is a demo: (run test on verbose mode)
Before Transform:
0 1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
2 3 4 5 6 7 8 9
3 4 5 6 7 8 9 10
4 5 6 7 8 9 10 11
5 6 7 8 9 10 11 12
6 7 8 9 10 11 12 13
7 8 9 10 11 12 13 14
8 9 10 11 12 13 14 15
9 10 11 12 13 14 15 16
After Transform:
0 1 2 3 4 5 6 7 8 9
10 1 2 3 4 5 6 7 8 9
10 11 2 3 4 5 6 7 8 9
10 11 12 3 4 5 6 7 8 9
10 11 12 13 4 5 6 7 8 9
10 11 12 13 14 5 6 7 8 9
10 11 12 13 14 15 6 7 8 9
10 11 12 13 14 15 16 7 8 9
100% acceleration on 8 cores for sw_solve_small.
The code looks good.
Just outlining specifically that this point that this breaks the possibility of non-linear gap penalties.