空间转录组学: 质控处理(1)

简介: 空间转录组学: 质控处理(1)

引言

本系列讲解 空间转录组学 (Spatial Transcriptomics) 相关基础知识与数据分析教程,持续更新,欢迎关注,转发,文末有交流群

质控

质量控制( QC )的目标是在进一步分析之前去除低质量spots或技术伪影。低质量spots可能由于文库制备或其他实验步骤中的问题而产生。为了防止将不必要的偏倚引入下游分析,低质量spot通常在进一步分析之前被移除。

低质量spots可以根据若干特征识别,包括:

  • 文库大小(即每个spots的总独特分子标识符( UMI )计数)
  • 表达特征的数量(即每个spots中非零 UMI 计数的基因数量)
  • 比对到线粒体基因的读段比例(高比例指示细胞损伤)
  • 每个spots的细胞数量(异常高的数值可能指示由于细胞分割这一计算步骤失败,或组织损伤导致的问题)

低文库大小或低表达特征数量可能表明 mRNA 捕获效率差,例如由于细胞损伤导致 mRNA 缺失,或反应效率低。高比例的线粒体读段可能指示细胞损伤,例如部分细胞裂解导致泄漏和胞质 mRNA 缺失,由此产生的读段因而集中在相对受线粒体膜保护的剩余线粒体 mRNA 上。异常高的每个spots细胞数量可能指示细胞分割步骤中的问题。

挑战

上述前三个特征是在 scRNA-seq 数据中使用的标准 QC 指标,它们通常也适用于 ST 数据。然而,在解释这些指标时必须谨慎,因为在基于测序的 ST 数据中,它们容易受到生物学的混淆。

例如,在大脑中,神经元胞体位于灰质,而白质几乎完全由神经元突起组成。这自然导致灰质区域检测到的基因数量和总体捕获的转录本数量远高于白质。此外,白质往往比灰质显示更高比例的线粒体读段。缺乏这一生物学背景,人们可能错误地认为白质区域质量低,应在下游分析前移除。

本文结构

在本系列中,我们将首先介绍使用各种策略识别低质量spots的方法,包括:

  1. 通过全局阈值法为单核 RNA-seq( snRNA-seq )开发的标准方法;
  2. 旨在缓解因空间混淆导致的 QC 偏倚的较新方法。

包 依赖

在本章中,我们将依赖以下包:

library(STexampleData)
library(ggspavis)
library(scater)
library(scuttle)
library(SpotSweeper)
library(patchwork)

数据导入

接下来,我们导入一个 10x Genomics Visium 数据集。该数据集先前已通过 R 之外工具的数据预处理流程进行了预处理,并以 SpatialExperiment 格式保存,可从 STexampleData 包下载。

该数据集包含来自一位供体的一个样本(Visium 捕获区域),由来自背外侧前额叶皮层(DLPFC)大脑区域的人类死后脑组织构成。

(spe <- Visium_humanDLPFC())

计算 QC 指标

我们结合 scater 包中的方法(适用于 scRNA-seq 数据的指标,这里把spots视作细胞)以及我们自写的函数,来计算上述 QC 指标。随后可用这些指标识别低质量spots。

来自 scater 的 QC 指标可通过 addPerCellQC 函数计算,并添加到 SpatialExperiment 对象的列数据中。其中,sum 列包含每个spots的独特分子标识符( UMI )总数,detected 列包含每个spots检测到的独特基因数目,subsets_mito_percent 列则包含每个spots比对到线粒体基因的转录本百分比(或比例)。

首先,我们将对象做子集化,仅保留被组织切片覆盖的spots。其余spots为背景spots,我们不感兴趣,因为它们几乎全部由线粒体基因以及细胞碎片中的转录本构成。

# subset to keep only spots over tissue
spe <- spe[, spe$in_tissue == 1]
dim(spe)
##  [1] 33538  3639

# identify mitochondrial genes
is_mito <- grepl("(^MT-)|(^mt-)", rowData(spe)$gene_name)
table(is_mito)
##  is_mito
##  FALSE  TRUE 
##  33525    13

rowData(spe)$gene_name[is_mito]
##   [1] "MT-ND1"  "MT-ND2"  "MT-CO1"  "MT-CO2"  "MT-ATP8" "MT-ATP6" "MT-CO3" 
##   [8] "MT-ND3"  "MT-ND4L" "MT-ND4"  "MT-ND5"  "MT-ND6"  "MT-CYB"

# calculate per-spot QC metrics and store in colData
spe <- addPerCellQC(spe, subsets = list(mito = is_mito))
head(colData(spe))

未完待续,欢迎关注!

相关文章
|
存储 SQL 缓存
带你全面了解MySQL性能调优、错误代码总结和全局参数配置
本文主要介绍当前MySQL性能优化+原理+实战,包括以下方面: MySQL遇到的的错误及解决方法 全局参数文件配置详解。
1358 0
|
11月前
|
算法 数据可视化 数据挖掘
空间转录组: Visium CRC 数据集分析
空间转录组: Visium CRC 数据集分析
994 42
空间转录组: Visium CRC 数据集分析
|
9月前
|
存储 编解码 数据可视化
空间转录组: Visium HD 数据集分析 (完结)
空间转录组: Visium HD 数据集分析 (完结)
空间转录组: Visium HD 数据集分析 (完结)
|
存储 数据可视化 数据挖掘
单细胞分析: Scanpy 核心绘图 (1)
单细胞分析: Scanpy 核心绘图 (1)
1017 4
|
10月前
|
编解码 数据可视化 数据挖掘
空间转录组: Visium HD 数据集分析 (3)
空间转录组: Visium HD 数据集分析 (3)
python打包pyinstaller如何使用
解决打包时缺失`libpython3.so`的问题,需确保Python在编译时使用`--enable-shared`选项以支持共享库模式。之后,将生成的`libpython3.so`及`libpython3.9.so.1.0`复制到系统库目录`/usr/lib64`。参考链接提供详细步骤。
|
机器学习/深度学习 编解码 自然语言处理
重磅!新增 13 种 Transformer 方法,火速收藏
如今,Transformer 这把火已经烧到了计算机视觉领域,可以说成为今年最大的热点。本着全心全意为社区服务的精神,OpenMMLab 当然不会对此无动于衷。 为了方便大家研究学习,我们基于 MMCV ,在OpenMMLab 6个方向的 repo 中复现了 13 种基于 Transformer 的方法,快来看看有没有你需要的吧。
1370 0
重磅!新增 13 种 Transformer 方法,火速收藏
|
负载均衡 监控 网络协议
OSPF中的度量值(Metric)设置:原理与应用
OSPF中的度量值(Metric)设置:原理与应用
1942 2
|
运维 数据可视化 搜索推荐
零代码、低代码、全代码的区别
如果您留意过这两年IT行业的新词汇,一定会注意到零代码、低代码这几个新事物。此前,阿里云智能总裁、达摩院院长张建锋在会上表示:未来的软件开发一定是碎片化的,2021年的潮流就是低代码开发,低代码开发将是2021年的行业关键词。从这句话中,我们不难发现,随着低代码、无代码在2021开年的火爆程度,俨然有逐渐成为新风口的趋势。对此,为了帮助大家更快速的了解低代码、无代码、全代码,我特地为大家整理了他们之间的区别,供大家参考学习,希望对大家有所帮助!
4704 1
零代码、低代码、全代码的区别