Example #1
0
def compare_hgvs(str1, str2):
	'''
	Checks whether is coding or protein hgvs from string, calls check_p_hgvs or check_c_hgvs functions
	:param str1: hgvs string
	:param str2: hgvs string
	:return: exact (yes), yes modified or equivalent (yes_m), no match (no)
	'''

	if is_null(str1) and is_null(str2):
		return c.EXACT

	if pHGVS.is_protein(str1) or pHGVS.is_protein(str2):

		hgvs1 = pHGVS(str1)
		hgvs2 = pHGVS(str2)

		return pHGVS.check_p_hgvs(hgvs1, hgvs2)

	elif cHGVS.is_coding(str1) or cHGVS.is_coding(str2):

		hgvs1 = cHGVS(str1)
		hgvs2 = cHGVS(str2)
		return cHGVS.check_c_hgvs(hgvs1, hgvs2)

	elif str1.startswith('g.') and str2.startswith('g.'):

		logging.error('Cannot compare g. hgvs %s, %s' % (str1, str2))
	else:
		logging.error('Unknown input reference:%s,%s' % (str1, str2) )
		return c.UNKNOWN
Example #2
0
	def test_nonsense_1(self):
		self.query ="p.Tyr567Ter"
		self.ref="p.Tyr567*"
		self.check="yes_m"

		hgvs1 = pHGVS(self.query)
		hgvs2 = pHGVS(self.ref)
		message = "%s, %s, %s, %s." % (self._testMethodName, self.query, self.ref, self.check)
		self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2 ), self.check)
Example #3
0
	def test_synonymous_9(self):
		self.query ="p.Ter257="
		self.ref="p.(=)"
		self.check="yes_m"

		hgvs1 = pHGVS(self.query)
		hgvs2 = pHGVS(self.ref)
		message = "%s, %s, %s, %s." % (self._testMethodName, self.query, self.ref, self.check)
		self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2 ), self.check)
Example #4
0
	def test_dup_p2(self):
		self.query ="p.Gly54_Arg55dupArgArg"
		self.ref="p.Gly54_Arg55dup"
		self.check="p.Gly54_Arg55dup"
		self.hgvs = pHGVS(self.query)
		self.ref = pHGVS(self.ref)

		message = "%s, %s, %s, %s." % (self._testMethodName, self.query, self.ref, self.check)
		self.assertEqual(pHGVS.check_p_hgvs(self.ref, self.hgvs.alias), 'yes_m')
Example #5
0
	def test_dup_1(self):
		self.query ="p.Pro559dup"
		self.ref="p.Pro559dup"
		self.check="yes"

		hgvs1 = pHGVS(self.query)
		hgvs2 = pHGVS(self.ref)
		message = "%s, %s, %s, %s." % (self._testMethodName, self.query, self.ref, self.check)
		self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2 ), self.check)
Example #6
0
	def test_frameshift_4(self):
		self.query ="p.Arg1921fs"
		self.ref="-"
		self.check="no"

		hgvs1 = pHGVS(self.query)
		hgvs2 = pHGVS(self.ref)
		message = "%s, %s, %s, %s." % (self._testMethodName, self.query, self.ref, self.check)
		self.assertEqual(pHGVS.check_p_hgvs(self.query, self.ref ), self.check)
Example #7
0
	def test_frameshift_2(self):
		self.query ="p.Glu78Gly"
		self.ref="p.Glu78Glyfs*7"
		self.check="no"

		hgvs1 = pHGVS(self.query)
		hgvs2 = pHGVS(self.ref)
		message = "%s, %s, %s, %s." % (self._testMethodName, self.query, self.ref, self.check)
		self.assertEqual(pHGVS.check_p_hgvs(self.query, self.ref ), self.check)
