空间转录组:从R导入数据

简介: 空间转录组:从R导入数据

引言

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

简介

本文主要阐述了如何将数据以 Bioconductor-based data classes 的形式导入 R。我们先对原始数据结构进行了概述,接着介绍了如何将原始数据导入 R。

平面文件结构

目前,不同商业供应商提供的空间转录组学平台的数据,其文件结构和格式各不相同。不过,这些数据在本质上是相似的,比如:基于测序的数据都包含阵列点的空间位置和计数矩阵;基于成像的数据则包括转录本位置(通过点呼叫得到)、多边形边界(通过分割得到)以及计数矩阵(通过将转录本分配到细胞得到)等。

接下来,我们将对几种商业可用的数据类型进行总结。

Visium(10x Genomics)

在 Visium 数据上运行 Space Ranger(10x Genomics 提供的数据处理软件)会生成一组标准化的输出文件。这些文件既包含原始测量数据(与单细胞 RNA 测序类似,但还包含例如点级坐标、潜在图像等信息),也包含来自标准分析流程的结果,该流程包括标准质量控制、降维(如 PCA、t-SNE 和 UMAP)、基于图的聚类等。

10x Genomics 对这些产生的输出进行了描述;简单来说:

Visium
  └── outs
    ├── spatial
      ├── tissue_positions_list.csv # spot locations
      └── tissue_lowres_image.png   # same-section H&E
    └── filtered_feature_bc_matrix  # in-tissue matrix files
    └── raw_feature_bc_matrix       # unfiltered matrix files
         ├── barcodes.tsv # spot barcodes (i.e., sequences)
         ├── features.tsv # gene metadata (e.g., ensembl IDs)
         └── matrix.mtx   # (gene x spot) count matrix

Visium HD (10x Genomics)

在 Visium HD 数据上运行 Space Ranger,其产生的输出与前面提到的类似,不过默认会包含以 2、8 和 16 µm 分辨率进行分箱的输出。所以,输出呈现分层结构,每个 binned_outputs/ 子目录里都包含着和 Visium 的 outs/ 目录相似的文件,比如:

VisiumHD
  └── binned_outputs
    └─── square_002um
      └── filtered_feature_bc_matrix.h5
      └── filtered_feature_bc_matrix
        └── barcodes.tsv.gz
        └── features.tsv.gz
        └── matrix.mtx.gz
      └── raw_feature_bc_matrix.h5
      └── raw_feature_bc_matrix
        └── ...
      └── spatial
        └── tissue_positions.parquet
        └── ...
    └── square_*

Xenium (10x Genomics)

运行 Xenium Ranger 能够把 Xenium 运行产生的原始数据处理成一个输出包,该输出包有着标准化的文件结构和内容。需要特别指出的是,10x Genomics 提供了多种输出文件格式(比如,基因/细胞元数据既有 .csv 格式,也有 .parquet 格式),这使得它能够方便地与各种框架进行互操作。

10x Genomics 对所有输出都进行了详细描述,具体可以查看相关资料;简单来说:

Xenium
  └── outs 
    ├── cells.parquet          # cell metadata (e.g., area)
    ├── cell_feature_matrix.h5 # compressed format of the below 
    └── cell_feature_matrix    # segmentation-derived matrix files
      ├── barcodes.tsv # cell barcodes (i.e., sequences)
      ├── features.tsv # gene metadata (e.g., target type)
      └── matrix.mtx   # (gene x cell) count matrix
    ├── transcripts.parquet        # molecule locations
    ├── cell_boundaries.parquet    # membrane segmentation
    ├── nucleus_boundaries.parquet # nuclear segmentation 
    └── experiment.xenium # experiment-wide metadata (in .json format)

CosMx (NanoString)

借助自定义模块脚本,AtoMx Spatial Informatics Portal(SIP)能够导出各种类型的对象,关键的是,它支持“平面”(人类可读的)文件格式。与原始数据(比如,在进行点呼叫之前的图像)不同,这些文件是经过处理后的输出,比如分割边界顶点和分子的空间位置、由分割得到的计数矩阵等。

关于这些文件的详细描述可以查看相关资料;简单来说:

CosMx
  ├── exprMat_file.csv       # (gene x cell) counts
  ├── fov_positions_file.csv # FOV corner positions
  ├── metadata_file.csv      # cell-level metadata
  ├── polygons.csv           # segmentation boundaries
  └── tx_file.csv            # molecule locations

Bioconductor 包

