Seurat - 聚类教程 (1)

设置 Seurat 对象

本教程[1]中,我们将分析 10X Genomics 免费提供的外周血单核细胞 (PBMC) 数据集。在 Illumina NextSeq 500 上对 2,700 个单细胞进行了测序。可以在此处[2]找到原始数据。

我们首先读取数据。 Read10X() 函数从 10X 读取 cellranger 管道的输出,返回唯一的分子识别 (UMI) 计数矩阵。该矩阵中的值表示在每个细胞(列)中检测到的每个特征(即基因;行)的分子数量。请注意,较新版本的 cellranger 现在也使用 h5 文件格式进行输出,可以使用 Seurat 中的 Read10X_h5() 函数读取该格式。

接下来我们使用计数矩阵来创建 Seurat 对象。该对象充当容器,其中包含单细胞数据集的数据(如计数矩阵)和分析(如 PCA 或聚类结果)。例如,在 Seurat v5 中,计数矩阵存储在 pbmc[["RNA"]]$counts 中。

library(dplyr)
library(Seurat)
library(patchwork)

# Load the PBMC dataset
pbmc.data <- Read10X(data.dir = "/brahms/mollag/practice/filtered_gene_bc_matrices/hg19/")

# Initialize the Seurat object with the raw (non-normalized data).
pbmc <- CreateSeuratObject(counts = pbmc.data, project = "pbmc3k", min.cells = 3, min.features = 200)

pbmc
  • 输出
## An object of class Seurat 
## 13714 features across 2700 samples within 1 assay 
## Active assay: RNA (13714 features, 0 variable features)
##  1 layer present: counts
  • 示例
# Lets examine a few genes in the first thirty cells
pbmc.data[c("CD3D""TCL1A""MS4A1"), 1:30]

# 输出
## 3 x 30 sparse Matrix of class "dgCMatrix"
##                                                                    
## CD3D  4 . 10 . . 1 2 3 1 . . 2 7 1 . . 1 3 . 2  3 . . . . . 3 4 1 5
## TCL1A . .  . . . . . . 1 . . . . . . . . . . .  . 1 . . . . . . . .
## MS4A1 . 6  . . . . . . 1 1 1 . . . . . . . . . 36 1 2 . . 2 . . . .

矩阵中.的值代表 0(未检测到分子)。由于 scRNA-seq 矩阵中的大多数值都是 0,因此 Seurat 只要有可能就使用稀疏矩阵表示。这会显著节省 Drop-seq/inDrop/10x 数据的内存和速度。

dense.size <- object.size(as.matrix(pbmc.data))
dense.size
## 709591472 bytes

sparse.size <- object.size(pbmc.data)
sparse.size
## 29905192 bytes

dense.size/sparse.size
## 23.7 bytes

预处理

以下步骤涵盖 Seurat 中 scRNA-seq 数据的标准预处理工作流程。这些基于 QC 指标、数据标准化和缩放以及高度可变特征的检测的细胞选择和过滤。

Seurat 允许您轻松探索 QC 指标并根据任何用户定义的标准过滤细胞。常用的一些 QC 指标包括:

  • 每个细胞中检测到的唯一(unique)基因的数量
    • 低质量的细胞或空液滴通常含有很少的基因
    • 细胞双联体或多联体可能表现出异常高的基因计数
  • 同样,细胞内检测到的分子总数(与唯一(unique)基因密切相关)
  • 映射到线粒体基因组的读数百分比
    • 低质量/垂死细胞通常表现出广泛的线粒体污染
    • 我们使用 PercentageFeatureSet() 函数计算线粒体 QC 指标,该函数计算源自一组特征的计数百分比
    • 我们使用以 MT- 开头的所有基因的集合作为线粒体基因的集合
# The [[ operator can add columns to object metadata. This is a great place to stash QC stats
pbmc[["percent.mt"]] <- PercentageFeatureSet(pbmc, pattern = "^MT-")
  • Seurat 中的 QC 指标存储在哪里?

在下面的示例中,我们将 QC 指标可视化,并使用它们来过滤细胞。

我们过滤具有唯一特征计数超过 2,500 或少于 200 的细胞;我们过滤线粒体计数 >5% 的细胞