Example #8
0
	def test_frameshift_5(self):
		self.query ="p.Thr655Asnfs"
		self.ref="p.Thr655Asnfs*49"
		self.check="yes_m"

		hgvs1 = pHGVS(self.query)
		hgvs2 = pHGVS(self.ref)
		message = "%s, %s, %s, %s." % (self._testMethodName, self.query, self.ref, self.check)
		self.assertEqual(pHGVS.check_p_hgvs(self.query, self.ref ), self.check)
Example #9
0
	def test_nonsense_2(self):
		self.query ="p.Gln136Profs*13"
		self.ref="p.Gln136Ter13"
		self.check="no"

		hgvs1 = pHGVS(self.query)
		hgvs2 = pHGVS(self.ref)
		message = "%s, %s, %s, %s." % (self._testMethodName, self.query, self.ref, self.check)
		self.assertEqual(pHGVS.check_p_hgvs(self.query, self.ref ), self.check)
Example #10
0
    def test_frameshift_4(self):
        self.query = "p.Arg1921fs"
        self.ref = "-"
        self.check = "no"

        hgvs1 = pHGVS(self.query)
        hgvs2 = pHGVS(self.ref)
        message = "%s, %s, %s, %s." % (self._testMethodName, self.query,
                                       self.ref, self.check)
        self.assertEqual(pHGVS.check_p_hgvs(self.query, self.ref), self.check)
Example #11
0
    def test_frameshift_2(self):
        self.query = "p.Glu78Gly"
        self.ref = "p.Glu78Glyfs*7"
        self.check = "no"

        hgvs1 = pHGVS(self.query)
        hgvs2 = pHGVS(self.ref)
        message = "%s, %s, %s, %s." % (self._testMethodName, self.query,
                                       self.ref, self.check)
        self.assertEqual(pHGVS.check_p_hgvs(self.query, self.ref), self.check)
Example #12
0
    def test_dup_1(self):
        self.query = "p.Pro559dup"
        self.ref = "p.Pro559dup"
        self.check = "yes"

        hgvs1 = pHGVS(self.query)
        hgvs2 = pHGVS(self.ref)
        message = "%s, %s, %s, %s." % (self._testMethodName, self.query,
                                       self.ref, self.check)
        self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2), self.check)
Example #13
0
    def test_synonymous_9(self):
        self.query = "p.Ter257="
        self.ref = "p.(=)"
        self.check = "yes_m"

        hgvs1 = pHGVS(self.query)
        hgvs2 = pHGVS(self.ref)
        message = "%s, %s, %s, %s." % (self._testMethodName, self.query,
                                       self.ref, self.check)
        self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2), self.check)
Example #14
0
    def test_frameshift_5(self):
        self.query = "p.Thr655Asnfs"
        self.ref = "p.Thr655Asnfs*49"
        self.check = "yes_m"

        hgvs1 = pHGVS(self.query)
        hgvs2 = pHGVS(self.ref)
        message = "%s, %s, %s, %s." % (self._testMethodName, self.query,
                                       self.ref, self.check)
        self.assertEqual(pHGVS.check_p_hgvs(self.query, self.ref), self.check)
Example #15
0
    def test_nonsense_1(self):
        self.query = "p.Tyr567Ter"
        self.ref = "p.Tyr567*"
        self.check = "yes_m"

        hgvs1 = pHGVS(self.query)
        hgvs2 = pHGVS(self.ref)
        message = "%s, %s, %s, %s." % (self._testMethodName, self.query,
                                       self.ref, self.check)
        self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2), self.check)
Example #16
0
	def test_synonymous_8(self):
		self.query ="p.Pro559Glu"
		self.ref="p.(=)"
		self.check="no"


		hgvs1 = pHGVS(self.query)
		hgvs2 = pHGVS(self.ref)
		message = "%s, %s, %s, %s." % (self._testMethodName, self.query, self.ref, self.check)
		self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2 ), self.check)
