docs: def _rm_get_repeat_coords_from_header(parts):
    """
    extract the repeat coordinates of a repeat masker match from a header line.
  
    An example header line is::
  
      239 29.42 1.92 0.97 chr1 11 17 (41) C XX#YY (74) 104 1 m_b1s502i1 4
      239 29.42 1.92 0.97 chr1 11 17 (41) XX#YY 1 104 (74) m_b1s502i1 4
  
    if the match is to the reverse complement, the start and end coordinates are
    at positions 11 and 12 (zero-based indexes), otherwise they're at positions
    9 and 10. In the later case, the 'start' is the earlier number and the end
    is the larger one. In reverse complement matches, RM lists the 'start' as the
    larger number and the end as the smaller one. We swap these around to match
    the Pyokit convention of start < end always and also adjust the end so it is
    not inclusive of the last position
  
    :param parts: the header line, as a tokenized list.
    :return: tuple of (start, end)
    """
    assert((parts[8] == "C" and len(parts) == 15) or (len(parts) == 14))
    if len(parts) == 14:
      s = int(parts[9])
      e = int(parts[10]) + 1
    else:
      s = int(parts[12])
      e = int(parts[11]) + 1
    if (s >= e):
      raise AlignmentIteratorError("invalid repeatmakser header: " +
                                   " ".join(parts))
    return (s, e)