目录
前言
一、immunedeconv包的安装
二、数据的前期处理
1.基因ID的转换以及数据格式的处理
2.数据的前期处理
3.计算免疫浸润程度
总结
前言
目前已经有许多的算法可以根据RNA-seq计算免疫细胞的浸润,其中代表性的R包是immunedeconv。接下来这个系列文章将根据通过这个包计算RNA-seq数据中的免疫浸润程度,并通过这个数据计算影响免疫浸润的相关基因。
一、immunedeconv包的安装
immunedeconv不太好安装,建议使用从github下载源代码进行本地安装。
首先,下载Code包:
进入immunedeconv 作者的主页:
GitHub - icbi-lab/immunedeconv: A unified interface to immune deconvolution methods (CIBERSORT, EPIC, quanTIseq, TIMER, xCell, MCPcounter)
然后,安装该代码:
install.packages("devtools")##这是安装用的工具包devtools::install_local("/文件/immunedeconv-master.zip")
二、数据的前期处理
1.基因ID的转换以及数据格式的处理
代码如下:
# 读入表达数据exprMatrix <- read.table("/Project/the correlation for Immune cell infiltration with tumor/TCGA TIL analysis/Normalized_LUAD.xls",header=TRUE, as.is=TRUE)##如果不需要转换基因名和ID,则直接跳到最下面library(stringr)exprMatrix$gene <- str_split(exprMatrix$gene,'[.]',simplify = T)[,1]##按照某符号拆分某列which(duplicated(exprMatrix$gene))colnames(exprMatrix)[1] <- 'gene'exprMatrix <- subset(exprMatrix,gene!="NA")colnames(exprMatrix)[1] <- 'ENSEMBL'ID_gene_name <- read.csv('/所有教程/常用文件/length_gene_ID.csv',row.names = 1)library(data.table)length_gene <- ID_gene_name[,-1]keys <- colnames(length_gene)[!grepl('V1',colnames(length_gene))]length_gene <- as.data.table(length_gene)length_gene <- length_gene[,list(length= mean(V1)),keys]exprMatrix <- merge(ID_gene_name,exprMatrix,by = 'ENSEMBL', all = F)##不需要转换的直接跳转到这里exprMatrix <- cbind(exprMatrix[1],exprMatrix[1],exprMatrix)write.csv(exprMatrix,'exprMatrix.csv')
2.数据的前期处理
这一步主要是清除一些空基因和无效基因,代码如下:
exprMatrix <- read.csv('/Project/the correlation for Immune cell infiltration with tumor/TCGA TIL analysis/analysis_flow/ID_name_transport/exprMatrix.csv',row.names = 1) ##读入处理好的文件mean <- apply(exprMatrix[,4:ncol(exprMatrix)],1,mean) ##计算每个基因的均值exprMatrix <- exprMatrix[-which(mean == 0),] ##去除均值等于0的基因exprMatrix <- exprMatrix[-which(duplicated(exprMatrix$Gene.name)),] ##去除基因名重复的基因exprMatrix <- exprMatrix[,c(-1,-3)] ##去除多余的第一列和第三列rownames(exprMatrix) <- exprMatrix$Gene.name ##把第一列作为行名exprMatrix <- exprMatrix[,-1] ##去除第一列
3.计算免疫浸润程度
利用immunedeconv包计算RNA-seq的免疫浸润程度,代码如下:
#评估免疫浸润library(immunedeconv)res <- deconvolute(exprMatrix, method="quantiseq") ##method可以更改,支持多种方法,详见immunedeconv包的介绍res <- as.data.frame(res,row.names = 1) ##讲结果文件转换为data.framerownames(res) <- res[,1] ##把第一列设为行名res <- res[,-1]immune <- rbind(res,exprMatrix) ##将免疫浸润结果和RNA-seq数据合并write.csv(immune, 'immune.csv')
总结
这一部分主要是介绍了免疫浸润的计算,下一节将会介绍如何计算相关基因。
如果觉得《寻找影响免疫浸润细胞的基因(一)》对你有帮助,请点赞、收藏,并留下你的观点哦!