第八講:單細胞軌跡推斷分析
視頻地址:https://www.youtube.com/watch?v=XmHDexCtjyw&list=PLjiXAZO27elC_xnk7gVNM85I2IQl5BEJN&index=10
軌跡推斷分析可以幫助我們理解細胞狀態的改變的過程,尤其是在細胞分化方面。
上圖眼熟吧?是單細胞分析的一個經典的流程。做完聚類后,如果需要你可以做軌跡分析,通過軌跡分析你可以做差異基因的分析,從而得到細胞在分化過程中不同狀態下的基因表達差異。當然中間的流程是經典流程,你也可以根據你的需要從不同的步驟跳到軌跡分析。
那么實驗時間點的這個"time",和發育的“time”有什么不一樣。前者就是我們平時說的“時間”,而后者說的是一種“擬時間”(pseudotime)。細胞按照擬時間的順序來進行分化。上圖中的坐標舉的例子是,橫坐標你用一種外界刺激使得細胞進行分化,那么縱坐標就是細胞分化的進程。需要注意的是,即便你在每一步都是homogenous的細胞群,你的所有細胞的分化速度都是不一樣的。比如上圖的9h,盡管很多細胞已經完全的分化了,但是仍然有少數細胞處在中間態,和完全沒有分化的狀態。這也就是“非同步化”。所以,在任何一個節點,你的所有的細胞個體都代表“這個瞬間”的分化狀態。
那是每個人都需要進行軌跡推斷分析嗎?當然不是。你需要確認的是你的dataset里是否涉及分化過程,或者你的細胞是否有“中間態”。比如:骨髓里的細胞,里面有很多“progenitor cells”,你就需要進行軌跡分析。再比如說你的樣品來自血液,血液里都是已經分化成熟的細胞了,基本上不用進行軌跡分析了。需要注意的是:有時候軌跡分析的結果在生物學上并沒有意義!所以最好是你已知一部分的分化軌跡,或者知道細胞在某一狀態的時候會表達什么基因。
現在有很多種方法可以進行軌跡分析。請注意,不同的軌跡分析軟件所對應的降維方法是不一樣的。如上圖所示。上圖沒有列出所有的降維方法,只是舉一些例子。
在講解軌跡分析方法之前,主講人想先介紹兩個之前沒提到過的降維方法:第一種,ICA:
如果你用monocle v1的話,就是ICA的方法。這種方法與PCA非常相似。區別是:ICA是分解你的data,PCA則是把highest variation分配到highest component里。
現在來詳細的看一下ICA到底是干什么的。上圖所示,在你的樣品里,包含有很多種生物signal,可能有受體信號、可能有細胞活化和增殖的信號、可能有細胞發育期間的Marker。但是當你把這些信號都combine的時候,就像右圖。ICA做的事就是分解你的data,使得你可以看到原始的生物信號。
ICA是怎么工作的呢?上圖左邊是PCA的圖,PCA是把highest variation找出來。作為第一主成分。而ICA是從你的data里找出最獨立的成分。但是ICA也有缺點:ICA假設它所找出來的生物信號都是相互獨立的。另一個就是每個信號的來源都是非高斯分布。這里不好理解,舉個例子:在教室里放4個麥克風,然后所有人在說話的時候,我們需要區分出究竟誰在說話。ICA可以分解出每一個人的聲音。這些聲音就是非高斯分布的。而在生物信號里,大部分的情況下,信號來源都是高斯分布的。即便是對于單個細胞來說,你也很難說是高斯分布,還是非高斯分布。
ICA是一個線性降維方法。可以分解你data里的不同生物信號來源,這種降維方法對后面的軌跡分析比較有利,它可以分辨出哪個信號先出現,哪個信號后出現。但是這種方法有時候在分析單細胞數據的時候得到的結果并不真實。而且ICA默認的是所有的信號來源是同等重要的,但事實并不是。
下一個主講人想講的是另一種之前沒提到的降維方法,diffusion maps。
diffusion maps是一種非線性降維方法。它是基于計算“probability”進行工作的。舉個例子:從點1到點6,你可以選擇一條路徑1>2>6。這就是2步。你也可以選擇3步,比如1>4>5>6和1>4>7>6。它計算的是“可能性”。
簡單的來說:為了把可能性轉化成距離,DM計算B到C的可能性,再計算A到C的可能性,根據公式,如果兩種可能性差不多大,那么它們的差值就趨近于0。說明A到B的過程可以通過C來很好的連接起來。
在了解了兩種降維方式之后,我們可以來看如何建立細胞之間的關系。從而我們可以知道我們應該從哪里開始建立軌跡,又在哪里結束。一種方法叫做“MST”(翻譯過來叫:最小生成樹)。
先來舉個簡單的例子,上圖里有很多個點,每一個點之間的距離你都可以量的出來。或者你用上面提到的diffusion map可以計算出每個點之間的“可能性”。然后你可以把每一個點連線,黑色的粗線就是最小生成樹。怎么理解呢?為什么說是最小生成樹呢?這個“最小”怎么理解?我們要找到一個“把所有的點連在一起時,相加的數最小”的方式。(把這句加粗的句子多讀幾遍,就理解了)另外加一句,如果你分析前就知道你的發育起始點,或者例如干細胞,那就會相對容易很多。
需要注意的是:MST沒有循環!所以如果你研究的生物過程是細胞增殖(周期),那你就不能用這個方法。
第二個方法建立細胞軌跡,這個方法就是現在monocle 2使用的方法。叫做反向圖嵌入。
為什么使用這個方法呢?上圖,A比如說是一個最小生成樹得到的軌跡推斷。如果你把其中一個點的位置稍稍挪一下,像B圖那樣,你會發現細胞軌跡完全就改變了!因為最小生成圖非常依賴于每一個點。所以這個RGE的方法是像C圖一樣,先把你的細胞或者樣品做cluster,根據這些細胞的平均值來畫軌跡圖。
上圖顯示的是RGE的一個工作原理圖。從左上角的紅點那個圖看起,你有很多個點在多維的空間里。然后你用各種方法做了降維(第一行中間圖)。之后根據一些clustering來假設一個軌跡。接下來(第二行右圖)RGE所做的事就是:由于有些點離這個假設的軌跡比較遠,它就把每一個點分配到離點最近的軌跡的部分上。然后更新中心點,將二維的軌跡投影到多維空間里,比較是否和原始的數據相吻合,如果不是,它會再回到降維后的那一步,循環這個過程。這個過程實際上很像前面講降維里的tSNE和UMAP的循環。直到這個細胞軌跡與原始data非常符合。這時你可以選擇這個軌跡的root,這樣你就可以定義你的“擬時間”或者是“發育軌跡”了。另外根據你的軌跡圖里的“分叉”,你還可以定義你的cell fate。
根據RGE的idea,這兩年又發展不少新的方法。你不需要掌握這么多方法,會一個,會用就行了。
這是Monocle v3的一個工作流程。首先拿到你的dataset> 標準化你的data > 降維> 聚類 > 建立你的tree(擬時間)> 差異基因分析。
現在介紹一個新的模型:RNA velocity。有道翻譯:RNA速度。這個模型是基于生物學概念的一個模型。是一個基因表達的軌跡推斷模型。
學生物的都知道,mRNA剛轉錄出來的時候,是沒有經過剪切的。里面有內含子。剪切后,你會得到spliced mRNA。這是編碼蛋白的。你同時還會有一些mRNA降解。這個模型可以看什么?上圖右邊的6張圖,每一個點是一個細胞,你可以比較在擬時間線上的一個瞬時的點,“經過剪切的mRNA”和“未經剪切的mRNA”哪一個要更提前。
來看一個更為直接的例子:上圖紅色代表未剪切的mRNA,藍色代表剪切的mRNA,兩個群分別代表你所有的細胞的兩個基因的表達情況。根據生物學概念來推斷,你的這些細胞的狀態應該是從左往右的。所以這樣一來,你就知道你的軌跡應該是從哪里開始了。這個模型可以讓你定義你的軌跡的“起點”、“終點”和“分支”。
這個模型的好處還有一個:它可以建立一個循環的軌跡。
下面總結一下:
在實際的實驗中,多維空間里的距離常常反映了細胞群之間的基因表達差異,而不是真正意義上的“時間”。所以才把這一個概念稱為“擬時間”。你的樣品里需要包含一個連續的細胞狀態。如果你的細胞群是完全獨立的、完全不同的,有可能你會得到錯誤的結果,或者得到一個不太好的軌跡圖。第三,如果你是研究細胞分化過程,最好設計多個實驗取材的時間點。