当前位置: 首页 > news >正文

Monocle 3 | 太牛了!单细胞必学R包!~(一)(预处理与降维聚类)

1写在前面

忙碌的一周结束了,终于迎来周末了。🫠

这周的手术真的是做到崩溃,2天的手术都过点了。🫠

真的希望有时间静下来思考一下。🫠

最近的教程可能会陆续写一下Monocle 3,炙手可热啊,欢迎大家分享经验。🥰

2用到的包

rm(list = ls())
library(tidyverse)
library(monocle3)

3示例数据

这里我们用一下准备好的示例数据,出自这篇paper:👇

https://www.science.org/doi/10.1126/science.aam8940 IF: 56.9 Q1

alt
expression_matrix <- readRDS("./cao_l2_expression.rds")
cell_metadata <- readRDS("./cao_l2_colData.rds")
gene_annotation <- readRDS("./cao_l2_rowData.rds")

cds <- new_cell_data_set(expression_matrix,
cell_metadata = cell_metadata,
gene_metadata = gene_annotation)

cds
alt

4预处理一下

这里我们过滤一下表达太低的细胞。🧐

cds <- preprocess_cds(cds, num_dim = 100)
cds

plot_pc_variance_explained(cds)
alt

5细胞聚类

默认使用UMAP哦,当然你也可以选t-SNE。😘

这里有个使用的小技巧,umap.fast_sgd = T可以加速哦,但是能会导致每次运行结果有轻微的差异,仁者见仁吧。🌟

cds <- reduce_dimension(cds,
core = 8,
umap.fast_sgd = T)

每个点代表一个细胞,注释的话推荐大家手动注释哦。🤩

color_cells_by其实可以是任何一个列名。 🤒

plot_cells(cds, color_cells_by="cao_cell_type")
alt

接着我们试试用一组基因来试试。😋

plot_cells(cds, genes=c("cpna-2", "egl-21", "ram-2", "inos-1"))
alt

6去除批次效应

我们先看一下板子的降维情况。😅

可以看到批次效应并不是很明显。😏

plot_cells(cds, color_cells_by="plate", label_cell_groups=F)
alt

接着我们去除一下batch试试,需要用到align_cds。😂

cds <- align_cds(cds, num_dim = 100, alignment_group = "plate")

cds <- reduce_dimension(cds)

plot_cells(cds, color_cells_by="plate", label_cell_groups=FALSE)
alt

7细胞聚类

cds <- cluster_cells(cds, resolution=1e-5)

plot_cells(cds)
alt

经过cluster_cells处理后,细胞会被分为partition,大家可以根据partition可视化一下。🤣

plot_cells(cds, color_cells_by="partition", group_cells_by="partition")
alt

我们再试试根据细胞类型注释给细胞配色。🤨

plot_cells(cds, color_cells_by="cao_cell_type")
alt

8寻找marker gene

marker_test_res <- top_markers(cds, group_cells_by="partition", 
reference_cells=1000, cores=8)

给结果排个序,这个就根据你自己的需要好了。😘

这里我们根据pseudo_R2试试。😋

top_specific_markers <- marker_test_res %>%
filter(fraction_expressing >= 0.10) %>%
group_by(cell_group) %>%
top_n(1, pseudo_R2)

top_specific_marker_ids <- unique(top_specific_markers %>% pull(gene_id))

plot_genes_by_group(cds,
top_specific_marker_ids,
group_cells_by="partition",
ordering_type="maximal_on_diag",
max.size=3)
alt

实际操作中,我们不可能只看一个marker,多做几个试试吧(考验电脑了)。💻

top_specific_markers <- marker_test_res %>%
filter(fraction_expressing >= 0.10) %>%
group_by(cell_group) %>%
top_n(3, pseudo_R2)

top_specific_marker_ids <- unique(top_specific_markers %>% pull(gene_id))

plot_genes_by_group(cds,
top_specific_marker_ids,
group_cells_by="partition",
ordering_type="cluster_row_col",
max.size=3)
alt

alt
最后祝大家早日不卷!~

点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰

📍 往期精彩

