Skip to main content
`Ctrl`+`K`

# cogent3.core.seqview.SeqView

class SeqView(*, parent: str | bytes | NumpyIntArrayType | SeqsDataABC, alphabet: c3_alphabet.CharAlphabet[Any], parent_len: int, seqid: str | None = None, slice_record: SliceRecordABC | None = None, offset: int = 0)

  Provides a view of a sequence with support for slicing operations.

  This class represents a view of a sequence. It uses `SliceRecord` to enable efficient slicing without altering the original sequence data.

  Parameters:
    parent

      the original sequence data

    alphabet

      the alphabet object defining valid characters for the sequence

    seqid

      the name or identifier of the sequence

    parent_len

      the length of the sequence. Defaults to the length of the input sequence

  Attributes:
    alphabet
    `array_value`

      returns the sequence as a array of indices

    `bytes_value`

      returns the sequence as a bytes string

    `is_reversed`

      whether the sequence is reversed

    `offset`

      the annotation offset of this view

    parent
    `parent_len`

      length of the parent sequence

    `parent_offset`

      returns the offset from the true parent

    `seqid`

      name of the sequence

    `slice_record`

      the slice state of this view

    `str_value`

      returns the sequence as a string

  Methods

  `copy`([sliced]) | returns copy
  `parent_coords`(*[, apply_offset]) | returns coordinates on parent
  `with_offset`(offset) | returns new instance with annotation offset set

  Notes

  It utilises the alphabet object to allow providing different types such as strings or numpy arrays, corresponding to its underlying data.