【技术介绍】空间转录组学10X Visium方法原理

目录

1 芯片结构

2 操作流程


10X Visium是一种空间转录组学技术,用于研究组织和细胞在其原位空间中的基因表达模式。这种技术允许研究者同时获得组织中数千个基因的表达信息,并将其与组织的空间结构相对应。

AI for Science飞速发展的当下,机器学习在生物信息领域的应用备受关注,空间转录组学是其中很重要的一部分,对于没有生物信息学背景的人,上手使用数据往往是一个难点。理解相关技术的原理可能能够帮助大家理解数据。

1 芯片结构

上图为10x Visium技术使用到的芯片(slide)结构如上图所示,用于捕获细胞切片中的mRNA。

每个芯片(左1)包含四个捕获区,即芯片上的四个正方形区域,每个捕获区大小为8mm*8mm,其中真正有用的部分大小为6.5mm*6.5mm

每个正方形区域有约5000个spot组成(左2),单个spot的直径为55μm,相邻spot圆心距为100μm。因此每个spot可以捕获多个细胞。对于捕获的细胞数,不同文章有不同的说法,这也与细胞大小、细胞间距等有关,但大致范围为几个到几十个之间。

从侧面看单个spot如图(右2)所示,每个spot上有数百万个探针。单个探针由四部分组成(右1)。

黑色区域Partial Read 1测序时所需要的部分引物序列。

绿色区域Spatial Barcode是用于确定探针位置的条码,相同每个探针都有一个该序列,同一个spot内所有探针的该序列相同,而不同spot之间该序列互不相同,以此可以确定表达产物的空间位置。

红色区域UMI是unique molecular identifier的缩写,每个spot中不同探针具有不同UMI,用于确定捕获到的转录本数量。

蓝色区域Poly(dT)有许多T碱基组成,与mRNA3'端的一连串A碱基序列互补,用于捕获mRNA。

2 操作流程

上图展示了10x Visium技术流程。

1)样本准备,将组织切片固定到捕获区(芯片正方形区域),进行HE染色及拍照

2)进行组织透化(permeabilization),破坏细胞,释放mRNA,是其与探针结合

3)由于mRNA不稳定,故将其逆转录成cDNA

4)将cDNA(探针和cDNA的结合物)洗脱,随后可以进行文库构建、测序及数据可视化。由于每个探针具有Spatial Barcode,因此即使不同spot的探针混在一起,也可以保留各自的空间位置信息

下面是另一个版本的原理图

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在R语言中,可以使用一些包来读取和处理空间转录组数据,常用的包有Seurat、SpatialTranscriptomics和STUtility等。这里以Seurat包为例,介绍如何读取空间转录组数据。 1. 安装Seurat包 在R语言中,需要先安装Seurat包。可以使用以下代码进行安装: ``` install.packages("Seurat") ``` 2. 读取数据 在使用Seurat包之前,需要将空间转录组数据读入R语言环境中。通常使用的数据格式有10x Genomics Visium、NanoString GeoMx和Spatial Transcriptomics等。Seurat包中提供了一些函数来读取这些数据格式,如Read10X()、ReadVisium()和ReadSpatial()等。 例如,使用以下代码读取10x Genomics Visium格式的空间转录组数据: ``` library(Seurat) data <- ReadVisium("path/to/data") ``` 其中,"path/to/data"是数据文件的路径。 3. 数据预处理 读入数据后,需要进行一些数据预处理,如基因过滤、归一化和批次效应校正等。Seurat包提供了一些函数来进行这些预处理操作,如FilterCells()、NormalizeData()和IntegrateData()等。 例如,使用以下代码对数据进行基因过滤和归一化: ``` data <- FilterCells(data, min.cells = 3, min.genes = 200) data <- NormalizeData(data) ``` 其中,FilterCells()函数可以去除低质量的细胞和基因,min.cells和min.genes参数分别表示每个细胞和每个基因的最小表达量。NormalizeData()函数可以将数据进行归一化。 4. 可视化 数据预处理完成后,可以使用Seurat包中的SpatialPlot()函数对空间转录组数据进行可视化。SpatialPlot()函数可以将细胞和基因的空间位置信息与基因表达量进行可视化,并使用t-SNE或UMAP等算法将细胞投影到二维空间中。 例如,使用以下代码对空间转录组数据进行可视化: ``` data <- RunTSNE(data) SpatialPlot(data, label = "gene", gene = "ACTB") ``` 其中,RunTSNE()函数使用t-SNE算法将细胞投影到二维空间中,SpatialPlot()函数用于可视化数据。gene参数用于指定要可视化的基因,label参数用于指定标签的类型,可以是"cell"、"gene"或"both"。 5. 差异表达基因分析 可视化完成后,可以使用Seurat包中的FindMarkers()函数对不同空间区域之间的差异表达基因进行分析。FindMarkers()函数可以使用Wilcoxon秩和检验或t检验等方法来进行差异分析,并计算每个基因在不同空间区域中的平均表达量和差异表达程度。 例如,使用以下代码对不同空间区域之间的差异表达基因进行分析: ``` markers <- FindMarkers(data, ident.1 = "area1", ident.2 = "area2") head(markers) ``` 其中,ident.1和ident.2参数分别表示要比较的两个空间区域的标识符,FindMarkers()函数会返回一个包含差异表达基因信息的数据框。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值