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
def test_sub_3(self): self.check = c.NO_MATCH self.query='c.222T>C' self.ref='c.222T=' hgvs1=cHGVS(self.query) hgvs2=cHGVS(self.ref) message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) self.assertEqual(cHGVS.check_c_hgvs(hgvs1, hgvs2 ), self.check)
def test_delins_1(self): self.check = c.EQUIVALENT self.query='c.222_223delTTinsGA' self.ref='c.222_223delinsGA' hgvs1=cHGVS(self.query) hgvs2=cHGVS(self.ref) message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) self.assertEqual(cHGVS.check_c_hgvs(hgvs1, hgvs2 ), self.check)
def test_delins_9(self): ref='c.1077_1090>GCTTTGA' query='c.1077_1093delinsGCTTTGA' check='no' message='%s, %s, %s, %s.' % (self._testMethodName, ref, query, check) var1=cHGVS(query) var2=cHGVS(ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), check)
def test_delins_9(self): ref = 'c.1077_1090>GCTTTGA' query = 'c.1077_1093delinsGCTTTGA' check = 'no' message = '%s, %s, %s, %s.' % (self._testMethodName, ref, query, check) var1 = cHGVS(query) var2 = cHGVS(ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), check)
def test_delins_1(self): self.check = c.EQUIVALENT self.query = 'c.222_223delTTinsGA' self.ref = 'c.222_223delinsGA' hgvs1 = cHGVS(self.query) hgvs2 = cHGVS(self.ref) message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) self.assertEqual(cHGVS.check_c_hgvs(hgvs1, hgvs2), self.check)
def test_sub_3(self): self.check = c.NO_MATCH self.query = 'c.222T>C' self.ref = 'c.222T=' hgvs1 = cHGVS(self.query) hgvs2 = cHGVS(self.ref) message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) self.assertEqual(cHGVS.check_c_hgvs(hgvs1, hgvs2), self.check)
def test_c_del_dup_4(self): self.check = c.NO_MATCH self.query='c.919_922delins' self.ref='c.919_922delinsAG' hgvs1=cHGVS(self.query) hgvs2=cHGVS(self.ref) message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) self.assertEqual(cHGVS.check_c_del_dup(hgvs1, hgvs2 ), self.check)
def test_del_4(self): self.query='c.843_846+4delCGAGGTGA' self.ref ='c.843_846+4del8' self.check = c.EQUIVALENT message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_dup_1(self): self.query='c.424-16_424-14dupTTC' self.ref='c.424-19_424-14dupTTCTTC' self.check = c.NO_MATCH message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_dup_4(self): self.query='c.30_38dup' self.ref='c.30_38dupGCTGCTGCT' self.check = c.EQUIVALENT message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_check_c_del_dup_3(self): self.check = c.EQUIVALENT self.query='c.222_223dup' self.ref='c.222_223dupTT' hgvs1=cHGVS(self.query) hgvs2=cHGVS(self.ref) message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) self.assertEqual(cHGVS.check_c_del_dup(hgvs1, hgvs2 ), self.check)
def test_del_1(self): self.query ='c.919_922del' self.ref='c.919_922delAG' self.check = c.EQUIVALENT message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_ins_2(self): self.query='c.764_765insAACCTGACAGTTGCAGTTTTCACCCATGGAAAGT' self.ref='c.764_765insAACCTGACAGTTGCAGTTTTCACCCATGGAAAGT' self.check = c.EXACT message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_check_delins_3(self): self.query='c.919_922delins' self.ref ='c.919_922delinsAG' self.check = c.NO_MATCH message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_ins_3(self): self.query='c.764_765ins33' self.ref='c.764_765ins33' self.check = c.EXACT message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_del_6(self): self.query='c.209_210delCA' self.ref ='c.209_210delCG' self.check = c.NO_MATCH message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) var1=cHGVS(self.query) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_ins_2(self): self.query = 'c.764_765insAACCTGACAGTTGCAGTTTTCACCCATGGAAAGT' self.ref = 'c.764_765insAACCTGACAGTTGCAGTTTTCACCCATGGAAAGT' self.check = c.EXACT message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_dup_4(self): self.query = 'c.30_38dup' self.ref = 'c.30_38dupGCTGCTGCT' self.check = c.EQUIVALENT message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_dup_1(self): self.query = 'c.424-16_424-14dupTTC' self.ref = 'c.424-19_424-14dupTTCTTC' self.check = c.NO_MATCH message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_del_6(self): self.query = 'c.209_210delCA' self.ref = 'c.209_210delCG' self.check = c.NO_MATCH message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) var1 = cHGVS(self.query) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_del_4(self): self.query = 'c.843_846+4delCGAGGTGA' self.ref = 'c.843_846+4del8' self.check = c.EQUIVALENT message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_ins_3(self): self.query = 'c.764_765ins33' self.ref = 'c.764_765ins33' self.check = c.EXACT message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_check_c_del_dup_3(self): self.check = c.EQUIVALENT self.query = 'c.222_223dup' self.ref = 'c.222_223dupTT' hgvs1 = cHGVS(self.query) hgvs2 = cHGVS(self.ref) message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) self.assertEqual(cHGVS.check_c_del_dup(hgvs1, hgvs2), self.check)
def test_del_1(self): self.query = 'c.919_922del' self.ref = 'c.919_922delAG' self.check = c.EQUIVALENT message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_check_delins_3(self): self.query = 'c.919_922delins' self.ref = 'c.919_922delinsAG' self.check = c.NO_MATCH message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_c_del_dup_4(self): self.check = c.NO_MATCH self.query = 'c.919_922delins' self.ref = 'c.919_922delinsAG' hgvs1 = cHGVS(self.query) hgvs2 = cHGVS(self.ref) message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) self.assertEqual(cHGVS.check_c_del_dup(hgvs1, hgvs2), self.check)
def test_class_instance_function(self): hgvs1=cHGVS(self.query) hgvs2=cHGVS(self.query) self.assertEqual(hgvs1.name, hgvs2.name) self.assertEqual(hgvs1.transcript, hgvs2.transcript) self.assertEqual(hgvs1.bases, hgvs2.bases) self.assertEqual(hgvs1.alias, hgvs2.alias) #self.assertEqual(hgvs1.intronic, hgvs2.intronic) self.assertEqual(hgvs1.intronic, hgvs2.intronic)
def test_class_instance_function_with_transcipt(self): query = 'NM(GENE):c.22delC' hgvs1 = cHGVS(query) hgvs2 = cHGVS(query) self.assertEqual(hgvs1.name, hgvs2.name) self.assertEqual(hgvs1.transcript, hgvs2.transcript) self.assertEqual(hgvs1.bases, hgvs2.bases) self.assertEqual(hgvs1.alias, hgvs2.alias) self.assertEqual(hgvs1.intronic, hgvs2.intronic)
def test_class_instance_function(self): hgvs1 = cHGVS(self.query) hgvs2 = cHGVS(self.query) self.assertEqual(hgvs1.name, hgvs2.name) self.assertEqual(hgvs1.transcript, hgvs2.transcript) self.assertEqual(hgvs1.bases, hgvs2.bases) self.assertEqual(hgvs1.alias, hgvs2.alias) #self.assertEqual(hgvs1.intronic, hgvs2.intronic) self.assertEqual(hgvs1.intronic, hgvs2.intronic)
def test_check_dup_2(self): """ For when the hgvs positions are not even close """ self.query='c.424-14_424-13insTTC' self.ref ='c.424-16_424-14dupTTC' self.check = c.NO_MATCH message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_class_instance_function_with_transcipt(self): query ='NM(GENE):c.22delC' hgvs1=cHGVS(query) hgvs2=cHGVS(query) self.assertEqual(hgvs1.name, hgvs2.name) self.assertEqual(hgvs1.transcript, hgvs2.transcript) self.assertEqual(hgvs1.bases, hgvs2.bases) self.assertEqual(hgvs1.alias, hgvs2.alias) self.assertEqual(hgvs1.intronic, hgvs2.intronic)
def test_check_dup_2(self): """ For when the hgvs positions are not even close """ self.query = 'c.424-14_424-13insTTC' self.ref = 'c.424-16_424-14dupTTC' self.check = c.NO_MATCH message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_check_delins_4(self): """ Test position of coding hgvs when the actual sequence output does not match. """ self.query ='c.919_922delinsAC' self.ref='c.919_922delinsAG' self.check = c.NO_MATCH message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_dup_3(self): """ check dup equivalencies """ self.query='c.1011dup' self.ref='c.1011dupA' self.check = c.EQUIVALENT message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_del_3(self): """ For preferred and non preferred deletion hgvs equivalencies """ self.query='c.843_846+4delCGAGGTGA' self.ref ='c.843_846+4del8' self.check = c.EQUIVALENT message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_dup_3(self): """ check dup equivalencies """ self.query = 'c.1011dup' self.ref = 'c.1011dupA' self.check = c.EQUIVALENT message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_delins_5(self): """ Test equivalency of separated del and ins syntax vs delins syntax. Preferred hgvs here is describing ins bases only. """ self.query ='c.711_729delTGAGAGCCGGCTGGCGGATinsCC' self.ref='c.711_729delinsCC' self.check = c.EQUIVALENT message='%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1=cHGVS(self.query) var2=cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_del_3(self): """ For preferred and non preferred deletion hgvs equivalencies """ self.query = 'c.843_846+4delCGAGGTGA' self.ref = 'c.843_846+4del8' self.check = c.EQUIVALENT message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_check_delins_4(self): """ Test position of coding hgvs when the actual sequence output does not match. """ self.query = 'c.919_922delinsAC' self.ref = 'c.919_922delinsAG' self.check = c.NO_MATCH message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
def test_delins_5(self): """ Test equivalency of separated del and ins syntax vs delins syntax. Preferred hgvs here is describing ins bases only. """ self.query = 'c.711_729delTGAGAGCCGGCTGGCGGATinsCC' self.ref = 'c.711_729delinsCC' self.check = c.EQUIVALENT message = '%s, %s, %s, %s.' % (self._testMethodName, self.query, self.ref, self.check) var1 = cHGVS(self.query) var2 = cHGVS(self.ref) self.assertEqual(cHGVS.check_c_hgvs(var1, var2), self.check)
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 = ''
def test_cHGVS_parse_hgvs_string(self): hgvs_str='NM_017547.3(FOXRED1):c.694C>T' var=cHGVS(hgvs_str) transcript='NM_017547.3' chgvs='c.694C>T' print 'Check %s..' % (self._testMethodName) self.assertEqual((chgvs, transcript), (var.name, var.transcript))
def test_cHGVS_parse_hgvs_string(self): hgvs_str = 'NM_017547.3(FOXRED1):c.694C>T' var = cHGVS(hgvs_str) transcript = 'NM_017547.3' chgvs = 'c.694C>T' print 'Check %s..' % (self._testMethodName) self.assertEqual((chgvs, transcript), (var.name, var.transcript))
def test_get_cHGVS_type_6(self): self.query='NM_000240.3:c.-1241_-1212ACCGGCACCGGCACCAGTACCCGCACCAGT(3_5)' self.check='del' hgvs=cHGVS(self.query) message='%s, %s, %s' % (self._testMethodName, self.query, self.check) self.assertEqual(hgvs.type, (self.check), msg=message)
def test_get_cHGVS_type_5(self): self.query='NM_000602.4:c.-820_-817G(4_5)' self.check='del' hgvs=cHGVS(self.query) message='%s, %s, %s' % (self._testMethodName, self.query, self.check) self.assertEqual(hgvs.type, (self.check), msg=message)
def test_get_cHGVS_type_4(self): self.query='c.23insCC' self.check='ins' hgvs=cHGVS(self.query) message='%s, %s, %s' % (self._testMethodName, self.query, self.check) self.assertEqual(hgvs.type, (self.check), msg=message)
def test_get_cHGVS_type_2(self): self.check='delins' #### self.check='delins' self.query='c.22_23delTTinsCC' hgvs=cHGVS(self.query) message='%s, %s, %s' % (self._testMethodName, self.query, self.check) self.assertEqual(hgvs.type, (self.check), msg=message)
def test_get_cHGVS_type_1(self): hgvs=cHGVS(self.query) message='%s, %s, %s' % (self._testMethodName, self.query, self.check) self.assertEqual(hgvs.type, (self.check), msg=message)
def test_get_cHGVS_type_1(self): hgvs = cHGVS(self.query) message = '%s, %s, %s' % (self._testMethodName, self.query, self.check) self.assertEqual(hgvs.type, (self.check), msg=message)
def test_get_cHGVS_type_6(self): self.query = 'NM_000240.3:c.-1241_-1212ACCGGCACCGGCACCAGTACCCGCACCAGT(3_5)' self.check = 'del' hgvs = cHGVS(self.query) message = '%s, %s, %s' % (self._testMethodName, self.query, self.check) self.assertEqual(hgvs.type, (self.check), msg=message)
def test_get_cHGVS_type_2(self): self.check = 'delins' #### self.check='delins' self.query = 'c.22_23delTTinsCC' hgvs = cHGVS(self.query) message = '%s, %s, %s' % (self._testMethodName, self.query, self.check) self.assertEqual(hgvs.type, (self.check), msg=message)
def test_get_cHGVS_type_4(self): self.query = 'c.23insCC' self.check = 'ins' hgvs = cHGVS(self.query) message = '%s, %s, %s' % (self._testMethodName, self.query, self.check) self.assertEqual(hgvs.type, (self.check), msg=message)
def test_get_cHGVS_type_5(self): self.query = 'NM_000602.4:c.-820_-817G(4_5)' self.check = 'del' hgvs = cHGVS(self.query) message = '%s, %s, %s' % (self._testMethodName, self.query, self.check) self.assertEqual(hgvs.type, (self.check), msg=message)