(视频教程)单细胞转录组多组差异基因分析及可视化函数

news2024/10/6 10:50:53

很久以前,我们发布过一个单细胞多组差异基因可视化的方法。跟着Cell学单细胞转录组分析(八):单细胞转录组差异基因分析及多组结果可视化。主要复现参考的是这篇发表在《Cell》上的文章。可以将多个组的差异结果展示出来。

图片

(reference:A Spatiotemporal Organ-Wide Gene Expression and Cell Atlas of the Developing Human Heart)

这里我们对之前的帖子进行更新,主要是解决之前的一些问题,让作图更加清晰正确。此外,我们直接将差异基因的分析和可视化包装成一个通用的函数,函数有一定的可调节性。

函数解释如下:

图片

函数的使用视频见B站:

https://www.bilibili.com/video/BV19w411D7qZ/?spm_id_from=333.999.0.0

接下来我们测试一下:这里差异基因的分析使用的是Seurat的Findmarkers函数,所以一些参数和Findmarkers是一样的,自行调节。最好可以将logfc.threshold和min.pct设置为0,这样就可以获得所有的基因,这个结果我们函数是直接保存在相关路径中的,那么这么做有什么用呢?这个结果可以进行富集分析,更重要的是可以进行GSEA分析(复现Nature图表:GSEA分析及可视化包装函数(视频教程)GSEA分析可视化函数/棒棒糖图展示富集结果)。

KS_scRNA_multiVlnvo_plot(Seurat_object = uterus,                         DEGs_outdir = "./",                         DEGs_list=F,                         min.pct = 0.3,                         logfc.threshold = 0.3,                         test.use = "wilcox",                         group = "orig.ident",                         ident.1 = "EEC",                         ident.2 = "HC",                         logFC_cut = 0.3,                         top_gene=T,                         text_size = 3,                         height = 0.3)

图片

很显然,由于不知道差异结果如何,所以上面的图参数没有调整,不是很好,我们需要进行细节调整。可是如果是这样的话,难道又要跑一遍差异基因分析吗?显然是很麻烦的,我们可考虑到这个问题。还记得上一步我们差异基因结果已经保存了吗,接下来只需要作图的话dges参数设置为刚才保存的差异结果,DEGs_list设置为T。

KS_scRNA_multiVlnvo_plot(Seurat_object = uterus,                         DEGs_list=T,                         dges = sce_DEGs,                         logFC_cut = 0.3,                         top_gene=T,                         text_size = 3,                         height = 0.8)

图片

然后,我们还可以调整x轴cluster的顺序,调整label。​​​​​​​

KS_scRNA_multiVlnvo_plot(Seurat_object = uterus,                         DEGs_list=T,                         dges = sce_DEGs,                         logFC_cut = 0.3,                         top_gene=T,                         text_size = 3,                         xlabel = c("SMC","Ly","UEC","SF","CEP","EC","MAC"),                         idents_level = c("Smooth muscle cells","Lymphocytes",                                          "Unciliated epithelial cells","Stromal fibroblasts",                                          "Ciliated epithelial cells","Endothelial cells","Macrophages"),                         height = 0.8)

图片

最后,标记的基因也可以自选。

​​​​​​​

KS_scRNA_multiVlnvo_plot(Seurat_object = uterus,                         DEGs_list=T,                         dges = sce_DEGs,                         logFC_cut = 0.3,                         text_size = 3,                         xlabel = c("SMC","Ly","UEC","SF","CEP","EC","MAC"),                         idents_level = c("Smooth muscle cells","Lymphocytes",                                          "Unciliated epithelial cells","Stromal fibroblasts",                                          "Ciliated epithelial cells","Endothelial cells","Macrophages"),                         height = 0.8,                         top_gene = F,                         label_gene = c("ACTA2", "RGS5","MS4A6A", "CD68","LYZ",                                        "CCL5", "STK17B","PTPRC","DCN", "COL6A3",                                         "LUM","PECAM1","PCDH17", "VWF","EPCAM",                                         "CDH1","FOXJ1","CDHR3","DYDC2"))