📍 🤩 LASSO | 不来看看怎么美化你的LASSO结果吗!?
📍 🤣 chatPDF | 别再自己读文献了!让chatGPT来帮你读吧!~
📍 🤩 WGCNA | 值得你深入学习的生信分析方法!~
📍 🤩 ComplexHeatmap | 颜狗写的高颜值热图代码!
📍 🤥 ComplexHeatmap | 你的热图注释还挤在一起看不清吗!?
📍 🤨 Google | 谷歌翻译崩了我们怎么办!?(附完美解决方案)
📍 🤩 scRNA-seq | 吐血整理的单细胞入门教程
📍 🤣 NetworkD3 | 让我们一起画个动态的桑基图吧~
📍 🤩 RColorBrewer | 再多的配色也能轻松搞定!~
📍 🧐 rms | 批量完成你的线性回归
📍 🤩 CMplot | 完美复刻Nature上的曼哈顿图
📍 🤠 Network | 高颜值动态网络可视化工具
📍 🤗 boxjitter | 完美复刻Nature上的高颜值统计图
📍 🤫 linkET | 完美解决ggcor安装失败方案(附教程)
📍 ......

alt

alt

alt

本文由 mdnice 多平台发布

相关文章:

Monocle 3 | 太牛了!单细胞必学R包!~(一)(预处理与降维聚类)

1写在前面 忙碌的一周结束了&#xff0c;终于迎来周末了。&#x1fae0; 这周的手术真的是做到崩溃&#xff0c;2天的手术都过点了。&#x1fae0; 真的希望有时间静下来思考一下。&#x1fae0; 最近的教程可能会陆续写一下Monocle 3&#xff0c;炙手可热啊&#xff0c;欢迎大…...

基于VCO的OTA稳定性分析的零交叉时差模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

大数据Hadoop之——部署hadoop+hive+Mysql环境(window11)

一、安装JDK8 【温馨提示】对应后面安装的hadoop和hive版本&#xff0c;这里使用jdk8&#xff0c;这里不要用其他jdk了&#xff0c;可能会出现一些其他问题。 1&#xff09;JDK下载地址 Java Downloads | Oracle 按正常下载是需要先登录的&#xff0c;这里提供一个不用登录下载…...

app爬虫中的Airtest元素存在或等待

app爬虫中的Airtest元素存在或等待 一. poco等待 等待无错误 等待元素10秒。如果它没有出现&#xff0c;则不会引发任何错误。 poco(xxx).wait(timeout10)您还可以在.wait()之后执行一些操作&#xff0c;如click或long_click poco(xxx).wait(timeout10).click() poco(xxx).…...

Flink学习之旅:(三)Flink源算子(数据源)

1.Flink数据源 Flink可以从各种数据源获取数据&#xff0c;然后构建DataStream 进行处理转换。source就是整个数据处理程序的输入端。 数据集合数据文件Socket数据kafka数据自定义Source 2.案例 2.1.从集合中获取数据 创建 FlinkSource_List 类&#xff0c;再创建个 Student 类…...

SQL INSERT INTO 语句(在表中插入)

SQL INSERT INTO 语句 INSERT INTO 语句用于向表中插入新的数据行。 SQL INSERT INTO 语法 INSERT INTO 语句可以用两种形式编写。  第一个表单没有指定要插入数据的列的名称&#xff0c;只提供要插入的值&#xff0c;即可添加一行新的数据&#xff1a; INSERT INTO table_n…...

2023年最佳项目管理软件排行榜揭晓!

根据网络数据调查结果显示&#xff0c;今年有77%的组织将效率列为优先事项&#xff0c;而82%的领导人确认投资于新的项目管理和工作管理方案以提高效能。然而随着对价值的重新关注&#xff0c;选择适合的工程项目管理软件变得比以往任何时候都更加重要。好消息是通过对39个主要…...

华为OD DNA序列(100分)【java】A卷+B卷

华为OD统一考试A卷B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目&#xff0c;A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载&#xff0c;请点击以下链接进入&#xff…...

idea2023配置maven

