美文网首页
混乱的10X空转基础读取

混乱的10X空转基础读取

作者: 可能性之兽 | 来源:发表于2024-06-10 11:22 被阅读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正确读取绘图不报错的话,需要下面操作

    • 更改组织位置文件的名称: 在空间文件夹中,将文件名从 tissue_positions.csv 更改为 tissue_positions_list.csv。
    • 还要更改空间位置格式: 将空间位置的格式从字符串更改为整数(关键):
    adata.obsm['spatial'] = adata.obsm['spatial'].astype(np.int)
    

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

    • 但是注意squidpy以及seurat5读取的时候需要的是原汁原味的spaceranger2.0格式文件,如果已经把tissue_positions.csv改为tissue_positions_list.csv,那么一样能读取,但是后面画图会报大错。因此此时的tissue_positions.csv不能改为tissue_positions_list.csv,如果改过要改回来,这样才能被squidpy以及seurat5读取。

    那么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 行,这正是空间阵列中点的数量。各列对应以下字段:

    • barcode: 该点关联的条形码序列。
    • in_tissue: 二进制值,指示该点是否落在组织内(1)或组织外(0)。
    • array_row:
      • 对于具有 6.5 mm 捕获区域的 Visium 载玻片,该点在阵列中的行坐标,范围从 0 到 77,阵列共有 78 行。
      • 对于具有 11 mm 捕获区域的 Visium 载玻片,该点在阵列中的行坐标,范围从 0 到 127,阵列共有 128 行。
    • 这个字段表示条形码在数组(或网格)中的行索引。数组是用于组织切片的一个网格布局,便于定位。
    • array_col:
      • 该点在阵列中的列坐标。为了表示点的“橙箱”排列,对于具有 6.5 mm 捕获区域的 Visium 载玻片,该列索引在偶数行使用从 0 到 126 的偶数,在奇数行使用从 1 到 127 的奇数,每行(偶数或奇数)包含 64 个点。
      • 对于具有 11 mm 捕获区域的 Visium 载玻片,该列索引在偶数行使用从 0 到 222 的偶数,在奇数行使用从 1 到 223 的奇数,每行(偶数或奇数)包含 112 个点。
    • 这个字段表示条形码在数组(或网格)中的列索引,与array_row一起确定条形码在数组中的位置。
    • pxl_row_in_fullres: 该点在全分辨率图像中的中心行像素坐标。
    • pxl_col_in_fullres: 该点在全分辨率图像中的中心列像素坐标。

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

    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
    

    比如

    • 第一行: ACGCCTGACACGCGCT-1,0,0,0,25787,2222

      • barcode: ACGCCTGACACGCGCT-1
      • in_tissue: 0(不在组织中)
      • array_row: 0
      • array_col: 0
      • pxl_row_in_fullres: 25787
      • pxl_col_in_fullres: 2222
    • 第二行: TACCGATCCAACACTT-1,0,1,1,25604,2540

      • barcode: TACCGATCCAACACTT-1
      • in_tissue: 0(不在组织中)
      • array_row: 1
      • array_col: 1
      • pxl_row_in_fullres: 25604
      • pxl_col_in_fullres: 2540

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

    Space Ranger Spatial Outputs - Official 10x Genomics Support

    相关文章

      网友评论

          本文标题:混乱的10X空转基础读取

          本文链接:https://www.haomeiwen.com/subject/kwuiqjtx.html