图片

好了,这就是这个函数的所有内容了,如果觉得分享有用,点个赞再走呗!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/939638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

夜莺项目发布 v6.1.0 版本,增强可观测性数据串联

大家好,夜莺项目发布 v6.1.0 版本,这是一个中版本迭代,不止是 bugfix 了,而是引入了既有功能的增强。具体增强了什么功能,下面一一介绍。 1. 增强可观测性数据串联 从 v6.1.0 开始,对日志索引模式做了增强…

TS-小技巧-持续更新

文章目录 一、类型小技巧1. Partial 的应用2. Pick 的应用3. Parameters 的应用4. ReturnType 的应用 一、类型小技巧 1. Partial 的应用 interface User {name: string;age: number;address: string}获取接口User的所有属性,且不确定属性是否全部需要: type UserP…

ceph peering机制-状态机

本章介绍ceph中比较复杂的模块: Peering机制。该过程保障PG内各个副本之间数据的一致性,并实现PG的各种状态的维护和转换。本章首先介绍boost库的statechart状态机基本知识,Ceph使用它来管理PG的状态转换。其次介绍PG的创建过程以及相应的状…

Element-Ul中的Mess消息不能正常显示

项目场景 注册 使用Element-Ul中的表单&#xff0c;Mess消息不能正常显示 预计效果 Part1 问题1 给按钮添加Mess消息提示,有反应&#xff0c;但不是预期反应&#xff0c;就没看到页面上方的提示框&#xff0c;就是滚动条一直上下动 后来发现是提示框都在下面出现了 <scr…

IdentityServer密码长度超长会导致跳转到登录页

应用系统项目的安全要求越来越高&#xff0c;基本都是采取https等加密证书传输&#xff0c;无法使用https的&#xff0c;也是要求不能明文传输内容&#xff0c;因此做一些等保要求&#xff0c;密码需要加密后才能传输给服务端&#xff0c;所以前端会采取一些密码手段&#xff0…

C# Linq源码分析之Take(四)

概要 本文主要对Take的优化方法进行源码分析&#xff0c;分析Take在配合Select&#xff0c;Where等常用的Linq扩展方法使用时候&#xff0c;如何实现优化处理。 本文涉及到Select, Where和Take和三个方法的源码分析&#xff0c;其中Select, Where, Take更详尽的源码分析&…

数据结构--树4.2.2(二叉树--遍历)

