def test_transcriptmapper_TranscriptMapper_LCE3C(self):
     """NM_178434.2: LCE3C single exon, strand = +1, all coordinate input/output are in HGVS"""
     tx_ac = "NM_178434.2"
     alt_ac = "NC_000001.10"
     tm = TranscriptMapper(self.hdp, tx_ac, alt_ac, alt_aln_method="splign")
     parser = hgvs.parser.Parser()
     test_cases = [
         # 5'
         {
             "g": parser.parse_g_interval("152573138"),
             "n": parser.parse_n_interval("1"),
             "c": parser.parse_c_interval("-70")
         },
         {
             "g": parser.parse_g_interval("152573140"),
             "n": parser.parse_n_interval("3"),
             "c": parser.parse_c_interval("-68")
         },
         # cds
         {
             "g": parser.parse_g_interval("152573207"),
             "n": parser.parse_n_interval("70"),
             "c": parser.parse_c_interval("-1")
         },
         {
             "g": parser.parse_g_interval("152573208"),
             "n": parser.parse_n_interval("71"),
             "c": parser.parse_c_interval("1")
         },
         # 3'
         {
             "g": parser.parse_g_interval("152573492"),
             "n": parser.parse_n_interval("355"),
             "c": parser.parse_c_interval("285")
         },
         {
             "g": parser.parse_g_interval("152573493"),
             "n": parser.parse_n_interval("356"),
             "c": parser.parse_c_interval("*1")
         },
         {
             "g": parser.parse_g_interval("152573560"),
             "n": parser.parse_n_interval("423"),
             "c": parser.parse_c_interval("*68")
         },
         {
             "g": parser.parse_g_interval("152573562"),
             "n": parser.parse_n_interval("425"),
             "c": parser.parse_c_interval("*70")
         },
     ]
     self.run_cases(tm, test_cases)
 def test_transcriptmapper_TranscriptMapper_HIST3H2A(self):
     """NM_033445.2: LCE3C single exon, strand = -1, all coordinate input/output are in HGVS"""
     tx_ac = "NM_033445.2"
     alt_ac = "NC_000001.10"
     tm = TranscriptMapper(self.hdp, tx_ac, alt_ac, alt_aln_method="splign")
     parser = hgvs.parser.Parser()
     test_cases = [
         # 3'
         {
             "g": parser.parse_g_interval("228645560"),
             "n": parser.parse_n_interval("1"),
             "c": parser.parse_c_interval("-42")
         },
         {
             "g": parser.parse_g_interval("228645558"),
             "n": parser.parse_n_interval("3"),
             "c": parser.parse_c_interval("-40")
         },
         # cds
         {
             "g": parser.parse_g_interval("228645519"),
             "n": parser.parse_n_interval("42"),
             "c": parser.parse_c_interval("-1")
         },
         {
             "g": parser.parse_g_interval("228645518"),
             "n": parser.parse_n_interval("43"),
             "c": parser.parse_c_interval("1")
         },
         # 5'
         {
             "g": parser.parse_g_interval("228645126"),
             "n": parser.parse_n_interval("435"),
             "c": parser.parse_c_interval("393")
         },
         {
             "g": parser.parse_g_interval("228645125"),
             "n": parser.parse_n_interval("436"),
             "c": parser.parse_c_interval("*1")
         },
         {
             "g": parser.parse_g_interval("228645124"),
             "n": parser.parse_n_interval("437"),
             "c": parser.parse_c_interval("*2")
         },
         {
             "g": parser.parse_g_interval("228645065"),
             "n": parser.parse_n_interval("496"),
             "c": parser.parse_c_interval("*61")
         },
     ]
     self.run_cases(tm, test_cases)
 def test_transcriptmapper_TranscriptMapper_LCE3C_uncertain(self):
     """Use NM_178434.2 tests to test mapping with uncertain positions"""
     tx_ac = "NM_178434.2"
     alt_ac = "NC_000001.10"
     tm = TranscriptMapper(self.hdp, tx_ac, alt_ac, alt_aln_method="splign")
     parser = hgvs.parser.Parser()
     test_cases = [
         {
             "g": parser.parse_g_interval("(152573138)"),
             "n": parser.parse_n_interval("(1)"),
             "c": parser.parse_c_interval("(-70)")
         },
         {
             "g": parser.parse_g_interval("(152573138_152573139)"),
             "n": parser.parse_n_interval("(1_2)"),
             "c": parser.parse_c_interval("(-70_-69)")
         },
         # ? is not yet supported
         # {"g": parser.parse_g_interval("(?_152573139)"), "n": parser.parse_n_interval("(?_2)"), "c": parser.parse_c_interval("(?_-69)")},
         # {"g": parser.parse_g_interval("(152573138_?)"), "n": parser.parse_n_interval("(1_?)"), "c": parser.parse_c_interval("(-70_?)")},
     ]
     self.run_cases(tm, test_cases)
 def test_transcriptmapper_TranscriptMapper_LCE2B(self):
     """NM_014357.4: LCE2B, two exons, strand = +1, all coordinate input/output are in HGVS"""
     tx_ac = 'NM_014357.4'
     alt_ac = 'NC_000001.10'
     tm = TranscriptMapper(self.hdp, tx_ac, alt_ac, alt_aln_method='splign')
     parser = hgvs.parser.Parser()
     test_cases = [
          # 5'
         {'g': parser.parse_g_interval('152658599'), 'r': parser.parse_r_interval('1'), 'c': parser.parse_c_interval('-54')},
         {'g': parser.parse_g_interval('152658601'), 'r': parser.parse_r_interval('3'), 'c': parser.parse_c_interval('-52')},
         # cds
         {'g': parser.parse_g_interval('152659319'), 'r': parser.parse_r_interval('54'), 'c': parser.parse_c_interval('-1')},
         {'g': parser.parse_g_interval('152659320'), 'r': parser.parse_r_interval('55'), 'c': parser.parse_c_interval('1')},
         # around end of exon 1
         {'g': parser.parse_g_interval('152658632'), 'r': parser.parse_r_interval('34'), 'c': parser.parse_c_interval('-21')},
         {'g': parser.parse_g_interval('152658633'), 'r': parser.parse_r_interval('34+1'), 'c': parser.parse_c_interval('-21+1')},
         # span
         {'g': parser.parse_g_interval('152658633_152659299'), 'r': parser.parse_r_interval('34+1_35-1'), 'c': parser.parse_c_interval('-21+1_-20-1')},
         # around beginning of exon 2
         {'g': parser.parse_g_interval('152659300'), 'r': parser.parse_r_interval('35'), 'c': parser.parse_c_interval('-20')},
         {'g': parser.parse_g_interval('152659299'), 'r': parser.parse_r_interval('35-1'), 'c': parser.parse_c_interval('-20-1')},
         # around end of exon 2
         {'g': parser.parse_g_interval('152659652'), 'r': parser.parse_r_interval('387'), 'c': parser.parse_c_interval('333')},
         {'g': parser.parse_g_interval('152659653'), 'r': parser.parse_r_interval('388'), 'c': parser.parse_c_interval('*1')},
         # span
         {'g': parser.parse_g_interval('152659651_152659654'), 'r': parser.parse_r_interval('386_389'), 'c': parser.parse_c_interval('332_*2')},
         # 3'
         {'g': parser.parse_g_interval('152659877'), 'r': parser.parse_r_interval('612'), 'c': parser.parse_c_interval('*225')},
     ]
     self.run_cases(tm, test_cases)
 def test_transcriptmapper_TranscriptMapper_HIST3H2A(self):
     """NM_033445.2: LCE3C single exon, strand = -1, all coordinate input/output are in HGVS"""
     tx_ac = 'NM_033445.2'
     alt_ac = 'NC_000001.10'
     tm = TranscriptMapper(self.hdp, tx_ac, alt_ac, alt_aln_method='splign')
     parser = hgvs.parser.Parser()
     test_cases = [
         # 3'
         {'g': parser.parse_g_interval('228645560'), 'r': parser.parse_r_interval('1'), 'c': parser.parse_c_interval('-42')},
         {'g': parser.parse_g_interval('228645558'), 'r': parser.parse_r_interval('3'), 'c': parser.parse_c_interval('-40')},
         # cds
         {'g': parser.parse_g_interval('228645519'), 'r': parser.parse_r_interval('42'), 'c': parser.parse_c_interval('-1')},
         {'g': parser.parse_g_interval('228645518'), 'r': parser.parse_r_interval('43'), 'c': parser.parse_c_interval('1')},
         # 5'
         {'g': parser.parse_g_interval('228645126'), 'r': parser.parse_r_interval('435'), 'c': parser.parse_c_interval('393')},
         {'g': parser.parse_g_interval('228645125'), 'r': parser.parse_r_interval('436'), 'c': parser.parse_c_interval('*1')},
         {'g': parser.parse_g_interval('228645124'), 'r': parser.parse_r_interval('437'), 'c': parser.parse_c_interval('*2')},
         {'g': parser.parse_g_interval('228645065'), 'r': parser.parse_r_interval('496'), 'c': parser.parse_c_interval('*61')},
     ]
     self.run_cases(tm, test_cases)
 def test_transcriptmapper_TranscriptMapper_LCE3C(self):
     """NM_178434.2: LCE3C single exon, strand = +1, all coordinate input/output are in HGVS"""
     tx_ac = 'NM_178434.2'
     alt_ac = 'NC_000001.10'
     tm = TranscriptMapper(self.hdp, tx_ac, alt_ac, alt_aln_method='splign')
     parser = hgvs.parser.Parser()
     test_cases = [
         # 5'
         {'g': parser.parse_g_interval('152573138'), 'r': parser.parse_r_interval('1'), 'c': parser.parse_c_interval('-70')},
         {'g': parser.parse_g_interval('152573140'), 'r': parser.parse_r_interval('3'), 'c': parser.parse_c_interval('-68')},
         # cds
         {'g': parser.parse_g_interval('152573207'), 'r': parser.parse_r_interval('70'), 'c': parser.parse_c_interval('-1')},
         {'g': parser.parse_g_interval('152573208'), 'r': parser.parse_r_interval('71'), 'c': parser.parse_c_interval('1')},
         # 3'
         {'g': parser.parse_g_interval('152573492'), 'r': parser.parse_r_interval('355'), 'c': parser.parse_c_interval('285')},
         {'g': parser.parse_g_interval('152573493'), 'r': parser.parse_r_interval('356'), 'c': parser.parse_c_interval('*1')},
         {'g': parser.parse_g_interval('152573560'), 'r': parser.parse_r_interval('423'), 'c': parser.parse_c_interval('*68')},
         {'g': parser.parse_g_interval('152573562'), 'r': parser.parse_r_interval('425'), 'c': parser.parse_c_interval('*70')},
     ]
     self.run_cases(tm, test_cases)
 def test_transcriptmapper_TranscriptMapper_LCE3C_uncertain(self):
     """Use NM_178434.2 tests to test mapping with uncertain positions"""
     tx_ac = 'NM_178434.2'
     alt_ac = 'NC_000001.10'
     tm = TranscriptMapper(self.hdp, tx_ac, alt_ac, alt_aln_method='splign')
     parser = hgvs.parser.Parser()
     test_cases = [
         {'g': parser.parse_g_interval('(152573138)'), 'r': parser.parse_r_interval('(1)'), 'c': parser.parse_c_interval('(-70)')},
         {'g': parser.parse_g_interval('(152573138_152573139)'), 'r': parser.parse_r_interval('(1_2)'), 'c': parser.parse_c_interval('(-70_-69)')},
         # ? is not yet supported
         # {'g': parser.parse_g_interval('(?_152573139)'), 'r': parser.parse_r_interval('(?_2)'), 'c': parser.parse_c_interval('(?_-69)')},
         # {'g': parser.parse_g_interval('(152573138_?)'), 'r': parser.parse_r_interval('(1_?)'), 'c': parser.parse_c_interval('(-70_?)')},
     ]
     self.run_cases(tm, test_cases)
 def test_transcriptmapper_TranscriptMapper_PTH2(self):
     """NM_178449.3: PTH2, two exons, strand = -1, all coordinate input/output are in HGVS"""
     tx_ac = 'NM_178449.3'
     alt_ac = 'NC_000019.9'
     tm = TranscriptMapper(self.hdp, tx_ac, alt_ac, alt_aln_method='splign')
     parser = hgvs.parser.Parser()
     test_cases = [
          # 3'
         {'g': parser.parse_g_interval('49926698'), 'r': parser.parse_r_interval('1'), 'c': parser.parse_c_interval('-102')},
         # cds
         {'g': parser.parse_g_interval('49926597'), 'r': parser.parse_r_interval('102'), 'c': parser.parse_c_interval('-1')},
         {'g': parser.parse_g_interval('49926596'), 'r': parser.parse_r_interval('103'), 'c': parser.parse_c_interval('1')},
         # around end of exon 1
         {'g': parser.parse_g_interval('49926469'), 'r': parser.parse_r_interval('230'), 'c': parser.parse_c_interval('128')},
         {'g': parser.parse_g_interval('49926468'), 'r': parser.parse_r_interval('230+1'), 'c': parser.parse_c_interval('128+1')},
         # span
         {'g': parser.parse_g_interval('49925901_49926467'), 'r': parser.parse_r_interval('230+2_231-2'), 'c': parser.parse_c_interval('128+2_129-2')},
         # around beginning of exon 2
         {'g': parser.parse_g_interval('49925900'), 'r': parser.parse_r_interval('231-1'), 'c': parser.parse_c_interval('129-1')},
         {'g': parser.parse_g_interval('49925899'), 'r': parser.parse_r_interval('231'), 'c': parser.parse_c_interval('129')},
         # around end of exon 2
         {'g': parser.parse_g_interval('49925725'), 'r': parser.parse_r_interval('405'), 'c': parser.parse_c_interval('303')},
         {'g': parser.parse_g_interval('49925724'), 'r': parser.parse_r_interval('406'), 'c': parser.parse_c_interval('*1')},
         {'g': parser.parse_g_interval('49925671'), 'r': parser.parse_r_interval('459'), 'c': parser.parse_c_interval('*54')},
     ]
     self.run_cases(tm, test_cases)
 def test_transcriptmapper_TranscriptMapper_PTH2(self):
     """NM_178449.3: PTH2, two exons, strand = -1, all coordinate input/output are in HGVS"""
     tx_ac = "NM_178449.3"
     alt_ac = "NC_000019.9"
     tm = TranscriptMapper(self.hdp, tx_ac, alt_ac, alt_aln_method="splign")
     parser = hgvs.parser.Parser()
     test_cases = [
         # 3'
         {
             "g": parser.parse_g_interval("49926698"),
             "n": parser.parse_n_interval("1"),
             "c": parser.parse_c_interval("-102")
         },
         # cds
         {
             "g": parser.parse_g_interval("49926597"),
             "n": parser.parse_n_interval("102"),
             "c": parser.parse_c_interval("-1")
         },
         {
             "g": parser.parse_g_interval("49926596"),
             "n": parser.parse_n_interval("103"),
             "c": parser.parse_c_interval("1")
         },
         # around end of exon 1
         {
             "g": parser.parse_g_interval("49926469"),
             "n": parser.parse_n_interval("230"),
             "c": parser.parse_c_interval("128")
         },
         {
             "g": parser.parse_g_interval("49926468"),
             "n": parser.parse_n_interval("230+1"),
             "c": parser.parse_c_interval("128+1")
         },
         # span
         {
             "g": parser.parse_g_interval("49925901_49926467"),
             "n": parser.parse_n_interval("230+2_231-2"),
             "c": parser.parse_c_interval("128+2_129-2")
         },
         # around beginning of exon 2
         {
             "g": parser.parse_g_interval("49925900"),
             "n": parser.parse_n_interval("231-1"),
             "c": parser.parse_c_interval("129-1")
         },
         {
             "g": parser.parse_g_interval("49925899"),
             "n": parser.parse_n_interval("231"),
             "c": parser.parse_c_interval("129")
         },
         # around end of exon 2
         {
             "g": parser.parse_g_interval("49925725"),
             "n": parser.parse_n_interval("405"),
             "c": parser.parse_c_interval("303")
         },
         {
             "g": parser.parse_g_interval("49925724"),
             "n": parser.parse_n_interval("406"),
             "c": parser.parse_c_interval("*1")
         },
         {
             "g": parser.parse_g_interval("49925671"),
             "n": parser.parse_n_interval("459"),
             "c": parser.parse_c_interval("*54")
         },
     ]
     self.run_cases(tm, test_cases)
 def test_transcriptmapper_TranscriptMapper_LCE2B(self):
     """NM_014357.4: LCE2B, two exons, strand = +1, all coordinate input/output are in HGVS"""
     tx_ac = "NM_014357.4"
     alt_ac = "NC_000001.10"
     tm = TranscriptMapper(self.hdp, tx_ac, alt_ac, alt_aln_method="splign")
     parser = hgvs.parser.Parser()
     test_cases = [
         # 5'
         {
             "g": parser.parse_g_interval("152658599"),
             "n": parser.parse_n_interval("1"),
             "c": parser.parse_c_interval("-54")
         },
         {
             "g": parser.parse_g_interval("152658601"),
             "n": parser.parse_n_interval("3"),
             "c": parser.parse_c_interval("-52")
         },
         # cds
         {
             "g": parser.parse_g_interval("152659319"),
             "n": parser.parse_n_interval("54"),
             "c": parser.parse_c_interval("-1")
         },
         {
             "g": parser.parse_g_interval("152659320"),
             "n": parser.parse_n_interval("55"),
             "c": parser.parse_c_interval("1")
         },
         # around end of exon 1
         {
             "g": parser.parse_g_interval("152658632"),
             "n": parser.parse_n_interval("34"),
             "c": parser.parse_c_interval("-21")
         },
         {
             "g": parser.parse_g_interval("152658633"),
             "n": parser.parse_n_interval("34+1"),
             "c": parser.parse_c_interval("-21+1")
         },
         # span
         {
             "g": parser.parse_g_interval("152658633_152659299"),
             "n": parser.parse_n_interval("34+1_35-1"),
             "c": parser.parse_c_interval("-21+1_-20-1")
         },
         # around beginning of exon 2
         {
             "g": parser.parse_g_interval("152659300"),
             "n": parser.parse_n_interval("35"),
             "c": parser.parse_c_interval("-20")
         },
         {
             "g": parser.parse_g_interval("152659299"),
             "n": parser.parse_n_interval("35-1"),
             "c": parser.parse_c_interval("-20-1")
         },
         # around end of exon 2
         {
             "g": parser.parse_g_interval("152659652"),
             "n": parser.parse_n_interval("387"),
             "c": parser.parse_c_interval("333")
         },
         {
             "g": parser.parse_g_interval("152659653"),
             "n": parser.parse_n_interval("388"),
             "c": parser.parse_c_interval("*1")
         },
         # span
         {
             "g": parser.parse_g_interval("152659651_152659654"),
             "n": parser.parse_n_interval("386_389"),
             "c": parser.parse_c_interval("332_*2")
         },
         # 3'
         {
             "g": parser.parse_g_interval("152659877"),
             "n": parser.parse_n_interval("612"),
             "c": parser.parse_c_interval("*225")
         },
     ]
     self.run_cases(tm, test_cases)