参考文章:GSEA学习笔记

老菜鸟做了几次GSEA分析,现在还没完全搞明白,之前写的记录有些杂乱,这里重新整理一下,以便以后学习。

1.使用GSEA软件进行绘图需要准备的文件。

该分析需要使用三个输入文件,分别是:

geneset文件:格式为.gmx,我经常用到的是自定义的,本次记录中使用的是ChIP-seq中鉴定出来的peak所对应的gene。

gene表达值文件:格式为.txt,本次用到的是RNA-seq中各样品的表达值FPKM;

分组信息:格式为.cls,一般自己制作,对分组、样品信息进行说明。

2. 准备gene表达值文件即FPKM值文件

需要使用的是RNA_seq中,各组样本所有的gene对应的FPKM值,因为各样本可能gene_list不一致,所以需要使用intersect函数先取交集,再合并保存输出。

#做差异分析时需要使用全部差异基因的表达值
#重新提取全部差异基因的表达值FPKM#关于FPKM值的说明
#在绘制heatmap热图时,需要使用差异基因所对应的FPKM值,该值的获取有几个办法:
#利用Stringtie的-A参数直接获得
#利用DESeq2的-FPKM参数由count转化获得
#利用ballgown包进行转化获得
#本次采用edgeR的方法获得#清空环境变量
rm(list=ls())
#获取当前工作目录
getwd()#对RNA_seq_2018_08_16各样品进行处理
##设置工作目录
setwd("G:/dongfeng/RNA-seq/2018_08_16/gene_tab/")
##将RNA_seq_2018_08_16分析得到的FPKM数据文件导入当前工作环境中
KD_scr_1.tab <- read.csv("G:/dongfeng/RNA-seq/2018_08_16/gene_tab/KD_scr_1.gene.tab",sep = "\t", header = TRUE)
KD_sh3_1.tab <- read.csv("G:/dongfeng/RNA-seq/2018_08_16/gene_tab/KD_sh3_1.gene.tab",sep = "\t", header = TRUE)
KD_sh4_1.tab <- read.csv("G:/dongfeng/RNA-seq/2018_08_16/gene_tab/KD_sh4_1.gene.tab",sep = "\t", header = TRUE)
##将数据中的FPKM值进行提取并更改对应的列名称
KD_scr_1.FPKM <- KD_scr_1.tab[,c(1,8)]
colnames(KD_scr_1.FPKM)[2] <- "KD_scr_1"
KD_sh3_1.FPKM <- KD_sh3_1.tab[,c(1,8)]
colnames(KD_sh3_1.FPKM)[2] <- "KD_sh3_1"
KD_sh4_1.FPKM <- KD_sh4_1.tab[,c(1,8)]
colnames(KD_sh4_1.FPKM)[2] <- "KD_sh4_1"
##提取各组相同gene_id以便进行合并
common_gene_group1_V1 <- intersect(KD_scr_1.FPKM$Gene.ID, KD_sh3_1.FPKM$Gene.ID)
common_gene_group1_V2 <- intersect(common_gene_group1_V1, KD_sh4_1.FPKM$Gene.ID)
##利用match函数对差异基因List信息(小文件)和FPKM值信息(大文件)进行提取
##利用match函数提取各样品中差异基因所在的行数并重新命名为row.NO文件
##match(x,y)函数输出结果:x向量在y向量中所处的位置,x向量元素不存在y向量中的返回NA
##match(x, table$i)函数输出结果:返回x向量在table中$i列中所处的位置
KD_scr_1_row.NO <- c(match(common_gene_group1_V2, KD_scr_1.FPKM$Gene.ID))
KD_sh3_1_row.NO <- c(match(common_gene_group1_V2, KD_sh3_1.FPKM$Gene.ID))
KD_sh4_1_row.NO <- c(match(common_gene_group1_V2, KD_sh4_1.FPKM$Gene.ID))
##根据以上行数,对各样品的FPKM值进行提取
##对RNA_seq_2018_08_16各样品的FPKM值进行提取
KD_scr_1_gene_FPKM <- na.omit(KD_scr_1.FPKM[KD_scr_1_row.NO ,])
KD_sh3_1_gene_FPKM <- na.omit(KD_sh3_1.FPKM[KD_sh3_1_row.NO ,])
KD_sh4_1_gene_FPKM <- na.omit(KD_sh4_1.FPKM[KD_sh4_1_row.NO ,])
##利用merge函数对各组实验的FPKM值进行合并
##merge(x,y, by="")
##对RNA_seq_2018_08_16各样品的FPKM值进行合并
group_1_gene_FPKM <- merge(merge(KD_scr_1_gene_FPKM, KD_sh3_1_gene_FPKM, by="Gene.ID"), KD_sh4_1_gene_FPKM, by="Gene.ID")##对RNA_seq_2020_12_17各样品进行处理
##设置工作目录
setwd("G:/dongfeng/RNA-seq/2020_12_17/gene_tab/")
##将2020_12_17分析得到的FPKM数据文件导入当前工作环境中
Rescue_W93A.tab <- read.csv("G:/dongfeng/RNA-seq/2020_12_17/gene_tab/Rescue_W93A.gene.tab",sep = "\t", header = TRUE)
Rescue_WT.tab <- read.csv("G:/dongfeng/RNA-seq/2020_12_17/gene_tab/Rescue_WT.gene.tab",sep = "\t", header = TRUE)
##将数据中的FPKM值进行整理
Rescue_W93A.FPKM <- Rescue_W93A.tab[,c(1,8)]
colnames(Rescue_W93A.FPKM)[2] <- "Rescue_W93A"
Rescue_WT.FPKM <- Rescue_WT.tab[,c(1,8)]
colnames(Rescue_WT.FPKM)[2] <- "Rescue_WT"
##提取各组相同gene_id以便进行合并
common_gene_group2_V1 <- intersect(Rescue_WT.FPKM$Gene.ID, Rescue_W93A.FPKM$Gene.ID)
##利用match函数对差异基因List信息(小文件)和FPKM值信息(大文件)进行提取
##利用match函数提取各样品中差异基因所在的行数并重新命名为row.NO文件
##match(x,y)函数输出结果:x向量在y向量中所处的位置,x向量元素不存在y向量中的返回NA
##match(x, table$i)函数输出结果:返回x向量在table中$i列中所处的位置
Rescue_WT_row.NO <- c(match(common_gene_group2_V1, Rescue_WT.FPKM$Gene.ID))
Rescue_W93A_row.NO <- c(match(common_gene_group2_V1, Rescue_W93A.FPKM$Gene.ID))
##根据以上行数,对各样品的FPKM值进行提取
Rescue_WT_gene_FPKM <- na.omit(Rescue_WT.FPKM[Rescue_WT_row.NO ,])
Rescue_W93A_gene_FPKM <- na.omit(Rescue_W93A.FPKM[Rescue_W93A_row.NO ,])
##利用merge函数对各组实验的FPKM值进行合并
##merge(x,y, by="")
group_2_gene_FPKM <- merge(Rescue_WT_gene_FPKM, Rescue_W93A_gene_FPKM, by="Gene.ID")#将各实验组全部差异基因对应的FPKM数据保存至GSEA文件夹中
##设置工作目录
setwd("G:/dongfeng/ChIP-seq/2019_10_23/GSEA/")
write.table(group_1_gene_FPKM, file = "G:/dongfeng/ChIP-seq/2019_10_23/GSEA/group_1_gene_FPKM.txt", row.names = FALSE, quote = FALSE, sep = "\t")
write.table(group_2_gene_FPKM, file = "G:/dongfeng/ChIP-seq/2019_10_23/GSEA/group_2_gene_FPKM.txt", row.names = FALSE, quote = FALSE, sep = "\t")

