空间转录组:从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 对象导入的函数。

相关文章
|
6月前
|
存储 编解码 移动开发
空间转录组:数据格式介绍
空间转录组:数据格式介绍
空间转录组:数据格式介绍
|
2月前
|
编解码 数据可视化 数据挖掘
空间转录组: Visium HD 数据集分析 (1)
空间转录组: Visium HD 数据集分析 (1)
232 27
空间转录组: Visium HD 数据集分析 (1)
|
6月前
|
存储 编解码 数据可视化
三维基因组|Hi-C 数据格式
三维基因组|Hi-C 数据格式
三维基因组|Hi-C 数据格式
|
4月前
|
数据挖掘 数据处理
空间转录组: 标准化+特征选择
空间转录组: 标准化+特征选择
|
6月前
|
数据可视化 数据挖掘
ingest和BBKNN进行单细胞整合(1)
ingest和BBKNN进行单细胞整合(1)
ingest和BBKNN进行单细胞整合(1)
|
7月前
|
数据可视化 数据处理
CUT&Tag 数据处理和分析教程(9)
CUT&Tag 数据处理和分析教程(9)
242 15
CUT&Tag 数据处理和分析教程(9)
|
7月前
|
数据挖掘
scRNA-seq 细胞通信 分析教程(长文+代码)
scRNA-seq 细胞通信 分析教程(长文+代码)
275 11
scRNA-seq 细胞通信 分析教程(长文+代码)
|
数据采集 数据挖掘 数据库
单细胞分析 | 使用 Monocle 3 进行发育轨迹分析
单细胞分析 | 使用 Monocle 3 进行发育轨迹分析
1231 0
单细胞分析 | 使用 Monocle 3 进行发育轨迹分析
|
Ubuntu Shell Linux
pyenv 管理多个 Python 版本(1)
pyenv 管理多个 Python 版本(1)
477 86
pyenv 管理多个 Python 版本(1)