看过【黑马程序员Maven全套教程&#xff0c;maven项目管理从基础到高级&#xff0c;Java项目开发必会管理工具maven】https://www.bilibili.com/video/BV1Ah411S7ZE?p9&vd_sourceedf9d91e5a0a27db51e3d6d4b9400637 配置的&#xff0c;前提要素配置也在这个课程里有啦&…...

Python 文件打包成可执行文件

打包 要将Python脚本打包成可执行文件&#xff0c;常见的做法是使用PyInstaller或cx_Freeze工具。下面是使用PyInstaller的基本步骤&#xff1a; 使用conda安装pyinstaller &#xff08;建议&#xff09; conda install -c conda-forge pyinstaller上面的命令从conda-forge通…...

14-bean创建流程5-初始化和循环依赖

文章目录 1.初始化和循环依赖1.1 初始化步骤1.2 循环依赖问题的产生1.3 如何解决循环依赖问题1.4 解决循环依赖二级缓存即可完成,为什么需要三级缓存1.5循环依赖有时报错1.初始化和循环依赖 1.1 初始化步骤 填充属性执行Aware执行BeanPostProcessor的postProcessBeforeInitia…...

drawio模板以及示例

drawio都能做那些事情和模板示例 你可以使用drawio&#xff0c;并使用drawio提供的扩展模板库和大量的形状库&#xff0c;针对很多不同的工业领域创建不同类型的图表。 针对如下的内容中的所有的图&#xff0c;均可以下载源文件并导入到drawio中再次编辑&#xff08;供学习者…...

YOLOv8改进实战 | 更换主干网络Backbone(四)之轻量化模型MobileNetV3

前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…...

22-数据结构-内部排序-选择排序

简介&#xff1a;每一趟选择最小或最大的一个&#xff0c;排在前面或后面。主要右简单选择排序和堆排序 一、简单选择排序 1.1简介&#xff1a; 每趟选择最小的&#xff0c;放在前面&#xff0c;一次类推&#xff0c;代码思想&#xff1a;两个循环&#xff0c;外循环是趟数&a…...

utf8和utf8mb4字符集

柠檬(图片)派 有个玩家取了个名字&#xff0c;名字里带柠檬的图片。在发邮件的时候&#xff0c;要把玩家名字拼装成json格式&#xff0c;存储在mysql表中。 C代码和python代码处理都是正常的&#xff0c;但是调用pymysql的接口&#xff0c;执行sql写入到mysql时。 pymysql会报错…...

前端学成在线项目详细解析一

学成在线项目 01-项目目录 网站根目录是指存放网站的第一层文件夹&#xff0c;内部包含当前网站的所有素材&#xff0c;包含 HTML、CSS、图片、JavaScript等等。 首页引入CSS文件 <!-- 顺序要求&#xff1a;先清除再设置 --> <link rel"stylesheet" hre…...

Redis之UV统计

HyperLogLog 首先我们搞懂两个概念&#xff1a; UV&#xff1a;全称Unique Visitor&#xff0c;也叫独立访客量&#xff0c;是指通过互联网访问、浏览这个网页的自然人。1天内同一个用户多次访问该网站&#xff0c;只记录1次。PV&#xff1a;全称Page View&#xff0c;也叫页…...

sqlserver数据库,创建作业,定时执行sql

1 在业务中涉及到定时操作数据表时&#xff0c;可以设置定时作业。先创建一个存储过程&#xff0c;实现要定时执行的业务。 USE [MyDB] go create procedure [PROC_MYPROCEDURE] name varchar(50), score int, remark varchar(50) AS BEGIN insert into [mytable] values (n…...

计算机缺失d3dcompiler_47.dll解决方案,如何修复电脑缺失d3d文件

在计算机系统中&#xff0c;DLL文件&#xff08;动态链接库&#xff09;是一种重要的共享库&#xff0c;它包含了可被多个程序使用的代码和数据。然而&#xff0c;当某些DLL文件丢失或损坏时&#xff0c;可能会导致程序无法正常运行。本文将介绍四种解决D3DCompiler_47.dll缺失…...

计算机视觉开源代码汇总

