2022-03-03肿瘤微环境(1)数据下载和处理

肿瘤微环境(TME)是肿瘤细胞赖以生存和发展的复杂环境,主要由细胞成分和非细胞成分组成,共同构成了复杂的肿瘤微环境。免疫抑制微环境是肿瘤微环境中起抑制免疫功能的部分,其组成包括免疫抑制性细胞和抑制性细胞因子。

一、数据下载

在sets中搜索“gastric cancer survival”,然后筛选人类基因,再筛选基因数目大于100,再一个个点开看,数据集中的样本要求为肿瘤,然后再点开样本,其character满足(tissue: gastric cancer age: 42 Sex: female ptstage: T4 pnstage: N1 death: 0 duration overall survival: 121)

本例中选择GSE84433

打开平台(平台的作用在于将探针名和基因名一一对应),点击”download full table”,下载整个表格,有时没有下载键,则查看整个图标,然后复制。

下载表达矩阵:在GSE84433 页面最下面,点击‘Series Matrix File(s)下载

二、数据注释

用perl 对下载的探针矩阵注释为基因矩阵(这一步在电脑上失败了)

在下载的探针矩(xls)中复制样本的临床数据,只保留肿瘤数据,删除正常或者癌旁组织。

R软件中提取免疫评分和基质评分:


#library(utils)

#rforge <- "http://r-forge.r-project.org"

#install.packages("estimate", repos=rforge, dependencies=TRUE)

#if (!requireNamespace("BiocManager", quietly = TRUE))

#    install.packages("BiocManager")

#BiocManager::install("limma")

library(limma)

library(estimate)

setwd("C:\\Users\\lexb4\\Desktop\\geoEstimate\\05.estimate")          #设置工作目录

inputFile="geneMatrix.txt"                                                  #输入文件名字

#读取文件

rt=read.table(inputFile,sep="\t",header=T,check.names=F)

#如果一个基因占了多行,取均值

rt=as.matrix(rt)

rownames(rt)=rt[,1]

exp=rt[,2:ncol(rt)]

dimnames=list(rownames(exp),colnames(exp))

data=matrix(as.numeric(as.matrix(exp)),nrow=nrow(exp),dimnames=dimnames)

data=avereps(data)

#读取肿瘤样品文件

sample=read.table("sample.txt",header=F,sep="\t",check.names=F)

data=data[,as.vector(sample[,1])]

#如果数值很大,需要去除log函数这一行的#号

data=log2(data+1)

data=data[rowMeans(data)>0,]

out=normalizeBetweenArrays(data)

out=rbind(ID=colnames(out),out)

#输出整理后的矩阵文件

write.table(out,file="normalize.txt",sep="\t",quote=F,col.names=F)

#运行estimate包

filterCommonGenes(input.f="normalize.txt",

                  output.f="commonGenes.gct",

                  id="GeneSymbol")

#计算免疫得分,平台有三种选择,根据自己的分析选择("affymetrix", "agilent", "illumina")

estimateScore(input.ds = "commonGenes.gct",

              output.ds="estimateScore.gct",

              platform="affymetrix")

#输出每个样品的打分

scores=read.table("estimateScore.gct",skip = 2,header = T)

rownames(scores)=scores[,1]

scores=t(scores[,3:ncol(scores)])

scores=scores[,1:3]

out=rbind(ID=colnames(scores),scores)

write.table(out,file="scores.txt",sep="\t",quote=F,col.names=F)


得到肿瘤评分表格

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容