Files
obitools4/autodoc/docmd/pkg/obiseq/subseq_test.md
T
Eric Coissac 8c7017a99d ⬆️ version bump to v4.5
- Update obioptions.Version from "Release 4.4.29" to "/v/ Release v5"
- Update version.txt from 4.29 → .30
(automated by Makefile)
2026-04-13 13:34:53 +02:00

1.4 KiB

obiseq Package: Subsequence Extraction Functionality

The Subsequence() method enables extraction of a contiguous segment from biological sequence data (BioSequence). It supports both linear and circular (wrapped) slicing.

  • Input Parameters:

    • from, to: 0-based inclusive indices defining the slice range.
    • circular: boolean flag enabling wrap-around when from > to.
  • Behavior:

    • For linear (circular = false), from ≤ to, and indices within bounds [0, len(seq)).
    • For circular (circular = true), allows wrap-around (e.g., from=3, to=2 on a 4-mer yields indices [3,0,1]).
    • Validates inputs: returns descriptive errors for:
      • from > to (non-circular),
      • out-of-bounds indices (< 0 or ≥ length),
      • invalid ranges.
  • Quality Support:

    • When sequence includes base quality scores (BioSequenceWithQualities), the method preserves corresponding sub-slice of Quality[].
  • Return Value:

    • Returns a new BioSequence (or subclass) instance containing the extracted subsequence and its optional qualities.
  • Use Case:

    • Ideal for region-of-interest extraction (e.g., primer binding sites, domain segments), especially in circular genomes or plasmids.
  • Testing:

    • Unit tests (TestSubsequence) cover valid/invalid inputs, circular/non-circular modes, and quality consistency.

This functionality provides robust, semantics-aware slicing for biosequence manipulation in Go.