# Visualize QC metrics as a violin plot
VlnPlot(pbmc, features = c("nFeature_RNA""nCount_RNA""percent.mt"), ncol = 3)
alt
# FeatureScatter is typically used to visualize feature-feature relationships, but can be used
# for anything calculated by the object, i.e. columns in object metadata, PC scores etc.

plot1 <- FeatureScatter(pbmc, feature1 = "nCount_RNA", feature2 = "percent.mt")
plot2 <- FeatureScatter(pbmc, feature1 = "nCount_RNA", feature2 = "nFeature_RNA")
plot1 + plot2
alt
pbmc <- subset(pbmc, subset = nFeature_RNA > 200 & nFeature_RNA < 2500 & percent.mt < 5)

未完待续,持续关注!

Reference
[1]

Source: https://zenghensatijalab.org/seurat/articles/pbmc3k_tutorial

[2]

data: https://cf.10xgenomics.com/samples/cell/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz

本文由 mdnice 多平台发布

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch:使用查询规则(query rules)进行搜索

在之前的文章 “Elasticsearch 8.10 中引入查询规则 - query rules”&#xff0c;我们详述了如何使用 query rules 来进行搜索。这个交互式笔记本将向你介绍如何使用官方 Elasticsearch Python 客户端来使用查询规则。 你将使用 query rules API 将查询规则存储在 Elasticsearc…

【MySQL基础】:深入探索DQL数据库查询语言的精髓(上)

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. DQL1.1 基本语法1.2 基础查询1.3 条件查询1.3 聚合函数 &#x1f324;️ 全篇…

cad基础学习

基础操作与设置 切换工作空间 调整鼠标 界面右击&#xff0c;选项 选项中找到显示&#xff0c;十字光标调到最大 当然也可以输入命令op,回车。它会自动打开这个界面 画一个直线 上面选直接&#xff0c;单击俩个点&#xff0c;画出一个直线。然后空格收尾&#xff0c;这就画出…

【JavaScript 漫游】【014】正则表达式通关

文章简介 JS 语言中的 RegExp 对象提供正则表达式的功能。本篇文章旨在对该对象的相关知识点进行总结。内容包括&#xff1a; 正则表达式概述RegExp 对象的实例属性RegExp 对象的实例方法字符串与正则表达式相关的实例方法正则表达式匹配规则 概述 正则表达式的概念 正则表…

将你向chatgpt提问的问题翻译成英文后再提交油猴插件(学英语帮手)

直接上干货&#xff1a; 插件地址&#xff1a; ChatGPT问题翻译助手&#xff08;基于百度翻译API&#xff09; 实现效果&#xff1a; 提示&#xff1a;因为是基于百度翻译API实现的&#xff0c;因此首先你得有自己的翻译API&#xff0c;网址如下&#xff1a; 登录百度账号 …

分享66个时间日期JS特效,总有一款适合您

分享66个时间日期JS特效&#xff0c;总有一款适合您 66个时间日期JS特效下载链接&#xff1a;https://pan.baidu.com/s/1niQUpDSs10gfGYKYnEgKRg?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;…

深入学习Pandas:数据连接、合并、加入、添加、重构函数的全面指南【第72篇—python:数据连接】

深入学习Pandas&#xff1a;数据连接、合并、加入、添加、重构函数的全面指南 Pandas是Python中最强大且广泛使用的数据处理库之一&#xff0c;提供了丰富的函数和工具&#xff0c;以便更轻松地处理和分析数据。在本文中&#xff0c;我们将深入探讨Pandas中一系列数据连接、合…

FL Studio如何改变轨道颜色 FL Studio波形颜色如何自定义 flstudio21中文版下载 FL Studio 设置颜色

FL Studio如何改变轨道颜色&#xff1f;FL Studio的轨道颜色可以在播放列表或混音台界面进行修改。FL Studio波形颜色如何自定义&#xff1f;FL Studio的波形文件颜色、名称、图标等信息都是可以自定义的&#xff0c;下文将给大家详细讲述。 一、FL Studio如何改变轨道颜色 在…

C#,铁蛋·奥纳奇数(Geek Onacci Number)的算法与源代码

Geek译为“极客”&#xff0c;不贴切&#xff0c;译为“铁蛋”甚妙&#xff01; 1 铁蛋奥纳奇数&#xff08;Geek Onacci Number&#xff09; 铁蛋奥纳奇数&#xff08;Geek Onacci Number&#xff09;也称为“极客纳奇”数列。 极客纳奇数列是组合数学中的一个数字序列。 极客…

