mirror of
https://github.com/metabarcoding/obitools4.git
synced 2026-04-30 03:50:39 +00:00
[obiseq] Add length validation for qualities in SetQualities, Take Qualites and Subsequence
[obiseq] Add length validation for qualities in SetQualities, Take Qualites and Subsequence - Panic if sequence/qualities length mismatch when setting or taking qualities in BioSequence. - Add same check before slicing Qualities() for Subsequence to ensure consistency.
This commit is contained in:
@@ -499,6 +499,9 @@ func (s *BioSequence) SetQualities(qualities Quality) {
|
||||
if s.qualities != nil {
|
||||
RecycleSlice(&s.qualities)
|
||||
}
|
||||
if len(qualities) > 0 && len(qualities) != len(s.sequence) {
|
||||
log.Panicf("[BioSequence.SetQualities] Sequence %s has a length of %d and qualities a length of %d", s.id, len(s.sequence), len(qualities))
|
||||
}
|
||||
s.qualities = CopySlice(qualities)
|
||||
}
|
||||
|
||||
@@ -508,6 +511,9 @@ func (s *BioSequence) TakeQualities(qualities Quality) {
|
||||
if s.qualities != nil {
|
||||
RecycleSlice(&s.qualities)
|
||||
}
|
||||
if len(qualities) > 0 && len(qualities) != len(s.sequence) {
|
||||
log.Panicf("[BioSequence.TakeQualities] Sequence %s has a length of %d and qualities a length of %d", s.id, len(s.sequence), len(qualities))
|
||||
}
|
||||
s.qualities = qualities
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user