pyscenic | 單細(xì)胞轉(zhuǎn)錄因子分析瞬场,原理圖文詳解

pyscenic做為scenicpython版本乾巧,相比R版本實(shí)現(xiàn)了分析速度上的巨大提升句喜,尤其是最耗時(shí)的共表達(dá)網(wǎng)絡(luò)構(gòu)建步驟。實(shí)測(cè)時(shí)間如下沟于,數(shù)據(jù)集1 (4257 cell x 36601 gene)咳胃,10 cores :grn 網(wǎng)絡(luò)構(gòu)建2小時(shí);ctx 網(wǎng)絡(luò)純化16分鐘旷太;aucell 細(xì)胞活性1分鐘拙绊。另外,數(shù)據(jù)集2 (45000 cell x 33469 gene)泳秀,三個(gè)步驟的耗時(shí)分別為4小時(shí)标沪、20分鐘、5分鐘嗜傅。

??從上面的流程示意圖可知金句,整個(gè)轉(zhuǎn)錄因子分析步驟分成Co-expressionMotif-discovery吕嘀、Cell-scoring违寞,分別對(duì)應(yīng)pyscenic軟件的三個(gè)子命令grnctx偶房、aucell趁曼。

RcisTarget數(shù)據(jù)庫(kù)文件下載鏈接:

測(cè)試數(shù)據(jù)來自《Single-cell RNA sequencing highlights the role of inflammatory cancer-associated fibroblasts in bladder urothelial carcinoma》挡闰,從原始數(shù)據(jù)出發(fā),降維聚類分群后掰盘,使用fibo細(xì)胞亞群做轉(zhuǎn)錄因子分析摄悯。

1、grn
??輸入表達(dá)矩陣和轉(zhuǎn)錄因子列表愧捕,軟件基于共表達(dá)構(gòu)建轉(zhuǎn)錄因子與潛在靶基因的調(diào)控網(wǎng)絡(luò)奢驯。構(gòu)建網(wǎng)絡(luò)的算法可以選擇GENIE3GRNBoot2 (默認(rèn)參數(shù)),網(wǎng)絡(luò)構(gòu)建涉及隨機(jī)過程次绘,如果想要復(fù)盤時(shí)保持結(jié)果一致可以設(shè)置隨機(jī)種子瘪阁。

??另外撒遣,表達(dá)矩陣的格式可以接受csvloom,如果是csv (rows=cells x columns=genes) 則需要參數(shù)--transpose管跺。表達(dá)矩陣在整個(gè)過程都有用到义黎,為了方便可以使用loom格式。

pyscenic grn --seed 21 \
             --num_workers 10 \
             --method grnboost2 \
             --output fibo_grn.tsv fibo_count.loom allTFs_hg38.txt

2伙菜、ctx
??上一步得到了初始的調(diào)控網(wǎng)絡(luò),這一步基于motif和TF的關(guān)系以及motif對(duì)基因調(diào)控潛能的排序來修剪初始網(wǎng)絡(luò)命迈。首先贩绕,將motif注釋到TF;接著壶愤,對(duì)motif調(diào)控的基因排序(feather格式的文件)淑倾,如果調(diào)控網(wǎng)絡(luò)里面出現(xiàn)靶基因則折線上升,如此就會(huì)形成下圖所示的曲線圖征椒,默認(rèn)選擇所有基因的前5%處 (標(biāo)虛線的地方) 曲線下的面積計(jì)算AUC值娇哆,再接著計(jì)算一個(gè)標(biāo)準(zhǔn)化的AUC值做為NES,默認(rèn)過濾閾值為3.0勃救;最后碍讨,根據(jù)三種方式進(jìn)一步修剪網(wǎng)絡(luò):1. thresholds 根據(jù)閾值選擇motif調(diào)控基因排序的前百分比的靶基因,2. top_n_targets 每個(gè)TF保留前N個(gè)靶基因蒙秒,3. top_n_regulators 每個(gè)靶基因保留前N個(gè)TF勃黍。此時(shí),得到的TF與靶基因的調(diào)控網(wǎng)絡(luò)叫做regulon (調(diào)控子)晕讲,其中保留的靶基因上游含有motif直接結(jié)合的位點(diǎn)覆获。

??其實(shí),不難看出這一步包含的過程比較繁瑣瓢省,經(jīng)過各種修剪獲得最終的網(wǎng)絡(luò)弄息。所以,這一步相當(dāng)重要勤婚,可以適當(dāng)調(diào)整閾值得到符合實(shí)際需求的網(wǎng)絡(luò)摹量。提示:這一步提到的實(shí)現(xiàn)過程為個(gè)人理解。

feather=hg38_refseq-r80_10kb_up_and_down_tss.mc9nr.genes_vs_motifs.rankings.feather
fname=motifs-v9-nr.hgnc-m0.001-o0.0.tbl

pyscenic ctx --annotations_fname $fname \
             --expression_mtx_fname fibo_count.loom \
             --mode dask_multiprocessing \
             --mask_dropouts \
             --num_workers 10 \
             --output fibo_ctx.gmt fibo_grn.tsv $feather

3馒胆、aucell
??最后荆永,評(píng)估每個(gè)regulon在所有細(xì)胞里面的活性,富集方法與上面的motif富集相似国章。需要注意的是該步驟也有隨機(jī)種子參數(shù)具钥,如果想保證后面復(fù)現(xiàn)結(jié)果最好設(shè)置一下參數(shù)。

