當前位置:成語大全網 - 書法字典 - 修拉3.0示例教程

修拉3.0示例教程

修拉引導聚類教程

參考官網的教程,我用的是自己的壹批真實數據,共有7038個細胞。以下是cellranger計數用完的標準結果。

我們從讀取數據開始。Read10X函數從10X讀取cellranger進程的輸出,並返回UMI計數矩陣。矩陣中的值代表每個特征(即,基因;在每個單元格(列)中檢測到。

接下來,我們使用計數矩陣創建壹個修拉對象。這個對象充當壹個容器,包含單個單元格數據集的數據(如計數矩陣)和分析(如PCA或聚類結果)。

讀取數據:

data.dir參數包含矩陣的目錄。包含matrix.mtx、gene.tsv(或features.tsv)和barcodes.tsv為了加載多個數據目錄,可以給定壹個vector或命名vector。如果給定了命名向量,單元條形碼名稱將以該名稱為前綴。

gene.column參數指定基因所在的列。Features.tsv或gene.tsv用於基因名的tsv默認值為2,這意味著第二列是基因名稱。讓我們看壹下features.tsv,它包含3列:

unique.features參數默認為TRUE,這意味著要素名稱是唯壹的。

如果features.csv指示數據具有多種數據類型,則返回包含每種數據類型的稀疏矩陣列表。否則,將返回包含表達式數據的稀疏矩陣。

用原始數據(非規範化數據)初始化Seurat對象。

註意:在以前的版本中(

可以發現7038個樣本與網頁版報道壹致,33538個特征也與特征數壹致. csv。

計數矩陣數據的長度是多少?

比如計數矩陣存儲在G48E2L1[["RNA"]]@counts中。

只看幾個基因:

點。矩陣中的值代表0(未檢測到分子)。由於scRNA-seq矩陣中的大部分值都是0,Seurat盡可能使用稀疏矩陣表示。這為Drop-seq/inDrop/10x數據節省了大量內存和速度。

如果需要看稀疏矩陣的空間大小(個人理解),這些可以忽略。

以下步驟包括Seurat中scRNA-seq數據的標準預處理工作流程。這些代表性細胞的選擇和過濾基於QC指標、數據標準化和縮放,並且檢測高度可變的特征。

QC並選擇細胞用於進壹步分析。

Seurat允許您根據任何用戶定義的標準輕松瀏覽QC指標和過濾單元。人們常用的壹些質量控制指標包括

QC指標存放在哪裏?

在官方樣本中,QC指標是可視化的,並按單元格過濾。

讓我們先來看看可視化:

VlnPlot()是壹個小提琴圖函數(基因表達,指數,PC評分等。)用於繪制修拉中的單細胞數據,小提琴圖用於顯示數據分布及其概率密度。

FeatureScatter通常用於可視化特性-特性關系,也可用於計算對象的任何內容,例如對象數據中的列、PC分數等。個人理解:就是用壹個點圖來看兩個數據的相關性。

過濾掉2500 > nFeature _ RNA & gt200和百分比. mt

但是我不想過濾,這篇文章的數據也沒有過濾。哈哈哈!

從數據集中移除不需要的單元格後,下壹步是標準化數據。默認情況下,我們使用全局縮放歸壹化方法“LogNormalize”,將每個單元格的特征表達式的測量值歸壹化為總表達式,然後乘以壹個縮放因子(默認為10000)來記錄結果。標準化值存儲在pbmc[["RNA"]]@data中。

接下來,我們將計算特征子集(即,它們在壹些細胞中高表達,而在另壹些細胞中低表達)。我們和其他人發現,在下遊分析中關註這些基因有助於突出單細胞數據集中的生物信號。

本文詳細描述了Seurat3中的過程,通過直接對單個單元格數據中固有的均值-方差關系進行建模,對之前版本進行了改進,並在FindVariableFeatures函數中實現。默認情況下,我們為每個數據集返回2,000個要素。這些將用於下遊分析,如五氯苯甲醚。

查找可變特征

在“平均變異性圖上”找出異常點。

FindVariableFeatures(對象,...)

如何選擇* * * * *選擇方法:

Vst:首先用黃土擬合對數(方差)和對數(均值)的關系。然後,使用觀察平均值和期望方差(由擬合線給出)來標準化特征值。然後,在裁剪到最大值後,根據歸壹化值計算特征方差(請參見裁剪)。最大參數)。

Mean.var.plot (mvp):首先用壹個函數計算均值表達式(mean.function)和離差(divergence。功能)。接下來,根據每個bin的平均表達式,對特征進行編號。bin(默認為20),並計算每個bin中的分散度z值。這樣做的目的是識別變量的特征,並控制可變性和平均表達之間的強關系。

離散度(disp):選擇離散度值最高的基因。

找出差異最大的10個基因:

接下來,我們應用壹個線性變換(“縮放”),這是壹個標準的預處理步驟,比PCA和其他降維技術更重要。

ScaleData函數函數:

接下來,我們對縮放後的數據執行PCA。默認情況下,僅將先前確定的變量特征用作輸入,但是如果要選擇不同的子集,可以使用特征參數來定義它。

Seurat提供了幾種有用的方法來可視化細胞並定義PCA的特征,包括VizDimReduction、DimPlot和DimHeatmap。

檢查和可視化PCA結果的幾種不同方法

特別是,DimHeatmap可以輕松地探索數據集中的主要異構源,對於確定哪些PC可用於進壹步的下遊分析非常有用。像元和特征根據它們的PCA分數進行排序。將單元格設置為壹個數字可以在光譜的兩端繪制“極端”單元格,這大大加快了大型數據集的繪制速度。雖然這顯然是壹個監督分析,但我們發現它是探索相關特性集的壹個有價值的工具。

為了克服scRNA-seq數據中單個特征中的大量技術噪聲,Seurat根據細胞的PCA分數對細胞進行分組,每個PC本質上代表壹個“元特征”,它將相關特征集的信息結合起來。因此,最重要的組件代表數據集的健壯壓縮。然而,我們應該選擇包括多少個主成分呢?10?20?100?

在Macosko等人的文章中,我們實現了壹個受JackStraw程序啟發的重采樣測試。我們隨機排列數據的子集(默認為1%)並重新運行PCA來構建特征分數的“零分布”,然後重復這個過程。我們認為最“重要”的電腦是那些具有豐富的低P值特征的電腦。

JackStrawPlot函數提供了壹個可視化工具,用於將每臺電腦的p值分布與均勻分布(虛線)進行比較。“顯著的”PCs將顯示出具有低P值的強富集特性(虛線上方的實線)。在這種情況下,在最初的10-12 PCs之後,重要性似乎急劇下降。

另壹種啟發式方法生成“肘圖”(ElbowPlot function):主要成分按照各成分解釋的方差百分比排序(Elbow plot function)。在本例中,我們可以在PC9-10附近觀察到壹個拐點(“肘”),這表明大多數真實信號都是在前10個PCs中捕獲的。

對於用戶來說,確定數據集的真實維度是壹項具有挑戰性/不確定性的任務。所以我們建議考慮這三種方法。第壹種更具監督性,探索PCs以確定異質性的相關來源,並可與GSEA結合使用。第二個實現了壹個基於隨機空模型的統計測試,但是對於大數據集來說非常耗時,並且可能不會返回壹個明確的PC截止日期。第三種是常用的啟發式算法,可以馬上計算。在這個例子中,所有三種方法都產生了相似的結果,但是我們可能有理由在PC 7-12之間選擇任何壹個作為截止日期。

我們在這裏選擇10,但是鼓勵用戶考慮以下幾點:

Seurat v3應用基於圖的聚類方法,該方法基於Macosko等人的初始策略。重要的是,驅動聚類分析的距離度量(基於之前確定的PCs)保持不變。但是,我們將單元距離矩陣劃分成簇的方法已經有了很大的改進。我們的方法很大程度上受最近的手稿的啟發,這些手稿將基於圖的聚類方法應用於scRNA-seq數據[SNN-Cliq,徐和蘇,生物信息學,2015]和CyTOF數據[phenomograph,Levine等人,Cell,2015]。簡單地說,這些方法將細胞嵌入到壹個圖結構中,例如k-最近鄰(KNN)圖,在具有相似特征表達模式的細胞之間繪制邊,然後嘗試將這個圖劃分為高度互聯的準組或社區。

和表現型壹樣,我們首先在PCA空間中構造壹個基於歐氏距離的KNN圖,然後根據任意兩個細胞在局部區域中的* * *共享重疊(Jaccard相似度)來細化它們之間的邊權重。這壹步使用FindNeighbors函數執行,並將之前定義的數據集維度(第壹個10 PCs)作為輸入。

為了對細胞進行聚類,然後我們使用模塊化優化技術,如Louvain算法(默認)或SLM [SLM,Blondel等人,Journal of Statistical Mechanics],以叠代的方式將細胞分組在壹起,目標是優化標準的模塊化函數。FindClusters函數實現了這個過程,並包含壹個resolution參數,該參數設置下遊集群的粒度,增加的值將導致更多的集群。我們發現,將此參數設置在0.4-1.2之間通常會為大約3K的單個像元數據集獲得良好的結果。對於較大的數據集,最佳分辨率通常會提高。您可以使用Idents函數來查找集群。

查看前5個單元的集群id。

修拉提供了幾種非線性降維技術,如tSNE和UMAP,來可視化和探索這些數據集。這些算法的目標是學習數據的底部流形,以便在低維空間中將相似的單元放在壹起。上面確定的基於圖的群集中的單元應該在這些維度縮減圖上共同定位。作為UMAP和tSNE的輸入,我們建議使用相同的PCs作為聚類分析的輸入。

在這壹點上,對象可以被保存,以便它可以被容易地加載回來,而不必重新運行上面執行的計算密集的步驟,或者容易地與合作者共享。

修拉可以幫助妳找到通過微分表達式定義聚類的標簽。默認情況下,它會識別單個聚類的正負標記(在ident.1中指定),並將其與所有其他像元進行比較。Findallmarkers為所有集群自動執行這個過程,但是您也可以測試集群組之間的相互關系或者測試所有單元。

min.pct參數要求在兩組單元的任何壹組中至少檢測壹個特征,以及閾值。測試參數要求兩組之間有壹定的差異(平均值)。您可以將這兩個值都設置為0,但時間會大大增加——因為它將測試大量不太可能具有高度歧視性的特性。作為加速這些計算的另壹個選項,可以設置max.cells.per.ident。這將對每個標識類進行采樣,使其單元數不超過集合單元數。雖然通常會有功率損失,但是速度的增加可能是顯著的,並且由最高差表示的特性可能仍然上升到頂部。

找出將聚類5與聚類0和聚類3區分開的所有標記。

找到每個聚類的標記並將其與所有剩余細胞進行比較,並且僅報告陽性細胞。

修拉有幾個關於微分表達式的測試,可以設置。使用參數(詳見我們的DE vignette)。例如,ROC測試返回任何單個標簽的分類能力(從0-隨機到1-完美)。

我們包括了壹些可視化標記表達的工具。VlnPlot(顯示跨聚類的表達式的概率分布)和FeaturePlot(在tSNE或PCA圖上可視化特征表達式)是我們最常用的可視化方法。我們還建議使用RidgePlot、CellScatter和DotPlot作為查看數據集的附加方法。

DoHeatmap為給定像元和要素生成表達式熱圖。在本例中,我們繪制了每個聚類的前20個標簽(如果少於20個,則繪制所有標簽)。

幸運的是,在這種數據集的情況下,我們可以使用標準化標簽輕松地將無偏聚類與已知細胞類型進行匹配: