从TCGA获得的数据名称为ensemble ID,这对于后续分析是不方便的,我们需要把ensemble ID 转换成gene symbol 和gene ID。可以使用以下几种方法进行转换。
1. 使用gtf文件进行转换
1.1 下载gtf文件
- 登录http://asia.ensembl.org/index.html
-
-
-
-
1.2 制作R可读的gtf文件
R读取gtf文件可使用rtracklayer::import 函数读取
if(!require("rtracklayer")) BiocManager::install("rtracklayer") #安装rtracklayer package
gtf1 <- rtracklayer::import('Homo_sapiens.GRCh38.94.chr.gtf')
gtf_df <- as.data.frame(gtf1)
读取过程时间比较长,这是一个270万行,27列的文件。读取不易,将其保存为Rdata格式,可以方便以后其他数据的分析。
save(gtf_df,file = "gtf_df.Rdata")
探究一下gtf文件当中到底有哪些信息
> colnames(gtf_df)
[1] "seqnames" "start" "end" "width"
[5] "strand" "source" "type" "score"
[9] "phase" "gene_id" "gene_version" "gene_name"
[13] "gene_source" "gene_biotype" "transcript_id" "transcript_version"
[17] "transcript_name" "transcript_source" "transcript_biotype" "tag"
[21] "transcript_support_level" "exon_number" "exon_id" "exon_version"
[25] "protein_id" "protein_version" "ccds_id"
这些信息中,我们需要的一般为 type,gene_biotype用来筛选需要的基因类型,再加gene_name用于后期基因名称的对应,即转换为gene symbol。
2. 利用 AnnotationDbi package进行ID转换
差异结果最终依然使用ensemble ID进行表示,后续就可以按照如下的方法进行转换。
library(AnnotationDbi)
library(org.Hs.eg.db)
res$symbol <- mapIds(org.Hs.eg.db,
keys=res$gene_id,
column="SYMBOL",
keytype="ENSEMBL",
multiVals="first")
res$entrez <- mapIds(org.Hs.eg.db,
keys=res$gene_id,
column="ENTREZID",
keytype="ENSEMBL",
multiVals="first")
3. 利用clusterprofiler package进行基因ID转换
可以说 clusterprofiler 这个R包确实很全面厉害,不仅能做富集分析,GSEA分析,还能有这种基因名称转换功能,而且其富集画图功能确实很赞。从原理上,其实使用的依然是2 当中的package,但是也算是一个集合吧。
转换代码如下:
library(org.Hs.eg.db)
keytypes(org.Hs.eg.db)
ids <- bitr(x, fromType="SYMBOL", toType=c("UNIPROT", "ENSEMBL"), OrgDb="org.Hs.eg.db")
head(ids)
其实这个package不仅仅能够转换基因名,还能够对kegg通路的名称进行转换,也可以对富集后的结果进行转化,使其转变为可读模式的基因名称,而不是编码代号,可以说是一个实用的工具。示例代码如下
library(org.Hs.eg.db)
library(clusterProfiler)
data(geneList, package="DOSE")
de <- names(geneList)[1:100]
x <- enrichKEGG(de)
## The geneID column is ENTREZID
head(x, 3)
y <- setReadable(x, OrgDb = org.Hs.eg.db, keyType="ENTREZID")
## The geneID column is translated to symbol
head(y, 3)
参考文章及书目
clusterProfiler: universal enrichment tool for functional and comparative study
https://mp.weixin.qq.com/s/7BBJGTlOa5i6YPMlrRqw2w