前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >干扰MYC-WWP1通路重新激活PTEN的抑癌活性——3步搞定GSEA分析

干扰MYC-WWP1通路重新激活PTEN的抑癌活性——3步搞定GSEA分析

作者头像
生信技能树
发布2019-06-10 15:38:16
1K0
发布2019-06-10 15:38:16
举报
文章被收录于专栏:生信技能树生信技能树

你好啊,欢迎来到周一数据挖掘专栏,我是新学徒Christine,很高兴和你一起学习! 以后将由我负责带领大家进行数据挖掘实战训练。 菜鸟团(周一数据挖掘专栏)成果展 (如果大家感兴趣前面学徒的教程,可以收藏学习)

继上周的免疫治疗明星分子PD-L1,这周我们来看癌症中另一个“闪耀的明星”PTEN的新研究,文章标题是:Reactivation of PTEN tumor suppressor for cancer treatment through inhibition of a MYC-WWP1 inhibitory pathway,上个月发表于Science。。

文章简介

PTEN(Phosphatase And Tensin Homolog)是一个重要的抑癌基因,编码的蛋白具有蛋白磷酸酶和脂质磷酸酶活性,能拮抗PIK3-AKT信号通路,调控细胞增殖、生长和代谢。PTEN在多种肿瘤中发生高频突变,但通常没有发生完全失去活性,多表现为单等位基因上的功能缺失,亚细胞定位异常,或者发生特殊的翻译后修饰,因为完全的PTEN缺失会给癌细胞带来衰老问题,当然这也给靶向PTEN的治疗带来了机会。

研究目的:已知PTEN发挥功能需要细胞质膜上形成二聚体,但原因未知。作者希望找到调控PTEN二聚化及膜定位的机制,进而研究出恢复PTEN活性的方式。

文章大致思路:

  • 作者对PTEN进行共免疫沉淀,找到一个与PTEN直接物理互作的蛋白WWP1(E3泛素连接酶)
  • 证明WWP1引起PTEN聚泛素化,从而抑制PTEN的二聚化和膜定位,使其不能发挥抑癌作用
  • 发现并验证MYC-WWP1-PTEN调控信号链
  • 通过结构模拟和生化分析得到一个WWP1的潜在抑制剂IC3(来源于十字花科蔬菜)

本次我们复现的图是Fig4F:野生型和Wwp1敲除小鼠RNA-seq的GSEA分析图,用于说明Wwp1敲除影响PI3K-AKT信号通路。

Fig4

Step1. 下载数据

野生型和Wwp1敲除小鼠的RNA-seq数据存放在GSE126789,但是作者没有给整理好的Matrix文件,需要下载GSE126789_RAW.tar自己整理一下。

代码语言:javascript
复制
rm(list = ls())  
options(stringsAsFactors = F)
# 下载GSE126789_RAW.tar
# 批量读取文件处理为表达矩阵
dir <- "./raw_data/GSE126789_RAW/"

files <- list.files(path = dir, pattern = "*wwp1.*.txt.gz", recursive = T) #找到wwp1的WT和敲除样本
expr <- lapply(files,
               function(x){
                 # 只读取基因名和count
                 expr <- read.table(file = file.path(dir,x), sep = "\t", header = T, stringsAsFactors = F)[,c(1,7)]
                 return(expr)
               })
df <- do.call(cbind, expr)
rownames(df) <- df[,1]
df <- df[,seq(2,ncol(df),by=2)] #去掉重复读取的基因名
colnames(df) <- substr(files,1,10) #列名为样本名
df <- df[apply(df, 1, sum)!=0,] #去掉在所有样本中count都为0的基因
grouplist <- c(rep("KO",3),rep("WT",3)) #记录下分组信息

expr <- df
save(expr,grouplist,file = "./expr_group.Rdata")

Step2. 差异表达分析

上一步中得到的是原始的count,可以直接用Deseq2进行差异分析,用edgeRlimma中的voom方法也是可以的,但是要记得标准化表达数据。

代码语言:javascript
复制
## 差异分析
#原始的count可以用DESeq2做差异分析,表达矩阵需要为integer
exprSet <- apply(expr, 2, function(x){as.integer(x)})
rownames(exprSet) <- rownames(expr)
library(DESeq2)

colData <- data.frame(row.names=colnames(exprSet), 
dds <- DESeqDataSetFromMatrix(countData = exprSet,
                              colData = colData,
                              design = ~ group_list)
#使用DESeq函数进行估计离散度,然后进行标准的差异表达分析,得到res对象结果
dds <- DESeq(dds)
res <- results(dds, 
               contrast=c("group_list","KO", "WT")) #提取差异分析结果
DEG <- as.data.frame(res)
DEG <- na.omit(DEG)
nrDEG <- DEG[,c(2,6)] #第6列是padj

Step3. GSEA分析

GSEA:Gene Set Enrichment Analysis,一种基于基因集的富集方法,简单来说就是使用预定义的基因集(一般来自MSigDB数据库),将基因按照某种指标排序,查看这些基因在关注的基因集中是否出现显著统计学富集。

关于GSEA需要了解的内容很多,我把一些相关的资料放在了文末,大家一起学习!

这里我直接用了clusterProfiler包,按照log2FoldChange对基因排序,结果看起来还可以。

代码语言:javascript
复制
library(clusterProfiler)
BiocManager::install("org.Mm.eg.db") # 下载小鼠的OrgDB包
library("org.Mm.eg.db") 

#将ENSEMBL ID转换为ENTREZID,用于GSEA分析
eg <- bitr(geneID = rownames(nrDEG), fromType = "ENSEMBL", toType = "ENTREZID", 
           OrgDb = org.Mm.eg.db)
nrDEG$EZTREZID <- eg[match(rownames(nrDEG),eg$ENSEMBL),2]
nrDEG <- na.omit(nrDEG[order(nrDEG$log2FoldChange,decreasing = T),])
# 得到一个按log2FoldChange排序的genelist
gene_list <- nrDEG$log2FoldChange 
names(gene_list) <- nrDEG$EZTREZID

# GSEA分析
kk <- gseKEGG(gene_list, organism = "mmu")
gesa_res <- kk@result
# 画PI3K-AKT的GSEA图,编号为“mmu04151”
gseaplot(kk, "mmu04151", by = "runningScore",
          title = "KO vs WT \nKEGG PI3K/AKT Signaling Pathway")

GSEA

和文章中的图基本一致,文中Fig5I还有2张类似的GSEA图,只是选用的样本不同,有兴趣的小伙伴可以做一下试试~

Fig5

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章简介
  • Step1. 下载数据
  • Step2. 差异表达分析
  • Step3. GSEA分析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档