Build unknown seq (e lines) using pre-tokenized parts from MAF line.

  e -- indicates that there is no aligning sequence for a species, but that
       there are blocks before and after this one that do align. Format is the
       same as the 's' lines, but the start and length indicate the start and
       size of the non-aligning region in the sequence and the sequence is
       replaced with a status character:
       C -- the sequence before and after is contiguous implying that this
            region was either deleted in the source or inserted in the
            reference sequence.
       I -- there are non-aligning bases in the source species between
            chained alignment blocks before and after this block.
       M -- there are non-aligning bases in the source and more than 90% of
            them are Ns in the source. The browser shows a pale yellow bar.
       n -- there are non-aligning bases in the source and the next aligning
            block starts in a new chromosome or scaffold that is bridged
            by a chain between still other blocks.

def __build_unknown_sequence(parts):
  """Build unknown seq (e lines) using pre-tokenized parts from MAF line.

  e -- indicates that there is no aligning sequence for a species, but that
       there are blocks before and after this one that do align. Format is the
       same as the 's' lines, but the start and length indicate the start and
       size of the non-aligning region in the sequence and the sequence is
       replaced with a status character:
       C -- the sequence before and after is contiguous implying that this
            region was either deleted in the source or inserted in the
            reference sequence.
       I -- there are non-aligning bases in the source species between
            chained alignment blocks before and after this block.
       M -- there are non-aligning bases in the source and more than 90% of
            them are Ns in the source. The browser shows a pale yellow bar.
       n -- there are non-aligning bases in the source and the next aligning
            block starts in a new chromosome or scaffold that is bridged
            by a chain between still other blocks.
  """
  strand = parts[4]
  seq_length = int(parts[3])
  total_seq_len = int(parts[5])
  start = (int(parts[2]) if strand == "+"
           else total_seq_len - int(parts[2]) - seq_length)
  end = start + seq_length
  remain = total_seq_len - end
  return UnknownSequence(parts[1], start, end, strand, remain,
                         {EMPTY_ALIGNMENT_STATUS_KEY: parts[6]})