pyscenic aucell --seed 21 \ 
                --num_workers 10 \
                --output fibo_aucell.csv fibo_count.loom fibo_ctx.gmt

??到此液兽,pyscenic流程就結(jié)束了骂删,后面的工作就是基于regulon活性矩陣探索數(shù)據(jù)了掌动。當(dāng)然,也可以將活性矩陣二值化宁玫,這樣每個(gè)regulon在細(xì)胞中只有onoff兩種狀態(tài)粗恢,可以使用R包AUCell來完成。

library(AUCell)
library(reshape2)

auc <- read.table('fibo_aucell.csv',header=T,row.names=1,sep=',',stringsAsFactors=F,check.names=F)
auc <- t(auc)
rownames(auc) <- gsub(',','', rownames(auc))
auc[1:3, 1:5]
          case1_AAACCTGGTAGTACCT-1 case1_AAAGCAAAGCCTTGAT-1
AHR(+)                   0.0680935               0.07413331
ARID3A(+)                0.1266152               0.11878014
ARNT2(+)                 0.0000000               0.00000000
          case1_AAAGTAGGTCCATCCT-1 case1_AAATGCCGTTCCACTC-1
AHR(+)                  0.07159951               0.07028004
ARID3A(+)               0.05228222               0.09272742
ARNT2(+)                0.00000000               0.00428051
          case1_AACTCCCAGTAGTGCG-1
AHR(+)                0.0655522976
ARID3A(+)             0.0814689810
ARNT2(+)              0.0004553734

cells_assignment <- AUCell_exploreThresholds(auc, plotHist=F, assignCells=T)
thresholds <- getThresholdSelected(cells_assignment)
regulonsCells <- setNames(lapply(names(thresholds), 
                                 function(x) {
                                   trh <- thresholds[x]
                                   names(which(auc[x,]>trh))
                                 }),names(thresholds))

regulonActivity <- melt(regulonsCells)
binaryRegulonActivity <- t(table(regulonActivity[,1], regulonActivity[,2]))
binaryRegulonActivity[1:3, 1:5]
            case1_AAACCTGAGACAGAGA-1 case1_AAACCTGGTAGTACCT-1
  ARID3A(+)                        0                        0
  ARNT2(+)                         0                        0
  ARNTL(+)                         0                        0

            case1_AAAGCAAAGCCTTGAT-1 case1_AAAGTAGCACAACTGT-1
  ARID3A(+)                        0                        0
  ARNT2(+)                         0                        0
  ARNTL(+)                         0                        0

            case1_AAAGTAGGTCCATCCT-1
  ARID3A(+)                        0
  ARNT2(+)                         0
  ARNTL(+)                         0

??最后的最后欧瘪,展示一下重現(xiàn)文章的結(jié)果 (右邊來自文章)眷射,雖然缺失兩個(gè)轉(zhuǎn)錄因子,可能是前期數(shù)據(jù)處理不同導(dǎo)致佛掖,但是其余的轉(zhuǎn)錄因子在兩個(gè)細(xì)胞亞群里面的趨勢(shì)與文章一致妖碉。


往期回顧

一網(wǎng)打盡scRNA矩陣格式讀取和轉(zhuǎn)化(h5 h5ad loom)
ggplot2 | 開發(fā)自己的畫圖函數(shù)
R包安裝的4種姿勢(shì)
clusterProfiler: No gene can be mapped | 怎么破?
R語(yǔ)言的碎碎念

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末芥被,一起剝皮案震驚了整個(gè)濱河市欧宜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拴魄,老刑警劉巖冗茸,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異匹中,居然都是意外死亡夏漱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門顶捷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來麻蹋,“玉大人,你說我怎么就攤上這事焊切“缡冢” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵专肪,是天一觀的道長(zhǎng)刹勃。 經(jīng)常有香客問我,道長(zhǎng)嚎尤,這世上最難降的妖魔是什么荔仁? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮芽死,結(jié)果婚禮上乏梁,老公的妹妹穿的比我還像新娘。我一直安慰自己关贵,他們只是感情好遇骑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著揖曾,像睡著了一般落萎。 火紅的嫁衣襯著肌膚如雪亥啦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天练链,我揣著相機(jī)與錄音翔脱,去河邊找鬼。 笑死媒鼓,一個(gè)胖子當(dāng)著我的面吹牛届吁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播绿鸣,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼疚沐,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了枚驻?” 一聲冷哼從身側(cè)響起濒旦,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤株旷,失蹤者是張志新(化名)和其女友劉穎再登,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晾剖,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锉矢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了齿尽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沽损。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖循头,靈堂內(nèi)的尸體忽然破棺而出绵估,到底是詐尸還是另有隱情,我是刑警寧澤卡骂,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布国裳,位于F島的核電站,受9級(jí)特大地震影響全跨,放射性物質(zhì)發(fā)生泄漏缝左。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一浓若、第九天 我趴在偏房一處隱蔽的房頂上張望渺杉。 院中可真熱鬧,春花似錦挪钓、人聲如沸是越。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)英妓。三九已至挽放,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蔓纠,已是汗流浹背辑畦。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留腿倚,地道東北人纯出。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像敷燎,于是被迫代替她去往敵國(guó)和親暂筝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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