单细胞RNA测序(scRNA-seq)Seurat分析流程入门

单细胞RNA测序(scRNA-seq)基础可查内容看以下文章:

单细胞RNA测序(scRNA-seq)工作流程入门

单细胞RNA测序(scRNA-seq)细胞分离与扩增

单细胞RNA测序(scRNA-seq)SRA数据下载及fastq-dumq数据拆分

单细胞RNA测序(scRNA-seq)Cellranger流程入门和数据质控

单细胞RNA测序(scRNA-seq)构建人类参考基因组注释

单细胞RNA测序(scRNA-seq)cellranger count的细胞定量和aggr整合

Seurat分析流程入门

1. 数据与R包准备

以下代码在RStudio中实现。

1.1 PMBC数据下载

下载2700个10X单细胞-外周血单核细胞(PBMC)数据集。

# Seurat_1.R
################### 1. 数据获取及读取 ###################
# 切换至工作目录
setwd("F:/scRNA-seq/Seurat4.0")

# 下载PMBC数据
download.file("https://cf.10xgenomics.com/samples/cell/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz", 
              destfile = "pbmc3k_filtered_gene_bc_matrices.tar.gz")

# 解压
untar(tarfile = "pbmc3k_filtered_gene_bc_matrices.tar.gz", exdir = "./")

# 查看当前目录文件
dir()
# [1] "filtered_gene_bc_matrices"     "pbmc3k_filtered_gene_bc_matrices.tar.gz"
# [3] "Seurat_1.R"

# 查看解压目录文件
dir("./filtered_gene_bc_matrices/hg19")
# [1] "barcodes.tsv" "genes.tsv"    "matrix.mtx"

1.2 分析R包安装

