本文將逐步增加各種方法星爪,有時(shí)間再研究各個(gè)方法的區(qū)別。
每個(gè)人在轉(zhuǎn)換id格式時(shí)曾掂,可能會(huì)遇到很多與以下流程不同的情況惫谤。比如說gene id有小版本、去重后數(shù)據(jù)大量丟失等等珠洗,建議具體問題再去查詢解決方案溜歪,也可以把問題私信給我,我學(xué)習(xí)后整理在此文最后许蓖。
假設(shè)文件名文“genes_exp”蝴猪,其中有一列為需要轉(zhuǎn)換的“geneid”
1、使用gtf文件注釋
可在以下兩個(gè)鏈接下載gtf文件(分別是GENCODE和Ensembl):
https://www.gencodegenes.org/human/#
http://ftp.ensembl.org/pub/release-104/gtf/homo_sapiens/
library(rtracklayer)
gff<-readGFF(“”)#自己修改路徑
#提取所需要的部分注釋膊爪,假設(shè)是從“gene_id”轉(zhuǎn)換到”gene_name”
anno<-gff[gff$type == “gene”, c(“gene_id”,”gene_name”)]
#根據(jù)“gene_id”匹配轉(zhuǎn)換genes_exp與anno自阱,自己修改by.y參數(shù)
result<-merge(anno,genes_exp, by.x= “gene_id”, by.y= “geneid”)
#去重與檢查空值與NA
result<-result[!duplicated(result$gene_name),]
table(result$gene_name == “”)
table(is.na(result$gene_name))
2、使用bitr(clusterProfiler包)
有些人的數(shù)據(jù)有小數(shù)點(diǎn)米酬,可以用str_sub處理一下
library(clusterProfiler)
library(org.Hs.eg.db)
# 查看有哪些gene id格式
keytypes(org.Hs.eg.db)
#適用bitr()函數(shù)進(jìn)行轉(zhuǎn)換动壤,可同時(shí)轉(zhuǎn)換成多種格式
result$gene_name<-bitr(genes_exp$geneid, fromType= “ENSEMBL”, toType= c(“SYMBOL”)
#接下來去重,檢查空值與NA