EcoTyper代碼實操(五):在scRNA-seq數(shù)據(jù)中發(fā)現(xiàn)細胞狀態(tài)和生態(tài)型

前言

EcoTyper是一個基于機器學習的工具,能夠從Bulk鹤树、單細胞击费、以及空間分辨率的基因表達數(shù)據(jù)中大規(guī)模地識別并驗證細胞狀態(tài)和生態(tài)型俏让。我們在前面的推文中介紹了EcoTyper的分析框架和部分實操至扰,感興趣的小伙伴可以先閱讀這一部分哦鳍徽。

EcoTyper的代碼實操主要分為6個部分:

image.png

那么,今天讓我們一起來學習一下它的第五個部分——De novo Discovery of Cell States and Ecotypes in scRNA-seq Data敢课。

EcoTyper的分析框架:
Extract cell type specific or top variable genes:在分析前旬盯,通常需要去除不特定于某一細胞類型的基因(在給定細胞類型和所有其他細胞類型之間差異表達的基因作為特異基因),以減少發(fā)現(xiàn)假細胞狀態(tài)的可能性翎猛。然后胖翰,通過Wilcox檢驗和Benjamini-Hochberg校正來篩除Q值大于0.05的基因。
Cell state discovery on correlation matrices:EcoTyper 使用非負矩陣分解(NMF)來從單細胞表達數(shù)據(jù)中鑒定細胞狀態(tài)切厘。然而萨咳,由于scRNA-seq數(shù)據(jù)通常是稀疏的,直接應(yīng)用NMF可能效果不佳疫稿。因此培他,EcoTyper 在給定細胞類型的每對細胞之間的相關(guān)矩陣上應(yīng)用NMF。
Choosing the number of cell states:基于cophenetic系數(shù)確定細胞狀態(tài)遗座。cophenetic系數(shù)量化了給定細胞狀態(tài)數(shù)量(或聚類數(shù))的分類穩(wěn)定性舀凛,通常在0到1之間,1表示最穩(wěn)定途蒋。
Extracting cell state information:從步驟2的NMF輸出中提取細胞狀態(tài)信息猛遍。
Cell state re-discovery on expression matrices:在步驟2中確定了細胞狀態(tài)后,EcoTyper進行差異表達分析号坡,以鑒定與每個細胞狀態(tài)高度相關(guān)的基因懊烤。然后,選取具有前1000個基因進行新一輪的NMF宽堆。
Extracting cell state information:解析第5步NMF結(jié)果腌紧,提取細胞狀態(tài)信息用于后續(xù)分析。
Cell state QC filter:為了避免假細胞狀態(tài)的識別畜隶,EcoTyper引入了自適應(yīng)假陽指數(shù)(AFI)來過濾具有AFI >= 1的細胞狀態(tài)壁肋。
Ecotype (cellular community) discovery:生態(tài)型或細胞社群是通過識別細胞狀態(tài)在樣本之間的共現(xiàn)模式來獲得的。EcoTyper使用Jaccard系數(shù)來量化每對細胞狀態(tài)在發(fā)現(xiàn)隊列中樣本之間的重疊程度籽慢。然后浸遗,根據(jù)Jaccard矩陣,通過超幾何檢驗評估是否存在細胞狀態(tài)之間的重疊嗡综。最后乙帮,通過層次聚類和輪廓寬度來確定最佳的生態(tài)型數(shù)量。

代碼流程

1.準備環(huán)境和數(shù)據(jù)

下載 EcoTyper
wget https://github.com/digitalcytometry/ecotyper/archive/refs/heads/master.zip
unzip master.zip
cd ecotyper-master
#EcoTyper是一個獨立的軟件极景,用R實現(xiàn)察净,但并不是R包哦驾茴。
R環(huán)境準備:
image.png

這是官網(wǎng)推薦的R和R包版本,但是小編用的最新的R版本氢卡,并且安裝相應(yīng)最新版本的R包也是很順利的锈至。

install.packages(c("RColorBrewer","cluster", "circlize","cowplot","data.table","doParallel","ggplot2","grid", "reshape2", "viridis","config","argparse","colorspace", "plyr"))
BiocManager::install("ComplexHeatmap")
BiocManager::install("Biobase")
BiocManager::install("NMF")
輸入數(shù)據(jù):
  1. 表達譜數(shù)據(jù):結(jié)直腸癌scRNA-seq數(shù)據(jù),數(shù)據(jù)存儲在example_data/scRNA_CRC_data.txt中译秦。
