【10X空間轉錄組Visium】(一)Space Ranger 1.0.0(更新于20191205)

今天是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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,117評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,860評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,128評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,291評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,025評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,421評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,477評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,642評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,177評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,970評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,157評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,717評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,410評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,821評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,053評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,896評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,157評論 2 375

推薦閱讀更多精彩內容