ixxmu / mp_duty

抓取网络文章到github issues保存
https://archives.duty-machine.now.sh/
103 stars 30 forks source link

基于表达数据评估免疫浸润情况 #440

Closed ixxmu closed 3 years ago

ixxmu commented 3 years ago

https://mp.weixin.qq.com/s/uO5cefJLDfxQ-cOfeB186Q

ixxmu commented 3 years ago

免疫画图,差异,看看

github-actions[bot] commented 3 years ago

基于表达数据评估免疫浸润情况 by 医学僧的科研日记

本次给大家分享内容为近期学习到的ssGSEA。

单样本基因集富集分析(single sample gene set enrichment analysis, ssGSEA)。对给定样本的基因表达值进行秩次标准化,然后利用经验累积分布函数计算富集分数(ES)。采用GSVA 包。gsva (as.matrix(expr), as.list(geneset), method=‘ssgsea’)

其中,expr 文件为matrix 形式的表达数据,行名为基因名,列名为样本名。geneset文件为list 形式的数据,每列的首行为基因集名称,后面则为基因集内包含的所有基因名称。

matrix:

list:

第一部分: 前期文件准备

rm (list =ls())setwd('自己的工作目录')library('data.table')# geneset preparation -----------------------------------------------------geneset <- fread('genesets.txt',data.table = F)gset <- split(geneset$Metagene,geneset$Cell.type) ### 包含15种Adaptive immune cells# expression data preparation ---------------------------------------------load('expr.Rdata')expr <- as.matrix(expr2)### matrix 格式文件

此刻ssGSEA 所需要的文件已准备齐全。其中所需的文件文末将会告诉大家获取方式哦!!!

第二部分: ssGSEA分析

# ssGSEA ------------------------------------------------------------------library(GSVA)ssGSEA <- GSVA::gsva(expr,gset,method='ssgsea',ssgsea.norm=T) ###ssgsea.norm参数用最大值与最小值间的绝对差对ssGSEA分数进行标准化save(ssGSEA,file = 'ssGSEA_result.rdata')   ###可以保存为R格式方便以后查看及使用

注:此处,我们已经得到数据中每个样本的15种免疫细胞的浸润情况,那么之后我们就可以进行自己想要的各种深入的分析。下面我们举个例子

第三部分: 结果的展示

下面,我们将数据中肿瘤组,样本组进行免疫浸润情况差异的分析。本次以箱线图的形式来展现:


# boxplot -----------------------------------------------------------------library('tidyr')library('ggplot2')library('ggpubr')mydata <- t(as.data.frame(ssGSEA))%>%as.data.frame()mydata$group <- ifelse(substr(rownames(mydata),14,15)!='11','Tumor','Normal')table(mydata$group) ###Normal=50  Tumor=374ggdata <- gather(mydata,key = 'Cell',value = 'Value',-16)   ### 数据准备
ggplot(ggdata,aes(x=Cell,y=Value,fill=group))+ geom_boxplot(width=0.7,size=0.3,outlier.color = NA)+ theme_bw()+ theme(panel.grid = element_blank())+ stat_compare_means(symnum.args = list(cutpoints = c(0,0.001, 0.01, 0.05, 1), symbols = c("***", "**", "*", "ns")), label = "p.signif")+ theme(axis.text.x = element_text(angle = 60,hjust = 1))+ theme(legend.position = 'top')+ xlab('')+ylab('Infiltration Abundance')+ labs(fill='Group')

那么,我们就得到了自己的想要的结果。


第三部分: 补充内容

此外,还发现了一个不错的在线分析工具。

ssGSEAProjection (v4) 可在线进行ssGSEA的分析:

https://www.genepattern.org/modules/docs/ssGSEAProjection/4

Input Files:

  1. 基因表达文件    GCT 格式

  2. 基因集文件     GMT  GMX 格式

  3. 基因集列表文件   一个可选的文本文件,包含一系列基因集定义文件(每个都是GMT或GMX格式)。文本文件中的每一行都包含一个文件名。通常这个文件是由GenePattern ListFiles模块生成的,在将表达式数据投射到跨多个基因集数据库文件定义的基因集时使用

如果可以喜欢这个的话,大家可以继续深入的研究学习。最后大家可以回复ssGSEA 即可得到自己想要的数据文件哦!!!