image.png
  1. 樣本注釋文件峡捡,數(shù)據(jù)存儲在example_data/scRNA_CRC_annotation.txt
image.png

2.discovery scripts

EcoTyper_discovery_scRNA.R腳本用于在單細胞轉(zhuǎn)錄組數(shù)據(jù)中恢復(fù)細胞狀態(tài)和生態(tài)型筑悴。

Rscript EcoTyper_discovery_scRNA.R -h

此腳本接受 YAML 格式的配置文件作為輸入文件(config_discovery_scRNA.yml)们拙。

image.png
參數(shù)詳解:
  • Discovery dataset name : "discovery_scRNA_CRC"

    發(fā)現(xiàn)數(shù)據(jù)集名稱

  • Expression matrix : "example_data/scRNA_CRC_data.txt"

    表達數(shù)據(jù)的文件路徑

  • Annotation file : "example_data/scRNA_CRC_annotation.txt"

    注釋數(shù)據(jù)的文件路徑

  • Annotation file column to scale by : NULL

    指定一個注釋文件中的列名,按照這個列的值阁吝,對基因進行縮放(均值為0砚婆,方差為1)

  • Annotation file column(s) to plot : []

    指定注釋文件中哪些列將用作輸出熱圖中的顏色條(color bar)

    Annotation file column(s) to plot : ["Histology", "Tissue"]

  • Output folder : "DiscoveryOutput_scRNA"

  • Filter genes : "cell type specific"

    Accepted values:

    "cell type specific" - select genes overexpressed in a cell type

    "no filter" - use all genes

  • Number of threads : 10

    線程數(shù)

  • Number of NMF restarts : 5

    NMF重新啟動次數(shù)參數(shù)。EcoTyper 使用NMF(非負矩陣分解)來鑒定細胞狀態(tài)突勇,但NMF的結(jié)果可能取決于隨機初始化装盯。為了獲得穩(wěn)定的解決方案,NMF通常多次運行甲馋,每次使用不同的種子埂奈。

  • Maximum number of states per cell type : 20

    每種細胞類型可能的狀態(tài)數(shù)量的上限。

  • Cophenetic coefficient cutoff : 0.95

    取值范圍為[0,1]定躏,較低的值會得到較多的細胞狀態(tài)數(shù)量账磺。

  • Jaccard matrix p-value cutoff : 1

    在步驟8中,生態(tài)型的識別是通過對衡量每對狀態(tài)之間的樣本重疊的Jaccard矩陣進行聚類來完成的共屈。在執(zhí)行生態(tài)型識別之前绑谣,將不顯著的樣本重疊的Jaccard矩陣值設(shè)置為0,以減輕由虛假重疊引入的噪音拗引。值得注意的是,在具有較小樣本數(shù)量的scRNA-seq數(shù)據(jù)集中幌衣,建議禁用此篩選以避免過度篩選Jaccard矩陣矾削,但如果發(fā)現(xiàn)的scRNA-seq數(shù)據(jù)集包含足夠多的樣本來可靠評估重疊的顯著性,可以將此截斷值設(shè)置為較低的值(例如0.05)豁护。

  • Minimum number of states in ecotypes : 3

    少于3種細胞狀態(tài)的生態(tài)型被過濾掉

運行腳本:
Rscript EcoTyper_discovery_scRNA.R -c config_discovery_scRNA.yml

3.結(jié)果解讀

輸出的結(jié)果包括3類哼凯,rank_plot圖、各種細胞類型的細胞狀態(tài)以及生態(tài)型楚里。我們來逐各學習断部。

  1. rank_plot(Cophenetic系數(shù)圖):橫向虛線表示配置文件中提供的Cophenetic系數(shù)截斷值(Cophenetic coefficient cutoff field)。紅色的垂直虛線表示基于提供的Cophenetic系數(shù)截斷值自動選擇的狀態(tài)數(shù)量班缎。注意這些圖表示在應(yīng)用步驟6和7中的低質(zhì)量狀態(tài)篩選之前獲得的狀態(tài)數(shù)量蝴光。因此最終結(jié)果可能包含更少的狀態(tài)她渴。
image.png

接下來,我們以內(nèi)皮細胞為例展示ecotyper識別的細胞狀態(tài)結(jié)果

  1. state_assignment.txt:每個樣本被分配到具有最高推斷豐度的細胞狀態(tài)的信息蔑祟,也就是每個樣本的主要細胞狀態(tài)趁耗。
