From 5366cb35562212da52678e1f81fdcbee521c9f27 Mon Sep 17 00:00:00 2001 From: Martijn Vermaat <martijn@vermaat.name> Date: Wed, 11 Jul 2012 14:33:41 +0000 Subject: [PATCH] Fix position converter for delins with explicit sequences git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@570 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1 --- mutalyzer/Retriever.py | 2 +- mutalyzer/mapping.py | 2 ++ tests/test_mapping.py | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/mutalyzer/Retriever.py b/mutalyzer/Retriever.py index 613bd789..48750a93 100644 --- a/mutalyzer/Retriever.py +++ b/mutalyzer/Retriever.py @@ -300,7 +300,7 @@ class Retriever(object) : return [] except IndexError: # The expected root element is not present. - self._output.addMessage(__file__, 4, 'EENTREZ', 'Unkown dbSNP ' \ + self._output.addMessage(__file__, 4, 'EENTREZ', 'Unknown dbSNP ' \ 'error. Result XML was not as expected.') self._output.addMessage(__file__, -1, 'INFO', 'Result from dbSNP: %s' % response_text) diff --git a/mutalyzer/mapping.py b/mutalyzer/mapping.py index 4abd3edf..4e4e595e 100644 --- a/mutalyzer/mapping.py +++ b/mutalyzer/mapping.py @@ -651,6 +651,8 @@ class Converter(object) : if var.MutationType == "subst" : change = "%s>%s" % (arg1, arg2) + elif var.MutationType == 'delins' and arg2: + change = "%s%s" % (var.MutationType, arg2) else : change = "%s%s" % (var.MutationType, arg1 or arg2 or "") return change diff --git a/tests/test_mapping.py b/tests/test_mapping.py index 3dbdfbf3..69b29415 100644 --- a/tests/test_mapping.py +++ b/tests/test_mapping.py @@ -148,3 +148,39 @@ class TestConverter(): assert_equal(coding, None) erange = self.output.getMessagesWithErrorCode('ERANGE') assert_equal(len(erange), 1) + + def test_delins_large_ins_c2chrom(self): + """ + Delins with multi-base insertion c. to chrom. + """ + converter = self._converter('hg19') + genomic = converter.c2chrom('NM_003002.2:c.274delinsTAAA') + assert_equal(genomic, 'NC_000011.9:g.111959695delinsTAAA') + coding = converter.chrom2c(genomic, 'list') + assert 'NM_003002.2:c.274delinsTAAA' in coding + + def test_delins_large_ins_explicit_c2chrom(self): + """ + Delins with multi-base insertion and explicit deleted sequence c. to chrom. + """ + converter = self._converter('hg19') + genomic = converter.c2chrom('NM_003002.2:c.274delGinsTAAA') + assert_equal(genomic, 'NC_000011.9:g.111959695delinsTAAA') + coding = converter.chrom2c(genomic, 'list') + assert 'NM_003002.2:c.274delinsTAAA' in coding + + def test_delins_large_ins_chrom2c(self): + """ + Delins with multi-base insertion chrom to c. + """ + converter = self._converter('hg19') + coding = converter.chrom2c('NC_000011.9:g.111959695delinsTAAA', 'list') + assert 'NM_003002.2:c.274delinsTAAA' in coding + + def test_delins_large_ins_explicit_chrom2c(self): + """ + Delins with multi-base insertion and explicit deleted sequence chrom to c. + """ + converter = self._converter('hg19') + coding = converter.chrom2c('NC_000011.9:g.111959695delGinsTAAA', 'list') + assert 'NM_003002.2:c.274delinsTAAA' in coding -- GitLab