mirror of
https://github.com/metabarcoding/obitools4.git
synced 2026-11-10 01:24:41 +00:00
Refactor sequence processing for parallel loading and memory management
This commit introduces significant changes to the sequence processing pipeline, implementing parallel loading, k-mer budget control, explicit memory management, and refined logic for pair evaluation and resolution.
This commit is contained in:
1 parent
d6dd39f878
commit
8cc02aa9c1
28 files changed
+1673
-382
No files matched your search
@@ -3,8 +3,6 @@ package obiprimer
|
||||
import (
|
||||
"math/bits"
|
||||
"slices"
|
||||
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiseq"
|
||||
)
|
||||
|
||||
// seedIndex maps the value of one half of a window to the patterns that are
|
||||
@@ -136,8 +134,7 @@ func MatchWords(c *Corpus, words []uint64, p MatchParams) ([]WordMatches, error)
|
||||
maxErr := p.MaxErrors
|
||||
|
||||
mk := func() scanFunc {
|
||||
return func(seq *obiseq.BioSequence, emit func(word, pos, errors int, reverse bool)) {
|
||||
raw := seq.Sequence()
|
||||
return func(raw []byte, emit func(word, pos, errors int, reverse bool)) {
|
||||
n := len(raw)
|
||||
if n < k {
|
||||
return
|
||||
|
||||
Reference in new issue
Block a user