nature级别图表:单细胞转录组细胞比例统计可视化函数

news2024/10/9 0:45:19

单细胞转录组细胞比例:

关于单细胞比例的计算和作图我们之前出过3期,单细胞比例的展示是很多单细胞文章必不可少的内容:
跟着Cell学单细胞转录组分析(六):细胞比例计算及可视化
相信跟着学习的小伙伴已经掌握了。最近学习一篇《nature medicine》的文章,标题是:A single-cell atlas of the peripheral immune response in patients with severe COVID-19。单细胞比例的展示可以是柱状图,也可以是统计散点图。而当你是多样本,尤其是类似于这篇NM的文章,需要与对照相比统计的时候,使用统计检验的三点图就相当重要了(跟着Cell学单细胞转录组分析(六):细胞比例计算及可视化)。 可是有一个问题,就是每当你要进行一个数据集的统计的时候,都要修改很多参数,很麻烦,有时候还不一定正确。这篇NM中提供了一种函数,但是只适用于这篇文章的数据集,群主对函数进行了修改再造,将其改成了一个适用于普遍数据集的函数,也算是半原创吧!以后作图只需要调用函数即可,修改一两个参数!

前面虽说这个函数是通用型的,但是有两个条件,第一个是你的metadata中细胞类型那一列的列名需要是celltype,一般人在分析的时候应该都是这样命名的,但是总是有特殊的,所以在函数中我也注明了需要按照自己习惯修改的地方。第二个是orig.ident需要有一个对应的group,也就是样本分组,orig.ident就相当于重复。 将函数放在一个文件夹,可以专门建立一个,source加载函数:

library(Seurat)
library(dplyr)
library(reshape2)
library(plyr)
library(ggplot2)
setwd("D:/KS项目/公众号文章/单细胞比例统计函数")
source("./Singlecellratio_plotstat.R")
my_comparisons <- list(c("BM", "GM"))#我这里只有两组,如果是多组,这里设置相互比较对

先做一个柱状图,柱状图的参数是color.by=”cell.type“,这是固定的。这里细胞类型的颜色我是固定了的,设置了有20几种颜色,如果你自己需要修改,只需要在后面加sacle_fill_manual函数修改即可。scedata是定好细胞群的单细胞seurat对象。


Singlecellratio_plotstat(scedata, group_by = "group",
                         meta.include = c("group","orig.ident"),
                         color_by = 'cell.type')

将color.by参数设置为group,增加comparisons参数(比较设置),group_by.point设置为orig.ident, label.x = 1, pt.size = 3(点大小),label有两种选择,p.signif是显示*,p.format显示p值。ncol是显示的散点箱线图的排列行数,可自行设置数目。同样的,分组颜色我默认设置了6种,如果需要修改,在后面+sacle_color_manual函数修改。

Singlecellratio_plotstat(scedata, group_by = "group",
                         meta.include = c("group","orig.ident"),
                         comparisons = my_comparisons, color_by = 'group',
                         group_by.point = "orig.ident",label.x = 1, pt.size = 3,
                         label = 'p.format', ncol =3)

其他参数不变,我们将color.by参数设置orig.ident,因为我设置默认颜色是渐变的,所以每一组每个样本的颜色都有区别,但是分组却是可以看出来的,这样图更生动。同样的,只有6种颜色,样本多余6个后在后面+sacle_color_manual函数修改。

