視頻鏈接:https://www.youtube.com/watch?v=XmHDexCtjyw&list=PLjiXAZO27elC_xnk7gVNM85I2IQl5BEJN&index=11
練習(xí)地址:https://github.com/NBISweden/excelerate-scRNAseq/blob/master/session-trajectories/session-trajectories.md
一、為什么要做軌跡分析以及軌跡分析的定義
在進(jìn)行標(biāo)準(zhǔn)的單細(xì)胞分析流程得到聚類結(jié)果后,可以進(jìn)行軌跡分析,并進(jìn)一步進(jìn)行基因表達(dá)分析。
但并不是只有聚類結(jié)果才可進(jìn)行軌跡分析,標(biāo)準(zhǔn)分析中的很多步驟都可以follow with軌跡分析。
在整個生命生長發(fā)育過程中,細(xì)胞都在不斷從一種功能“狀態(tài)”過渡到另一種功能“狀態(tài)”(如下圖)。處于不同狀態(tài)的細(xì)胞表達(dá)不同的基因,產(chǎn)生蛋白質(zhì)和代謝物的動態(tài)重復(fù),從而完成它們的工作。當(dāng)細(xì)胞在不同的狀態(tài)間轉(zhuǎn)化時,會經(jīng)歷轉(zhuǎn)錄重組的過程,一些基因被沉默,而另一些則被激活。這些瞬態(tài)通常很難描述,因?yàn)樵诟€(wěn)定的端點(diǎn)狀態(tài)之間凈化細(xì)胞可能很困難或不可能。但由于這個過程是連續(xù)發(fā)生的,我們可以使用軌跡推斷(TI,trajectory inference)的方法可以根據(jù)測序的細(xì)胞(瞬時狀態(tài))之間表達(dá)模式的相似性對單細(xì)胞沿著軌跡進(jìn)行排序,以此來模擬細(xì)胞動態(tài)變化的過程。也就是重建分化軌跡或者擬時間軸。
但值得注意的是,并不是所有樣本都適合進(jìn)行軌跡分析。
比如我們明確知道骨髓中存在分化中間態(tài)的細(xì)胞(存在從干細(xì)胞到成熟細(xì)胞的分化過程),因此骨髓的樣本可以進(jìn)行軌跡分析。但一些樣本如PBMC中幾乎都是分化成熟的細(xì)胞,雖然也可以做軌跡分析,但是意義不大。此外,存在分化過程的細(xì)胞也有差別。比如B細(xì)胞到漿細(xì)胞的分化更像是一個線形過程,不存在分支(branch),所以B細(xì)胞不適合做branching。但Th細(xì)胞向其亞型的分化可能就存在多個分支。
自2014年以來,TI的各種算法得到飛速發(fā)展,至2018年已有接近60種方法。
Trajectory Inference主要方法的pipeline總結(jié):主要包括兩個step:降維和軌跡建模
二、降維方法
降維的方法包括線性降維PCA,ICA等,和非線性降維TSNE,UMAP,DF等。在學(xué)習(xí)軌跡分析之前,先來了解兩種之前接觸的比較少的降維方法:ICA和DF。
1. ICA (Independent Component Analysis)獨(dú)立成分分析
ICA是數(shù)據(jù)結(jié)構(gòu)的一種方法(A method for decomposing the data)。monocle1使用的就是ICA方法。
ICA與PCA比較類似,PCA(對高斯分布的數(shù)據(jù)效果較好)是將高變基因分配到主要的主成分中,用主成分來進(jìn)行后續(xù)分析。而ICA是將數(shù)據(jù)解構(gòu),從混雜的信號中分離原始的多個生物信號。
PCA和ICA的區(qū)別:
主成分分析假設(shè)源信號間彼此非相關(guān),獨(dú)立成分分析假設(shè)源信號間彼此獨(dú)立。
主成分分析認(rèn)為主元之間彼此正交,樣本呈高斯分布;獨(dú)立成分分析則不要求樣本呈高斯分布。
ICA的缺點(diǎn):
- ICA假設(shè)它找出來的生物信號都是相互獨(dú)立的。
- 每個信號的來源都是非高斯分布。舉例來說,在教室中放一些麥克風(fēng),在很多人都同時講話的時候,我們可以使用ICA來對混雜信號進(jìn)行解構(gòu)以判斷是誰在講話。這些混雜的聲音信號就是非高斯分布的。但是很多的生物學(xué)信號都是高斯分布的。對單細(xì)胞數(shù)據(jù)來說,也很難區(qū)分是高斯分布還是非高斯分布。
總結(jié):ICA和PCA一樣,是一種線性降維方法。常被用于評估數(shù)據(jù)的原始組成。在ICA中,這些原始信號被認(rèn)為是互相獨(dú)立的,而且,ICA會先假定單細(xì)胞數(shù)據(jù)是非高斯分布的,實(shí)際上往往不是這樣。不同的信號在ICA分析中同等重要,但I(xiàn)CA不能確定實(shí)際有多少個信號源。
2. DF (Diffusion Maps)擴(kuò)散映射
Diffusion maps是一種非線性降維方法。
Diffusion maps原理講解視頻:https://www.bilibili.com/video/av38891467/
Diffusion Map用的是Diffusion Process的方法。如果兩個點(diǎn)距離較近,則從一個點(diǎn)隨機(jī)行走到一個點(diǎn)的概率就大。反之,如果兩個點(diǎn)距離較遠(yuǎn),則從一個點(diǎn)隨機(jī)行走到一個點(diǎn)的概率就小。Deffusion Map就是這樣將兩個點(diǎn)之間的距離轉(zhuǎn)換成它們之間能夠產(chǎn)生隨機(jī)行走的概率 ,并用這個隨機(jī)行走的過程去捕捉數(shù)據(jù)的neighborhood結(jié)構(gòu),從而將一個高維的扭曲的數(shù)據(jù)展開,變成一個低維的visualization。
簡單來說,為了把可能性轉(zhuǎn)化成距離,DM可以計算B到C的可能性,再計算A到C的可能性。根據(jù)公式,如果兩種可能性差不多大,那么他們的差值就趨于0。說明A到B的過程可以通過C來很好的連接起來。
DM是一種非線性降維(UMAP和tSNE也是非線形降維)。點(diǎn)和點(diǎn)之間(也就是細(xì)胞和細(xì)胞之間的距離)是通過probability來計算的。
三、定義軌跡
在學(xué)習(xí)了ICA和DM兩種降維方法后,現(xiàn)在我們想要建立細(xì)胞之間的關(guān)系,定義軌跡應(yīng)該從哪里開始,在哪里結(jié)束。
1. MST (minimum spamming tree)
舉個例子:下圖中有很多點(diǎn),每個點(diǎn)之間的距離都可以計算(比如使用DM來計算點(diǎn)和點(diǎn)之間的possibility)。將點(diǎn)連線,尋找一個所有的點(diǎn)之間距離加和最小的連接方式,得到的結(jié)果如黑色的粗線所示,這就是最小生成樹。細(xì)胞數(shù)目越多,MST的軌跡構(gòu)建越準(zhǔn)確。
monocle1中使用的就是這種方式。如下圖a:每個細(xì)胞都代表了高維空間中的一個點(diǎn),將高維空間降維(使用PCA/ICA或UMAP/TSNE),隨后使用MST定義細(xì)胞軌跡,并將細(xì)胞按照MST構(gòu)建的生成樹排序,標(biāo)注上細(xì)胞類型,就可以得到細(xì)胞軌跡。
但值得注意的是,MST只能構(gòu)建細(xì)胞軌跡,但不能告訴你端點(diǎn)是轉(zhuǎn)錄起始點(diǎn)還是終止點(diǎn),也就是不知道是從哪個方向向哪個方向分化。所以如果有先驗(yàn)知識(比如干細(xì)胞向別的細(xì)胞分化),就會容易很多。
此外,由于MST沒有循環(huán),所以不適用于增殖細(xì)胞(細(xì)胞周期)樣本。
2. RGE(Reverse graph embedding, i.e. DDRTree and others)
第二種方法叫做反向圖嵌入。
如下圖A和B:在使用MST進(jìn)行軌跡推斷時,由于最小生成樹高度依賴于每個點(diǎn)的位置和點(diǎn)與點(diǎn)之間的距離,僅僅只是某個點(diǎn)的位置有些微變化就會得到完全不同的細(xì)胞軌跡。而REG的方法(圖C)則是先對細(xì)胞進(jìn)行聚類,再對細(xì)胞群的平均值進(jìn)行軌跡構(gòu)建。
Monocle2中使用的就是RGE方法(DDRTree)。
上圖顯示的是RGE的工作原理。每個細(xì)胞都代表了高維空間中的一個點(diǎn),使用PCA或其他方法來對細(xì)胞進(jìn)行降維后,根據(jù)假定的細(xì)胞cluster的中心點(diǎn)來對軌跡進(jìn)行構(gòu)建。隨后計算細(xì)胞到假設(shè)軌跡的距離,并將細(xì)胞分配到距離細(xì)胞最近的軌跡cluster上,分配完成后對中心點(diǎn)進(jìn)行更新,重建軌跡,再將二維軌跡投射到多維空間里,比較與原始數(shù)據(jù)的契合度,如果match的不好,就重新降維和構(gòu)建軌跡,循環(huán)這個過程,直到細(xì)胞軌跡能充分反映原始data(類似降維中的TSNE和UMAP循環(huán))。這時就可以選擇軌跡的root(需要先驗(yàn)知識),并對擬時間軸或者發(fā)育軌跡進(jìn)行定義。根據(jù)軌跡圖中的分叉,還可以定義cell fate。
REG還衍生出了許多方法,比如PAGA、Slingshot、TSCAN、CellRouter等。
Monocle3進(jìn)行聚類的原理與Monocle2類似
Monocle3的工作流程:scRNAseq數(shù)據(jù) --> 預(yù)處理(標(biāo)準(zhǔn)化+PCA)--> 降維 --> 聚類 --> 擬時間軸的建立(DDRTree、SimplePPT、L1-graph)--> 差異分析
和Monocle2相比,Monocle3的主要update:
3. RNA velocity (gene expression trajectory)
RNA velocity是基于真實(shí)的轉(zhuǎn)錄動力學(xué),可用于細(xì)胞基因表達(dá)的動態(tài)分化的研究。
如上左圖,剛轉(zhuǎn)錄出的mRNA包含外顯子和內(nèi)含子,經(jīng)過splicing切除內(nèi)含子后,得到用于編碼蛋白的spliced mRNA。spliced mRNA的豐度由未成熟mRNA的splicing速度和降解速率共同決定。如上中圖:每個點(diǎn)代表一個細(xì)胞,在擬時間軸上,未經(jīng)過剪切的mRNA的出現(xiàn)始終早于經(jīng)過剪切的mRNA。如上右圖:紅色代表未經(jīng)過剪切的mRNA,藍(lán)色代表經(jīng)過剪切的mRNA,可以看出,這些細(xì)胞的應(yīng)該是從左往右分化的,因此Velocity可以用于定義軌跡的起點(diǎn)分支和終點(diǎn)。也就是說,Velocity可以在不知發(fā)育過程的前提下,預(yù)測譜系的方向(如下圖)。
Velocity可以用于周期的軌跡
總結(jié):
Which method should I use?