基因ID命名及相互转换

由于ID来自于不同的数据库,或者说命名的意图不同,所以对于同一个基因,总是有多个不同的ID,最常见的比如entrze ID、ensembl ID、HGNC ID、refseq ID等。

    Entrze ID:是美国NCBI数据库中的基因标识符,通常是由纯数字表示,比如人类TP53基因的Entrze ID是7157(注意,不同物种的基因ID是不同的);

    Ensembl ID:是欧洲生物信息数据库的基因标识符,人的基因都是以ENSG(ensembl gene)四个大写字母开始,后面跟着11位数字,所以ensembl ID的长度通常都是15位,比如人类TP53基因的ensembl ID是ENSG00000141510,值得注意的是ensembl ID不仅包含了两万多个蛋白质编码基因,同样也有很多的假基因、miRNA等,因此它的数量较多,有六万多个,比人类已知的基因数多得多

    HGNC ID: 是指由人类基因命名委员会(HUGO Gene Nomenclature Committee)指定的基因标识符,该委员会通常对基因赋予一个名字以及一个ID,比如人类TP53基因,其标准的symbol是TP53(相当于简称),标准的名称是tumor protein p53,HGNC ID 是11998。

    Refseq ID:美国NCBI提供的基因标准序列(参考序列)数据库,在该数据库中,人类TP53基因的ID是NG_017013。

此外,与某个基因相关的还有GO ID、芯片探针ID、uniprot ID等。

Biomart数据库:是ensembl下属的一个网络数据库,里面包含非常多的信息。

biomaRt:是该网站的R语言接口,可以帮助用户在R语言中实现biomart的功能,因此使用该包时必须保证互联网连接通畅!

此外,与某个基因相关的还有GO ID、芯片探针ID、uniprot ID等。

Biomart数据库:是ensembl下属的一个网络数据库,里面包含非常多的信息。

biomaRt:是该网站的R语言接口,可以帮助用户在R语言中实现biomart的功能,因此使用该包时必须保证互联网连接通畅!

BiocManager::install("biomaRt") #安装biomaRt(Bioconductor 3.9.0)

library(biomaRt)    #加载包

listMarts()    #查看目标数据库(mart),主要是版本号version,会定期更新

#              biomart              version

#1 ENSEMBL_MART_ENSEMBL      Ensembl Genes 102

#2  ENSEMBL_MART_MOUSE      Mouse strains 102

#3    ENSEMBL_MART_SNP  Ensembl Variation 102

#4 ENSEMBL_MART_FUNCGEN Ensembl Regulation 102

## version版本可能会一直更新,所以先用listMarts()函数查看一下,目前为103版

#选择数据库和版本号

tmp_mart <- useMart(biomart = "ENSEMBL_MART_ENSEMBL",version = "Ensembl Genes 103")

listDatasets(tmp_mart)    #显示该数据库下所包含的数据集(dataset)

#                      dataset                          description    version

#1 abrachyrhynchus_gene_ensembl Pink-footed goose genes (ASM259213v1) ASM259213v1

#2    acalliptera_gene_ensembl      Eastern happy genes (fAstCal1.2)  fAstCal1.2

#3  acarolinensis_gene_ensembl        Anole lizard genes (AnoCar2.0)  AnoCar2.0

#4    acitrinellus_gene_ensembl        Midas cichlid genes (Midas_v5)    Midas_v5

#5        ahaastii_gene_ensembl    Great spotted kiwi genes (aptHaa1)    aptHaa1

#6    amelanoleuca_gene_ensembl                Panda genes (ailMel1)    ailMel1

#...

#因为要转化人的gene ID,所以选择人的数据集,版本为GRCh38.p13

my_mart <- useMart(biomart = "ENSEMBL_MART_ENSEMBL", dataset = "hsapiens_gene_ensembl",version = "Ensembl Genes 103")

#转换基因ID: ncbi ID(即entrez ID)--> ensembl ID

test_genes <- c("10327","124","125","126","127","128","130","130589","131","160287")

gene_id_info<- getBM(attributes=c("ensembl_gene_id","entrezgene_id","hgnc_symbol"),

                    filters = "entrezgene_id",

                    values=test_genes , mart= my_mart)

#attributes参数是你需要返回的gene信息,需要什么类型都写上(listAttributes()可以查看所有gene attribute类型)

#filters参数是你当前能提供的gene的ID类型,而values的值就是ID类型的具体值,一般是一个向量

#结果返回一个包含attributes具体信息的data.frame,attributes为列名

gene_id_info

#  ensembl_gene_id entrezgene_id hgnc_symbol

#1  ENSG00000117448        10327      AKR1A1

#2  ENSG00000187758          124      ADH1A

#3  ENSG00000196616          125      ADH1B

#4  ENSG00000248144          126      ADH1C

#5  ENSG00000198099          127        ADH4

#6  ENSG00000197894          128        ADH5

#7  ENSG00000172955          130        ADH6

#8  ENSG00000143891        130589        GALM

#9  ENSG00000196344          131        ADH7

#10 ENSG00000166800        160287    LDHAL6A

#提取全部基因信息

gene_id_info<- getBM(attributes=c("ensembl_gene_id","entrezgene_id","hgnc_symbol"),

                    filters = "chromosome_name",

                    values=c(1:22,'X','Y'), mart= my_mart)

————————————————

版权声明:本文为CSDN博主「X.Ray」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_20095851/article/details/102863318

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容