Example #17
0
    def test_nonsense_2(self):
        self.query = "p.Gln136Profs*13"
        self.ref = "p.Gln136Ter13"
        self.check = "no"

        hgvs1 = pHGVS(self.query)
        hgvs2 = pHGVS(self.ref)
        message = "%s, %s, %s, %s." % (self._testMethodName, self.query,
                                       self.ref, self.check)
        self.assertEqual(pHGVS.check_p_hgvs(self.query, self.ref), self.check)
Example #18
0
    def test_synonymous_8(self):
        self.query = "p.Pro559Glu"
        self.ref = "p.(=)"
        self.check = "no"

        hgvs1 = pHGVS(self.query)
        hgvs2 = pHGVS(self.ref)
        message = "%s, %s, %s, %s." % (self._testMethodName, self.query,
                                       self.ref, self.check)
        self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2), self.check)
Example #19
0
	def test_ins_2(self):
		self.query ="p.Lys2_Met3insGlnSerLysArg"
		self.ref="p.Lys2_Met3ins4"
		self.check="yes_m"

		hgvs1 = pHGVS(self.query)
		hgvs2 = pHGVS(self.ref)
		message = "%s, %s, %s, %s." % (self._testMethodName, self.query, self.ref, self.check)
		#self.assertEqual(pHGVS.check_insertion(hgvs1, hgvs2 ), self.check)
		self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2 ), self.check)
Example #20
0
	def test_frameshift_1(self):
		self.query = "p.Glu78fs"
		self.ref= "p.Glu78Glyfs*7"
		self.refcheck = "p.Glu78fs*"
		self.new_ref = "p.Glu78Glyfs"
		self.check="yes_m"

		hgvs1 = pHGVS(self.query)
		hgvs2 = pHGVS(self.ref)
		message = "%s, %s, %s, %s." % (self._testMethodName, self.query, self.ref, self.check)
		self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2), self.check)
Example #21
0
    def test_dup_p2(self):
        self.query = "p.Gly54_Arg55dupArgArg"
        self.ref = "p.Gly54_Arg55dup"
        self.check = "p.Gly54_Arg55dup"
        self.hgvs = pHGVS(self.query)
        self.ref = pHGVS(self.ref)

        message = "%s, %s, %s, %s." % (self._testMethodName, self.query,
                                       self.ref, self.check)
        self.assertEqual(pHGVS.check_p_hgvs(self.ref, self.hgvs.alias),
                         'yes_m')
Example #22
0
    def test_ins_2(self):
        self.query = "p.Lys2_Met3insGlnSerLysArg"
        self.ref = "p.Lys2_Met3ins4"
        self.check = "yes_m"

        hgvs1 = pHGVS(self.query)
        hgvs2 = pHGVS(self.ref)
        message = "%s, %s, %s, %s." % (self._testMethodName, self.query,
                                       self.ref, self.check)
        #self.assertEqual(pHGVS.check_insertion(hgvs1, hgvs2 ), self.check)
        self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2), self.check)
Example #23
0
    def test_frameshift_1(self):
        self.query = "p.Glu78fs"
        self.ref = "p.Glu78Glyfs*7"
        self.refcheck = "p.Glu78fs*"
        self.new_ref = "p.Glu78Glyfs"
        self.check = "yes_m"

        hgvs1 = pHGVS(self.query)
        hgvs2 = pHGVS(self.ref)
        message = "%s, %s, %s, %s." % (self._testMethodName, self.query,
                                       self.ref, self.check)
        self.assertEqual(pHGVS.check_p_hgvs(hgvs1, hgvs2), self.check)
Example #24
0
	def setUp(self):
		self.longMessage=True
		
		self.query = 'p.Met24Pro'
		self.hgvs = pHGVS(self.query)
		self.ref="p.Met1Pro"
		self.hgvs2 = pHGVS(self.ref)

		#self.check="no"
		self.check="yes"
		#self.check_hgvs = pHGVS.normalize_start_lost(self.hgvs)
		#self.check_hgvs2 = pHGVS.normalize_start_lost(self.hgvs2)
		message = "%s, %s, %s, answer: %s, %s." % (self._testMethodName, self.query, self.ref, self.check, self.hgvs.alias)
