什么是CytoTRACE
CytoTRACE(使用基因計數和表達的細胞(Cyto)軌跡重建分析)是一種計算方法尚氛,可根據單細胞 RNA 測序數據預測細胞的相對分化狀態(tài)丸边。CytoTRACE 被開發(fā)用于在沒有任何先驗信息的情況下預測 scRNA-seq 數據中的分化狀態(tài)膏斤。詳情見官網
CytoTRACE 運行原理和步驟
(1)基因計數:第一步是計算每個細胞中可檢測表達的基因數量。這是通過對每個單細胞表達大于零的基因總數求和來完成的讽坏。
(2)基因計數特征(GCS):第二步是捕捉表達模式與基因計數相關的基因目木。這是通過以下步驟完成的:
輸入基因表達表被重新調整為每百萬轉錄本 (TPM) 或每百萬計數 (CPM)。
將每個單個細胞的轉錄本總和設置為該細胞中可檢測表達的基因總數劲厌。這樣做是為了將基因表達矩陣轉換為相對轉錄物計數膛薛,或細胞裂解物中 mRNA 分子的估計豐度,我們和其他人已經證明這可以改進差異表達基因的檢測(Gulati 等人补鼻,2020 年哄啄;Qiu 等人等雅任,2017)。
生成的表達式矩陣是 log 2歸一化的增淹,偽計數為 1椿访。
為了測量每個基因與基因計數的關系,計算每個基因的標準化表達和基因計數之間的 Pearson 相關性虑润。
與基因計數最正相關的前 200 個基因的幾何平均表達是基因計數特征 (GCS)成玫。
(3) CytoTRACE:最后一步是通過利用細胞之間的局部相似性并應用兩步平滑程序來迭代改進我們對 GCS 向量的估計:
創(chuàng)建我們的最近鄰圖,我們將歸一化的表達矩陣(見上文)轉換為馬爾可夫過程拳喻,以捕捉單元格之間的局部相似性哭当。
使用這個馬爾可夫矩陣,然后我們將非負最小二乘回歸 (NNLS) 應用到 GCS冗澈。這使我們能夠將 GCS 表示為馬爾可夫矩陣中捕獲的不同轉錄鄰域的函數钦勘。
應用擴散過程,根據馬爾可夫過程的概率結構迭代調整 GCS亚亲。注意:這不是 GCS彻采,而是經過 NNLS 調整的 GCS。
結果值在 0 和 1 之間進行排序和縮放捌归,代表細胞的相對分化狀態(tài)的預測順序(0肛响,分化程度更高;1惜索,分化程度較低)特笋。
運行 CytoTRACE 需要什么?
運行 CytoTRACE 所需的只是一個由單細胞 RNA 測序生成的基因表達矩陣巾兆,其中列是細胞猎物,行是基因/轉錄本。CytoTRACE網站(https://cytotrace.stanford.edu/)可以在線分析角塑,要求此文件是大小小于 2.5 GB 且細胞數 < 15,000 個的文本 (txt)蔫磨、制表符分隔值 (tsv) 或逗號分隔值 (csv) 文件。對于大于 2.5 GB 或細胞數大于 15,000 個的數據集圃伶,則需使用 R 包或 Docker 實現(xiàn)堤如。
本地如何安裝和使用
CytoTRACE安裝
1、下載R包留攒,下載地址:https://cytotrace.stanford.edu/CytoTRACE_0.3.3.tar.gz煤惩,要求 R(版本 >= 4.0.0)。
2炼邀、運行命令安裝即可魄揉。
install.packages("devtools")
devtools::install_local("PATH/TO/DIRECTORY/CytoTRACE_0.3.3.tar.gz")
3、安裝 Python 依賴庫
pip install scanoramaCT
pip install numpy
運行CytoTRACE
重要函數和數據集:
CytoTRACE: 對自定義 scRNA-seq 數據集進行CytoTRACE 分析的函數
iCytoTRACE:跨多個 scRNA-seq 批次/數據集運行 CytoTRACE 的功能
plotCytoTRACE: 用于生成 CytoTRACE拭宁、表型和基因表達的 2D 可視化的函數
自帶數據集:兩個骨髓分化 scRNA-seq 數據集(marrow_10x_expr和marrow_plate_expr)洛退,帶有相應的表型標簽(marrow_10x_pheno和marrow_plate_pheno)
library(CytoTRACE) #加載包
results <- CytoTRACE(marrow_10x_expr)#使用自帶骨髓 10x scRNA-seq 數據集運行 CytoTRACE
# 或者使用“ncores”(默認值 = 1)進行多線程
#或使用“subsamplingsize”(默認值 = 1,000 個單元格)指示子采樣大小
#比如:使用 8 個內核和 1,000 個子樣本在快速模式下運行以下數據集
results <- CytoTRACE(marrow_10x_expr, ncores = 8, subsamplesize = 1000)
#在多個 scRNA-seq 批次/數據集上運行
datasets <- list(marrow_10x_expr, marrow_plate_expr)
results <- iCytoTRACE(datasets)
#繪制 CytoTRACE 和 iCytoTRACE 結果
#可視化 CytoTRACE 結果
plotCytoTRACE(results, phenotype = marrow_10x_pheno)
#可視化與 CytoTRACE 相關的基因
plotCytoGenes(results, numOfGenes = 10)