def n_to_g(self, n_interval):
assert self.strand in [<NUM_LIT:1>, -<NUM_LIT:1>], "<STR_LIT>" + str(self.strand) + "<STR_LIT>"<EOL>if self.strand == <NUM_LIT:1>:<EOL><INDENT>frs, fre = _hgvs_coord_to_ci(n_interval.start.base, n_interval.end.base)<EOL>start_offset, end_offset = n_interval.start.offset, n_interval.end.offset<EOL><DEDENT>elif self.strand == -<NUM_LIT:1>:<EOL><INDENT>frs, fre = _hgvs_coord_to_ci(n_interval.start.base, n_interval.end.base)<EOL>fre, frs = self.tgt_len - frs, self.tgt_len - fre<EOL>start_offset, end_offset = self.strand * n_interval.end.offset, self.strand * n_interval.start.offset<EOL><DEDENT>grs, gre = self.im.map_tgt_to_ref(frs, fre, max_extent=False)<EOL>grs, gre = grs + self.gc_offset, gre + self.gc_offset<EOL>gs, ge = grs + start_offset, gre + end_offset<EOL>return hgvs.location.Interval(<EOL>start=hgvs.location.SimplePosition(<EOL>_ci_to_hgvs_coord(gs, ge)[<NUM_LIT:0>], uncertain=n_interval.start.uncertain),<EOL>end=hgvs.location.SimplePosition(<EOL>_ci_to_hgvs_coord(gs, ge)[<NUM_LIT:1>], uncertain=n_interval.end.uncertain),<EOL>uncertain=n_interval.uncertain)<EOL>
convert a transcript cDNA (n.) interval to a genomic (g.) interval