3. 准备需要的geneset文件即gene_list名称

本次将ChIP-seq中鉴定的peak对应的gene作为待检gene。

#导入特定基因list
##设置工作目录
setwd("G:/dongfeng/ChIP-seq/2019_10_23/peakanno/")
##将各实验组的差异基因导入当前工作环境
geneset <- read.csv("G:/dongfeng/ChIP-seq/2019_10_23/peakanno/H3K18cro_peakAnno_V3.txt")##将genesymbol进行提取
genesymbol <- geneset[,2]##查看各差异基因名信息
View(genesymbol)##对基因名称进行保存
# 保存差异gene_symbol以便后续处理
write.csv(genesymbol, "G:/dongfeng/ChIP-seq/2019_10_23/GSEA/genesymbol.gmx", quote = FALSE, row.names = FALSE)

3. 准备分组信息文件

第一行: 样品数目(4)、分组数目(2)、固定数值(1)
第二行: #号必须有、 分组名称
第三行:每个样品对应的分组名称

4. 利用GSEA软件进行GSEA作图

  • 导入基因表达文件(.txt)、分组信息文件(cls)和geneset文件(.gmx)
  • 按下图方式设置各个参数
  • 运行输出分析结果,查看index.htlm文件的结果信息

CHIP-seq流程学习笔记(11)-使用GSEA软件进行GSEA分析相关推荐

  1. CHIP-seq流程学习笔记(7)-热图软件 deeptools

    参考文章: ChIP-seq操作记录 如何使用deeptools处理BAM数据 用deeptools绘制基因组位置的信息 高通量测序数据处理学习记录(四):DeepTools学习笔记 deepTool ...

  2. RNA-seq流程学习笔记(7)-使用Hisat2进行序列比对

    参考文章: RNAseq(4)–Hisat2进行序列比对及Samtools格式转化 RNA-seq(5):序列比对:Hisat2 hisat2比对软件将reads比对到参考基因组 hisat2比对 R ...

  3. HALCON 20.11:深度学习笔记(11)---目标检测

    HALCON 20.11:深度学习笔记(11)---目标检测 HALCON 20.11.0.0中,实现了深度学习方法. 本章讲解了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在图像中找到不 ...

  4. 从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---11. MVC功能之http请求处理器的编写---简易框架最后一公里!

    从零写一个具有IOC-AOP-MVC功能的框架-学习笔记 专栏往期文章链接: IOC功能相关章节: 从零写一个具有IOC-AOP-MVC功能的框架-学习笔记-01.项目初始化 从零写一个具有IOC-A ...

  5. 影像组学视频学习笔记(11)-支持向量机(SVM)(理论)、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(11)主要介绍: SVM支持向量机(理论) 支持向量机 (support vector machine, SVM) 号称是鲁棒性(rob ...

  6. SpringMVC:学习笔记(11)——依赖注入与@Autowired

    SpringMVC:学习笔记(11)--依赖注入与@Autowired 使用@Autowired 从Spring2.5开始,它引入了一种全新的依赖注入方式,即通过@Autowired注解.这个注解允许 ...

  7. Hadoop学习笔记—11.MapReduce中的排序和分组

    Hadoop学习笔记-11.MapReduce中的排序和分组 一.写在之前的 1.1 回顾Map阶段四大步骤 首先,我们回顾一下在MapReduce中,排序和分组在哪里被执行: 从上图中可以清楚地看出 ...

  8. 台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network

    台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network 本博客主要整理自: http://blog.csdn.net/x ...

  9. CHIP-seq流程学习笔记(13)-ATAC_seq 数据加工处理

    今天第一次尝试处理ATAC_seq数据,希望能尽快做完吧. 先放个找好的参考文章:ATAC-seq/ChIP-seq分析方法 1.建立相应目录 对新数据建立对应实验人员(zhaoyingying).测 ...

  10. CHIP-seq流程学习笔记(3)-比对软件 bowtie2

    参考文章: bowtie2使用手册 老菜鸟终于开始进行CHIP-seq的学习啦,又是开始学习新的软件.不过现在感觉没那么头大了,毕竟前边学了一些了.先做些简单的记录吧. 1.安装软件 安装仍然在服务器 ...

最新文章

  1. Python数据分析学习文章归纳
  2. node学习笔记--模块加载
  3. xms跨平台基础框架 - 基于.netcore
  4. 直接在低版本IE6/7/8浏览器中使用HTML5的audio和video标签播放视频音频的办法
  5. windows下编译64位程序时没有没_WIN32定义
  6. 2022-03-21 转载办公室之常用职位(英汉)
  7. 树莓派安装FFTW,linux安装库不生成.so库,拷贝.so .a,按时间查看文件的命令
  8. (可再看)深度学习学习笔记(1)
  9. VOCALOID笔记
  10. 【maya】学习历程
  11. 安装UWB定位系统设备需要注意什么?
  12. 浅谈人脸识别技术原理分析
  13. 隐马尔可夫模型简单介绍
  14. VB编程:取整函数Int、CInt、Fix区别-30
  15. 中外大都市人口密度的数据比较
  16. python的爬虫攻击
  17. 斐讯n1刷鸿蒙系统,【总结】在N1上面成功刷入armbian并启动的步骤
  18. Visual Studio 2013 Ultimate 激活码
  19. 流水线生产流程与批量生产流程的优缺点
  20. 某次ctf 中crypto的基础题

热门文章

  1. MDT修改部署时的背景图
  2. Linux中hosts文件的修改
  3. 《Python算法教程_中文版》pdf
  4. Go语言开发实战课后编程题
  5. verilog qpsk调制解调
  6. SQLyog安装教程
  7. 分享400个微信小程序模板和小程序设计模板
  8. bp神经网络预测模型原理,神经网络模型怎么预测
  9. 草蟒python汉化版_草蟒首页、文档和下载 - Python 汉化版 - OSCHINA - 中文开源技术交流社区...
  10. bios开启虚拟化技术