RNAseq | IPS评分-TCIA数据库了解一下,非TCGA数据用IOBR评估

学术   其他   2023-09-05 09:00   北京  

前面介绍了通过 RNAseq|oncoPredict 药物反应预测,+基因,+分型,+模型 的联合可视化 预测患者对 小分子药物的反应。那如果预测当前临床治疗上常用的免疫疗法(PD1, PD-L1 ,CTLA4)反应呢?

前面介绍的RNAseq|免疫浸润也杀疯了,cibersoert?xCELL?ESTIMATE?你常用哪一个可以看患者的整体的免疫浸润程度,单独的PD1,PD-L1 响应则可以使用免疫表型评分(IPS)进行量化,这里提供两种场景数据的IPS分析

(1)如果是TCGA样本 可以直接下载TCIA数据库中的IPS评分结果。

(2)非TCGA样本 以及 TCIA中没有的癌种,使用IOBR 预测IPS评分。

一 TCIA数据库 


TCIA(https://tcia.at/home)上提供了TCGA中的20种实体瘤分析后的IPS结果 ,可以直接下载使用。

点击官网https://tcia.at/home进去后如下图所示的交互,鼠标悬停在需要的癌种上点击即可,也可以在左边进行筛选。

点击癌种柱子后,会出现如下表格,可以点击2处直接在下载。

点击1处的饼图,会出现如下的图,可以看到红框中的IPS主要由抗原呈递(MHC-MHC molecules)、效应细胞(EC-effector cells)、抑制性细胞(SC-suppressor cells)、检查点(CP-immune checkpoints)四部分评分组成。

箭头处给出的为IPS总评分,分为ips_ctla4_neg_pd1_neg,ips_ctla4_neg_pd1_pos,ips_ctla4_pos_pd1_neg和ips_ctla4_pos_pd1_pos 四种,也就是 2处 下载的csv文件中的后面几列,还有更多的列此处未展示。

barcode

ips_ctla4_neg_pd1_neg

ips_ctla4_neg_pd1_pos

ips_ctla4_pos_pd1_neg

ips_ctla4_pos_pd1_pos

TCGA-06-0145

NA

NA

NA

NA

TCGA-06-0146

NA

NA

NA

NA

TCGA-28-2513

7

6

6

5

TCGA-26-5136

9

8

8

7

TCGA-28-1747

8

8

8

7

注:TCIA还有其他很多的信息,以待大家去探索。

二 IOBR 预测 


如果是非TCGA样本 以及 TCIA中没有的癌种,可以使用IOBR-R 包来预测患者的IPS评分。

注:该包整合了很多分析内容,如之前介绍过的Immune ,Xcell 和 Cibersort 等均可以一行代码实现,整体功能很强大建议试一下,此处仅介绍IPS评分部分。感兴趣其他内容的可以留言,会出整体详尽的介绍。

1,安装R包

IOBR包整合了很多免疫浸润的内容,因此涉及到的R包也比较多,但是安装好之后使用很友好。

转录组数据仍然使用之前保存的SKCM的数据

# options("repos"= c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))# options(BioC_mirror="http://mirrors.tuna.tsinghua.edu.cn/bioconductor/")if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
depens<-c('tibble', 'survival', 'survminer', 'sva', 'limma', "DESeq2","devtools", 'limSolve', 'GSVA', 'e1071', 'preprocessCore', 'ggplot2', "biomaRt", 'ggpubr', "devtools", "tidyHeatmap", "caret", "glmnet", "ppcor", "timeROC","pracma")for(i in 1:length(depens)){ depen<-depens[i] if (!requireNamespace(depen, quietly = TRUE)) BiocManager::install(depen,update = FALSE)}
if (!requireNamespace("IOBR", quietly = TRUE)) devtools::install_github("IOBR/IOBR")
library(IOBR)library(tidyverse)library(ggpubr)
load("RNAseq.SKCM.RData")
fpkm[1:4,1:4]fpkm_in <- fpkm %>% column_to_rownames("gene") %>%  as.matrix()

输入的矩阵信息为行名为基因,列为样本的matrix格式。

2,IOBR-IPS计算

通过设置method = "ips" 可以计算患者的免疫表型评分(immunophenoscore, IPS),结果如下为四种不同免疫表型的评分:抗原呈递、效应细胞、抑制性细胞 和 检查点,IPS_IPS 为类似TCIA 整合至1-10之间数值的结果。
ips<-deconvo_tme(eset = fpkm_in, method = "ips", plot= FALSE)head(ips)# A tibble: 6 × 7#  ID               MHC_IPS EC_IPS SC_IPS  CP_IPS AZ_IPS IPS_IPS#  <chr>              <dbl>  <dbl>  <dbl>   <dbl>  <dbl>   <dbl>#1 TCGA-EE-A2GJ-06A    4.44  1.41  -1.78  -0.723    3.35      10#2 TCGA-EE-A2GI-06A    4.95  1.39  -1.46  -0.673    4.20      10#3 TCGA-WE-A8ZM-06A    3.46  0.695 -0.682  0.181    3.66      10#4 TCGA-DA-A1IA-06A    3.85  0.627 -0.839  0.0836   3.72      10#5 TCGA-D3-A51H-06A    5.06  1.85  -2.08  -0.865    3.96      10#6 TCGA-XV-A9VZ-01A    3.43  0.821 -0.747  0.184    3.68      10

注:这里的method 可以有多种选择,感兴趣的也可以计算estimate 或者 cibersort ,与之前RNAseq|免疫浸润也杀疯了,cibersoert?xCELL?ESTIMATE?你常用哪一个的结果进行比较。

3,分型,预后模型 + 可视化

以一致性聚类结果为示例,

km <- read.csv("resultstrain.k=2.consensusClass.csv",header = T,stringsAsFactors = F ,check.names = F)names(km) <- c("sample","cluster")
fpkm_km_IPS <- km %>% inner_join(ips,by = c("sample" = "ID"))fpkm_km_IPS[1:4,1:4]
ggboxplot(fpkm_km_IPS, x="cluster", y="AZ_IPS", width = 0.6, color = "black",#轮廓颜色 fill="cluster",#填充 palette = "npg", xlab = F, #不显示x轴的标签 bxp.errorbar=T,#显示误差条 bxp.errorbar.width=0.5, #误差条大小 size=1, #箱型图边线的粗细 legend = "right") #图例放右边

根据课题需要自行结合更多的分析方式。

参考资料

https://github.com/IOBR/IOBR

https://github.com/IOBR/IOBR/tree/master/vignettes

◆ ◆ ◆  ◆ 

精心整理(含图PLUS版)|R语言生信分析,可视化(R统计,ggplot2绘图,生信图形可视化汇总)

RNAseq纯生信挖掘思路分享?不,主要是送你代码!(建议收藏)

生信补给站
生信,R语言, Python,数据处理、统计检验、模型构建、数据可视化,我输出您输入!
 最新文章