HGVS指定了一套完整的变异位点命名规则,统一的命名方便了学术沟通与交流。官网链接如下:
https://www.hgvs.org/
对于所有的变异位点,划分成了3个层次
- DNA level
- RNA level
- Proteion level
一个好的命名,至少要体现2个因素:变异位点的位置和造成的影响,HGVS通个以下3个方面来定义一个变异位点
- reference sequence
- position
- variant type
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编号
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
。
3. 变异类型
不同突变类型表示方式不同
Substitution 点突变: 格式如下
代码语言:javascript复制prefix:position_substituted"reference_nucleotide">"new_nucleotide"
prefix
代表参考序列,position_substituted
代表突变位点在参考序列上的位置,reference_nucleotide
代表参考序列上的碱基;>
大于号表明变异类型为点突变, new_nucleotide
代表突变之后的碱基,示例如下
NC_000023.10:g.33038255C>A
Deletion 缺失:格式如下
代码语言:javascript复制prefix"position(s)_deleted"del
prefix
代表参考序列,positions_deleted
代表缺失碱基在参考序列上的位置,del
表明变异类型为缺失,示例如下
NG_012232.1:g.19_21del
当缺失碱基数大于1个时,需要指定起始位置和终止位置,二者之间用下划线连接。还可以在后面跟上缺失的碱基序列,比如
NG_012232.1:g.19_21delTGC
Insertion 插入:格式如下
代码语言:javascript复制prefix"positions_flanking"ins"inserted_sequence"
prefix
代表参考序列,position_flanking
代表插入序列起点在参考序列上的位置;ins
表明变异类型为插入, inserted_sequence
代表插入的碱基序列,示例如下
NC_000023.10:g.32862923_32862924insCCT
插入的序列一定是位于参考序列上两个碱基之间,在描述插入序列的位置时,即使插入的碱基只有个,也需要两个位置,比如上述示例中的位置为32862923_32862924
。
Deletion-insertion : indel, 同时发生了插入和缺失,格式如下
代码语言:javascript复制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 : 重复序列,基因组上的部分碱基重复出现,和插入的效果类似,格式如下
代码语言:javascript复制prefix"position(s)_duplicated"dup
prefix
代表参考序列,position(s)_duplicated
代表重复序列在参考序列上的位置;dup
表明变异类型为重复序列,示例如下
NM_004006.2:c.20_23dup
如果只有一个碱基重复时,可以只写1个位置,比如NM_004006.2:c.20dup
;
虽然重复序列和插入有点类似,但是不可以改写成插入的格式,一定要写成重复序列的格式
Inversion : 倒位,突变成了反向互补的碱基,格式如下
代码语言:javascript复制prefix"positions_inverted"inv
prefix
代表参考序列,positions_inverted
代表倒位序列在参考序列上的位置;inv
表明变异类型为倒位,示例如下
NC_000023.10:g.1077_1080inv
Conversion : 易位,染色体上部分区域替换为另一条染色体的碱基,格式如下
代码语言:javascript复制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
以上只是HGVS的基本规则,更多的细节可以参考以下网址
http://varnomen.hgvs.org/