Singlecellratio_plotstat(scedata, group_by = "group",

最后,分组的点形状也是可以变化的,只需要增加参数shape_by = 'group'即可完成。不过我觉得有颜色区分了,这个意义不大了。

Singlecellratio_plotstat(scedata, group_by = "group",
                         meta.include = c("group","orig.ident"),
                         comparisons = my_comparisons, color_by = 'orig.ident',
                         group_by.point = "orig.ident",label.x = 1, pt.size = 3,
                         label = 'p.format', ncol =3)

这就是所有内容了,其实函数还可以进行很多修改,感兴趣的小伙伴可在此基础上继续完善。觉得小编内容有用的,点个赞,分享一下呗,看完不点赞是怎么个事呢!!!

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

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

相关文章

JavaScript 数组-概念,创建数组,遍历数组,新增元素

JavaScript 数组-概念&#xff0c;创建数组&#xff0c;遍历数组&#xff0c;新增元素 目录JavaScript 数组-概念&#xff0c;创建数组&#xff0c;遍历数组&#xff0c;新增元素1. 数组的概念2. 创建数组2.1 数组的创建方式2.2 利用 new 创建数组2.3 利用数组字面量创建数组2.…

模式分类识别 | BiLSTM双向长短期记忆神经网络数据多特征分类预测(Matlab完整程序)

模式分类识别 | BiLSTM双向长短期记忆神经网络数据多特征分类预测(Matlab完整程序) 目录 模式分类识别 | BiLSTM双向长短期记忆神经网络数据多特征分类预测(Matlab完整程序)分类结果基本介绍程序设计参考资料分类结果

深度学习实验(五)——循环神经网络编程

深度学习实验五:循环神经网络编程 本次实验练习使用torch.nn中的类设计一个循环神经网络进行MNIST图像分类。 在本次实验中&#xff0c;你要设计一个CNN&#xff0c;用于将282828 \times 282828的MNIST图像转换为MMDM\times M\times DMMD的特征图&#xff0c;将该特征图看作是…

我,做了两年程序员,存了巨款5000,你们拿什么跟我比?

&#x1f550;没错&#xff0c;标题所见&#xff0c;从21年1月份开始从事程序员工作也过了两年了&#xff0c;今年还是没有存到钱。 今年换了一份工作&#xff0c;四月份的时候&#xff0c;从惠州换到了广州工作&#xff0c;从制造业转行到了政务行业&#xff0c;工资涨了&…

Keithley 2604B数字源表-安泰测试

Keithley 2600B 系列系统 SMU 仪器是业界标准电流-电压源和测量解决方案&#xff0c;适用于高度自动化生产测试应用。 双通道和单通道型号都紧密集成一个精密电源、真正电流源、数字万用表和具有脉冲生成功能的电子负载。 另外&#xff0c;TSP? 技术可运行完整测试程序&#x…

多点双向重发布的应用

目录 1.拓扑图 2.实验思路 3.主要配置 4.测试 5.实验总结 1.拓扑图 2.实验思路 在配置完RIP和OSPF之后&#xff0c;在2&#xff0c;3号设备上进行多点的双向重发布由于在进行了多点的双向重发布之后&#xff0c;会出现大量的负载均衡&#xff0c;导致选路不佳的问题解决办…

前端工程师leetcode算法面试必备-二叉树深度广度遍历

一、前言 Medium 难度主要考察结合二叉树性质的 CRUD 操作&#xff0c;而这一切的基础都离不开遍历二叉树。 二叉树是图的子集&#xff0c;因而同样适用以下两种搜索思想&#xff1a; **DFS&#xff08;深度优先搜索&#xff09;&#xff1a;**沿着根节点递归下去&#xff0c…

普通程序员怎么赚多份钱?解锁更多赚钱新姿势

在当下这个社会&#xff0c;学会如何make money很重要。 咱们是个俗人&#xff0c;赚钱才是社会生存的头等大事。这不是高山流水的世界&#xff0c;而是能力创造财富&#xff0c;对于程序员来说&#xff0c;更是如此。 作为程序员&#xff0c;我们有更多挣钱的姿势&#xff01;…

通过一个测试项目了解EF CORE

首先用vs2019创建一个.net core项目 可以是控制台应用程序,也可以是asp.net core项目 如果你使用控制台应用程序, 则可以在Main方法中直接使用EF Core进行CRUD操作。这通常用于测试或开发时快速进行数据库操作。 如果你使用ASP.NET Core应用程序, 则可以在控制器中使用EF Cor…

低温超导系统中实现液氦温度准确控制的解决方案

摘要&#xff1a;针对目前两种典型低温超导测试系统中存在的液氦压力控制精度较差的问题&#xff0c;本文提出了相应的解决方案。解决方案分别采用了直接压力控制和流量控制两种技术手段和配套数控阀门&#xff0c;结合24位AD和16位DA的超高精度的PID真空压力控制器和压力传感器…

第三十九章 贪心算法——区间问题(下)

第三十九章 贪心算法——区间问题&#xff08;下&#xff09;一、区间问题1&#xff1a;最大不相交区间数量1、思路详解2、代码实现二、区间问题2&#xff1a;区间覆盖1、问题2、思路3、代码一、区间问题1&#xff1a;最大不相交区间数量 1、思路详解 这道题和前一章讲的最后一…

IDEA 使用的小技巧

1、调整 idea 的虚拟内存&#xff1a; 尽管本质都是去改变 .vmoptions 配置文件&#xff0c;但推荐使用Change Memory Settings去调整&#xff0c;选择Edit Custom VM Options 或者在本地磁盘目录更改&#xff0c;通过某些方法破解的 idea 很可能造成 idea 打不开的情况 2、显…

【数据结构-源码分析】HashMap源码分析(超级详细)

文章内容1、HashMap简介2、类结构3、属性4、构造方法5、方法5.1、put方法5.2、resize方法6、jdk1.8的优化1、HashMap简介 HashMap基于哈希表的Map接口实现&#xff0c;是以key-value存储形式存在。&#xff08;除了不同步和允许使用 null 之外&#xff0c;HashMap 类与 Hashta…

Oracle数据库同步复制工具Beedup产品功能(二)

接续...... 8、对象比较 Beedup提供主从库相关对象比较功能&#xff0c;比对结果包含各类对象概要统计及差异详情。 支持Oracle、SQL Server、MySQL、DB2 对象比较。 9、 对象恢复 Beedup在向从库写入数据时会禁用目标表的关联触发器&#xff0c;另外对于Oracle 序列的状态…

MySQL复制技术方案——GTID复制配置

在日常运维中&#xff0c;GTID带来的最方便的作用就是搭建和维护主从复制&#xff0c;这也是DBA日常工作中最经常的操作了。GTID的主从模式替代了MySQL前期版本中利用二进制日志文件的名称和日志位置的做法&#xff0c;使用GTID使操作和维护都变得更加简洁和可靠。 搭建主从时…

SQL SELECT 语句

SELECT 语句用于从数据库中选取数据。 SQL SELECT 语句 SELECT 语句用于从数据库中选取数据。 结果被存储在一个结果表中&#xff0c;称为结果集。 SQL SELECT 语法 SELECT column1, column2, ... FROM table_name; 与 SELECT * FROM table_name; 参数说明&#xff1a; …

SVM训练莺尾花数据集

SVM训练莺尾花数据集 代码在莺尾花数据集上训练SVM&#xff0c;数据集由莺尾花的测量值及其相应的物种标签组成。该模型使用70%数据用于训练&#xff0c;然后剩余部分进行测试。其中′fit′fit′fit′方法在训练集上训练数据&#xff0c;′score′score′score′数据在返回模型…

HTC FOCUS3在PC端串流FOHEART H1数据手套(腕带)

本教程介绍使用FOHEART H1数据手套与HTC腕带式追踪器驱动VR中的虚拟手运动&#xff0c;实现手部的追踪及定位。与之前教程&#xff08;HTC FOCUS 3连接FOHEART H1数据手套&#xff09;不同&#xff0c;这次我们的场景内容运行在PC端&#xff0c;而不是头显端&#xff0c;使用VI…

基于Vue和SpringBoot的电商管理系统的设计与实现

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;Java全栈软件工程师一枚&#xff0c;来自浙江宁波&#xff0c;负责开发管理公司OA项目&#xff0c;专注软件前后端开发&#xff08;Vue、SpringBoot和微信小程序&#xff09;、系统定制、远程技术指导。CSDN学院、蓝桥云…

8.mysql模块

目录 1 安装mysql模块 2 建立与mysql的连接 3 执行SQL语句 3.1 查询数据 3.2 插入数据 3.2.1 直接写入SQL语句 3.2.2 使用问号进行占位 3.2.3 使用对象传入 3.3 更新数据 3.3.1 使用问号进行占位 3.3.2 使用对象传入 3.4 删除数据 常见的数据库有下面几…