基於其剪接和未剪接的信使 RNA 的比例,計算出一個稱為 RNA 速度的量,用以揭示基因表達的變化方式。
圖片來源:velocyto
2018年,Karolinska研究所和哈佛醫學院的研究人員在《自然》雜誌上報告了一種捕獲單個細胞動態過程的技術。截至目前,該文章的引用已經到達 377,可見其在揭示一些生物學問題層面還是非常受歡迎的。
圖片來源:Nature
那麼如何利用單細胞數據進行該分析呢?今天我們就來聊一下 10X genomic 數據的分析流程。
Cellranger 預處理10X genomic 數據
10X genomic 數據的預處理是用 cellranger 軟體完成的,完成這一步之後會得到一個包含所有分析結果的文件夾,而這個文件夾就是你要做 RNA velocity 的基礎。
velocyto 的安裝
velocyto 目前有兩種不同的實現方式:R 和 Python
鑑於 Python 的流程耗時較少,以下就以該平臺為準。
圖片來源:velocyto
Python 的介紹頁如下圖所示:
圖片來源:velocyto
接下來就是安裝 velocyto,需要注意的是,velocyto 的運行基於 3.6 或更高的 python 版本,然後就是安裝:
pip install velocyto
安裝成功之後,在終端輸入 velocyto,會出現以下界面:
圖片來源:velocyto
在正式分析之前,還有兩個準備工作需要完成:
1、基因注釋文件的下載,這個可以自己在 GENCODE 或 Ensembl 上下載,不過如果你用的是 cellranger 流程,那麼它本身的注釋文件中就包含,位置在: ~/refdata-cellranger-GRCh38-3.0.0/genes/genes.gtf。
2、 下載 「expressed repeats annotation」
圖片來源:velocyto
其實第二步的這個是比較坑的,我在這個上面耽誤了好長時間。首先轉到 UCSC 的界面,在這裡有幾點需要注意,以下我標註上了紅框:
圖片來源:UCSC
下載結束之後我就上傳到伺服器去做分析,代碼很簡單,只有一行:
velocyto run10x -m ~/mm10_rmsk.gtf ~/results/sample/ ~/reference/refdata-cellranger-GRCh38-3.0.0/genes/genes.gtf
但是屢屢報錯,錯誤信息如下:
圖片來源:操作截圖
百思不得其解,在 GitHub 上也把別人的建議都搞了一遍,還是無法解除 bug,在請教了幾個朋友之後,發現有個事情比較詭異,那就是我從 UCSC 上下載的文件只有幾十 M,而他們的卻都是 500 M 左右,我感覺是不是因為網絡原因,導致我下載的文件不完整呀。果然,我在github上也看到了有人提到過這一點:
圖片來源:Github
哎,又是網速(再次吐槽重點室的網速哈~),反覆下載之後,得到了一個 500 M 的文件,本以為這樣就可以愉快地分析了,結果仍然報錯:
圖片來源:操作截圖
查看資料之後,發現這個報錯要麼是自己 samtools 的版本太低,要麼就是分配的內存不夠。看了看 run10x 這個命令下有這樣一個參數 「--samtools-memory」,可以設置 sort bam 文件時可佔用的內存。
圖片來源:velocyto
幾經周折之後,終於看到了以下界面:
圖片來源:操作截圖
我最終用到的命令是:
velocyto run10x -m ~/mm10_rmsk.gtf ~/results/sample/ ~/reference/refdata-cellranger-GRCh38-3.0.0/genes/genes.gtf --samtools-memory 8000 -@ 20
運行成功之後,會在 cellranger 結果文件夾中多了一個以 velocyto 命名的文件夾,其中包含的是 loom 格式的結果文件。
圖片來源:操作截圖
以上就是 velocyto 分析的第一步:產生 loom 格式的文件,這也是後續深入分析的基礎。在上述分析的過程中,看似簡單,但是也遇到了一些坑,希望自己遇到的這些坑能夠幫助到大家,也能夠節約大家的時間。
未完待續~