單細胞RNA-seq生信分析全流程——第十一篇:擬時序分析

11.1 前言

單細胞測序分析提供生物組織的高分辨率測量。因此,此類技術可以幫助破譯和理解細胞異質性和生物過程的動態。相應的研究包括量化細胞命運以及識別驅動該過程的基因。然而,由于在經典單細胞 RNA 測序(scRNA-seq)方案中進行測序時細胞會被破壞,因此無法跟蹤它們的發育情況,例如隨時間變化的基因表達譜。因此,需要根據測量的快照snapshot數據來估計底層動態過程。

盡管傳統上樣品是從單個實驗時間點采集的,但仍可以觀察到多種細胞類型。這種多樣性源于生物過程的異步性質。因此,可以觀察到一系列的發育過程。重建發展過程是該領域的軌跡推斷(trajectory inference,TI)的目標。這項任務是通過根據發育過程對觀察到的細胞狀態進行排序來實現的。通過將離散注釋映射到連續域(即所謂的偽時間),狀態沿著發展方向對齊。

偽時間根據細胞在發育過程中各自的階段對細胞進行相對排列。不太成熟的細胞分配較小的值,成熟的細胞分配較大的值。例如,在研究骨髓樣本時,造血干細胞被指定為低偽時間,而紅細胞被指定為高偽時間。對于單細胞RNA測序數據,分配是基于細胞的轉錄組圖譜。此外,構建通常需要指定整個過程開始的初始或等效的根細胞。

11.2 擬時序的建立

