2022-02-24 07:08:40 +01:00
|
|
|
package obiiter
|
|
|
|
|
2023-11-29 12:14:37 +01:00
|
|
|
import "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiseq"
|
2022-02-24 07:08:40 +01:00
|
|
|
|
|
|
|
type BioSequenceBatch struct {
|
|
|
|
slice obiseq.BioSequenceSlice
|
|
|
|
order int
|
|
|
|
}
|
|
|
|
|
|
|
|
var NilBioSequenceBatch = BioSequenceBatch{nil, -1}
|
|
|
|
|
|
|
|
func MakeBioSequenceBatch(order int,
|
|
|
|
sequences obiseq.BioSequenceSlice) BioSequenceBatch {
|
|
|
|
|
|
|
|
return BioSequenceBatch{
|
|
|
|
slice: sequences,
|
|
|
|
order: order,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (batch BioSequenceBatch) Order() int {
|
|
|
|
return batch.order
|
|
|
|
}
|
|
|
|
|
|
|
|
func (batch BioSequenceBatch) Reorder(newOrder int) BioSequenceBatch {
|
|
|
|
batch.order = newOrder
|
|
|
|
return batch
|
|
|
|
}
|
|
|
|
|
|
|
|
func (batch BioSequenceBatch) Slice() obiseq.BioSequenceSlice {
|
|
|
|
return batch.slice
|
|
|
|
}
|
|
|
|
|
2022-11-17 11:09:58 +01:00
|
|
|
func (batch BioSequenceBatch) Len() int {
|
2022-02-24 07:08:40 +01:00
|
|
|
return len(batch.slice)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (batch BioSequenceBatch) NotEmpty() bool {
|
|
|
|
return batch.slice.NotEmpty()
|
|
|
|
}
|
|
|
|
|
|
|
|
func (batch BioSequenceBatch) Pop0() *obiseq.BioSequence {
|
|
|
|
return batch.slice.Pop0()
|
|
|
|
}
|
|
|
|
|
|
|
|
func (batch BioSequenceBatch) IsNil() bool {
|
|
|
|
return batch.slice == nil
|
|
|
|
}
|
|
|
|
|
2023-03-28 19:37:05 +07:00
|
|
|
func (batch BioSequenceBatch) Recycle(including_seq bool) {
|
|
|
|
batch.slice.Recycle(including_seq)
|
2022-02-24 07:08:40 +01:00
|
|
|
batch.slice = nil
|
|
|
|
}
|