Monocle2拟时基因富集分析

这篇具有很好参考价值的文章主要介绍了Monocle2拟时基因富集分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

****Monocle2全部往期精彩系列
1、群成员专享:Monocle2更新(就是重新梳理一下)
2、一键跑完monocle2?
3、ggplot2个性可视化monocle2结果
4、ggplot修饰monocle2拟时热图:一众问题全部解决
5、Monocle2终极修改版
6、单细胞拟时分析:基因及通路随拟时表达变化趋势
Monocle2拟时分析及可视化我们整了好多呀,算是整明白了吧。上一期我们做了Monocle3的拟时基因富集分析(Monocle3个性化分析作图:拟时热图/拟时基因GO分析/拟时基因趋势分析)。Monocle2的还没有做过,这里我们演示下,其实方法是一样的。monocle2拟时热图修饰我们已经做过了。这里的演示我们不再使用修饰,用monocle2本来的拟时热图绘制函数进行,然后通过聚类不同的module提取基因进行富集分析。本贴涉及到几个修改函数和自写函数的加载,数据代码已上传QQ群! 接下来我们就具体看看做法,首先还是做热图。这里我们用R包里面的plot_pseudotime_heatmap函数即可。


#以下是monocle2做热图的代码,很常规的操作
library(monocle)
library(Seurat)
library(dplyr)
library(viridis)
library(pheatmap)
library(grid)
#======================================================================================

setwd("D:/KS项目/公众号文章/monocle2拟时热图富集分析")
mouse_monocle <- readRDS("D:/KS项目/公众号文章/monocle2拟时结果个性化作图/mouse_monocle.rds")
peu_gene <- differentialGeneTest(mouse_monocle,fullModelFormulaStr = "~sm.ns(Pseudotime)",cores = 2)
write.csv(peu_gene,file='peu_gene.csv')#保存好文件,这个分析过程挺费时间

peu_gene <- read.csv('peu_gene.csv', header = T, row.names = 1)
peu_gene <- peu_gene[which(peu_gene$qval<0.01 & peu_gene$num_cells_expressed>100),]#筛选显著是的
peu_gene %>% arrange(qval)  -> peu_gene#按照qval排个序
peu_gene <- peu_gene[1:100,] #这里我们取前100个基因演示

#热图的做法就很多了,可以用它默认的函数,也可以用我们讲过的ggplot或者pheatmap自己修饰
p <-plot_pseudotime_heatmap(mouse_monocle[peu_gene$gene_short_name,],
                            num_clusters = 4,
                            cores = 2,
                            show_rownames = T,return_heatmap =T,
                            hmcols = viridis(256),
                            use_gene_short_name = T)

p

class(p)
# [1] "pheatmap"

Monocle2拟时基因富集分析

image.png

plot_pseudotime_heatmap函数好像并不能选择性展示感兴趣的基因,然而提取数据用pheatmap或者ggplot作图我们也做过了,这里再去修饰一遍展示没有必要,我就想用monocle2包热图函数完成。class一下plot_pseudotime_heatmap函数的产生的图,发现是pheatmap对象,查看作者的原函数也发现这个热图作者是基于pheatmap做的,那就好办了,如果连续阅读我们帖子的小伙伴可能会想到,我们之前写过一篇帖子:学习nature medicine函数:热图标记任意基因,这里面我们引用了一个文章提供的函数,可以很方便的为pheatmap标记基因。。然而呢,由于上图是分裂的,所以这个函数效果不好,那么办法要么就是修改这个添加基因的函数,另一个方法就是修改plot_pseudotime_heatmap函数。权衡之下,偷懒的我选择了修改plot_pseudotime_heatmap函数,因为它好修改!


#改造热图函数,展示需要的基因
source('./new_heatmap.R')
p1 <-plot_pseudotime_heatmap(mouse_monocle[peu_gene$gene_short_name,],
                            num_clusters = 4,
                            cores = 2,
                            show_rownames = T,return_heatmap =T,
                            hmcols = viridis(256),
                            use_gene_short_name = T)


p1

Monocle2拟时基因富集分析

image.png

这样就既有基因分组注释,但是热图行不会分裂开。下面使用add.flag.R函数标记感兴趣基因。

#只展示感兴趣的基因
genes <- c("Cxcr2","Celf2","Gsr","Sorl1","Ftl1","Ptprc",
           "Cst3","Il1b","Fgl2","Sirpb1c","Maml3","Peak1",
           "Orm1","H2afz","Cpa6","Ica1","Fmnl2","Cpne3",
           "Anxa3","Tbc1d8","Camp","Mmp8","S100a8","S100a9")

source('./add.flag.R')
add.flag(p,kept.labels = genes,repel.degree = 0.2)

Monocle2拟时基因富集分析

image.png

接下来就是提取module基因进行富集分析了,我们直接包装为一个函数Monocle2_gene_enrichment.R,直接运行即可,当然有个限制我们只写了GO富集分析,感兴趣可以自己添加KEGG或者其他的分析。


#提取module基因,进行富集分析

library(clusterProfiler)
library(ggplot2)
source('./Monocle2_gene_enrichment.R')
GOannlysis <- Monocle2_gene_enrichment(p,knum=4,species='org.Mm.eg.db',
                                       pvalueCutoff=0.05,
                                       qvalueCutoff=0.05)

