def __annotate_sequence_with_context(seq, i_line_parts):
if i_line_parts[<NUM_LIT:1>] != seq.name:<EOL><INDENT>raise MAFError("<STR_LIT>" + seq.name +<EOL>"<STR_LIT>" +<EOL>str(i_line_parts[<NUM_LIT:1>]) + "<STR_LIT>")<EOL><DEDENT>if len(i_line_parts) != <NUM_LIT:6>:<EOL><INDENT>raise MAFError("<STR_LIT>" + str(len(i_line_parts)) + "<STR_LIT>")<EOL><DEDENT>seq.meta_data[LEFT_STATUS_KEY] = i_line_parts[<NUM_LIT:2>]<EOL>seq.meta_data[LEFT_COUNT_KEY] = int(i_line_parts[<NUM_LIT:3>])<EOL>seq.meta_data[RIGHT_STATUS_KEY] = i_line_parts[<NUM_LIT:4>]<EOL>seq.meta_data[RIGHT_COUNT_KEY] = int(i_line_parts[<NUM_LIT:5>])<EOL>
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)