偽時間構建通常遵循一個常見的工作流程:第一步,將超高維單細胞數據投影到較低維的表示上。這一過程通過觀察動態過程在低維流形上進展而得到證實。在實踐中,偽時間方法可能依賴于主成分或擴散成分(例如擴散偽時間 (DPT) 。接下來,偽時間是根據以下原則之一構建的。

  • 首先對觀察結果進行聚類,然后確定這些聚類之間的連接。可以對簇進行排序,從而構建偽時間。今后,我們將這種方法稱為集群方法。經典的聚類算法包括k-means,Leiden或層次聚類。簇可以基于相似性或通過構建最小生成樹(MST)來連接。

  • 圖方法graph approach首先找到觀測值的低維表示之間的聯系。此過程定義了一個圖表,基于該圖表定義了集群,從而定義了排序。例如,PAGA將圖劃分為Leiden簇并估計它們之間的連接。直觀上,這種方法保留了數據的全局拓撲,同時以較低的分辨率進行分析。因此,提高了計算效率。

  • 基于流形學習的方法Manifold-learning based approaches與集群方法類似。然而,簇之間的連接是通過使用主曲線或圖形來估計基礎軌跡來定義的。主曲線找到一條連接高維空間中的細胞觀察結果的一維曲線。這種方法的一個著名代表是Slingshot。

  • 概率框架將轉移概率分配給有序的細胞對。每個轉移概率都量化參考細胞是另一個細胞的祖先的可能性。這些概率定義了用于定義偽時間的隨機過程。例如,DPT被定義為隨機游走的連續狀態之間的差異。相比之下,Palantir將軌跡本身建模為馬爾可夫鏈。雖然這兩種方法都依賴于概率框架,但它們需要指定根細胞。偽時間本身是相對于該細胞計算的。

TI是一個經過深入研究的領域,提供了豐富的方法。要應用適當的方法來分析單細胞數據集,首先需要了解生物過程本身。這種理解尤其包括該過程的性質,即,例如,它是否是線性的、環狀的或支化的。類似地,同一數據集中的正交過程限制了適用的TI方法。為了幫助識別合適的工具,dynguidelines[Deconinck et al., 2021]提供了算法及其特征的詳盡概述。

11.3 下游任務及展望

盡管TI和偽時間已經可以提供有價值的見解,但它們通常充當更細粒度分析的墊腳石。例如,識別終態是一個可以研究的經典生物學問題。同樣,可以根據TI和偽時間來識別譜系分歧和驅動命運決定的基因。可以回答哪個問題以及如何找到答案通常是特定于方法的。例如,Palantir將終端狀態識別為其構建的馬爾可夫鏈的吸收狀態。

軌跡推斷的成功有據可查,因此,人們提出了許多方法。然而,隨著測序技術的進步,新的信息來源變得可用。例如,ATAC-seq、CITE-seq和 DOGMA-seq可測量轉錄組以外的其他模式。譜系追蹤和代謝標記甚至提供給定細胞的(可能的)未來狀態。因此,未來的TI工具將能夠包含更多信息來更準確、更穩健地估計軌跡和偽時間,并允許回答新問題。例如,RNA velocity是一種使用未剪接和剪接mRNA來推斷超越經典靜態信息的定向動態信息的技術。

11.4 推斷成人骨髓的偽時間

為了展示如何構建偽時間并比較不同的偽時間,我們研究了成人骨髓的數據集[Setty et al., 2019]。

11.4.1 環境設置
from pathlib import Path

import scanpy as sc
11.4.2 常規設置
DATA_DIR = Path("../../data/")
DATA_DIR.mkdir(parents=True, exist_ok=True)

FILE_NAME = DATA_DIR / "bone_marrow.h5ad"
11.4.3 數據加載
adata = sc.read(
    filename=FILE_NAME,
    backup_url="https://figshare.com/ndownloader/files/35826944",
)
adata
AnnData object with n_obs × n_vars = 5780 × 27876
    obs: 'clusters', 'palantir_pseudotime', 'palantir_diff_potential'
    var: 'palantir'
    uns: 'clusters_colors', 'palantir_branch_probs_cell_types'
    obsm: 'MAGIC_imputed_data', 'X_tsne', 'palantir_branch_probs'
    layers: 'spliced', 'unspliced'

要構建偽時間,必須對數據進行預處理。在這里,我們過濾掉僅在少數細胞(此處至少20個)中表達的基因。值得注意的是,稍后的偽時間的構造對于閾值的精確選擇是穩健的。在第一次基因過濾之后,細胞大小被歸一化,并計數log1p轉換以減少異常值的影響。像往常一樣,我們還識別和注釋高度可變的基因。最后,構建一個最近鄰圖,我們將在此基礎上定義偽時間。主成分的數量是根據解釋的方差來選擇的。

sc.pp.filter_genes(adata, min_counts=20)
sc.pp.normalize_total(adata)
sc.pp.log1p(adata)
sc.pp.highly_variable_genes(adata)

sc.tl.pca(adata)
sc.pp.neighbors(adata, n_pcs=10)

由細胞類型注釋著色的二維t-SNE表示表明細胞類型很好地聚集在一起。此外,分化層次是可見的。

sc.pl.scatter(adata, basis="tsne", color="clusters")
11.4.4 擬時序構建

為了計算擴散擬時間(diffusion pseudotime,DPT),首先需要計算相應的擴散圖。

sc.tl.diffmap(adata)

骨髓中的分化層次是眾所周知的。然而,我們只知道發育過程以造血干細胞的形式開始,但不知道我們數據集中相應簇中的具體細胞是哪個細胞。為了識別假定的初始細胞,我們研究了各個擴散成分。我們識別出在一維(在我們的例子中為 3 維)中具有最極端擴散成分的干細胞。

# Setting root cell as described above
root_ixs = adata.obsm["X_diffmap"][:, 3].argmin()
sc.pl.scatter(
    adata,
    basis="diffmap",
    color=["clusters"],
    components=[2, 3],
)

adata.uns["iroot"] = root_ixs
sc.tl.dpt(adata)

不同的偽時間方法給出不同的結果。有時,一個偽時間可以更準確地捕捉潛在的發展過程。在這里,我們將剛剛計算的DPT與預先計算的Palantir偽時間進行比較。比較不同偽時間的一種選擇是對數據的低維嵌入(此處為 t-SNE)進行著色。在這里,與所有其他細胞類型相比,CLP簇中的DPT極高。相比之下,Palantir假時間隨著發育成熟而不斷增加。

sc.pl.scatter(
    adata,
    basis="tsne",
    color=["dpt_pseudotime", "palantir_pseudotime"],
    color_map="gnuplot2",
)

我們可以研究分配給每個細胞類型簇的偽時間值的分布,而不是對數據的低維表示進行著色。該表示再次表明CLP簇在DPT情況下形成異常值。此外,HSC_1和HSC_2等簇包含多個偽時間增加的細胞。 這些夸大的值與我們先前的生物學知識形成鮮明對比,即這些簇構成了發育過程的開始。

sc.pl.violin(
    adata,
    keys=["dpt_pseudotime", "palantir_pseudotime"],
    groupby="clusters",
    rotation=45,
    order=[
        "HSC_1",
        "HSC_2",
        "Precursors",
        "Ery_1",
        "Ery_2",
        "Mono_1",
        "Mono_2",
        "CLP",
        "DCs",
        "Mega",
    ],
)

考慮到這些觀察和關于骨髓發育的先驗知識,我們認為可以繼續使用Palantir擬時間。

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

推薦閱讀更多精彩內容