def liftover_coordinates(self, intersecting_region):
<EOL>if not self.intersects(intersecting_region):<EOL><INDENT>raise RetrotransposonError("<STR_LIT>" + str(intersecting_region) +<EOL>"<STR_LIT>" +<EOL>"<STR_LIT>" + str(self) + "<STR_LIT>" +<EOL>"<STR_LIT>")<EOL><DEDENT>consensus_match_length = self.consensus_end - self.consensus_start<EOL>size_dif = consensus_match_length - len(self)<EOL>if size_dif == <NUM_LIT:0>:<EOL><INDENT>return [self.__liftover_coordinates_size_match(intersecting_region)]<EOL><DEDENT>else:<EOL><INDENT>return self.__liftover_coordinates_genomic_indels(intersecting_region)<EOL><DEDENT>
Lift a region that overlaps the genomic occurrence of the retrotransposon
to consensus sequence co-ordinates. Use only the coordinates of the
occurrence and the consensus match (i.e. ignore a full alignment, even
if one is present). If the genomic size of the match is the same as the
size of the match in the consensus sequence then it is assumed no indels
are present in either sequence, otherwise indels are assumed to exist
uniformly distributed along the sequences to make their lengths match.

:param intersect_region: a region that intersects this occurrence.
:return: list of GenomicInterval objects. This is a list because a genomic
         deletion of part of the retrotransposon can fragment the
         intersecting region and result in more than one returned interval.