docs: def relative_subsequence(self, start, end):
      """
      Extract a subsequence from this sequence using coordinates that are
      relative to the start (relative position 1) and end coordinates of the
      sequence. For example:
  
        46  --> A--CTGC-TAGC-GATCGACT <--  62      subsequence(2,7) == CTGC-T
  
      :param start:      the index marking the start (inclusive) of the
                         subsequence. This is a one-based index, and is in the
                         coordinate space of the sequence (i.e. from 1 to N,
                         where N is the number of non-gap nucleotides in the
                         sequence)
      :param end:        the index marking the end (exclusive) of the
                         subsequence. This is a one-based index, and is in the
                         coordinate space of the sequence (i.e. from 1 to N,
                         where N is the number of non-gap nucleotides in the
                         sequence)
  
      :return: a new sequence object that represents the subsequence
      :rasie SequenceError: if the start coordinate is less than 1 or the end
                            coordinate is greater than the ungapped length of
                            this sequence.
      """
      if start < 1:
        raise SequenceError("invalid start coordinate for subsequence: " +
                            str(start))
      if end > self.ungapped_len:
        raise SequenceError("invalid end coordinate for subsequence: " +
                            str(end) + " greater than number of non-gap " +
                            "nucleotides in sequence (" + self.ungapped_len +
                            ")")
      raise SequenceError("method not implemented")