Patch a bug in obigrep...

This commit is contained in:
2022-10-02 20:52:26 +02:00
parent 65210755cc
commit 7873b90902

View File

@ -296,6 +296,8 @@ func (iterator IBioSequenceBatch) SortBatches(sizes ...int) IBioSequenceBatch {
go func() { go func() {
for iterator.Next() { for iterator.Next() {
batch := iterator.Get() batch := iterator.Get()
// log.Println("Pushd seq #", batch.order, next_to_send)
if batch.order == next_to_send { if batch.order == next_to_send {
newIter.pointer.channel <- batch newIter.pointer.channel <- batch
next_to_send++ next_to_send++
@ -424,6 +426,7 @@ func (iterator IBioSequenceBatch) Rebatch(size int, sizes ...int) IBioSequenceBa
for iterator.Next() { for iterator.Next() {
seqs := iterator.Get() seqs := iterator.Get()
// log.Println("Got seq #", len(seqs.Slice()))
for _, s := range seqs.slice { for _, s := range seqs.slice {
buffer = append(buffer, s) buffer = append(buffer, s)
if len(buffer) == size { if len(buffer) == size {
@ -637,9 +640,7 @@ func (iterator IBioSequenceBatch) FilterOn(predicate obiseq.SequencePredicate,
} }
seqs.slice = slice[:j] seqs.slice = slice[:j]
if seqs.Length() > 0 { trueIter.pointer.channel <- seqs
trueIter.Push(seqs)
}
} }
trueIter.Done() trueIter.Done()
@ -651,7 +652,7 @@ func (iterator IBioSequenceBatch) FilterOn(predicate obiseq.SequencePredicate,
go ff(iterator) go ff(iterator)
return trueIter.SortBatches().Rebatch(size) return trueIter.Rebatch(size)
} }
// Load every sequences availables from an IBioSequenceBatch iterator into // Load every sequences availables from an IBioSequenceBatch iterator into