# 选择清华镜像安装
options("repos"=c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
install.packages("BiocManager")

BiocManager::install("dplyr")
BiocManager::install("Seurat")
BiocManager::install("patchwork")
BiocManager::install("ggplot2")

2. 数据预处理

2.1 构建单细胞Seurat对象

Read10X函数读取,返回独特的分子识别(UMI)计数矩阵
矩阵中的行值表示每个功能(即基因)列值表示在每个细胞中检测到的分子数量

################### 2. 数据预处理 ###################
library(dplyr)
library(Seurat)
library(patchwork)

# 读取当前目录 2700个10X单细胞-外周血单核细胞(PBMC)数据集
pbmc.data <- Read10X(data.dir = "./filtered_gene_bc_matrices/hg19")

# 查看部分数据
pbmc.data[1:5, 1:3]
# 5 x 3 sparse Matrix of class "dgCMatrix"
# AAACATACAACCAC-1 AAACATTGAGCTAC-1 AAACATTGATCAGC-1
# MIR1302-10                  .                .                .
# FAM138A                     .                .                .
# OR4F5                       .                .                .
# RP11-34P13.7                .                .                .
# RP11-34P13.8                .                .                .


# 创建Seurat对象
# 每个基因至少在3个细胞中表达
# 每个细胞至少检测到200个基因
pbmc.obj <- CreateSeuratObject(counts = pbmc.data, 
                               project = "pbmc3k",
                               min.cell = 3,
                               min.features = 200)

pbmc.obj
# 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

# 细胞名称重命名
pbmc.obj <- RenameCells(pbmc.obj, add.cell.id = "PBMC")

2.2 单细胞数据质控

为分析得到高质量和可靠的单细胞数据,保证后续分析结果的准确度,通常会设置以下QC指标过滤细胞:

常见QC指标:

  1. 在每个细胞中检测到的基因数量
    低质量细胞或空液滴通常只有很少的基因; 细胞双倍或多胞可能表现出异常高的基因计数。

  2. 细胞内检测到的分子总数(与独特的基因密切相关)

  3. 细胞中的线粒体基因组的百分比
    低质量/死细胞经常表现出线粒体污染;使用PercentageFeatureSet()函数计算线粒体 QC 指标。

2.2.1 通过细胞counts数和feature数的分布确定过滤条件阈值

head(pbmc.obj@meta.data)
# orig.ident nCount_RNA nFeature_RNA percent.mt
# PBMC_AAACATACAACCAC-1     pbmc3k       2419          779  3.0177759
# PBMC_AAACATTGAGCTAC-1     pbmc3k       4903         1352  3.7935958
# PBMC_AAACATTGATCAGC-1     pbmc3k       3147         1129  0.8897363
# PBMC_AAACCGTGCTTCCG-1     pbmc3k       2639          960  1.7430845
# PBMC_AAACCGTGTATGCG-1     pbmc3k        980          521  1.2244898
# PBMC_AAACGCACTGGTAC-1     pbmc3k       2163          781  1.6643551

# 细胞counts数和feature数的分布
VlnPlot(pbmc.obj, features = c("nCount_RNA","nFeature_RNA"))

counts数和feature数的分布图

2.2.2 细胞线粒体基因和和核糖体基因含量获取

# 获取基因名以MT-开头的线粒体基因
pbmc.obj[["percent.mt"]] <- PercentageFeatureSet(pbmc.obj,
                                                 pattern = "^MT-")

head(pbmc.obj@meta.data, 5)
# orig.ident nCount_RNA nFeature_RNA percent.mt
# PBMC_AA

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

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

相关文章

STL-vector类的使用及其模拟实现

在C中&#xff0c;vector是标准模板库&#xff08;STL&#xff09;中的一种动态数组容器&#xff0c;它可以存储任意类型的元素&#xff0c;并且能够自动调整大小。vector提供了许多方便的成员函数&#xff0c;使得对数组的操作更加简单和高效。 vector的使用 vector的构造函数…

Redis中的慢查询日志(一)

慢查询日志 概述 Redis的慢查询日志功能用于记录执行时间超过给定时长的命令请求&#xff0c;用户可以通过这个功能产生的日志来 监视和优化查询速度。服务器配置有两个和慢查询日志相关的选项: 1.slowlog-log-slower-than选项指定执行时间超过多少微妙(1秒1000 000微妙)的命…

ZeRO论文阅读

一.前情提要 1.本文理论为主&#xff0c;并且仅为个人理解&#xff0c;能力一般&#xff0c;不喜勿喷 2.本文理论知识较为成体系 3.如有需要&#xff0c;以下是原文&#xff0c;更为完备 Zero 论文精读【论文精读】_哔哩哔哩_bilibili 二.正文 1.前言 ①为什么用该技术&…

ctf.show_web14

在switch中&#xff0c;case 里如果没有 break&#xff0c;则会继续向下执行 case。 过滤了information_schema.tables、information_schema.column、空格 information_schema.tables 或 .columns 用反引号 information_schema.tables 同时查3个字段 ?query-1/**/union/**/…

【Python- 包,自定义模块,import】

Python- 包&#xff0c;自定义模块&#xff0c;import ■ 包■ 包创建■ 导入包&#xff0c;模块&#xff0c;函数方法■ __init__.py■ __all__ [my_module1] ■ 自定义模块■ 新建模块■ 导入自定义模块使用■ 导入不同模块的同名功能■ __all__变量 ■ import■ import 模块…

Java 网络编程之TCP(二):基于BIO的聊天室

在上一篇【Java 网络编程之TCP(一)&#xff1a;基于BIO】中&#xff0c;介绍Java中I/O和TCP的基本概念&#xff0c;本文在上文的基础上&#xff0c;实现一个基本的聊天室的功能。 聊天室需求描述&#xff1a; 聊天客户端&#xff1a;发送消息给所有其他客户端&#xff0c;接收…

《剑指 Offer》专项突破版 - 面试题 113、114 和 115 : 详解拓扑排序(C++ 实现)

目录 前言 面试题 113 : 课程顺序 面试题 114 : 外星文字典 面试题 115 : 重建序列 前言 拓扑排序是指对一个有向无环图的节点进行排序之后得到的序列。如果存在一条从节点 A 指向节点 B 的边&#xff0c;那么在拓扑排序的序列中节点 A 出现在节点 B 的前面。一个有向无环…

关于某次授权的大型内网渗透测试(1)

前期渗透&#xff1a; 打点&#xff1a;&#xff08;任意文件上传&#xff09; 直接发现头像处任意文件上传&#xff0c;这里直接上传冰蝎即可。 tasklist查看杀软 System Idle Process 0 N/A System …

细说postgresql之pg_rman备份恢复 —— 筑梦之路

pg_rman是一款开源的备份恢复软件&#xff0c;支持在线和基于PITR的备份恢复方式。 pg_rman类似于oracle的rman&#xff0c;可以进行全量、增量、归档日志的备份。 运行模式&#xff1a; 安装部署 Releases ossc-db/pg_rman GitHub 1、需要根据PG Server的版本&#xff0c;下…

05 MySQL--字段约束、事务、视图

1. CONSTRAINT 约束 创建表时&#xff0c;可以给表的字段添加约束&#xff0c;可以保证数据的完整性、有效性。比如大家上网注册用户时常见的&#xff1a;用户名不能为空。对不起&#xff0c;用户名已存在。等提示信息。 约束包括&#xff1a; 非空约束&#xff1a;not null检…

6.6 完数(project) educoder项目实训

前言 在最近的Python课上&#xff0c;做到这样一个“有趣”的作业&#xff0c;求得前n个完数&#xff0c;并输出其与其真约数的约数的加和式子&#xff0c;刚开始没怎么在意这个题&#xff0c;想着不就是做过好几遍了的语言基础练习题嘛&#xff0c;但是接下来的几小时没想到都…

探索设计模式的魅力:开启智慧之旅,AI与机器学习驱动的微服务设计模式探索

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索AI与机器学习驱动的微服务设计模式之旅✨ 亲爱的科技爱好者们&#xff0c;有没…

【独家推荐】视频下载神器:一键解决Mac/Win视频下载转换难题!

在信息爆炸的时代&#xff0c;视频已经成为我们获取知识和娱乐的重要途径。然而&#xff0c;很多精彩视频并没有提供直接的下载链接&#xff0c;这就给广大视频爱好者带来了不小的困扰。不过&#xff0c;现在有了这款专为Mac和Windows用户打造的视频下载转换器&#xff0c;一切…

Redux入门:使用@reduxjs/toolkit构建React应用程序状态管理

随着应用程序复杂性的增加,有效管理应用程序状态变得越来越重要。Redux是一种流行的状态管理解决方案,随着应用程序复杂性的增加,有效管理应用程序状态变得越来越重要。Redux是一种流行的状态管理解决方案,但传统的Redux设置和使用过程比较繁琐。幸运的是,Redux官方团队推出了r…

C语言实现贪吃蛇项目(2)

先来看看效果&#xff1a; 20240420_212115 文章目录&#xff1a; 3.项目实现3.0宽字符的打印3.01本地化操作setlocale函数宽字符的打印 3.1贪吃蛇结构的创建和维护3.11贪吃蛇结构的创建3.12贪吃蛇的维护 3.2初始化游戏3.21.打印欢迎界面、隐藏光标和设置窗口大小3.22.绘制地图…

记录好用的python包

记录好用的python包 PipxCentos 安装pipx确保 Pip 被安装更新 Pip安装 Pipx添加 Pipx 到 PATH临时添加到 PATH:永久添加到 PATH: 验证 Pipx 安装 Hatch安装特性 Poetry安装准备工作创建虚拟环境激活虚拟环境安装包追踪 & 更新包常用配置pycharm 远程连接poetry创建的虚拟环…

pycharm创建的项目

pycharm生成django templates删出 settings.py

数据分析_商品维度占比及变化可视化分析(Pandas和Matplotlib)

数据分析_商品维度占比及变化可视化分析(Pandas和Matplotlib) 分析维度包括: 各商品年度销量占比 各商品月度销量变化 构建测试数据 这里你可以了解到: 如何生成时间相关的数据。 如何从列表&#xff08;可迭代对象&#xff09;中生成随机数据。 Pandas 的 DataFrame 自…

IOS 32位调试环境搭建

一、背景 调试IOS程序经常使用gdb&#xff0c;目前gdb只支持32位程序调试&#xff0c;暂不支持IOS 64位程序调试。IOS 32位程序使用GDB调试之前&#xff0c;必须确保手机已越狱&#xff0c;否则无法安装和使用GDB调试软件。下面详细介绍GDB调试IOS 32位程序的环境搭建。 二、I…

数字时代的智慧演奏

数字化时代&#xff0c;工业不再是孤独的机器运转&#xff0c;而是演绎着一场智能与数据的华丽交响。无数智能节点的联动&#xff0c;数据的涌动&#xff0c;成为工业的新活力&#xff0c;同时也是创新的源泉。 工业互联网将每个机器、设备连接在一起&#xff0c;打破了原本独立…