专栏名称: 生信技能树
生物信息学学习资料分析,常见数据格式及公共数据库资料分享。常见分析软件及流程,基因检测及癌症相关动态。
目录
相关文章推荐
不正常人类研究中心  ·  终于知道为什么说俄语不用张开嘴了 ·  昨天  
冷兔  ·  以防你没见过马怎么刹车! ·  2 天前  
英式没品笑话百科  ·  虫子看到巨猫的景象 -20250206132740 ·  2 天前  
不正常人类研究中心  ·  大家孤独的时候能不能带上我 ·  3 天前  
51好读  ›  专栏  ›  生信技能树

Science杂志高颜值GSEA打分排序图

生信技能树  · 公众号  ·  · 2025-02-05 17:40

正文

前面给大家介绍过一个高颜值富集分析结果展示图: 一种很新的功能富集结果展示方法 。今天来还是来复现这篇 2024 年 6 月份发表在 顶刊 science 杂志上的文献《 Defining the KRAS- and ERK-dependent transcriptome in KRAS-mutant cancers 》中另一个富集分析GSEA结果图,图片以及含义如下:

含义: 作者对 KRAS versus NS siRNA 处理的 PDAC 细胞系差异基因进行 GSEA 分析,基因集为 50 个 Hallmark gene sets 。然后取每条通路的 NES 打分从高到低进行排序,并绘制散点图。 点的大小 为 Detection:应该为每个通路中基因在所有样本中表达的 count 大于 5 的占比(我们这里并没有表达矩阵,就用基因集大小替代好了)。 点的颜色 为通路显著性:-log10 pvalue。

图注:

Fig. 1. Establishment and evaluation of a KRAS dependent gene expression program in KRAS-mutant PDAC. (C) GSEA for 50 Hallmark gene sets within DEGs after KRAS siRNA treatment. Detection is based on the presence of a gene in all eight PDAC cell lines at >5 reads.

关于可不可以用差异基因进行GSEA分析,我们前面讨论过: IF10+杂志文章只用统计学显著的差异基因做GSEA就合理吗?

数据背景介绍

1、PDAC细胞系KRAS siRNA RNA测序

为了确定 KRAS 依赖性转录组,作者对一组八个人类 KRAS 突变型 胰腺导管腺癌PDAC的细胞系在经过 24 小时 KRAS 小干扰 RNA(siRNA)处理后的基因转录变化(图 S1A 和 B)进行了 RNA 测序(RNA-seq)。数据可在这里下载: PRJNA980201 https://www.ebi.ac.uk/ena/browser/view/PRJNA980201?show=related-records。

Note:

  • NS缩写:control non-specific ("NS") siRNA。

  • KRAS siRNA是一种小干扰RNA(siRNA),通过特异性靶向KRAS基因的mRNA,从而抑制其表达,达到治疗KRAS突变肿瘤的目的。

差异分析结果如下:The 677 KRAS-dependent (UP) and 1051 KRAS-inhibited (DN) genes ( log2FC > 0.5, adj. p < 0.05 ) are indicated by the light blue– and light red–shaded rectangles underlaid on plot, respectively。

差异结果在表格S1: Data S1. Differential expression statistics for genes in KRAS versus NS siRNA treated PDAC cells, using RNA-sequencing。

2、50 Hallmark gene sets

Hallmark 通路可以在GSEA 的 MSigDB 数据库去下载 gmt 格式: https://www.gsea-msigdb.org/gsea/msigdb/human/collections.jsp

GSEA分析

GSEA的输入数据为差异基因排序列表,排序指标为log2FC值:

1、读取数据

rm(list=ls())
# 加载R包
library(ggplot2)
library(tibble)
library(ggrepel)
library(tidyverse)
library(dplyr)
library(patchwork)

##### 01、加载数据

# 加载:KRAS vs NS siRNA(log2FC)
group1 "./data/science.adk0775_data_s1.csv" )
head(group1)

# 提取FDR值和FC值
group1 "external_gene_name","logFC","FDR" )]
group1 $external_gene_name!="", ]
group1 rownames(group1) $external_gene_name
head(group1)

# 增加一列上下调:log2FC > 0.5, adj. p
group1$g1 "normal"

group1$g1[group1$logFC >0.5 & group1$FDR "up"
group1$g1[group1$logFC $FDR "down"
table(group1$g1)
# down normal     up 
# 675  12876   1043 

# 获得差异基因
DEGs $g1!="normal",]
head(DEGs)

# 得到排序列表
DEGs $logFC, decreasing = T),]
genelist $logFC
names(genelist) $external_gene_name
head(genelist)
# NPPC   SMTNL2    KCNK3     CHPF PCDHGA12  EXOC3L1 
# 2.860472 2.712068 2.551034 2.536558 2.499657 2.446140

tail(genelist)

得到 1718个差异基因:

2、读取 50 Hallmark gene sets 通路并富集:

## === HALLMARK通路富集
geneset "data/h.all.v2024.1.Hs.symbols.gmt")
table(geneset$term)
geneset$term "HALLMARK_","", geneset$term)

# 运行,输出全部结果
egmt colnames(egmt@result)
head(egmt[, 1:6])

3、使用 ggplot2 定制化绘图

取出绘图需要的列,并进行相关设置:

# 绘图
data "ID", "NES","setSize","pvalue")]
data$setSize_1 $setSize/10
head(data)

# 给Y轴的通路名设置为因子,排序
data $NES, decreasing = T),]
data$ID $ID, levels = data$ID)
data$xlab head(data)
summary(data$NES)
summary(data$setSize_1)

# 图中标出的通路名字
label "KRAS_SIGNALING_DN", "INTERFERON_ALPHA_RESPONSE",
  "UV_RESPONSE_DN""EMT""TNFA_SIGNALING_VIA_NFKB""MYC_TARGETS_V2",
  "KRAS_SIGNALING_UP""MYC_TARGETS_V1""G2M_CHECKPOINT""E2F_TARGETS" )

# 没有EMT通路
data_label $ID %in% label,]
data_label
# 图中通路的颜色
data_label$col "black", "grey80","grey80","grey80","grey80","#ffb882","grey80","#ff5eff","#ff5eff")

使用ggplot2绘图:

p   geom_point(aes(size = setSize_1, alpha = -log10(pvalue)), shape = 21, stroke = 0.7,fill = "#0000ff"






请到「今天看啥」查看全文


推荐文章
不正常人类研究中心  ·  终于知道为什么说俄语不用张开嘴了
昨天
冷兔  ·  以防你没见过马怎么刹车!
2 天前
英式没品笑话百科  ·  虫子看到巨猫的景象 -20250206132740
2 天前
不正常人类研究中心  ·  大家孤独的时候能不能带上我
3 天前
酱子工厂  ·  一个比一个2,笑傻!
8 年前
人称T客  ·  2017 年 ERP 发展的七大趋势
7 年前
毒舌美少女  ·  她说整容脸是p的……
7 年前