【1.2.3】单核苷酸多态性ID(HGVS Names和refSNP ID)
在NCBI(美国国立生物技术信息中心)网站上经常会看到“HGVS Names”和“refSNP ID”的字样,这两个都是用于命名SNP(single nucleotide polymorphism,单核苷酸多态性)的方法。
一、HGVS (人类基因组变异协会)
HGVS是Human Genome Variation Society(人类基因组变异协会)的简称,是一个非政府的民间学术组织,其官方网站的网址:http://www.hgvs.org/
写法规则参考(各种详尽的命名法则):http://varnomen.hgvs.org/recommendations/general/
对于所有的变异位点,划分成了3个层次
- DNA level
- RNA level
- Proteion level
一个好的命名,至少要体现2个因素:变异位点的位置和造成的影响,HGVS通个以下3个方面来定义一个变异位点
- reference sequence
- position
- variant type
1.1 参考序列
所有的突变位点必须基于一个参考序列进行定位,不同类型的参考序列前缀不同,g代表基因组参考序列;c代表编码蛋白的DNA序列;m代表线粒体参考序列;n代表非编码DNA序列;r代表RNA序列;p代表蛋白质序列。
所有的参考序列必须是NCBI或者EBI数据库中的ID,必须同时包含accession和version, 比如NC_000023.10, NC_000023代表编号,10代表版本号。各种类型的参考序列示例如下
NC_000023.10
NG_012232.1
NM_004006.2
NR_002196.1
NP_003997.1
一个典型的HGVS命名示例如下:
NC_000023.9:g.32317682G>A
NC_000023.9是NCBI中人类的X染色体的编号,在参考序列之后紧跟着一个冒号,用于分隔参考序列和突变信息,g代表基因组序列,g.32317682代表在基因组上的位置, G>A表示由G碱基突变成A碱基。如果突变位点在NCBI和EBI中没有合适的参考序列,最终的解决方案就是申请一个LRG编号,网址如下
http://www.lrg-sequence.org/
在该数据库中对于HGNC定义的gene symbol也出给了对应的LRG编号
1.2 定位
对于突变位点而言,位置信息是基本信息之一。对于不同的参考序列,定位的策略也稍有差异。
-
g代表基因组,m代表线粒体, p代表蛋白质,这三种参考序列在定位时,都是从1开始计数,写法为g.1, m.1, p.1, 除此之外,不需要任何的修饰符号。
-
c代表编码蛋白的DNA序列,从起始密码子的第一个碱基开始计数,写法为c.1, 只对exon区间进行计数,终点为终止密码子的最后一个碱基。
-
对于起始密码子上游的碱基,采用负号表示,比如c.-1;对于终止密码子下游的碱基, 采用*表示,比如c.*1;
-
在内含子区的变异位点要根据距离来决定,靠近内含子5’末端的变异位点,要根据上游最近的外显子的最后一个碱基来定位,示例c.87+4.上游最近的外显子的边界位置为87,变异位点在内含子5’端开始的第4个碱基;
-
靠近内含子3’末端的变异位点,要根据下游最近的外显子的第一个碱基来定位,示例c.109-4.下游最近的外显子的边界位置为109,变异位点在内含子3’端开始的第4个碱基;
-
位于5’UTR和3’UTR区的变异位点,也当做内含子区来处理,5’UTR区添加c.-前缀;比如c.-85+1;3’UTR区添加c.*前缀,比如c.*37+1。
1.3 变异类型
不同突变类型表示方式不同
Substitution 点突变
prefix:position_substituted"reference_nucleotide">"new_nucleotide"
prefix代表参考序列,position_substituted代表突变位点在参考序列上的位置,reference_nucleotide代表参考序列上的碱基;>大于号表明变异类型为点突变, new_nucleotide代表突变之后的碱基,示例如下
NC_000023.10:g.33038255C>A
Deletion 缺失
prefix"position(s)_deleted"del
prefix代表参考序列,positions_deleted代表缺失碱基在参考序列上的位置,del表明变异类型为缺失,示例如下
NG_012232.1:g.19_21del
当缺失碱基数大于1个时,需要指定起始位置和终止位置,二者之间用下划线连接。还可以在后面跟上缺失的碱基序列,比如
NG_012232.1:g.19_21delTGC
Insertion 插入
prefix"positions_flanking"ins"inserted_sequence"
prefix代表参考序列,position_flanking代表插入序列起点在参考序列上的位置;ins表明变异类型为插入, inserted_sequence代表插入的碱基序列,示例如下
NC_000023.10:g.32862923_32862924insCCT
插入的序列一定是位于参考序列上两个碱基之间,在描述插入序列的位置时,即使插入的碱基只有个,也需要两个位置,比如上述示例中的位置为32862923_32862924。
Deletion-insertion
indel, 同时发生了插入和缺失,格式如下
prefix"position(s)_deleted"delins"inserted_sequence"
prefix代表参考序列,position(s_deleted代表缺失序列在参考序列上的位置;delins表明变异类型为插入缺失, inserted_sequence代表插入的碱基序列,示例如下
NC_000023.10:g.6775_6777delinsC
上述示例代表NC_000023.10染色体上的6775到6777共3个碱基突变成了C碱基,可以理解为这3个碱基先缺失,然后插入1个C碱基。
Duplication
重复序列,基因组上的部分碱基重复出现,和插入的效果类似,格式如下
prefix"position(s)_duplicated"dup
prefix代表参考序列,position(s)_duplicated代表重复序列在参考序列上的位置;dup表明变异类型为重复序列,示例如下
NM_004006.2:c.20_23dup
如果只有一个碱基重复时,可以只写1个位置,比如NM_004006.2:c.20dup; 虽然重复序列和插入有点类似,但是不可以改写成插入的格式,一定要写成重复序列的格式
Inversion
倒位,突变成了反向互补的碱基,格式如下
prefix"positions_inverted"inv
prefix代表参考序列,positions_inverted代表倒位序列在参考序列上的位置;inv表明变异类型为倒位,示例如下
NC_000023.10:g.1077_1080inv
Conversion
易位,染色体上部分区域替换为另一条染色体的碱基,格式如下
prefix"positions_converted"con"positions_replacing_sequence"
prefix代表参考序列,positions_converted代表易位序列在参考序列上的位置;con表明变异类型为易位,positions_replacing_sequence代表替换碱基在参考序列上的位置,示例如下
NC_000012.11:g.6128892_6128954conNC_000022.10:17179029_17179091
上述示例表示NC_000012.11染色体上的6128892到6128954区间的碱基替换为NC_000022.10染色体上17179029到17179091区间的碱基。对于同一条染色体上的易位,positions_replacing_sequence中可以不写参考序列的名字。示例如下
NC_000022.10:g.42522624_42522669con42536337_42536382
1.4 其他
HGVS命名SNP法的规则是标出引用的核酸序列号(Reference Sequence,RefSeq)和SNP在该核酸序列中的位置
例如:
NG_000004.3:g.247167G>A
其中红色的部分是核酸序列接受号,绿色的部分是该单核苷酸多态性位点在该核酸序列中的位置,G>A表示原始碱基是G,突变碱基是A。这样的命名方法有利于找出所在基因序列中的位置,当向引物公司提交设计和购买申请时都会用到。(HGVS表示的都是正链的,all variants should be described in relation to an accepted reference sequence ( see Reference Sequences) )
NG_000004.3:g.247167G>A
NC_000017.10:g.1111111_1111114delATCG
NC_000017.10:g.41245670_41245671ins4
在文献中出现的等位基因常见的标注方式,CYP3A53(6986A>G或A6986G),其实这就是一种非常不正规的用HGVS Names标注SNP位置的方法,很明显,由于缺少引用核酸序列的接受号,因此读者无法从这样的表示在GenBank中查到对应的信息。这是个历史遗留问题,责任也不能全怪原文的作者标注不明,甚至有些时候,由于最初发现并报道该基因位点的文章由于没有被NCBI收录,导致有许多用此法标注的的SNP位点,其引用的RefSeq号竟然丢失了!HGVS正是做着弥补此事的工作,但是由于数据量太大,HGVS目前所完成的只是其中的一部分。所幸NCBI也看到了此事的重大意义,正在接手此事,现在在GenBank的SNP数据库的查询返回结果页的右上角已经可以看到其整理的HGVS Names了,例如:查询CYP3A53的结果。在该结果我们看到并没有标出6986A>G的HGVS命名,说明该数据库尚须完善。
二、refSNP ID
GenBank官方的refSNP ID单核苷酸多态性命名法是相对比较完善的命名体系,命名方法是rs+7位阿拉伯数字,例如:CYP3A53的refSNP ID是rs776746,如果已知一个SNP的refSNP ID,那么就可以在GenBank的SNP数据库中搜索到相关的信息和在基因组中的位置了。这里是GenBank的SNP数据库查询地址,例如,要查找CYP3A53在GenBank中的信息,只要在 https://www.ncbi.nlm.nih.gov/snp/ 搜索框中输入“ rs776746 ”进行查找即可。
在该返回结果中可以看到给出了CYP3A5*3位点两侧少量的碱基序列,其下方给出了HGVS Names的链接,我们点击该链接,然后在接下来的网页点击“FASTA”链接即可获得该SNP所在的核苷酸碱基序列了,但是有些时候HGVS Names引用的核酸碱基序列较长,本示例中引用的核酸碱基序列就有几千万碱基之多,光下载都需要很长的时间,更别说在浏览器中打开了。此时可以点击上图中的红色“rs776746”链接,看看是否有其他引用核苷酸碱基序列较短的HGVS Names,在打开的页面的右上角可以看到有四个HGVS Names,如下:
NG_000004.3:g.247167G>A
NG_007938.1:g.12083G>A
NM_000777.2:c.219-237G>A
NT_007933.14:g.24504815C>T
其中,前两个很短,估计引用的核酸序列也较短,可以用来查看对应的核苷酸碱基序列,第三个样子有些怪,其实就是不规则命名遗留下来的,除了便于查询外,已经没有什么实际意义了。
以第一个HGVS Names为例,首先打开GenBank的Nucleotide查询数据库 https://www.ncbi.nlm.nih.gov/nuccore ,在搜索框中输入核苷酸碱基序列“ NG_000004.3 ”,点击“go”键执行搜索,在返回的结果页点击“FASTA”链接,即可获得该SNP所在的核苷酸碱基序列了。在打开该序列的所在页面中,利用前面在SNP数据库中查到的该SNP的序列片段,依次点击IE浏览器菜单栏上的:编辑 - 在该页上查找 - 输入一段碱基序列,即可找到该SNP在此核苷酸碱基序列中的具体位置了,还可以通过点击该页面上的 “More Formats”链接 - “GenBank(full)“链接,通过网页中给出的碱基序列的位置编号来找到该SNP 所在的位置。
三、其他
可能有很多人会存在这样的疑问,例如,在文献中看到类似CYP3A5*3(6986A>G)这样的等位基因名称,但此时还不知道它的refSNP ID,该如何找到该SNP在GenBank中所在的位置呢?遇到这种情况也只有在Google上碰碰运气了,因为有的文献作者会对这种残缺的HGVS Names的SNP在文章中同时标出其refSNP ID,查询的方法是在Google中输入“该SNP的HGVS Names + refSNP ID”进行查找即可,例如:
g"++++"refSNP+ID"&btnG=Google+搜索&meta=&aq=f&oq=" target="_blank" style="color: rgb(0, 6, 220);">
搜索CYP3A5*3(6986A>G),如果没有找到满意的检索结果,也可以直接在上文提到的GenBank的SNP数据库的搜索框中直接输入该SNP所在的基因名称+Homo sapiens(人类),例如输入
“ CYP3A5 Homo sapiens "[这里需要说明的是目前只有人类的等位基因才会给出HGVS Names],
执行搜索后会返回很多该基因的SNP,每个SNP除标有refSNP ID之外,还常标出数个HGVS Names,这时就可以直接利用浏览器的网页查找功能搜索如“599A>G”,来找到对应的refSNP ID了。这里推荐的一个小窍门是,假如返回的SNP数量较多的话,可以将每页显示结果的数量设置的多一些(选择show后面的数值),会减少很多反复翻页的麻烦。
用于检查名字的工具:
参考资料
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn