Files
obitools4/pkg/obiseq/pool.go

35 lines
613 B
Go
Raw Normal View History

2022-01-13 23:27:39 +01:00
package obiseq
import (
"sync"
)
var __bioseq__pool__ = sync.Pool{
New: func() interface{} {
var bs __sequence__
bs.annotations = make(Annotation, 50)
return &bs
},
}
func MakeEmptyBioSequence() BioSequence {
bs := BioSequence{__bioseq__pool__.Get().(*__sequence__)}
return bs
}
func MakeBioSequence(id string,
sequence []byte,
definition string) BioSequence {
bs := MakeEmptyBioSequence()
bs.SetId(id)
bs.Write(sequence)
2022-01-13 23:27:39 +01:00
bs.SetDefinition(definition)
return bs
}
func (sequence *BioSequence) Recycle() {
sequence.Reset()
2022-01-13 23:27:39 +01:00
__bioseq__pool__.Put(sequence.sequence)
sequence.sequence = nil
}