New version of LCS computation, with abug on alignment length patched patched

This commit is contained in:
2022-11-15 08:21:46 +01:00
parent 18be4becec
commit 340579f6d7
5 changed files with 238 additions and 383 deletions

View File

@@ -360,14 +360,14 @@ func extendSimilarityGraph(seqs *[]*seqPCR, step int, workers int) int {
nseq := len(*seqs)
running := sync.WaitGroup{}
linePairs := func(matrix *obialign.LCSMatrix, i int) {
linePairs := func(matrix *[]uint64, i int) {
son := (*seqs)[i]
for j := i + 1; j < nseq; j++ {
father := (*seqs)[j]
d, _, _, _ := obialign.D1Or0(son.Sequence, father.Sequence)
if d < 0 {
lcs, lali := obialign.LCSScore(son.Sequence, father.Sequence,
lcs, lali := obialign.FastLCSScore(son.Sequence, father.Sequence,
step,
matrix)
d := (lali - lcs)
@@ -385,9 +385,10 @@ func extendSimilarityGraph(seqs *[]*seqPCR, step int, workers int) int {
// idxChan := make(chan [][]Ratio)
ff := func() {
matrix := obialign.NewLCSMatrix(nil, 150, 150, step)
var matrix []uint64
for i := range lineChan {
linePairs(matrix, i)
linePairs(&matrix, i)
}
running.Done()