Example #25
0
    def setUp(self):
        self.longMessage = True

        self.query = 'p.Met24Pro'
        self.hgvs = pHGVS(self.query)
        self.ref = "p.Met1Pro"
        self.hgvs2 = pHGVS(self.ref)

        #self.check="no"
        self.check = "yes"
        #self.check_hgvs = pHGVS.normalize_start_lost(self.hgvs)
        #self.check_hgvs2 = pHGVS.normalize_start_lost(self.hgvs2)
        message = "%s, %s, %s, answer: %s, %s." % (self._testMethodName,
                                                   self.query, self.ref,
                                                   self.check, self.hgvs.alias)
Example #26
0
	def test_pHGVS_parse_phgvs_string(self):
		hgvs_str = 'NP_017547.3:(p.Arg34Arg)'
		var = pHGVS(hgvs_str)
		phgvs = 'p.Arg34Arg'
		refseq = 'NP_017547.3'
		print "Check %s.." % (self._testMethodName)
		self.assertEqual((phgvs, refseq), (var.name, var.refseq))
Example #27
0
 def test_pHGVS_parse_phgvs_string(self):
     hgvs_str = 'NP_017547.3:(p.Arg34Arg)'
     var = pHGVS(hgvs_str)
     phgvs = 'p.Arg34Arg'
     refseq = 'NP_017547.3'
     print "Check %s.." % (self._testMethodName)
     self.assertEqual((phgvs, refseq), (var.name, var.refseq))
Example #28
0
	def __init__(self, chgvs_str, phgvs_str, id, transcript='', effect='', ghgvs=''):

		# parse the chgvs string with the cHGVS object
		self.chgvs_obj  = cHGVS(chgvs_str)
		self.chgvs      = self.chgvs_obj.name
		self.type       = self.chgvs_obj.type

		self.phgvs_obj  = pHGVS(phgvs_str)
		self.phgvs      = self.phgvs_obj.name
		self.ghgvs      = ghgvs

		self.id         = id
		self.effect     = effect
		self.alt        = ''
		self.ref        = ''
		self.chr        = ''
		self.start      = ''
		self.stop       = ''
		self.location   = ''
		self.gen_alt    = ''

		self.gene       = ''

		self.transcript = transcript

		# get transcript from cHGVS object if the transcript field is null
		if not is_null(self.chgvs_obj.transcript) and is_null(transcript):
			self.transcript = self.chgvs_obj.transcript

		self.protein    = ''
		self.version    = Transcript(self.transcript).version

		self.check      = ''
		self.refalt     = ''
Example #29
0
 def test_get_type_1(self):
     self.query = "p.Glu78fs"
     self.check = "fs"
     var = pHGVS(self.query)
     message = "%s, %s, %s" % (self._testMethodName, self.query, self.check)
     self.assertEqual(var.type, self.check)
Example #30
0
	def test_get_type_1(self):
		self.query ="p.Glu78fs"
		self.check="fs"
		var = pHGVS(self.query)
		message = "%s, %s, %s" % (self._testMethodName, self.query, self.check)
		self.assertEqual(var.type, self.check)
Example #31
0
 def test_get_type_2(self):
     self.query = "p.Lys2_Met3insGlnSerLys"
     self.check = "ins"
     var = pHGVS(self.query)
     message = "%s, %s, %s" % (self._testMethodName, self.query, self.check)
     self.assertEqual(var.type, self.check)
Example #32
0
	def test_get_type_2(self):
		self.query ="p.Lys2_Met3insGlnSerLys"
		self.check="ins"
		var = pHGVS(self.query)
		message = "%s, %s, %s" % (self._testMethodName, self.query, self.check)
		self.assertEqual(var.type, self.check)