混乱的10X空转基础读取

2024-06-10  本文已影响0人  可能性之兽

由于spaceranger2.0对将tissue_positions_list.csv更改为tissue_positions.csv,所以导致seurat和scanpy之间一系列的读取不兼容。

首先,spaceranger2.0的格式竟然不被seurat4版本和scanpy直接支持,需要将其中的一个文件tissue_positions.csv改为tissue_positions_list.csv,才能被两者勉强读取。

但是seurat4直接读取会有一个问题,那就是barcode不支持改名,也就是不能直接加上一些前缀防止样本barcode重叠。而seurat5可以。

但是如果你用scanpy直接读取spaceranger2.0的输出(修改为list后),它会在sc.pl.spatial画图的时候疯狂报错,因为scanpy函数的作者对于sc.pl.spatial不打算重写改轮子了,把相关的绘图函数兼容更新反而放在他们课题组的专门针对空转的包squidpy里面了。(老实说有点感觉是在强推他们新开发软件的样子)

所以scanpy是不直接兼容spaceranger2.0,直接兼容只有squidpy以及seurat5。除非你有更早版本的spaceranger的结果,才能被scanpy和seurat4兼容。

但是经过一系列实验,发现scanpy正确读取绘图不报错的话,需要下面操作

adata.obsm['spatial'] = adata.obsm['spatial'].astype(np.int)

这样生成的图片和squidpy没有区别

那么tissue_positions.csv这个文件到底有什么特殊?其内容如下

tissue_positions.csv:这个文本文件包含一个表格,其中每一行对应一个点。从 Space Ranger v2.0 开始,这个文件(之前名为 tissue_positions_list.csv)更名并包含了一个表头列。除去表头列,对于具有 6.5 mm 捕获区域的 Visium 载玻片,该文件有 4,992 行;对于具有 11 mm 捕获区域的 Visium 载玻片,该文件有 14,336 行,这正是空间阵列中点的数量。各列对应以下字段:

  • 这个字段表示条形码在数组(或网格)中的行索引。数组是用于组织切片的一个网格布局,便于定位。
  • 这个字段表示条形码在数组(或网格)中的列索引,与array_row一起确定条形码在数组中的位置。

这些信息帮助研究人员将基因表达数据与组织切片中的具体位置对应起来,从而进行空间转录组学分析。

barcode,in_tissue,array_row,array_col,pxl_row_in_fullres,pxl_col_in_fullres
ACGCCTGACACGCGCT-1,0,0,0,25787,2222
TACCGATCCAACACTT-1,0,1,1,25604,2540
ATTAAAGCGGACGAGC-1,0,0,2,25421,2222

比如

来自 10x 的新空间转录组学数据 - 帮助/squidpy - scverse --- Data fomr new spatial transcriptomics from 10x - Help / squidpy - scverse

Space Ranger Spatial Outputs - Official 10x Genomics Support

上一篇 下一篇

猜你喜欢

热点阅读