变异注释的规范性

2019-08-14 求臻医学企宣

标准的基因变异命名由人类基因组变异协会(the Human Genome Variation Society,HGVS)维护和版本化,除非另有说明,一般推荐该命名法作为确定变异命名的首要准则。


实验室应该注意他们在实验方法中所使用的版本。当描述变异时,可利用这些工具提供正确的HGVS命名(http://mutalyzer.nl)。临床报告应该包含参考序列以确保该变异在DNA水平上的明确命名,并提供编码和蛋白质命名法来协助功能注释(如“g”为基因组序列,“c”为编码DNA序列,“p”为蛋白质,“m”为线粒体)。

由于MNV(Multiple Nucleotide Variants)或MNPs (Multiple Nucleotide Polymorphisms)等复杂变异形式的存在再结合目前主流的变异注释软件VEP、Annovar、SnpEff等给出的变异注释都或多或少的存在一定的差异。因此,对于同一种变异注释HGVS中也会给出不同类型的注释结果。

那么有没有一个最具有代表性的变异注释结果呢?

答案是肯定的。

今天,小编为大家推荐的一款python分析模块:hgvs(https://github.com/biocommons/hgvs)


举例: 

NM_004448.3:c.2310_2311insGCATACGTGATG,其对应的标准的hgvs的结果是:

NM_004448.3:c.2313_2324dup


NP_004439.2:p.Tyr772_Ala775dup




NM_004448.3:c.2313_2324dup


NP_004439.2:p.Tyr772_Ala775dup


最后,呈上小编亲笔代码:

import hgvs.parser

import hgvs.dataproviders.uta

import hgvs.assemblymapper

import hgvs.normalizer

import sys

def run(hgvs_c):

    #hgvs_c = 'NM_004448.3:c.2310_2311insGCATACGTGATG'

    hp = hgvs.parser.Parser()

    hdp = hgvs.dataproviders.uta.connect()

    hn = hgvs.normalizer.Normalizer(hdp)

    var_c=hn.normalize(hp.parse_hgvs_variant(hgvs_c))

    #################################################可以从基因翻译到蛋白

    am = hgvs.assemblymapper.AssemblyMapper(hdp,assembly_name='GRCh37', alt_aln_method='splign',replace_reference=True)

    var_p = am.c_to_p(var_c)

    var_p.posedit.uncertain = False

    return (str(var_c),str(var_p))


if __name__=="__main__":

    if (len(sys.argv)!=2):

        print("e.g:python3 %s NM_004448.3:c.2310_2311insGCATACGTGATG"%(sys.argv[0]))

        print("\nEmail:fanyucai1@126.com")

    else:

        run(sys.argv[1])



参考文献:


1. Wang M, Callenberg K M, Dalgleish R, et al. hgvs: A Python package for manipulating sequence variants using HGVS nomenclature: 2018 Update[J]. Human mutation, 2018, 39(12): 1803-1813.



2. Hart R K, Rico R, Hare E, et al. A Python package for parsing, validating, mapping and formatting sequence variants using HGVS nomenclature[J]. Bioinformatics, 2014, 31(2): 268-270.