#install.packages('e1071')
#if (!requireNamespace("BiocManager", quietly = TRUE))
# install.packages("BiocManager")
#BiocManager::install("preprocessCore")
#if (!requireNamespace("BiocManager", quietly = TRUE))
# install.packages("BiocManager")
#BiocManager::install("limma")
library("limma")
source("https://bioconductor.org/biocLite.R")
if (!requireNamespace("AnnotationDbi", quietly = TRUE)) BiocManager::install("AnnotationDbi")
library("AnnotationDbi")
#要自己准备TCGA的样本的表达文件exp
#BiocManager::install("org.Hs.eg.db")
#1、TCGA基因ID的转换
library(stringr)
exp$Ensembl_ID <- rownames(exp)
exp$Ensembl_ID=str_sub(exp$Ensembl_ID,1,15)
library(clusterProfiler)
library(org.Hs.eg.db)
# 查看org.Hs.eg.db 包提供的转换类型
keytypes(org.Hs.eg.db)
# 需要转换的Ensembl_ID
Ensembl_ID <- exp$Ensembl_ID
# 采用bitr()函数进行转换
gene_symbol <- bitr(Ensembl_ID, fromType="ENSEMBL", toType=c("SYMBOL", "ENTREZID"), OrgDb="org.Hs.eg.db")
# 查看转换的结果
head(gene_symbol)
gene_symbol= gene_symbol[match(exp$Ensembl_ID,gene_symbol$ENSEMBL),]#匹配到表达矩阵中
exp$SYMBOL <- gene_symbol$SYMBOL
#整理去重,把重复的取平均值
exp <- exp[,-(ncol(exp)-1)]
exp2<-avereps(exp,ID=exp$SYMBOL)
exp2 <- as.data.frame(exp2)
exp2 <- exp2[!is.na(exp2$SYMBOL),]#去除没有匹配的
rownames(exp2) <- exp2$SYMBOL
exp <- exp2[,-ncol(exp2)]
#2、转换为矩阵,分析需要数据
dimnames=list(rownames(exp),colnames(exp))
data=matrix(as.numeric(as.matrix(exp)),nrow=nrow(exp),dimnames=dimnames)
#3、去除正常样本
data <- data[,group_list== "tumor"]
#3、再转换数据
v <-voom(data, plot = F, save.plot = F)#校正文件,因为我们下载的是转录的数据,必须转化为芯片数据
out=v$E
out=rbind(ID=colnames(out),out)
write.table(out,file="uniq.symbol.txt",sep="\t",quote=F,col.names=F)
#4、CIBERSORT
source("TMBimmune19.CIBERSORT.R")
results=CIBERSORT("ref.txt", "uniq.symbol.txt", perm=100, QN=TRUE)
#OK完美运行
```r
01 CIBERSORT文件准备
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 给文本文件按行为单位进行排序和去除重复行,是文本处理任务中非常常见的,尤其是对超大文本文件的排序和去重,由于所需空...