table(GOannlysis$Cluster)#module1基因最少,没有显著性富集
# 1  2  3  4 
# 0 76 43 77 
write.csv(GOannlysis, file = 'GOannlysis.csv')

Monocle2拟时基因富集分析

image.png

最后,将热图在AI中修饰,旁边展示富集通路,这个图就完整了。好了,这就是monocle2的全部内容了,觉得分享对您有帮助的,点个赞分享下再走呗!文章来源地址https://www.toymoban.com/news/detail-481663.html

到了这里,关于Monocle2拟时基因富集分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GSEA富集分析结果详解

    1. GSEA富集分析原理图 2. GSEA富集分析过程 1. 计算富集分数(ES) 富集分数:S 反应基因集(比如某个通路内的基因集)成员 s 在排序基因集 L(比如根据 logFC 排序的差异基因集,默认降序,所以上调基因在顶端)的两端富集的程度。富集得分 ES 最后定义为最大的peak值。正值

    2024年02月13日
    浏览(39)
  • 生信数据分析——GO+KEGG富集分析

    1.1 为什么要做功能富集分析? 转录组学数据得到的基因非常多,面对大量的基因无法做到挨个研究其功能,因此为了研究基因所具有的功能,将部分功能相似的基因进行归类,这样具有相似功能的基因就被放在一起,构成了一个通路,从而减少工作量,并可以实现功能和表

    2024年04月12日
    浏览(33)
  • GWAS分析中的GO和KEGG富集分析

    上一次,我们介绍如何根据显著性snp,使用bedtools根据上下游距离,根据gff文件注释基因。 这一次,介绍一下如何根据注释的基因,进行富集分析,主要是看一下GWAS定位的基因有没有某一个趋势,也算是一种验证的方法。比如籽粒大小找到的30个候选基因,如果都与籽粒发育

    2024年02月05日
    浏览(33)
  • 生信学习之通路富集一(GO分析)

    富集分析 (Enrichment Analysis)是一种广泛应用于生物信息学研究的统计方法,主要用于检验一个基因集合中某些功能或特征的富集程度。富集分析的主要目的是从大量基因数据中找出有生物学意义的模式和功能。根据分析的目标和方法,富集分析可以分为以下几种类型: 基因

    2024年02月09日
    浏览(34)
  • 生存分析 存活分析 survival analysis 基因的 高低表达生存分析 按照基因表达量的高低做生存分析 批量基因批量生存分析 做生存分析,已经不需要正常样本的表达矩阵了,所以需要过滤

    survival analysis only for patients with tumor. 数据准备: 1.phe 临床信息 dataframe格式 。行名顺序要与表达矩阵样本顺序一致 , #####至少包括是否死亡event 生存时间time 以及分类标准(基因高低 肿瘤分期 是否转移等) 2.表达矩阵 临床信息 meta信息 给感兴趣的指标进行赋值 画另外一个基

    2024年02月06日
    浏览(76)
  • KEGG更新后富集分析的问题,包括下载包以及enrichKEGG和可视化

    运行以下代码出现报错,探究原因: 出现以下报错: 进行解决,查到第一个解决方法是把阈值降低,即将 pvalueCutoff = 0.01,qvalueCutoff = 0.05, 修改为: pvalueCutoff = 0.2,qvalueCutoff = 0.2, 但是依旧有以上报错,不断尝试网上的方法依然有问题,发现还是clusterProfiler包的问题,昨天在进

    2024年02月10日
    浏览(34)
  • 实战 lasso特征筛选得到5个基因 cox单因素分析得到很多有意义的基因 如何lasso筛选特征基因 然后再进行cox多因素分析

    二、为什么需要用 Lasso + Cox 生存分析模式 一般我们在筛选影响患者预后的变量时,通常先进行单因素Cox分析筛选出关联的变量,然后构建多因素模型进一步确认变量与生存的关联是否独立。 但这种做法没有考虑到 变量之间多重共线性的影响 ,有时候我们甚至会发现单因素

    2024年02月01日
    浏览(38)
  • 表达矩阵任意两个基因相关性分析 批量相关性分析 tcga geo 矩阵中相关性强的基因对 基因相关性 ecm matrisome与gpx3

    使用场景 1.已经确定研究的基因,但是想探索他潜在的功能,可以通过跟这个基因表达最相关的基因来反推他的功能,这种方法在英语中称为 guilt of association,协同犯罪 。 2.我们的注释方法依赖于TCGA大样本,既然他可以注释基因,那么任何跟肿瘤相关的基因都可以被注释,

    2024年02月01日
    浏览(56)
  • 植物根系基因组与数据分析

    这段内容主要是关于植物对干旱胁迫的反应,并介绍了生活在植物体内外以及根际的真菌和细菌的作用。然而,目前对这些真菌和细菌的稳定性了解甚少。作者通过调查 微生物群落组成和微生物相关性 的方法,对农业系统中真菌和细菌 对干旱的抗性和恢复力 进行了研究。研

    2024年02月10日
    浏览(35)
  • GEO生信数据挖掘(七)差异基因分析

    上节,我们使用结核病基因数据,做了一个数据预处理的实操案例。例子中结核类型,包括结核,潜隐进展,对照和潜隐,四个类别。本节延续上个数据,进行了差异分析。 加载数据 构建差异比较矩阵 计算差异基因指标 #绘制前40个基因在不同样本之间的热图 差异基因分析

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包