美文网首页空间转录组空间转录组单细胞
【10X空间转录组Visium】(一)Space Ranger

【10X空间转录组Visium】(一)Space Ranger

作者: Geekero | 来源:发表于2020-03-25 10:14 被阅读0次

    今天是2019月12月3日,10X空间转录组的新流程发布了,比起安装旧版的ST Spatial系列好装了太多太多。。。
    跟以前各个系列的Cell Ranger一样,可以生成FASTQ和计数矩阵,还能自动进行二级分析,操作和生成的目录文件结构跟以前都很相似,可以说比较容易上手。
    旧号无故被封,小号再发一次

    更多空间转录组文章:

    1. 新版10X Visium
    2. 旧版Sptial

    主要参考官网:https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger

    总共要下载两个东西:Space Ranger - 1.0.0 (November 25, 2019) 和 Loupe Browser 4.0.0 (December 2, 2019)

    Space Ranger

    Space Ranger包括与空间基因表达实验有关的两条管道:

    • spacerangeranger mkfastq包装了Illumina的bcl2fastq,解复用,并转换barcode和read data为FASTQ
    • spaceranger countspaceranger mkfastq中获取明场切片图像和FASTQ文件,并执行对齐,组织检测,基准检测和条形码/ UMI计数。该管道使用Visium空间条形码生成特征点矩阵 feature-spot matrices,确定聚类并执行基因表达分析。

    这些管道将Visium专用算法与广泛使用的RNA序列比对软件STAR相结合。输出以标准BAM,MEX,CSV,HDF5,TIFF,PNG,JPEG和HTML格式提供,并增加了空间信息。

    Visium-specific 术语

    image.png
    • 对齐文件alignment file - 使用手动对齐和手动组织检测时,使用 Loupe Browser生成的文件 。
    • 区域(或捕获区域)-可以将组织放置在Visium玻片上的四个活动区域之一。每个区域仅包含一个组织样本。玻片区域从上到下依次命名:A1,B1,C1,D1。
    • 明场brighfield图像:组织的光学显微镜图像。在Visium实验中,明场图像用作解剖参考。这些图像通常用苏木精和曙红染色以突出组织结构(请参见下面的H&E染色)。
      image.png
    • 捕获点 -这些是载玻片上的不可见点,其中包含用于捕获poly-adenylated mRNA的特殊寡核苷酸。
    • 基准点fiducial spots:围绕每个捕获区域的带有特殊图案的点的框架。这些斑点可帮助样本显微学家查看放置组织的位置,Space Ranger还可使用这些斑点来确定图像中捕获区域的位置。
    • 字形glyphs-捕获区域每个角上的基准点的子集,这些基准点具有易于识别的形状:沙漏,三角形,空心六边形,实心六边形。
    • H&E染色:-将苏木精和曙红施用于组织以突出组织结构的过程。苏木精使细胞核呈蓝色,曙红使细胞质和细胞外基质呈粉红色。
    • 样本 -应用于Visium玻片上单个区域或由此得出的数据的单个组织切片。
    • 玻片序列号slide serial number -每个Visium玻片标签上印刷的唯一标识符。序列号以“ V1”开头,并以短划线和三位数字结尾,例如123。
    • 双重索引dual indexing -一种通过使用两个寡核苷酸序列对同一流动池flowcell上的多个样品进行测序的策略,一个寡核苷酸序列连接到要测序的每个片段的任一末端,以便唯一地识别样品。Visium库构造仅使用此双索引策略支持多路复用样本。请参阅下面的样本索引。
    • 库(或测序库)-从单个载玻片区域制备的Visium空间条形码测序库。
    • 样本索引 -用于文库构建的寡核苷酸序列,用于区分在同一流通池上测序的多个样本。On the Illumina platform, these sequences are read out as separate "index reads" and reads are sorted into sample-specific files using mkfastq. The Visium library construction supports only "dual-indexing" (see above).Visium库的构造仅支持“双重索引”(请参见上文)。
    • sequencing run (or flowcell):一次测序仪器运行的输出数据,包括Illumina BCL文件。可以按泳道或样本索引对数据进行多路分解。有关解复用的更多信息,请参见 mkfastq

    系统要求

    Space Ranger管道在满足以下最低要求的Linux系统上运行:

    • 8核Intel或AMD处理器(建议使用32核)
    • 64GB RAM(建议128GB)
    • 1TB可用磁盘空间
    • 64位CentOS / RedHat 6.0或Ubuntu 12.04

    为了在集群模式下运行,集群需要满足以下附加最低要求:

    • 每个节点 8核Intel或AMD处理器
    • 每个内核 6GB RAM
    • 共享文件系统(例如NFS)
    • SGE或LSF批处理计划系统

    下载Space Ranger - 1.0.0

    curl -o spaceranger-1.0.0.tar.gz "http://cf.10xgenomics.com/releases/spatial-exp/spaceranger-1.0.0.tar.gz?Expires=1575402715&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cDovL2NmLjEweGdlbm9taWNzLmNvbS9yZWxlYXNlcy9zcGF0aWFsLWV4cC9zcGFjZXJhbmdlci0xLjAuMC50YXIuZ3oiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE1NzU0MDI3MTV9fX1dfQ__&Signature=fACB1rzbHv1rwUicNqL8SheRe6FkFOKxow5cTXcZPfOPBOTBEplElFMnOi4Xv4A2X3kydX45B-JnIaRj7I6a2doGEMTyqv84BnM5LxHAVBtWrXJyQqXbKKtgl9Dxe4BDnM9rPKhs6o2UbmWWAHX8Xu4J3~vgP3yXbhovuyl6OqCxu5p82oxTeOfN0bONqZdZ33svlAXJhatUTdpse2YCSRJZzov69NSHF6gE5DXl6iu5RWU7AgnjFgCuEFkQMwyn-FoYi2~i0s2fOFK0RCVI07~YKNDsjz3eXgOoHjWGPtWw5DAbPpTB2~32xkGzYeIYeZjH6m5JEgNGuvfWEyj~Aw__&Key-Pair-Id=APKAI7S6A5RYOXBWRPDA"
    

    下载参考序列:

    • GRCh38 Reference - 3.0.0 (November 19, 2018)
    curl -O http://cf.10xgenomics.com/supp/spatial-exp/refdata-cellranger-GRCh38-3.0.0.tar.gz
    
    • mm10 Reference - 3.0.0 (November 19, 2018)
    curl -O http://cf.10xgenomics.com/supp/spatial-exp/refdata-cellranger-mm10-3.0.0.tar.gz
    

    其他下载:
    Visium – CSV | JSON

    安装Space Ranger

    $ tar -xzvf spaceranger-1.0.0.tar.gz
    vi ~/.bashrc  # 填入 export PATH=/opt/spaceranger-1.0.0:$PATH
    source ~/.bashrc
    

    验证安装:

    $ spaceranger testrun --id=tiny
    

    无论测试管道成功与否,您都会看到:

    Saving diagnostics to tiny/tiny.mri.tgz
    

    此tiny.mri.tgz文件包含10x诊断信息,可以肥肠方便地用一下命令发给10X,让他们帮你解决问题:

    $ spaceranger upload your@email.edu tiny/tiny.mri.tgz
    

    服务器没连网发邮箱support@10xgenomics.com

    解压reference

    tar -xzvf refdata-cellranger-GRCh38-3.0.0.tar.gz
    

    运行Space Ranger

    根据性能曲线图,CPU限制在32个核心,内存限制在128G
    https://support.10xgenomics.com/spatial-gene-expression/software/overview/system-requirements
    3种运行方式:

    1. 单服务器:这是最直接的方法,也是最简单的故障排除方法。
    2. 作业提交模式
    3. 群集模式:此方法可提供高性能,但由于群集设置因机构而异,因此很难进行故障排除。

    单服务器运行方案:

    默认, spaceranger使用所有可用的内核和90%的检测到的内存。在具有多个并发用户和任务的共享环境中,此行为可能是不希望的。强烈建议运行spaceranger 与 --localcores 和 --localmem指定资源使用上限。

    一、运行spaceranger mkfastq

    管道结构

    输入文件建议:
    1. Sequencing - Read 2 Length
    - 由于“索引跳跃”,Space Ranger要求使用“双重索引”dual-indexing,,在该索引中,使用i7和i5样本索引生成了复用库。
    - 在我们的实验中,使用91个碱基的R2长度可获得最佳的作图速率,从而获得灵敏度,而对于较短或较长的读取,最佳性能则较低。
    - 如果您已使用91个以上的碱基进行测序,则Space Ranger可以根据需要调整数据,从而为您的样品找到最佳选择:查看--r2-length 选项 spaceranger count
    - 如果您对较短的读长进行了测序,则分析仍然可以进行,但灵敏度可能会降低。

    R2长度对样品组织类型的敏感性

    2. 图像输入建议:
    Visium使用的所有输入组织图像必须是24位彩色TIFF,16位灰度TIFF或JPEG。除了Loupe浏览器和Space Ranger的这些基本文件类型要求之外,Space Ranger中的自动图像处理管道还施加了以下概述的其他限制。如果不能满足这些限制,您仍然可以使用Loupe Browser中的手动对齐和组织选择过程来处理数据。

    • 正确的图像方向
      需要在Space Ranger中进行自动处理的图像,其方向必须使沙漏形状的点点位于图像的左上角。图像应大致与轴对齐,尽管轻微旋转(例如,小于15度)应该可以。


      正确定位的切片图像
    • 正确图像大小Correct Sizing
      将输入图像降采样为两个维度中的像素均不大于2000像素,下采样不会影响使用全分辨率输入图像的Loupe Browser中的可视化。建议裁剪图像以去除基准边界外的多余图像区域


      image.png
    • 适当的曝光度


      image.png

    spaceranger mkfastq生成FASTQs

    工作流程:

    • 将10x样本索引名称翻译为i7 / i5双索引中的相应寡核苷酸。例如,样品表中的A1孔可以指定为SI-TT-A1,并且spaceranger mkfastq会将i7和i5索引分别识别为GTAACATGCG和AGTGTTACCT。
    • 支持简化的CSV样本表格式,以处理10个用例。
    • 生成测序和特定于10X的质量控制指标,包括条形码质量,准确性和多样性。
    • 支持大多数bcl2fastq参数,例如--use-bases-mask

    工作流程示例

    在此示例中,有两个10x库(每个库均通过单独的捕获区域处理)在单个流通池上多路复用。注意spaceranger mkfastq运行,我们在每个文库上运行管道的单独实例。

    image.png

    在此示例中,一个10x库在两个流通池上测序。注意spaceranger mkfastq运行,我们在生成的所有FASTQ文件上运行管道的单个实例。

    image.png

    运行示例数据

    spaceranger mkfastq可以识别两种用于描述样本的文件格式:一种简单的三列CSV格式,以及所使用的Illumina实验管理器(IEM)样本表格式bcl2fastq

    要继续,请执行以下操作:

    1. 下载tiny-bcl tar文件
    2. 将tiny-bcl tar文件解压缩到方便的位置。这将创建一个新的tiny-bcl子目录。
    3. 下载简单的CSV布局文件:spaceranger-tiny-bcl-simple-1.0.0.csv
    4. 下载Illumina实验管理器样本表:spaceranger-tiny-bcl-samplesheet-1.0.0.csv
    • 简单的CSV示例表运行mkfastq
      对于大多数测序实验,建议使用简单的csv样本表。简单的csv格式只有三列(通道,样本,索引),因此不太容易出现格式错误。您可以在中看到一个示例spaceranger-tiny-bcl-simple-1.0.0.csv:
    Lane,Sample,Index
    1,test_sample,SI-TT-D9
    

    使用简单布局mkfastq在tiny-bcl测序运行中运行的方法:

    如果未按样本索引测序,则需要使用此格式。spaceranger-tiny-bcl-samplesheet-1.0.0.csv在运行管道之前简要查看一下。

    $ spaceranger mkfastq --id=tiny-bcl \
                         --run=/path/to/tiny_bcl \
                         --csv=spaceranger-tiny-bcl-simple-1.0.0.csv
    

    其中:
    - run (必需) Illumina BCL运行文件夹的路径。
    - id (可选;默认为所引用的流通池的名称--run) mkfastq创建的文件夹的名称。
    --csv (可选)具有泳道,样本和索引列的简单CSV路径,描述了对流通池进行解复用的方式。索引列应包含10X样本双索引名称(例如,SI-TT-A12)。这是Illumina IEM样本表的替代方法,如果--samplesheet指定则将被忽略。

    • 使用Illumina Experiment Manager示例表运行mkfastq

    数据样式:

    [Data]
    Lane,Sample_ID,Sample_Name,Sample_Plate,Sample_Well,I7_Index_ID,index,I5_Index_ID,index2,Sample_Project,Description
    1,s1,test_sample,,,SI-TT-D9,SI-TT-D9,SI-TT-D9,SI-TT-D9,p1,
    

    SI-TT-D9指的是10X样本双索引。
    在此示例中,将仅使用从通道1读取。要在所有泳道上多路分解给定的样本索引,请完全省略泳道列。

    $  spaceranger mkfastq --id = tiny-bcl \ 
                         --run = / path / to / tiny_bcl \ 
                         --samplesheet = spaceranger-tiny-bcl-samplesheet-1.0.0.csv 
    

    检查FASTQ输出

    结果文件夹名字由--id决定

    $ ls -l
    drwxr-xr-x 4 jdoe  jdoe     4096 Nov 14 12:05 tiny-bcl
    

    关键输出文件可在中找到outs/fastq_path,并以与常规bcl2fastq运行相同的方式进行组织:

    $ ls -l tiny-bcl/outs/fastq_path/
    

    读取质量控制指标

    --qc指定该标志后,spaceranger mkfastq管道会将测序和10x特定的质量控制指标写入JSON文件。指标位于outs/qc_summary.json文件中。

    通过查看此输出,您可以在运行spaceranger管道之前诊断低条形码映射率和reads质量

    指定10x管道的输入FASTQ文件

    spaceranger count管道需要FASTQ文件作为输入,通常来自运行spaceranger mkfastq,但是,可以使用其他来源的FASTQ文件,例如Illumina的 bcl2fastq,已发布的数据集或我们的 bamtofastq

    二、运行spaceranger count

    spaceranger count管道的参数:

    参数 描述
    fastqs (必需)包含要分析的FASTQ文件的文件夹。通常,这是spaceranger mkfastq 产生的fastq_path文件夹。如果文件位于多个文件夹中(例如,由于一个库在多个流通池中测序),请提供以逗号分隔的路径列表。
    sample (可选)要分析的样品名称。这是提供给mkfastq 或 bcl2fastq的sample sheet。多个名称可以用逗号分隔的列表提供,在这种情况下,它们被视为一个样本。
    lanes (可选)与此样本关联的通道。默认为所有通道。
    indices (已弃用/可选。仅用于从 spaceranger demux。)与该样本关联的样本索引。

    Fastq文件输出目录

    https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/using/fastq-input

    用spacerange count进行单库分析

    1. 运行spaceranger mkfastq 在Illumina BCL输出文件夹中,以生成FASTQ文件。
    2. 运行spaceranger count,通过spaceranger mkfastq在每个的捕获区域上进行demultiplexed
      对于以下示例,假定Illumina BCL输出在名为的文件夹中/sequencing/140101_D00123_0111_AHAWT7ADXX
    • Run spaceranger mkfastq
      生成FASTQ文件。例如,如果流通池序列号为 HAWT7ADXX,则spaceranger mkfastq将在HAWT7ADXX/outs/fastq_path中输出FASTQ文件。
    • Run spaceranger count
      自动对齐:
      要使用自动基准对齐和组织检测为单个库生成空间特征计数 spatial feature counts
    $ cd /home/jdoe/runs
    $ spaceranger count --id=sample345 \
                       --transcriptome=/opt/refdata/GRCh38-3.0.0 \
                       --fastqs=/home/jdoe/runs/HAWT7ADXX/outs/fastq_path \
                       --sample=mysample \
                       --image=/home/jdoe/runs/images/sample345.tif \
                       --slide=V19J01-123 \
                       --area=A1
    

    手动对齐:
    使用在Loupe Browse中生成的基准对齐和组织分配 json文件为单个库生成空间特征计数

    $ cd /home/jdoe/runs
    $ spaceranger count --id=sample345 \
                       --transcriptome=/opt/refdata/GRCh38-3.0.0 \
                       --fastqs=/home/jdoe/runs/HAWT7ADXX/outs/fastq_path \
                       --sample=mysample \
                       --image=/home/jdoe/runs/images/sample345.tif \
                       --slide=V19J01-123 \
                       --area=A1 \
                       --loupe-alignment=sample345.json
    

    spaceranger将默认使用系统上可用的所有核心数来执行管道。您可以为--localcores选项指定不同数量的核新数。--localmem限制使用的内存量(以GB为单位)
    管道将创建一个新文件夹,其名称为输出指定的sample ID(例如/home/jdoe/runs/sample345)。如果此文件夹已经存在,spaceranger 将假定它是已存在的管道,并尝试恢复运行。
    Slide序列号和捕获区域参数:

    • spaceranger count管道接受slide serial和 capture area参数,以便用最精确的基准和坐标点一个实验。将此信息传递给的最简单方法spaceranger count是通过--slide和--area参数。
    • --slide指定,该管道将下载与所提供的序列号相关联的布局文件。
    • 如果spaceranger在无法访问外部Internet的环境中运行,请按照以下说明进行操作,以便在本地下载slide文件。
    • 不知道与实验相关的序列号或捕获区域:运行:spaceranger--unknown-slide选项。指定后,spaceranger 将对点坐标和基准坐标使用默认布局文件。默认布局和特定载玻片之间相应点的差异在10微米以下。
      下载slide文件以进行本地操作(没有网的情况下):
      管道将需要通过--slidefile参数使用Visium slide的布局文件 。您可以在下面下载Visium slide的布局文件。输入slide的序列号(例如 V19S01-123),然后按“下载”。
      https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/using/count
    下载slide文件

    输出文件

    成功运行后的输出:

    Outputs:
    - Run summary HTML:                         /opt/sample345/outs/web_summary.html
    - Outputs of spatial pipeline:              /opt/sample345/outs/spatial
    - Run summary CSV:                          /opt/sample345/outs/metrics_summary.csv
    - BAM:                                      /opt/sample345/outs/possorted_genome_bam.bam
    - BAM index:                                /opt/sample345/outs/possorted_genome_bam.bam.bai
    - Filtered feature-barcode matrices MEX:    /opt/sample345/outs/filtered_feature_bc_matrix
    - Filtered feature-barcode matrices HDF5:   /opt/sample345/outs/filtered_feature_bc_matrix.h5
    - Unfiltered feature-barcode matrices MEX:  /opt/sample345/outs/raw_feature_bc_matrix
    - Unfiltered feature-barcode matrices HDF5: /opt/sample345/outs/raw_feature_bc_matrix.h5
    - Secondary analysis output CSV:            /opt/sample345/outs/analysis
    - Per-molecule read information:            /opt/sample345/outs/molecule_info.h5
    - Loupe Browser file:                       /opt/sample345/outs/cloupe.cloupe
     
    Pipestance completed successfully!
    

    管道的输出包含在以您指定的sample ID命名的文件夹中(例如sample345)。名为outs的子文件夹包含主要管道输出文件:

    文档名称 描述
    web_summary.html 以HTML格式运行摘要指标和图表
    spatial 该目录包含jpg格式的对齐基准点和检测到的组织的QC图像,scalefactors_json.json,png格式的输入图像的高分辨率和低分辨率版本以及tissue_positions_list.txt
    spatial/aligned_fiducials.jpg 对齐的基准QC图像
    spatial/detected_tissue_image.jpg 检测到的组织QC图像
    spatial/detected_tissue_image.png 全分辨率图像在最长尺寸上降采样为2k像素
    spatial/detected_tissue_image.png 全分辨率图像在最长尺寸上降采样为600像素
    spatial/tissue_positions_list.csv 包含斑点条形码的CSV,如果该斑点是在组织的(1)之下或在组织(0)外调用的,则全分辨率图像的阵列位置,图像像素位置x和图像像素位置y
    spatial/scalefactors_json.json 包含用于全分辨率原始图像的以像素为单位的点直径估计,组织_hires_scalef(用于高分辨率图像的以像素为单位的点位置乘数),用于全分辨率原始图像的以基准像素的基准点直径估计(以像素为单位),低分辨率图像的像素
    metrics_summary.csv 以CSV格式运行摘要指标
    possorted_genome_bam.bam reads与基因组和转录组比对,并带有条形码信息
    possorted_genome_bam.bam.bai 索引 possorted_genome_bam.bam
    filtered_feature_bc_matrix 过滤后的特征条形码矩阵,仅包含MEX格式的spot barcode
    filtered_feature_bc_matrix_h5.h5 过滤后的特征条形码矩阵,仅包含HDF5格式的spot barcode
    raw_feature_bc_matrices 包含所有MEX格式条形码的未经过滤的特征条形码矩阵
    raw_feature_bc_matrix_h5.h5 包含所有HDF5格式条形码的未经过滤的特征条形码矩阵
    analysis 二级分析数据,包括降维,斑点聚类和差异表达
    molecule_info.h5 分子使用的分子水平信息 spaceranger aggr 将样本聚合为更大的数据集。
    cloupe.cloupe Loupe Browser 可视化和分析文件

    一旦 spaceranger count成功完成后,您可以 在任何受支持的Web浏览器中浏览生成的 summary HTML file,在 Loupe Browser,中打开.cloupe文件 ,或参考了解输出部分以手动浏览数据。

    命令行参数参考

    https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/using/count
    常用参数:

    --id:   A unique run ID string: e.g. sample345
    --fastqs: fastq文件所在文件夹
    --sample: 提供给样品表中指定的样品名称
    --transcriptome: 与Space Ranger兼容的转录组参考的路径,例如 /opt/GRCh38-3.0.0
    --image: .jpg或.tiff格式的明场组织H&E图像。
    --slide: Visium slide 序列号
    --area: Visium捕获区域标识符
    --slidefile: slide布局文件指示捕获点和基准点位置
    --loupe-alignment   由手动 Loupe对齐步骤生成的对齐文件。在这种情况下,必须提供--image。
    --unknown-slide: 使用默认的spot位置
    --lanes:    (可选)与此样本关联的泳道
    --localcores: 限制核心数
    -localmem:限制内存
    

    故障排查

    输出文件

    https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/output/overview
    1. Web Summary:
    运行概要:
    web_summary.html:包含:摘要指标和自动二级分析结果

    • 摘要视图:可以通过单击左上角的“summary”来查看运行摘要。摘要指标描述了测序质量和检测到的斑点的各种特性。


      摘要视图
    • 分析视图
      可以通过单击左上角的“分析”来查看自动的二级分析结果。二级分析提供以下内容:
      • 将点投影到二维空间(t-SNE)的降维分析
      • 显示检测到的UMI覆盖在组织切片上的图
      • 自动聚类分析,将具有相似表达谱的斑点分组在一起
      • 显示了覆盖在组织切片上的clusters衍生出的基因表达的图
      • 在所选的cluster之间差异表达的基因列表
      • 显示了降低测序深度对观察到的文库复杂性的影响的图
      • 显示了测序深度降低对每个点检测到的基因的中位数的影响的图
    image.png

    2. Run Analysis:
    count管道输出几个包含自动二级分析结果的CSV文件。这些结果的一部分用于在运行摘要中呈现“分析”视图。

    • PCA降维
      在聚类之前,对标准化的过滤后的特征条形码矩阵运行主成分分析(PCA),以减少特征(基因)维的数量。第一个是每个点在前N个主成分上的投影。默认情况下,N=10(启用化学批次校正时,N=100)
    $ cd /home/jdoe/runs/sample345/outs
    $ head -2 analysis/pca/10_components/projection.csv
    Barcode,PC-1,PC-2,PC-3,PC-4,PC-5,PC-6,PC-7,PC-8,PC-9,PC-10
    AAACATACAACGAA-1,-0.2765,-5.7056,6.5324,-12.2736,-1.4390,-1.1656,-0.1754,-2.9748,3.3785,1.6539
    

    第二个文件是组件矩阵components matrix,该矩阵指示每个功能对每个主成分的贡献度(负载)。未包含在PCA分析中的特征的所有加载值均设置为零。

    $ head -2 analysis/pca/10_components/components.csv
    PC,ENSG00000228327,ENSG00000237491,ENSG00000177757,ENSG00000225880,...,ENSG00000160310
    1,-0.0044,0.0039,-0.0024,-0.0016,...,-0.0104
    

    第三个文件记录了每个主成分解释的总方差的比例。在选择重要的主成分的数目时,查看作为PC等级函数的方差图很有用——当数字开始趋于平缓时,后续的PC不太可能代表数据中有意义的变化。

    $ head -5 analysis/pca/10_components/variance.csv
    PC,Proportion.Variance.Explained
    1,0.0056404970744118104
    2,0.0038897311237809061
    3,0.0028803714818085419
    4,0.0020830581822081206
    

    最后一个文件列出了每个特征的归一化的离散度,然后将特征按其在整个数据集中的平均表达量进行分箱binning 。这为每个特征的差异提供了有用度量。

    $ head -5 analysis/pca/10_components/dispersion.csv
    Feature,Normalized.Dispersion
    ENSG00000228327,2.0138970131886671
    ENSG00000237491,1.3773662040549017
    ENSG00000177757,-0.28102027567224191
    ENSG00000225880,1.9887312950109921
    
    • t-SNE:
      运行PCA之后,运行t分布随机临近嵌入(t-SNE)以可视化二维空间中的斑点。
    $ head -5 analysis/tsne/2_components/projection.csv
    Barcode,TSNE-1,TSNE-2
    AAACATACAACGAA-1,-13.5494,1.4674
    AAACATACTACGCA-1,-2.7325,-10.6347
    AAACCGTGTCTCGC-1,12.9590,-1.6369
    AAACGCACAACCAC-1,-9.3585,-6.7300
    
    • 聚类
      然后根据它们在PCA空间中的投影,进行聚类以将具有相似表达谱的斑点分组在一起。
      基于图的聚类Graph-based clustering (under graphclust)运行一次,因为它不需要预先指定的聚类数量。K-means (under kmeans) 对K=2,...,N运行,其中K对应于聚类编号,默认情况下N=10。每个K的对应结果都被分到其自己的目录中。
    $ ls analysis/clustering
    graphclust         kmeans_10_clusters  kmeans_2_clusters  kmeans_3_clusters
    kmeans_4_clusters  kmeans_5_clusters   kmeans_6_clusters  kmeans_7_clusters
    kmeans_8_clusters  kmeans_9_clusters
    

    对于每个聚类, spaceranger为每个位置生成聚类分配cluster assignments

    $ head -5 analysis/clustering/kmeans_3_clusters/clusters.csv
    Barcode,Cluster
    AAACATACAACGAA-1,2
    AAACATACTACGCA-1,2
    AAACCGTGTCTCGC-1,1
    AAACGCACAACCAC-1,3
    
    • 差异表达分析
      spaceranger还会生成一个表,该表展示相对于所有其他聚类,每个群集的差异表达的特征。对于每个功能,我们每个聚类计算三个值:
    • 聚类i中此特征的每个点的平均UMI计数
    • 聚类i中此特征的表达量相对于所有其他聚类的log2倍变化
    • 表示该特征在聚类i中相对于其他聚类的表达量的显著性的p值,对其进行了调整以考虑要测试的假设数量(即特征数量)。
      该目录与聚类结果位于不同的目录中,但是遵循相同的结构,每个聚类都分为自己的目录。
    $ head -5 analysis/diffexp/kmeans_3_clusters/differential_expression.csv
    Feature ID,Feature Name,Cluster 1 Mean UMI Counts,Cluster 1 Log2 fold change,Cluster 1 Adjusted p value,Cluster 2 Mean UMI Counts,Cluster 2 Log2 fold change,Cluster 2 Adjusted p value,Cluster 3 Mean UMI Counts,Cluster 3 Log2 fold change,Cluster 3 Adjusted p value
    ENSG00000228327,RP11-206L10.2,0.0056858989363338264,2.6207666981569986,0.00052155805898912184,0.0,-0.75299726644507814,0.64066099091888962,0.00071455453829430329,-2.3725403666493312,0.0043023680184636837
    ENSG00000237491,RP11-206L10.9,0.00012635330969630726,-0.31783275717885928,0.40959138980118809,0.0,3.8319652342760779,0.11986963938734894,0.0,0.56605908868652577,0.39910771338768203
    ENSG00000177757,FAM87B,0.0,-2.9027952579000154,0.0,0.0,3.2470027335549219,0.19129034227967889,0.00071455453829430329,3.1510215894076818,0.0
    ENSG00000225880,LINC00115,0.0003790599290889218,-5.71015017995762,8.4751637615375386e-28,0.20790015775229512,7.965820981010868,1.3374521290889345e-46,0.0017863863457357582,-2.2065304152104019,0.00059189960914085744
    
    • ** R下游分析**
      Visium生成的数据结构可以在R中进行分析和可视化。有关说明,请参见R中的二级分析

    3. 矩阵:Feature-Barcode Matrices

    • 矩阵的每个元素是与特征(行)和条形码(列)关联的UMI的数量。
    • 两种类型的特征条形码矩阵:Unfiltered feature-barcode matrix 和 Filtered feature-barcode matrix
      每个矩阵都以 Market Exchange Format (MEX)对疏矩阵进行存储。它还包含gzip压缩的TSV文件,其特征和条形码序列分别与行和列索引相对应。例如,矩阵输出可能类似于:
    $ cd /home/jdoe/runs/sample345/outs
    $ tree filtered_feature_bc_matrix
    filtered_feature_bc_matrix
    ├── barcodes.tsv.gz
    ├── features.tsv.gz
    └── matrix.mtx.gz
    0 directories, 3 files
    
    • 特征对应于行索引。对于每个功能,其功能ID和名称分别存储在(未压缩)的features.tsv.gz文件的第一和第二列中。第三列标识特征的类型,即Gene Expression。以下是一个最小的示例features.tsv.gz 该文件显示收集了3个基因的数据。
    $ gzip -cd filtered_feature_bc_matrix/features.tsv.gz
    ENSG00000141510       TP53         Gene Expression
    ENSG00000012048       BRCA1        Gene Expression
    ENSG00000139687       RB1          Gene Expression
    

    对于Gene Expression 数据,该ID对应在参考GTF的注释字段 gene_id中。同样,名称对应于在参考GTF的注释字段gene_name中。如果没有gene_name 字段存在于参考GTF中,基因名称等同于基因ID。

    对于多物种实验,基因ID和名称以基因组名称开头,以避免不同物种的基因之间发生名称冲突,例如GAPDH变为hg19_GAPDH,而Gm15816变为mm10_Gm15816。

    条形码序列对应于列索引:

    $  gzip的-cd filtered_feature_bc_matrices / hg19 / barcodes.tsv 
    AAACATACAAAACG-1 
    AAACATACAAAAGC-1 
    AAACATACAAACAG-1 
    AAACATACAAACGA-1 
    AAACATACAAAGCA-1 
    AAACATACAAAGTG-1 
    AAACATACAACAGA-1 
    AAACATACAACCAC-1 
    AAACATACAACCGT-1 
    AAACATACAACCTG-1
    

    条形码BAM部分提供了有关条形码序列格式的更多详细信息

    R和Python支持MEX格式,稀疏矩阵可用于更有效的处理。

    将矩阵加载到R中:

    library(Matrix)
    matrix_dir = "/opt/sample345/outs/filtered_feature_bc_matrix/"
    barcode.path <- paste0(matrix_dir, "barcodes.tsv.gz")
    features.path <- paste0(matrix_dir, "features.tsv.gz")
    matrix.path <- paste0(matrix_dir, "matrix.mtx.gz")
    mat <- readMM(file = matrix.path)
    feature.names = read.delim(features.path, 
                               header = FALSE,
                               stringsAsFactors = FALSE)
    barcode.names = read.delim(barcode.path, 
                               header = FALSE,
                               stringsAsFactors = FALSE)
    colnames(mat) = barcode.names$V1
    rownames(mat) = feature.names$V1
    

    将矩阵加载到Python

    import csv
    import gzip
    import os
    import scipy.io
     
    matrix_dir = "/opt/sample345/outs/filtered_feature_bc_matrix"
    mat = scipy.io.mmread(os.path.join(matrix_dir, "matrix.mtx.gz"))
    
    
    features_path = os.path.join(matrix_dir, "features.tsv.gz")
    feature_ids = [row[0] for row in csv.reader(gzip.open(features_path), delimiter="\t")]
    gene_names = [row[1] for row in csv.reader(gzip.open(features_path), delimiter="\t")]
    feature_types = [row[2] for row in csv.reader(gzip.open(features_path), delimiter="\t")]
    barcodes_path = os.path.join(matrix_dir, "barcodes.tsv.gz")
    barcodes = [row[0] for row in csv.reader(gzip.open(barcodes_path), delimiter="\t")]
    

    转换为CSV格式

    • 存储一般为稀疏性矩阵
    • 但某些程序(例如Excel)仅支持密集矩阵格式。您可以spaceranger mat2csv命令使用来将特征条形码矩阵转换为密集CSV格式。
    • 此命令有两个参数:
      • 由Space Ranger生成的输入矩阵(H5文件或MEX目录)
      • 密集CSV的输出路径。

    例如,对在当前目录中名为sample123的pipestance:

    # convert from MEX
    $ spaceranger mat2csv sample123/outs/filtered_feature_bc_matrix sample123.csv
    # or, convert from H5
    $ spaceranger mat2csv sample123/outs/filtered_feature_bc_matrix.h5 sample123.csv
    

    然后可以加载 sample123.csv 到Excel。
    警告:密集文件可能非常大,如果您的计算机没有足够的内存, 可能导致Excel崩溃甚至mat2csv失败
    4. 图片:影像输出
    管道输出包含一个名为spatial的子目录,用于存储与影像相关的文件。这些文件包括以下内容:

    • tissue_hires_image.png(最大2000个像素)和tissue_lowres_image.png(最大600个像素):原始全分辨率明场图像的缩采样版本
    • aligned_fiducials.jpg(尺寸与 tissue_hires_image.png相同):用于验证基准对齐是否成功


      image.png
    • scalefactors_json.json:此文件包含以下字段:
      • issue_hires_scalef:将原始全分辨率图像中的像素位置转换为tissue_hires_image.png中的像素位置的比例因子。
      • tissue_lowres_scalef:将原始全分辨率图像中的像素位置转换为tissue_lowres_image.png中的像素位置的比例因子。
      • fiducial_diameter_fullres:跨越原始全分辨率图像中基准点直径的像素数。
      • spot_diameter_fullres:跨越原始全分辨率图像中组织点直径的像素数。
    $ cd /home/jdoe/runs/sample345/spatial/outs
    $ cat scalefactors_json.json
    {"spot_diameter_fullres": 89.45248682925602, "tissue_hires_scalef": 0.17699115, "fiducial_diameter_fullres":   144.5001710318751, "tissue_lowres_scalef": 0.053097345}
    
    • detected_tissue_image.jpg: 此图片具有tissue_hires_image.png的尺寸,并显示以下内容
      image.png
    • tissue_positions_list.txt:此文本文件包含一个表,其中包含与点相对应的行。它有4,992行,这是空间阵列中的点数。在文件中未指定名称的列对应于以下字段:
      • barcode:与该点相关的条形码的顺序。
      • in_tissue:二进制,指示该斑点位于组织的内部(1)还是外部(0)。
      • array_row:点在阵列中的行坐标从0到77。该阵列有78行。
      • array_col:阵列中点的列坐标。为了表示 the orange crate arrangement of the spots,此列索引对偶数行使用0到126的偶数,对奇数行使用1到127的奇数。注意,每行(偶数或奇数)有64个斑点。
      • pxl_col_in_fullres:全分辨率图像中斑点中心的列像素坐标。
      • pxl_row_in_fullres:全分辨率图像中斑点中心的行像素坐标。
    $ cd /home/jdoe/runs/sample345/outs/spatial/
    $ head -2 tissue_positions_list.txt
    ACGCCTGACACGCGCT-1,0,0,0,910,1261
    TACCGATCCAACACTT-1,0,1,1,1030,1329
    

    5. BAM:Barcoded BAM
    spaceranger管道输出一个 indexed BAM文件,其中包含与基因组和转录组按位置进行排序比对的reads。与基因组中外显子连接处的转录组比对的reads在其 CIGAR string 中存在较大的缺口,即35M225N64M。

    此BAM文件中的每个读取都附有Visium细胞和分子条形码信息。Space Ranger修改MAPQ值;请参见下面的 MM tag。以下假设基本熟悉BAM格式。在线可获取有关the SAM/BAM standard的更多详细信息。

    • BAM Barcode Tags
      每条read的Visium点和分子条形码信息存储为TAGfields
      image.png

    spot barcodeCB标签包含带短划线分隔符的后缀,后跟数字:

    AGAATGGTCTGCAT-1
    

    在当前的Space Ranger输出中,该数字将始终为(1)。

    • BAM Alignment Tags
      以下标签也将出现在定位到(mapped to)基因组并与外显子重叠至少一个碱基对(overlapped an exon by at least one base pair)的reads上。一条read可以与多个转录物和基因比对,但是只有它被mapped到单个基因,才被可信地认为map到转录组上。


      image.png

    6.Molecule Info (H5)
    分子信息: spaceranger管道会输出一个HDF5文件,该文件包含每个分子的分子信息,其中包含有效条形码和有效UMI并以高可信度比对到基因的信息。该HDF5文件包含与观察到的分子相对应的数据,以及有关用于分析的libraries,特征集和条形码列表的数据。

    • Per-Molecule Columns


      image.png
    • Reference Columns
      • Experiment Reference:在HDF5文件层次结构的顶层,barcodeslibrary_info数据集提供有关此分析中包含的实验的信息:
        image.png
    • Observed Spot-Barcodes image.png
    • HDF5文件层次结构
    (root)
    |
    ├─ barcode_idx
    ├─ barcode_info [HDF5 group]
    │   ├─ genomes  
    │   └─ pass_filter
    ├─ barcodes
    ├─ count
    ├─ feature_idx
    ├─ features [HDF5 group]
    │   ├─ _all_tag_keys
    │   ├─ feature_type
    │   ├─ genome
    │   ├─ id
    │   ├─ name
    ├─ gem_group
    ├─ library_idx
    ├─ library_info
    ├─ metrics [HDF5 group; see below]
    └─ umi
    
    • 2-bit Encoding
      UMI序列采用2位编码,如下所示:
      - 每对位编码一个核苷酸(0 =“ A”,1 =“ C”,2 =“ G”,3 =“ T”)。
      - 最低有效字节(LSB)包含3'-most nucleotides.

    请注意,spot-barcode sequences没有这种编码。它们以纯字符串形式存储在library_infoHDF5 Group 中。

    • Metrics HDF5 Group
      metrics组旨在供Space Ranger管道内部使用;用户应该使用Space Ranger 指标输出查看指标。
      metrics组的属性包含存储为序列化Python对象(使用cPickle)的管道指标。

    7. GEX/Image Metrics:

    • Image Analysis Metrics

    Suspect Alignment: 当基准对齐算法失败时,Metric为True。如果对齐过程报告了看起来有比较大的缩放,旋转或平移,则管道将发出警告,要求用户密切检查基准对齐的结果(请参见下图)。


    image.png

    PS:没有这样的警告并不能保证成功,因此用户还是得检查一下

    • Gene Expression Metrics
      Space Ranger管道以文本格式输出关键指标。
      “ spaceranger count”指标定义:spaceranger count管道输出metrics_summary.csv,其中包含有关条形码和测序过程的许多关键指标。
      image.png

    相关文章

      网友评论

        本文标题:【10X空间转录组Visium】(一)Space Ranger

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