目录 一、二叉树的建立 二、二叉树的遍历算法 一、二叉树的建立 CreateBitree(Bitree *t){char c;scanf("%c",&c);if( c){*t NULL;}else{*t(Bitnode*)malloc(sizeof(Bitnode));(*t)->data c;CreateBitree(&(*t)->lchild);CreateBitree(&(*t)-&…

机器学习——KNN回归

1、前提知识&#xff1a; 回归&#xff1a;可以理解为拟合&#xff0c;就是根据训练数据的趋势&#xff0c;对输入数据进行预测。KNN回归&#xff1a;是一种有监督学习&#xff0c;因为需要提供目标数据&#xff08;target&#xff09; 2、案例&#xff1a; 用KNN回归拟合sin…

爬虫异常处理之如何处理连接丢失和数据存储异常

在爬虫开发过程中&#xff0c;我们可能会遇到各种异常情况&#xff0c;如连接丢失、数据存储异常等。本文将介绍如何处理这些异常&#xff0c;并提供具体的解决代码。我们将以Python语言为例&#xff0c;使用requests库进行网络请求和sqlite3库进行数据存储。 1. 处理连接丢失 …

高忆管理:新手炒股入门零基础学?

炒股是一些人为了取得高额回报和更好的财政自由而进行的活动。但对许多新手而言&#xff0c;这是一个全新的领域&#xff0c;需求掌握许多根底常识才能够开始加入炒股商场。本文将为零根底的新手炒股入门供给一些主张和技巧&#xff1a; 一、学习根底常识 关于炒股入门的新手而…

Android 绘制之文字测量

drawText() 绘制文字 绘制进度条:paint.strokeCap Paint.CAP.RONUD 线条两边样式 设置文字字体:paint.typeFace Resources.Compat.getFont(context,font) 设置加粗 paint.isFakeBoldText 设置居中: paint.setTextAlign Paint.Align.CENTER //居中, 并不是真正的居中 往…

项目经理——任劳任怨的“背锅侠”

很多人可能觉得项目经理在工作中只需要动动嘴皮子&#xff0c;然后跟其他关系人搞好关系就行了&#xff0c;但是其实他们负责整个项目的规划、执行和交付&#xff0c;是整个项目顺利进行的关键。然而&#xff0c;在项目中面临着各种各样的挑战和压力。那么&#xff0c;作为项目…

[ES]安装es、kibana、ik分词器

一、安装es和kibana 1、创建一个网络&#xff0c;网络内的框架(eskibana)互联 docker network create es-net 2、下载es和kibana docker pull elasticsearch:7.12.1 docker pull kibana:7.12.1 3、运行docker命令部署单点eskibana&#xff08;用来操作es&#xff09; doc…

软件开发管理全过程文件、验收材料支撑下载

一、前言 软件开发工作中&#xff0c;在#夏天生活图鉴#计划&#xff0c;需求分析&#xff0c;开发实施&#xff0c;测试&#xff0c;评审&#xff0c;交付验收&#xff0c;以及投标等其他过程中&#xff0c;会产生大量的文档&#xff0c;为了规范项目整个流程&#xff0c;亦或是…

Elasticsearch 集成--Flink 框架集成

一、Flink 框架介绍 Apache Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。 Apache Spark 掀开了内存计算的先河&#xff0c;以内存作为赌注&#xff0c;赢得了内存计算的飞速发展。 但是在其火热的同时&#xff0c;开发人员发现&#xff0c;在 Spark …

青蛙趣味支付页html源码

青蛙因生活所迫卖儿卖HTML单页源码.zip - 蓝奏云 源码自适应窗口&#xff0c;电脑和手机&#xff0c; 适合作为网站下载页&#xff0c;用于增加支付率 &#xff08;终于写好了&#xff0c;不太想写&#xff09;

3.3 运算符和表达式

前言&#xff1a; 几乎每一个程序都需要进行运算&#xff0c;对数据进行加工处理&#xff0c;否则程序就没有意义了。要进行运算&#xff0c;就需规定可以使用的运算符。C语言的运算符范围很宽&#xff0c;把除了控制语句和输入输出以外几乎所有的基本操作都作为运算符处理&am…

【百度之星2023】初赛第一场 补题(部分)

目录 BD202301 公园BD202302 蛋糕划分解法1TODO 解法2 TODO BD202303 第五维度TODO BD202304 流水线搭积木BD202305 糖果促销 不幸因为码蹄集客户端的bug&#xff0c;导致没法正常参与比赛&#xff0c;只好事后补了 BD202301 公园 样例输入&#xff1a; 4 4 3 1 2 8 8 1 4 2 …

AD如何进行汉化

AD如何进行汉化 通过安装好AD后&#xff0c;默认都是英文界面模式&#xff0c;如果想汉化为中文模式&#xff0c;需要点击“DXP”->“参数选择”&#xff0c;打开界面如下&#xff1a; 然后将上图“本地化”下面的方框勾选上&#xff0c;点击“应用”&#xff0c;“确定”…

Java通过报表技术JXL和POI实现Excel导入导出操作

前言 报表[forms for reporting to the higher organizations]&#xff0c;就是向上级报告情况的表格。简单的说&#xff1a;报表就是用表格、图表等格式来动态显示数据&#xff0c;可以用公式表示为&#xff1a;“报表 多样的格式 动态的数据”。 注意&#xff1a;使用附件…