image.png
  1. state_assignment_heatmap.png/pdf:展示在每個細胞狀態(tài)中具有最高 log2 FC的基因的表達情況,這些基因被稱為細胞狀態(tài)特異性標記基因疆虚。列代表發(fā)現(xiàn)數(shù)據(jù)集中的樣本苛败,而行代表了每個細胞狀態(tài)的標記基因。
image.png
  1. "heatmap_top_ann.txt" 是用戶提供的注釋文件與細胞狀態(tài)相關(guān)的信息的整合径簿。只有被分配到主要細胞狀態(tài)的樣本才會包含在這個文件中罢屈。
image.png

生態(tài)型部分輸出的結(jié)果

  1. "ecotype_abundance.txt" 文件包含了在發(fā)現(xiàn)數(shù)據(jù)集中的每個生態(tài)型(ecotype)相對豐度的信息篇亭。
image.png
  1. "ecotype_assignment.txt" 文件包含了將發(fā)現(xiàn)數(shù)據(jù)集中的樣本分配到各個生態(tài)型的信息儡遮。
image.png
  1. "heatmap_assigned_samples_viridis.pdf/png" 展示了分配了生態(tài)型的樣本中細胞狀態(tài)分數(shù)的熱圖暗赶。
image.png
  1. nclusters_jaccard.png/pdf: "initial clusters" 指的是通過對Jaccard指數(shù)矩陣進行聚類獲得的初始簇的數(shù)量。這個數(shù)量通常是通過應(yīng)用平均輪廓(average silhouette)方法來選擇的蹂随。
image.png
  1. jaccard_matrix.png/pdf:包含至少3個細胞狀態(tài)的生態(tài)型的Jaccard系數(shù)矩陣的熱圖十嘿。
image.png

小結(jié)

在本期推文中岳锁,我們介紹了如何使用EcoTyper從單細胞轉(zhuǎn)錄組數(shù)據(jù)中從頭發(fā)現(xiàn)細胞狀態(tài)和生態(tài)型绩衷。小編認為激率,我們在研究的過程中可以整合較多的單細胞數(shù)據(jù)集保證更為全面地發(fā)現(xiàn)細胞狀態(tài)和生態(tài)型咳燕。隨后,將模型應(yīng)用于Bulk轉(zhuǎn)錄組數(shù)據(jù)中恢復(fù)細胞狀態(tài)和生態(tài)型乒躺,結(jié)合Bulk數(shù)據(jù)樣本量大招盲、表型數(shù)據(jù)多的優(yōu)勢更好的探索相關(guān)生物學結(jié)果。我們將在下期推文中和大家學習EcoTyper的最后一部分實操--De novo Discovery of Cell States and Ecotypes in Pre-Sorted Data曹货,關(guān)于今天的學習內(nèi)容,感興趣的小伙伴快來用起來吧~

好啦讳推,本期的分享到這里就結(jié)束了,我們下期再會~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末礼饱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌匀伏,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帘撰,死亡現(xiàn)場離奇詭異,居然都是意外死亡摧找,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門蹬耘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人综苔,你說我怎么就攤上這事∥徊恚” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵杨刨,是天一觀的道長。 經(jīng)常有香客問我擦剑,道長,這世上最難降的妖魔是什么惠勒? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮纠屋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘巾遭。我一直安慰自己,他們只是感情好灼舍,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布涨薪。 她就那樣靜靜地躺著骑素,像睡著了一般。 火紅的嫁衣襯著肌膚如雪刚夺。 梳的紋絲不亂的頭發(fā)上献丑,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天末捣,我揣著相機與錄音,去河邊找鬼创橄。 笑死箩做,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的妥畏。 我是一名探鬼主播邦邦,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼醉蚁!你這毒婦竟也來了燃辖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤网棍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后滥玷,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡蛋欣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年桨菜,在試婚紗的時候發(fā)現(xiàn)自己被綠了豁状。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倒得。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖霞掺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情菩彬,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布骗灶,位于F島的核電站,受9級特大地震影響耙旦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一帆竹、第九天 我趴在偏房一處隱蔽的房頂上張望脓规。 院中可真熱鬧栽连,春花似錦侨舆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铺韧。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背凿菩。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工帜讲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人似将。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像在验,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子腋舌,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容