Skip to content

Commit

Permalink
Add variant region condition for dups ending in UTR (#716)
Browse files Browse the repository at this point in the history
  • Loading branch information
b0d0nne11 committed Jun 4, 2024
1 parent 0b128ba commit 575fa97
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 1 deletion.
5 changes: 5 additions & 0 deletions src/hgvs/utils/altseqbuilder.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,11 @@ def _get_variant_region(self):
and self._var_c.posedit.pos.end.datum == Datum.CDS_END
):
result = self.T_UTR
elif (
self._var_c.posedit.edit.type in ["dup", "ins"]
and self._var_c.posedit.pos.end.datum == Datum.CDS_END
):
result = self.T_UTR
elif self._var_c.posedit.pos.start.base < 0 and self._var_c.posedit.pos.end.base < 0:
result = self.F_UTR
elif (
Expand Down
Binary file modified tests/data/cache-py3.hdp
Binary file not shown.
12 changes: 12 additions & 0 deletions tests/test_hgvs_variantmapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,18 @@ def test_map_of_c_out_of_reference_bound(self):
with pytest.raises(HGVSError, match="coordinate is out of bounds"):
self.vm.c_to_p(var_c)

def test_map_of_ins_three_prime_utr(self):
hgvs_c = "NM_004985.4:c.567_*1insCCC"
var_c = self.hp.parse_hgvs_variant(hgvs_c)
var_p = self.vm.c_to_p(var_c)
self.assertEqual(str(var_p), "NP_004976.2:p.?")

def test_map_of_dup_three_prime_utr(self):
hgvs_c = "NM_153223.3:c.2959_*1dup"
var_c = self.hp.parse_hgvs_variant(hgvs_c)
var_p = self.vm.c_to_p(var_c)
self.assertEqual(str(var_p), "NP_694955.2:p.?")


if __name__ == "__main__":
unittest.main()
Expand Down
12 changes: 11 additions & 1 deletion tests/test_hgvs_variantmapper_cp_sanity.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,21 @@ def test_five_prime_utr(self):
hgvsp_expected = "MOCK:p.?"
self._run_conversion(hgvsc, hgvsp_expected)

def test_three_prime_utr(self):
def test_sub_three_prime_utr(self):
hgvsc = "NM_999999.1:c.*3G>A"
hgvsp_expected = "MOCK:p.?"
self._run_conversion(hgvsc, hgvsp_expected)

def test_ins_three_prime_utr(self):
hgvsc = "NM_999999.1:c.39_*1insA"
hgvsp_expected = "MOCK:p.?"
self._run_conversion(hgvsc, hgvsp_expected)

def test_dup_three_prime_utr(self):
hgvsc = "NM_999999.1:c.12_*1dup"
hgvsp_expected = "MOCK:p.?"
self._run_conversion(hgvsc, hgvsp_expected)

def test_deletion_into_three_prime_utr_frameshift(self):
hgvsc = "NM_999999.1:c.27_*3del"
hgvsp_expected = "MOCK:p.(Lys9XaafsTer?)"
Expand Down

0 comments on commit 575fa97

Please sign in to comment.