diff --git a/mutalyzer/util.py b/mutalyzer/util.py index 365fb2271b1382cc4ea6771879a67b164be443dc..4f95f64382703114fb18a0c50868df6115ba1e06 100644 --- a/mutalyzer/util.py +++ b/mutalyzer/util.py @@ -439,14 +439,14 @@ def in_frame_description(s1, s2): @todo: More intelligently handle longest_common_prefix(). @todo: Refactor this code (too many return statements). """ + s1 = s1.rstrip('*') + s2 = s2.rstrip('*') + if s1 == s2: # Nothing happened. return ('p.(=)', 0, 0, 0) s2_stop = '*' in s2 - s1 = s1.rstrip('*') - s2 = s2.rstrip('*') - lcp = len(longest_common_prefix(s1, s2)) lcs = len(longest_common_suffix(s1[lcp:], s2[lcp:])) s1_end = len(s1) - lcs diff --git a/tests/test_variantchecker.py b/tests/test_variantchecker.py index 8f0eea3c94265ae28c808f07ae67a8cccc61417d..24053b70d8e63ade20c34a040a89b6a84eee649c 100644 --- a/tests/test_variantchecker.py +++ b/tests/test_variantchecker.py @@ -1349,3 +1349,11 @@ class TestVariantchecker(MutalyzerTest): """ check_variant('NM_000193.2:c.1388_1389insC', self.output) assert 'NM_000193.2(SHH_i001):p.(*463Cysext*?)' in self.output.getOutput('protDescriptions') + + @fix(cache('AB026906.1')) + def test_synonymous_p_is(self): + """ + Synonymous mutation should yield a p.(=) description. + """ + check_variant('AB026906.1:c.276C>T', self.output) + assert 'AB026906.1(SDHD_i001):p.(=)' in self.output.getOutput('protDescriptions')