code: def n_to_g(self, n_interval):
          
  
          assert self.strand in [1, -1], "strand = " + str(self.strand) + "; must be 1 or -1"
  
          if self.strand == 1:
              frs, fre = _hgvs_coord_to_ci(n_interval.start.base, n_interval.end.base)
              start_offset, end_offset = n_interval.start.offset, n_interval.end.offset
          elif self.strand == -1:
              frs, fre = _hgvs_coord_to_ci(n_interval.start.base, n_interval.end.base)
              fre, frs = self.tgt_len - frs, self.tgt_len - fre
              start_offset, end_offset = self.strand * n_interval.end.offset, self.strand * n_interval.start.offset
  
          # returns the genomic range start (grs) and end (gre)
          grs, gre = self.im.map_tgt_to_ref(frs, fre, max_extent=False)
          grs, gre = grs + self.gc_offset, gre + self.gc_offset
          gs, ge = grs + start_offset, gre + end_offset
          return hgvs.location.Interval(
              start=hgvs.location.SimplePosition(
                  _ci_to_hgvs_coord(gs, ge)[0], uncertain=n_interval.start.uncertain),
              end=hgvs.location.SimplePosition(
                  _ci_to_hgvs_coord(gs, ge)[1], uncertain=n_interval.end.uncertain),
              uncertain=n_interval.uncertain)
docs: convert a transcript cDNA (n.) interval to a genomic (g.) interval