diff --git a/pkg/obiseq/biosequenceslice.go b/pkg/obiseq/biosequenceslice.go index f1e90b6..bb7b3cf 100644 --- a/pkg/obiseq/biosequenceslice.go +++ b/pkg/obiseq/biosequenceslice.go @@ -88,8 +88,19 @@ func (s *BioSequenceSlice) EnsureCapacity(capacity int) *BioSequenceSlice { c = 0 } - if capacity > c { - *s = slices.Grow[BioSequenceSlice](*s, capacity-c) + n := 0 + for capacity > c { + old_c := c + *s = slices.Grow(*s, capacity) + c = cap(*s) + if c < capacity { + n++ + if n < 4 { + log.Warnf("cannot allocate a Biosequence Slice of size %d (only %d from %d)", capacity, c, old_c) + } else { + log.Panicf("cannot allocate a Biosequence Slice of size %d (only %d from %d)", capacity, c, old_c) + } + } } return s diff --git a/pkg/obitools/obitag/obigeomtag.go b/pkg/obitools/obitag/obigeomtag.go index 5fec126..f75eec6 100644 --- a/pkg/obitools/obitag/obigeomtag.go +++ b/pkg/obitools/obitag/obigeomtag.go @@ -138,7 +138,6 @@ func FindGeomClosest(sequence *obiseq.BioSequence, } matches := obiseq.MakeBioSequenceSlice(len(min_idx)) - matches = matches[0:len(min_idx)] for i, j := range min_idx { matches[i] = (*references)[j] }