多个 Bioconductor 包中的读取函数可以将原始文件中的数据导入 R 中的 SpatialExperiment 对象(或其衍生对象),具体如下:

  • VisiumIO 提供了用于读取 10x Genomics Space Ranger 流程(即 Visium 和 Visium HD)空间数据的读取器。它支持 .mtx、.tar.gz 和 .h5 文件格式,并且能够一次性读取多个样本。这些数据会被导入到一个 SpatialExperiment 对象中。

  • XeniumIO 提供了将 10x Genomics Xenium 数据导入 R 的函数。它支持多种文件格式,比如用于计数数据的 .h5 和 .mtx,用于多边形和分子的 .parquet 和 .csv 等。此外,它还能自动区分 RNA 目标和其他条形码,像负探针、空白条码等。

  • SpatialExperimentIO 提供了多种基于成像的空间转录组学平台的读取器,涵盖了 CosMx(Bruker)、Xenium(10x Genomics)、MERSCOPE(Vizgen)和 seqFISH(Spatial Genomics)。这些数据可以被导入到一个 SingleCellExperiment 或 SpatialExperiment 中。

  • SpatialFeatureExperiment 提供了将 CosMx、Xenium、MERSCOPE 和 Visium(HD)作为 SpatialFeatureExperiment 对象导入的函数。

相关文章
|
12月前
|
编解码 数据可视化 数据挖掘
空间转录组: Visium HD 数据集分析 (1)
空间转录组: Visium HD 数据集分析 (1)
654 27
空间转录组: Visium HD 数据集分析 (1)
|
机器学习/深度学习 数据可视化 TensorFlow
TensorFlow的可视化工具:TensorBoard的使用
【4月更文挑战第17天】TensorBoard是TensorFlow的官方可视化工具,用于展示和分析模型训练过程、结构和数据。它包括标量、图像、音频、模型图和直方图等多种可视化功能。通过`tf.summary`记录数据,使用`tensorboard --logdir`启动。高级功能包括自定义仪表板、嵌入和插件,助力深度学习的调试与优化。
1426 0
|
存储 编解码 移动开发
空间转录组:数据格式介绍
空间转录组:数据格式介绍
空间转录组:数据格式介绍
|
7月前
|
数据可视化 IDE 数据管理
RStudio 2025 + R 4.5.0 安装与配置教程 Windows版:解压+双软件安装+自定义路径+R语言关联指南
RStudio是R语言的集成开发环境(IDE),集代码编辑、数据管理、可视化与协作功能于一体,大幅提升数据分析效率。本文详解2025版RStudio与R-4.5.0的离线安装、路径配置及环境关联步骤,助你快速上手。
2143 0
|
存储 数据可视化
单细胞分析: Scanpy 核心绘图 (3)
单细胞分析: Scanpy 核心绘图 (3)
1393 0
单细胞分析: Scanpy 核心绘图 (3)
|
存储 数据可视化 Python
单细胞RNA速率分析: scVelo入门教程
单细胞RNA速率分析: scVelo入门教程
1032 1
单细胞RNA速率分析: scVelo入门教程
|
机器学习/深度学习 编解码 人工智能
rebuttal真的有用!这篇ICLR论文,所有审稿人都加了2分,直接跃升排名第9
SANA是一项基于线性扩散变换器的高效高分辨率图像合成框架,采用深度压缩自编码器和线性DiT模型,大幅提高图像合成效率与质量。引入解码器专用文本编码器提升图像与文本对齐能力,结合Flow-DPM-Solver优化训练和采样步骤。研究成果发表于ICLR会议,审稿评分显著提升。SANA生成速度快、模型小,适用于资源有限设备,但在某些方面仍有改进空间。论文地址:https://arxiv.org/abs/2410.10629
452 10
|
存储 编解码 数据可视化
Visium HD空间数据分析、可视化以及整合 (2)
Visium HD空间数据分析、可视化以及整合 (2)
Visium HD空间数据分析、可视化以及整合 (2)
|
Rust 前端开发 关系型数据库
Tauri 开发实践 — Tauri 集成本地数据库
本文介绍了在 Tauri 框架中集成本地数据库的几种方案,包括直接绑定 SQLite、使用第三方数据库库和使用 tauri-plugin-sql-api 插件。最终选择了 tauri-plugin-sql-api,因为它集成简单、支持多种数据库类型,并且与 Tauri 框架深度整合,提升了开发效率和安全性。文章详细介绍了如何安装和使用该插件,以及如何编写核心代码实现数据库操作。
1912 2
|
监控 NoSQL Redis
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
1105 3

热门文章

最新文章