Java学习-常用API(二)

Math类及其常用API&#xff1a; 演示&#xff1a; StringBuilder的认识及其常用方法&#xff1a; StringBuilder支持链式编程 StringBuilder sbnew StringBuilder&#xff08;&#xff09;&#xff1b;sb.append&#xff08;12&#xff09;.append.&#xff08;“itHeima”&am…

【UE 游戏编程基础知识】

目录 0 引言1 基础知识1.1 拓展&#xff1a;3D数学和计算机图形学的关系 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;UE虚幻引擎专栏&#x1f4a5; 标题&#xff1a;【UE 游戏编程基础知识】❣️ 寄语&#xff1a;书到用时方恨少&#xff0c;事…

AJAX——常用请求方法

1 请求方法 请求方法&#xff1a;对服务器资源&#xff0c;要执行的操作 2 数据提交 场景&#xff1a;当数据需要在服务器上保存 3 axios请求配置 url&#xff1a;请求的URL网址 method&#xff1a;请求的方法&#xff0c;GET可以省略&#xff08;不区分大小写&#xff09; …

微软和苏黎世联邦理工学院开源SliceGPT创新压缩技术节省大量部署资源;OpenAI成立儿童安全团队,防AI误用

&#x1f989; AI新闻 &#x1f680; 微软和苏黎世联邦理工学院开源SliceGPT创新压缩技术节省大量部署资源 摘要&#xff1a;微软和苏黎世联邦理工学院研究人员开源了SliceGPT&#xff0c;通过对大模型的权重矩阵进行压缩切片&#xff0c;实现了模型紧缩&#xff0c;节省了部…

MATLAB知识点: unique函数 提取数组中的唯一值

​讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第3章 3.4.5 集合运算 unique函数可用来提取数组中的唯…

使用securecrt+xming通过x11访问ubuntu可视化程序

windows使用securecrtxming通过x11访问ubuntu可视化程序 windows机器IP&#xff1a;192.168.9.133 ubuntu-desktop20.04机器IP&#xff1a;192.168.9.190 windows下载xming并安装 按照图修改xming配置 开始->xming->Xlaunch 完成xming会在右下角后台运行 windows在…

使用 FFmpeg 将视频转换为 GIF 动画的技巧

使用 FFmpeg 将视频转换为 GIF 动画 FFmpeg 可以将视频转换为 GIF 动画&#xff0c;方法如下&#xff1a; 1. 准备工作 确保您已经安装了 FFmpeg。 熟悉 FFmpeg 的命令行使用。 了解 GIF 动画的基本知识。 2. 基本命令 ffmpeg -i input.mp4 output.gif 3. 参数说明 -i in…

Java核心设计模式:代理设计模式

一、生活中常见的代理案例 房地产中介&#xff1a;客户手里没有房源信息&#xff0c;找一个中介帮忙商品代购&#xff1a;代理者一般有好的资源渠道&#xff0c;降低购物成本&#xff08;如海外代购&#xff0c;自己不用为了买东西出国&#xff09; 二、为什么要使用代理 对…

【EAI 016】VIMA: General Robot Manipulation with Multimodal Prompts

论文标题&#xff1a;VIMA: General Robot Manipulation with Multimodal Prompts 论文作者&#xff1a;Yunfan Jiang, Agrim Gupta, Zichen Zhang, Guanzhi Wang, Yongqiang Dou, Yanjun Chen, Li Fei-Fei, Anima Anandkumar, Yuke Zhu, Linxi Fan 作者单位&#xff1a;Stanfo…

车载测试Vector工具——常见问题汇总

车载测试Vector工具——常见问题汇总 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何 消耗你的人和事,多看一眼都是你的…

使用C#快速创建一个非常实用的桌面应用程序

过节时和我年纪轻轻就一把年纪的弟弟张老二闲聊了许久&#xff0c;发现他对编程产生了一泡浓厚的兴趣&#xff0c;于是我就给他漏了一手C#&#xff0c;做了一个简单的适用于win-x64配置cpu的桌面应用程序。 步骤如下&#xff1a; 1.打开Visual Studio,点击新建项目&#xff0…