空间转录组:数据格式介绍

简介: 空间转录组:数据格式介绍

引言

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

简介

Bioconductor 提供了多种数据类,用于存储和处理空间(转录)组学数据集。这些统一的数据结构使得可以方便地将不同研究团队开发的方法和软件包整合起来,构建出包含最新先进方法的分析流程。

接下来,介绍本系列中用到的 Bioconductor 数据类。

文件格式

空间(转录)组学的检测手段以及由此获取的数据类型丰富多样。而且,不同的供应商在分发数据时采用的文件格式也不尽相同。

下面,对常见的文件格式以及它们在 R 软件中的处理方式做一个简单介绍。

计数数据

基于测序技术的检测所获得的数据一般包含(细胞)条形码、元数据以及一个矩阵,矩阵的行和列分别对应特征和观测值。这类数据通常以 .csv.mtx 文件(或它们的压缩版本,如 .gz)的形式提供。

10x Genomics 的数据为例,可以借助 DropletUtils 中的 read10xCounts()函数将其计数数据导入 R;其他供应商的数据则可以通过标准的 R 读取工具来读取。对于规模较大的数据集(比如包含数十万个细胞的数据),.h5 文件能够以非内存的方式表示计数矩阵,在 R 中以 DelayedArrays(参考 HDF5Array)的形式展现,从而有效处理大规模数据。

.parquet

表格数据(比如分割边界、分子位置等信息)可能会以 .parquet 文件的形式出现。可以通过 arrow 来与这类文件进行交互操作。特别值得一提的是,arrow 的 read_parquet()函数支持延迟的 dplyr 风格操作,像 filter()和 select()等,这样就可以延迟查询数据,例如只把相关的部分加载到内存中,提高数据处理的效率。

.zarr

.zarr 存储库可以将 N 维数组以“块”的网格形式进行存储,方便实现并行访问。在处理(生物)成像数据时,不同的图像尺度或分辨率可以作为“金字塔”的不同层级来存储,其中金字塔的底部代表最高分辨率,顶端则代表最低分辨率。R 与 .zarr 的接口可以通过 Bioconductor 上的 Rarr 或 CRAN 上的 pizzarr 来实现。

数据类

  • 基于测序的空间转录组学(ST)数据里,数据呈现为转录本 - 位点计数矩阵的形式,每个位点还附带空间坐标信息。

  • 基于成像的 ST 技术产生的数据是分子级别的,通常以长格式表格形式呈现,每一行代表一个观测值,列则包含转录本身份、空间位置以及实验元数据(比如样本来源)等信息。经过细胞边界的分割和转录本到细胞的映射后,这些数据可以被转换成类似单细胞组学技术数据的转录本 - 细胞计数矩阵。

无论是哪种类型的数据,观测值都与额外的元数据相关联,比如位点或分割细胞的面积大小,对于基于成像的数据,还包括分割得到的质心位置和多边形边界等信息。

基于 Bioconductor 的数据类

SingleCellExperiment

单细胞 RNA - seq 及类似技术能够在单细胞水平上对转录本进行定量,生成转录本 - 细胞计数矩阵。在 Bioconductor 中,用于处理单细胞实验数据的主要类是 SingleCellExperiment(简称 SCE)。

SCE 是在 SummarizedExperiment(SE)类的基础上,针对单细胞数据的特点进行扩展而来的。比如,它有 reducedDims 功能,可以存储观测值的低维嵌入结果,像 PCA、t - SNE 和 UMAP 等;row - 和 colPairs 分别用于存储基因之间的关系(例如基因 - 基因相关性)和细胞之间的关系(例如细胞 - 细胞距离);此外,来自相同细胞的其他特征的数据,比如通过多模态检测得到的数据,会以 altExps(即“替代实验”)的形式存储起来。

SpatialExperiment

SpatialExperiment(SPE)是本专栏中使用的核心数据类。这个类可以让我们在位点或细胞水平上存储数据集,也就是说,它可以存储基于测序平台的位点水平数据,或者把基于成像平台的数据汇总到细胞水平。

SPE 在 SCE 的基础上进行了进一步定制,专门用于存储空间信息,比如空间坐标和图像文件。SpatialExperiment 对象结构的示意图如图 4.1 所示。简单来说,一个 SPE 对象包含以下几部分:(i)包含表达计数的 assays,(ii)包含基因信息的 rowData,(iii)包含位点或细胞信息的 colData,其中既有非空间元数据,也有空间元数据,(iv)包含空间坐标的 spatialCoords,以及(v)包含图像数据的 imgData。对于基于位点的数据,它使用一个名为 counts 的单一 assay 来存储。

SpatialFeatureExperiment

SPE 经过 SpatialFeatureExperiment(SFE)的拓展后,能够进一步容纳观测值和特征层面的图(比如细胞 / 位点邻域)以及几何形状(比如分割和组织边界,或者是病理学家标注的组织学区域)。由于这些内容以 sf(几何形状)和 spdep(图)对象的形式呈现,SFE 可以直接利用多种几何操作(例如相交和缓冲处理)以及空间依赖性计算。

MoleculeExperiment

MoleculeExperiment(ME)是专门针对基于成像的空间转录组学数据设计的。对于每一个样本,ME 会存储一份分子列表(比如转录本身份和坐标),以及边界信息(比如细胞身份和多边形坐标)。这些边界信息理论上可以包含替代分割方式,可能来源于细胞膜、细胞体或者细胞核染色等情况。通过这种方式,可以根据一组给定的边界来分配分子,从而得到不同的计数矩阵。反过来,在细胞聚合水平上,可以利用由 ME 衍生的 SPE 来开展分析(ME 包提供了一个包装器来实现这一功能)。

