R语言基因ID转换

得到需要转换的ID

d<-colnames(exp_data_1)
d<-data.frame(ensembleID=d)
##这样我们就得到了基因的ensembleID,其中点号后面的东西表示更新
###我们需要删除掉
library(stringr)
strsplit("ENSG00000000003.13",".")
strsplit("ENSG00000000003.13","[.]")
strsplit("ENSG00000000003.13","[.]")[[1]][1]
d$ID<-str_split(d$ensembleID,"[.]",simplify = T)[,1]
###http://www.bio-info-trainee.com/710.html
library(org.Hs.eg.db)
keytypes(org.Hs.eg.db)
# [1] "ACCNUM"       "ALIAS"        "ENSEMBL"      "ENSEMBLPROT" 
# [5] "ENSEMBLTRANS" "ENTREZID"     "ENZYME"       "EVIDENCE"    
# [9] "EVIDENCEALL"  "GENENAME"     "GENETYPE"     "GO"          
# [13] "GOALL"        "IPI"          "MAP"          "OMIM"        
# [17] "ONTOLOGY"     "ONTOLOGYALL"  "PATH"         "PFAM"        
# [21] "PMID"         "PROSITE"      "REFSEQ"       "SYMBOL"      
# [25] "UCSCKG"       "UNIPROT"    
colnames(d)
colnames(d)<-c("ensembleID","ensembl_id")
g2s<-toTable(org.Hs.egSYMBOL)
g2e<-toTable(org.Hs.egENSEMBL)

e<-merge(d,g2e,by="ensembl_id",all.x=T)###all.x=T表示没有找到对应关系也将a中的保留下来
f<-merge(e,g2s,by="gene_id",all.x=T)

table(f$ensembl_id)[table(f$ensembl_id)>1]

f<-f[order(f$ensembl_id),]
f<-f[!duplicated(f$ensembl_id),]
f<-f[match(d$ensembl_id,f$ensembl_id),]##d所在的顺序,放到f这边来
###现在就得到了相应的基因ID对应顺序
###############################exp2###f
dim(exp2)
dim(f)
match(rownames(exp2),f$ensembleID)
name<-f
name<-na.omit(name)
match(name$ensembleID,rownames(exp2))
expression<-exp2
expression<-expression[match(name$ensembleID,rownames(exp2)),]
dim(expression)
dim(name)
rownames(expression)<-name$symbol
save(expression,file="TCGA_cohort.Rdata")

替换表达矩阵的基因ID

dim(exp_data_1)
colnames(exp_data_1)<-f2$SYMBOL
exp_data_1[1:3,1:3]
save(exp_data_1,file="CRC_530_SYMBOL.Rdata")
colnames(exp_data_1)<-f2$ENTREZID
exp_data_1[1:3,1:3]
save(exp_data_1,file="CRC_530_ENTREZID.Rdata")
  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值