docs: def __annotate_sequence_with_context(seq, i_line_parts):
    """Extract meta data from pre-tokenized maf i-line and populate sequence.
  
    i -- always come after s lines, and contain information about the context of
         the sequence. Five fields are given, not counting the 'i'
            * source sequence (must match s line before this)
            * left status (see below)
            * left count; num of bases in source sequence between start of the
              block and end of previous block (0 if this is the first)
            * right status (see below)
            * right count; num of bases in source after end of this block before
              start of next
         status (left/right) is a single char and can be:
            * C -- the sequence before or after is contiguous with this block.
            * I -- there are bases between the bases in this block and the one
                   before or after it.
            * N -- this is the first sequence from this src chrom or scaffold.
            * n -- this is the first sequence from this src chrom or scaffold but
                   it is bridged by another alignment from a different chrom or
                   scaffold.
            * M -- there is missing data before or after this block (Ns in the
                   sequence).
            * T -- the sequence in this block has been used before in a previous
                   block (likely a tandem duplication)
    """
    if i_line_parts[1] != seq.name:
      raise MAFError("Trying to populate meta data for sequence " + seq.name +
                     " with i-line information for " +
                     str(i_line_parts[1]) + "; maflormed MAF file?")
    if len(i_line_parts) != 6:
      raise MAFError("i-line with " + str(len(i_line_parts)) + "; expected 6.")
    seq.meta_data[LEFT_STATUS_KEY] = i_line_parts[2]
    seq.meta_data[LEFT_COUNT_KEY] = int(i_line_parts[3])
    seq.meta_data[RIGHT_STATUS_KEY] = i_line_parts[4]
    seq.meta_data[RIGHT_COUNT_KEY] = int(i_line_parts[5])