非基于 Bioconductor 的

除了 Bioconductor 之外,还有一些其他框架可以支持对基于测序和成像的平台进行空间感知分析。seurat 和 scanpy分别在 R 和 Python 中提供了全面的单细胞分析流程,它们都加入了用于可视化和分析空间组学数据集的功能。像 Giotto(R)、VoltRon(R)和 squidpy(Python)这样的软件包,都支持用于分析空间组学数据的全功能框架,并且包含了大量空间感知算法。

Giotto

Giotto(或者叫 Giotto Suite)提供了用于在多个尺度和分辨率上处理、分析以及可视化空间多组学数据的工具。这个软件包能够支持对众多基于测序和成像的平台进行分析,这些平台涵盖了转录组学和蛋白质组学模式,比如 Xenium、Visium HD 和 CODEX(Akoya)。Giotto 提供了操作空间对象和图像、检测空间模式以及空间感知聚类的工具,并且支持通过 dbverse 进行基于数据库的后端数据处理,从而实现更好的可扩展性。

VoltRon

VoltRon 软件包整合了一个框架,允许在跨越感兴趣区域(ROIs)和图像瓦片以及细胞、位点和分子的观测值之间进行空间感知对齐。它提供了 Shiny 应用程序,用于在相邻组织切片之间进行自动和手动空间对齐,用户可以交互式地管理图像并选择共配准的地标点。VoltRon 本身也是一个端到端的空间组学分析软件包,并且支持使用 .zarr 和 .h5 支持的 DelayedArray 对象进行空间解析数据集的磁盘表示。

SpatialData

SpatialData框架提供了一套用于加载、处理以及(静态和交互式)可视化各种空间组学数据(包括基于成像和测序的数据以及不同模式)的模块。本质上,该容器依赖于 5 种类型的元素(图像、标签、形状、点和表格),这些元素在磁盘上使用标准化的、符合 OME - NGFF 规范的文件格式表示(.zarr 用于图像、标签和表格;.parquet 用于形状和多边形),从而实现统一且内存效率高的数据表示和处理。

相关文章
|
5月前
|
移动开发 编解码 数据挖掘
空间转录组:从R导入数据
空间转录组:从R导入数据
空间转录组:从R导入数据
|
6月前
|
机器学习/深度学习 人工智能 搜索推荐
Deep Search 如何理解业务仓库代码?
本文系统地介绍了 Deep Search 和 Deep Research 的概念、与传统 RAG 的区别、当前主流的商业产品与开源方案、在代码领域的应用(如 Deep Search for 仓库问答)以及未来的发展规划。
570 21
Deep Search 如何理解业务仓库代码?
|
6月前
|
前端开发 API 开发者
一键抠图有多强?19Kstar 的 Rembg 开源神器,5 大实用场景颠覆想象!
Rembg是一款基于Python的开源抠图工具,利用深度学习模型(U-Net/U-2-Net)实现高质量背景移除。它支持命令行、Python API、服务端API及插件等多种形式,适用于电商商品图、社交头像优化、设计项目图像等场景。凭借高精准度、即插即用特性和全面生态,Rembg在GitHub上已获19.1K星,成为开发者社区中的热门工具。其本地部署特性确保数据隐私,适合专业与商业环境使用。项目地址:https://github.com/danielgatis/rembg。
1654 24
|
2月前
|
人工智能 监控 供应链
51_安全性测试:提示注入与红队
在2025年,大型语言模型(LLM)已成为企业数字化转型的核心驱动力,但随之而来的安全挑战也日益严峻。数据显示,全球每月监测到超过50万次针对大语言模型的越狱攻击,这些攻击利用LLM的"黑箱"特性和自主生成能力,突破了传统安全边界。特斯拉自动驾驶系统因对抗性贴纸导致12%测试场景意外加速、加拿大航空聊天机器人误导票价信息被勒令退款、韩国初创公司因AI数据泄露被罚9.3万美元、谷歌Bard曾因错误信息导致市值缩水1000亿美元等真实案例,都凸显了LLM安全的重要性
|
6月前
|
数据可视化 数据挖掘
ingest和BBKNN进行单细胞整合(1)
ingest和BBKNN进行单细胞整合(1)
ingest和BBKNN进行单细胞整合(1)
|
7月前
|
存储 数据可视化 Python
单细胞RNA速率分析: scVelo入门教程
单细胞RNA速率分析: scVelo入门教程
单细胞RNA速率分析: scVelo入门教程
|
5月前
|
编解码 数据挖掘
空间转录组学: 测序平台介绍
空间转录组学: 测序平台介绍
|
6月前
|
设计模式 Java API
Java 高效开发实战之让代码质量飙升的 10 个黄金法则技巧
本文分享了10个提升Java代码质量的黄金法则,涵盖日志优化、集合操作、异常处理、资源管理等方面。通过参数化日志减少性能开销,利用Stream与Guava简化集合操作,采用CompletableFuture优化并发处理,运用Optional避免空指针异常等实战技巧,结合具体案例解析,助你写出高效、高质量的Java代码。
249 1
|
6月前
|
人工智能 API 开发者
智能体(AI Agent)开发实战之【LangChain】(一)接入大模型输出结果
LangChain 是一个开源框架,专为构建与大语言模型(LLMs)相关的应用设计。通过集成多个 API、数据源和工具,助力开发者高效构建智能应用。本文介绍了 LangChain 的环境准备(如安装 LangChain、OpenAI 及国内 DeepSeek 等库)、代码实现(以国内开源大模型 Qwen 为例,展示接入及输出结果的全流程),以及核心参数配置说明。LangChain 的灵活性和强大功能使其成为开发对话式智能应用的理想选择。