Skip to content

Commit

Permalink
Merge pull request #731 from jPleyte/730-single-letter-amino-acid-fix
Browse files Browse the repository at this point in the history
#730 - Fix single letter amino acid bug
  • Loading branch information
davmlaw authored Mar 14, 2024
2 parents 58ef9e0 + 93b5835 commit ab47325
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/hgvs/edit.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ def format(self, conf=None):
p_3_letter, p_term_asterisk, p_init_met = self._format_config_aa(conf)

if self.init_met and p_init_met:
s = "Met1?"
s = "Met1?" if p_3_letter else "M1?"
elif self.init_met and not p_init_met:
s = "?"
# subst and delins
Expand Down
Binary file modified tests/data/cache-py3.hdp
Binary file not shown.
39 changes: 39 additions & 0 deletions tests/issues/test_730.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import os
import unittest

import pytest
from support import CACHE

import hgvs.assemblymapper
import hgvs.dataproviders.uta


@pytest.mark.issues
class Test_Issues(unittest.TestCase):
"""
HGVS-730 fixes an issue where AARefAlt.format() sometimes returned the three letter amino acid
when the single letter format was requested.
"""

@classmethod
def setUpClass(self):
self.hdp = hgvs.dataproviders.uta.connect(
mode=os.environ.get("HGVS_CACHE_MODE", "run"), cache=CACHE
)
self.am37 = hgvs.assemblymapper.AssemblyMapper(
self.hdp, replace_reference=True, assembly_name="GRCh37", alt_aln_method="splign"
)
self.hp = hgvs.parser.Parser()

def test_730_format_startloss_as_configured(self):
"""
Parse a start loss and make sure the one letter and three letter protein genotypes come back as expected.
"""
var_g = self.hp.parse_hgvs_variant("NC_000016.9:g.89985662_89985667del")
var_c = self.am37.g_to_c(var_g, str("NM_002386.3"))
var_p = self.am37.c_to_p(var_c)
var_p_one_letter = var_p.format(conf={"p_3_letter": False})
var_p_three_letter = var_p.format(conf={"p_3_letter": True})

self.assertEqual(var_p_one_letter, "NP_002377.4:p.M1?")
self.assertEqual(var_p_three_letter, "NP_002377.4:p.Met1?")

0 comments on commit ab47325

Please sign in to comment.