1.【基础网络架构】Regularization of polynomial networks for image recognition 论文地址&#xff1a;https://arxiv.org/pdf/2303.13896.pdf 开源代码:https://github.com/grigorisg9gr/regularized_polynomials 2.【目标检测&#xff1a;域自适应】2PCNet: Two-Phase Cons…...

梯度下降算法原理与Python实现详解

1. 梯度下降优化算法基础解析梯度下降是现代机器学习和深度学习中最核心的优化算法之一。我第一次接触这个概念是在研究线性回归模型时&#xff0c;当时被它简洁而强大的迭代优化思想所震撼。本质上&#xff0c;梯度下降是通过不断沿着目标函数梯度&#xff08;即最陡下降方向&…...

real-anime-z惊艳效果展示:8K细节、光影质感与角色神态真实呈现

real-anime-z惊艳效果展示&#xff1a;8K细节、光影质感与角色神态真实呈现 1. 模型简介 real-anime-z是基于Z-Image的LoRA版本开发的文生图模型&#xff0c;专注于生成具有真实感的动画风格图片。这个模型通过Xinference部署&#xff0c;并提供了Gradio交互界面&#xff0c;…...

SMU4.20-4.26补题

牛客周赛140 A-F牛客北华大学 A,D,F,H,I,L;团体天梯赛5&#xff0c;8题&#xff1b;Spring天梯赛一5&#xff0c;8题...

机器学习战略:从失败案例看问题定义的重要性

1. 为什么机器学习战略比技术本身更重要&#xff1f;在过去的十年里&#xff0c;我见过太多机器学习项目以失败告终——不是因为模型不够精准&#xff0c;而是因为从一开始就走错了方向。记得2018年参与的一个电商推荐系统项目&#xff0c;团队花了六个月优化AUC指标&#xff0…...

Pixel Aurora Engine应用案例:像素化用户旅程地图(UJM)自动生成

Pixel Aurora Engine应用案例&#xff1a;像素化用户旅程地图&#xff08;UJM&#xff09;自动生成 1. 像素极光引擎简介 Pixel Aurora Engine是一款基于AI扩散模型的高端绘图工作站&#xff0c;采用复古像素游戏风格设计。这款"虚拟游戏机"能够将文字描述转化为极…...

47.网络基础

看课件&#xff0c;网络基础网络是操作系统一部分。多个局域网构成广域网。...

各地级市数字经济政策文本词频统计2002-2022年

01、数据介绍全国各地级市大力发展电子信息制造业&#xff0c;加快数字经济产业基础建设&#xff0c;建设数字经济创新生态&#xff0c;推动数字化转型和商业模式创新&#xff0c;布局数字经济未来产业&#xff0c;加快发展智能制造、数字化营销等数字经济新业态模式&#xff0…...

【Linux从入门到精通】第22篇:Shell变量与数据类型——数字与字符串处理

目录 一、引言&#xff1a;变量不只是“存个值” 二、环境变量 vs 局部变量&#xff1a;作用域的秘密 2.1 用实验理解差别 2.2 什么时候用哪种&#xff1f; 2.3 查看当前所有环境变量 2.4 持久化环境变量 三、只读变量与常量保护 3.1 readonly&#xff1a;让变量变成“常…...

3分钟搞定Blender UV混乱?这个插件让你告别手动调整的烦恼!

3分钟搞定Blender UV混乱&#xff1f;这个插件让你告别手动调整的烦恼&#xff01; 【免费下载链接】UvSquares Blender addon for reshaping UV quad selection into a grid. 项目地址: https://gitcode.com/gh_mirrors/uv/UvSquares 你是否曾在Blender中为杂乱的UV布局…...

PyTorch实现放疗剂量引擎:深度学习与医学物理结合

1. 项目概述&#xff1a;基于PyTorch的放疗剂量引擎现代放射治疗计划的核心挑战在于如何优化数千个参数&#xff08;如多叶准直器位置、机架角度、监测单位等&#xff09;&#xff0c;以生成满足复杂临床要求的剂量分布。传统方法依赖治疗计划系统&#xff08;TPS&#xff09;的…...