scATAC分析神器ArchR初探-使用ArchR進(jìn)行軌跡分析(16)

scATAC分析神器ArchR初探-簡介(1)
scATAC分析神器ArchR初探-ArchR進(jìn)行doublet處理(2)
scATAC分析神器ArchR初探-創(chuàng)建ArchRProject(3)
scATAC分析神器ArchR初探-使用ArchR降維(4)
scATAC分析神器ArchR初探--使用ArchR進(jìn)行聚類(5)
scATAC分析神器ArchR初探-單細(xì)胞嵌入(6)
scATAC分析神器ArchR初探-使用ArchR計(jì)算基因活性值和標(biāo)記基因(7)
scATAC分析神器ArchR初探-scRNA-seq確定細(xì)胞類型(8)
scATAC分析神器ArchR初探-ArchR中的偽批次重復(fù)處理(9)
scATAC分析神器ArchR初探-使用ArchR-peak-calling(10)
scATAC分析神器ArchR初探-使用ArchR識(shí)別標(biāo)記峰(11)
scATAC分析神器ArchR初探-使用ArchR進(jìn)行主題和功能豐富(12)
scATAC分析神器ArchR初探-利用ArchR豐富ChromVAR偏差(13)
scATAC分析神器ArchR初探-使用ArchR進(jìn)行足跡(14)
scATAC分析神器ArchR初探-使用ArchR進(jìn)行整合分析(15)
scATAC分析神器ArchR初探-使用ArchR進(jìn)行軌跡分析(16)

16-使用ArchR進(jìn)行軌跡分析

為了在偽時(shí)間內(nèi)對(duì)單元進(jìn)行排序畦戒,ArchR創(chuàng)建了細(xì)胞軌跡闲礼,該軌跡對(duì)ArchRProject中較低N維子空間上的單元進(jìn)行排序畴蒲。以前僵蛛,我們已經(jīng)在二維UMAP子空間中執(zhí)行了此排序纬向,但是ArchR在此方法上進(jìn)行了改進(jìn)缝龄,可以在N維子空間(即LSI)中進(jìn)行對(duì)齊旺韭。首先础嫡,ArchR需要用戶定義的軌跡主干指么,該主干可提供細(xì)胞組/簇的大致順序。例如,給定用戶確定的簇身份涧尿,可以提供干細(xì)胞簇的簇ID系奉,然后是祖細(xì)胞簇,然后是與已知或推測的生物學(xué)相關(guān)細(xì)胞軌跡相對(duì)應(yīng)的分化細(xì)胞簇(即提供簇) HSC姑廉,GMP缺亮,單核細(xì)胞的ID)。接下來桥言,對(duì)于每個(gè)群集萌踱,ArchR計(jì)算N維中每個(gè)單元組/集群的平均坐標(biāo),并保留與這些平均坐標(biāo)的歐幾里得距離在所有單元的前5%中的單元号阿。接下來并鸵,ArchR為每個(gè)單元計(jì)算從群集i到群集i + 1沿著軌跡的平均坐標(biāo)的距離,并基于這些距離為i的每次迭代計(jì)算一個(gè)偽時(shí)間向量扔涧。這使得ArchR可以基于到單元格組/簇平均坐標(biāo)的歐幾里得距離园担,為作為軌跡一部分保留的每個(gè)單元格確定N維坐標(biāo)和偽時(shí)間值。接下來枯夜,ArchR使用偽時(shí)間基于偽時(shí)間值將連續(xù)軌跡擬合到每個(gè)N維坐標(biāo)弯汰。ArchR計(jì)算沿著軌跡從簇i到簇i + 1的平均坐標(biāo)的每個(gè)單元的距離,并基于這些距離為i的每次迭代計(jì)算一個(gè)偽時(shí)間向量湖雹。這使得ArchR可以基于到單元格組/簇平均坐標(biāo)的歐幾里得距離咏闪,為作為軌跡一部分保留的每個(gè)單元格確定N維坐標(biāo)和偽時(shí)間值。接下來摔吏,ArchR使用偽時(shí)間基于偽時(shí)間值將連續(xù)軌跡擬合到每個(gè)N維坐標(biāo)鸽嫂。ArchR計(jì)算沿著軌跡從簇i到簇i + 1的平均坐標(biāo)的每個(gè)單元的距離,并基于這些距離為i的每次迭代計(jì)算一個(gè)偽時(shí)間向量征讲。這使得ArchR可以基于到單元格組/簇平均坐標(biāo)的歐幾里得距離据某,為作為軌跡一部分保留的每個(gè)單元格確定N維坐標(biāo)和偽時(shí)間值。接下來稳诚,ArchR使用偽時(shí)間基于偽時(shí)間值將連續(xù)軌跡擬合到每個(gè)N維坐標(biāo)哗脖。這使得ArchR可以基于到單元格組/簇平均坐標(biāo)的歐幾里得距離,為作為軌跡一部分保留的每個(gè)單元格確定N維坐標(biāo)和偽時(shí)間值扳还。接下來才避,ArchR使用偽時(shí)間基于偽時(shí)間值將連續(xù)軌跡擬合到每個(gè)N維坐標(biāo)。這使得ArchR可以基于到單元格組/簇平均坐標(biāo)的歐幾里得距離氨距,為作為軌跡一部分保留的每個(gè)單元格確定N維坐標(biāo)和偽時(shí)間值桑逝。接下來,ArchR使用偽時(shí)間基于偽時(shí)間值將連續(xù)軌跡擬合到每個(gè)N維坐標(biāo)俏让。smooth.spline功能楞遏。然后茬暇,ArchR基于所有單元格到沿流形的最近點(diǎn)的歐幾里德距離,將所有單元格與軌跡對(duì)齊寡喝。然后糙俗,ArchR將此對(duì)齊比例縮放為100,并將此偽時(shí)間存儲(chǔ)在ArchRProject中以進(jìn)行下游分析预鬓。

ArchR可以創(chuàng)建矩陣巧骚,以在Arrow文件中存儲(chǔ)的要素之間傳遞偽時(shí)間趨勢。例如格二,ArchR可以分析跨偽時(shí)間的TF偏差劈彪,基因得分或整合的基因表達(dá)的變化,以識(shí)別在整個(gè)細(xì)胞軌跡中動(dòng)態(tài)的調(diào)節(jié)子或調(diào)節(jié)元件顶猜。首先沧奴,ArchR以用戶定義的小幅度增量(默認(rèn)= 1/100)在整個(gè)細(xì)胞軌跡上對(duì)細(xì)胞進(jìn)行分組。然后长窄,ArchR使用該功能使用用戶定義的平滑窗口(默認(rèn)值= 9/100)對(duì)每個(gè)功能對(duì)該矩陣進(jìn)行平滑data.table::frollmean滔吠。然后,ArchR將此平滑的偽時(shí)間x特征矩陣返回為SummarizedExperiment用于下游分析抄淑。此外屠凶,ArchR可以使用名稱匹配(即具有chromVAR TF偏差和基因得分/整合譜的正調(diào)控子)或通過基因組位置重疊法(即峰與基因的關(guān)聯(lián))使用低位相關(guān)性來關(guān)聯(lián)這些平滑的偽時(shí)間x特征矩陣中的兩個(gè)如前面部分所述驰后,重疊的細(xì)胞聚集體肆资。因此,ArchR促進(jìn)了跨細(xì)胞軌跡的綜合分析灶芝,揭示了跨多模態(tài)數(shù)據(jù)的相關(guān)監(jiān)管動(dòng)態(tài)郑原。

16.1髓系軌跡-單核細(xì)胞分化

在本節(jié)中,我們將創(chuàng)建一個(gè)近似于HSCs向完全分化的單核細(xì)胞分化的細(xì)胞軌跡夜涕。首先犯犁,讓我們檢查一下我們先前定義的群集和單元格類型,它們存儲(chǔ)在cellColData名為“ Clusters”和“ Clusters2”的列中女器。將這些單元格分組覆蓋在我們的UMAP嵌入上會(huì)顯示我們感興趣的不同單元格類型酸役。

p1 <- plotEmbedding(ArchRProj = projHeme5, colorBy = "cellColData", name = "Clusters", embedding = "UMAP")
p2 <- plotEmbedding(ArchRProj = projHeme5, colorBy = "cellColData", name = "Clusters2", embedding = "UMAP")
ggAlignPlots(p1, p2, type = "h")
16.1.1偽時(shí)間UMAP和單個(gè)特征圖

我們將使用存儲(chǔ)在“ Clusters2”中的單元格類型定義。如上所述驾胆,我們正在創(chuàng)建一條從干細(xì)胞(“祖細(xì)胞”)到定型的髓祖細(xì)胞(“ GMP”)到單核細(xì)胞(“單核”)的軌跡涣澡。創(chuàng)建軌跡的第一步是以細(xì)胞組標(biāo)簽的有序向量形式創(chuàng)建軌跡主干。

trajectory <- c("Progenitor", "GMP", "Mono")
trajectory

我們使用addTrajectory()函數(shù)創(chuàng)建軌跡丧诺,并將其添加到ArchRProject入桂。我們將這個(gè)軌跡稱為“ MyeloidU”。這樣做是在cellColData“ MyeloidU”中創(chuàng)建一個(gè)新列驳阎,該列存儲(chǔ)軌跡中每個(gè)單元的偽時(shí)間值抗愁。不屬于軌跡的像元標(biāo)記為NA馁蒂。

projHeme5 <- addTrajectory(
    ArchRProj = projHeme5, 
    name = "MyeloidU", 
    groupBy = "Clusters2",
    trajectory = trajectory, 
    embedding = "UMAP", 
    force = TRUE
)

我們可以查看此信息,并看到每個(gè)像元都有一個(gè)介于0到100之間的唯一偽時(shí)間值蜘腌。我們排除了具有NA這些值的像元沫屡,因?yàn)樗鼈儾皇擒壽E的一部分。

head(projHeme5$MyeloidU[!is.na(projHeme5$MyeloidU)])

要繪制此軌跡撮珠,我們使用在plotTrajectory()UMAP嵌入中覆蓋偽時(shí)間值的函數(shù)谁鳍,并顯示一個(gè)近似于樣條曲線擬合的軌跡路徑的箭頭。不屬于軌跡的像元被涂成灰色劫瞳。在此示例中倘潜,我們用于colorBy = "cellColData"告訴ArchR在cellColDataname- 指定的列(在本例中為“ MyeloidU”偽時(shí)間軌跡)內(nèi)查找。雖然同時(shí)為trajectory和列出“ MyeloidU”似乎很反常name志于,但這是因?yàn)?code>trajectory告訴ArchR我們感興趣的是哪個(gè)細(xì)胞子集涮因,并且name告訴ArchR如何為該細(xì)胞子集著色内边。

p <- plotTrajectory(projHeme5, trajectory = "MyeloidU", colorBy = "cellColData", name = "MyeloidU")

要保存此圖的可編輯矢量化版本晓殊,請使用plotPDF()朋其。

plotPDF(p, name = "Plot-MyeloidU-Traj-UMAP.pdf", ArchRProj = projHeme5, addDOC = FALSE, width = 5, height = 5)

我們還可以在UMAP嵌入中將其他要素疊加在軌跡上仰猖。這使我們僅在與我們的軌跡相關(guān)的像元內(nèi)顯示特定特征吼肥。

如果尚未將估算權(quán)重添加到projHeme5項(xiàng)目中硬梁,請立即執(zhí)行贯涎。

projHeme5 <- addImputeWeights(projHeme5)

然后芹敌,我們可以繪制“ MyeloidU”軌跡杖挣,但通過CEBPB基因的基因得分值對(duì)細(xì)胞著色肩榕,CEBPB基因是已知的單核細(xì)胞功能調(diào)節(jié)劑,在分化過程中會(huì)活躍惩妇。我們指出要通過colorBy參數(shù)使用的矩陣和要通過參數(shù)使用的特征name株汉。

p1 <- plotTrajectory(projHeme5, trajectory = "MyeloidU", colorBy = "GeneScoreMatrix", name = "CEBPB", continuousSet = "horizonExtra")

我們可以重復(fù)這個(gè)過程,但是通過細(xì)胞的連鎖基因表達(dá)使細(xì)胞著色GeneIntegrationMatrix歌殃。

p2 <- plotTrajectory(projHeme5, trajectory = "MyeloidU", colorBy = "GeneIntegrationMatrix", name = "CEBPB", continuousSet = "blueYellow")

plotTrajectory()函數(shù)實(shí)際上返回相關(guān)圖的列表乔妈。列表中的第一個(gè)圖是UMAP嵌入,按函數(shù)調(diào)用中的指定進(jìn)行著色氓皱。

并排比較這些UMAP圖的基因得分和基因表達(dá)路召,我們發(fā)現(xiàn)CEBPB基因的活性在偽時(shí)間軌跡的后期對(duì)單核細(xì)胞具有高度特異性。

ggAlignPlots(p1[[1]], p2[[1]], type = "h")

返回的第二個(gè)圖是plotTrajectory()偽時(shí)間與相關(guān)特征值(在這種情況下為CEBPB的基因得分或基因表達(dá))的點(diǎn)圖波材。在這種情況下股淡,單元格通過其偽時(shí)間著色。

ggAlignPlots(p1[[2]], p2[[2]], type = "h")
16.1.2偽時(shí)間熱圖

我們可以使用熱圖可視化跨偽時(shí)間的許多功能的變化各聘。為此揣非,我們首先ArchRProject使用getTrajectory()函數(shù)返回感興趣的軌跡,該函數(shù)將軌跡作為SummarizedExperiment對(duì)象返回躲因。通過將相應(yīng)的矩陣傳遞給useMatrix參數(shù)早敬,我們將為模體忌傻,基因得分,基因表達(dá)和峰值可及性創(chuàng)建這些偽時(shí)間熱圖搞监。

trajMM  <- getTrajectory(ArchRProj = projHeme5, name = "MyeloidU", useMatrix = "MotifMatrix", log2Norm = FALSE)

然后水孩,我們將此傳遞SummarizedExperimentplotTrajectoryHeatmap()函數(shù)。

p1 <- plotTrajectoryHeatmap(trajMM, pal = paletteContinuous(set = "solarExtra"))

通過設(shè)置琐驴,我們可以執(zhí)行相同的步驟來獲得基因分?jǐn)?shù)的偽時(shí)間熱圖useMatrix = "GeneScoreMatrix"俘种。

trajGSM <- getTrajectory(ArchRProj = projHeme5, name = "MyeloidU", useMatrix = "GeneScoreMatrix", log2Norm = TRUE)
p2 <- trajectoryHeatmap(trajGSM,  pal = paletteContinuous(set = "horizonExtra"))

同樣,我們可以通過設(shè)置獲得基因表達(dá)的偽時(shí)間熱圖useMatrix = "GeneIntegrationMatrix"绝淡。

trajGIM <- getTrajectory(ArchRProj = projHeme5, name = "MyeloidU", useMatrix = "GeneIntegrationMatrix", log2Norm = FALSE)
p3 <- plotTrajectoryHeatmap(trajGIM,  pal = paletteContinuous(set = "blueYellow"))

最后宙刘,我們可以通過設(shè)置獲得峰值可訪問性的偽時(shí)間熱圖useMatrix = "PeakMatrix"

trajPM  <- getTrajectory(ArchRProj = projHeme5, name = "MyeloidU", useMatrix = "PeakMatrix", log2Norm = TRUE)
p4 <- plotTrajectoryHeatmap(trajPM, pal = paletteContinuous(set = "solarExtra"))

要保存此圖的可編輯矢量化版本牢酵,請使用plotPDF()悬包。

plotPDF(p1, p2, p3, p4, name = "Plot-MyeloidU-Traj-Heatmaps.pdf", ArchRProj = projHeme5, addDOC = FALSE, width = 6, height = 8)

16.1.3集成偽時(shí)間分析

我們還可以進(jìn)行綜合分析,例如通過整合基因得分/基因表達(dá)和偽時(shí)間中的基元可及性來鑒定陽性TF調(diào)節(jié)劑馍乙。例如布近,在識(shí)別差異驅(qū)動(dòng)因素時(shí),這可能非常強(qiáng)大丝格。為此撑瞧,我們使用該correlateTrajectories()函數(shù),該函數(shù)接受SummarizedExperiment從該getTrajectories()函數(shù)檢索的兩個(gè)對(duì)象显蝌。

首先预伺,讓我們找到其偽時(shí)間可訪問性與TF基因的基因得分相關(guān)的基序。

corGSM_MM <- correlateTrajectories(trajGSM, trajMM)

的主要輸出correlateTrajectories()是一個(gè)列表對(duì)象琅束,其中包含一個(gè)DataFrame對(duì)象作為列表中的第一個(gè)條目扭屁。此DataFrame已命名的列idx1matchname1涩禀,name1,和VarAssay1其對(duì)應(yīng)于索引然眼,匹配名艾船,未改變的名字,并從第一軌跡的特征的方差位數(shù)傳遞給(基因分)correlateTrajectories()功能高每∮炱瘢“方差分位數(shù)”是對(duì)給定特征的歸一化度量,它使我們能夠得出不同分析之間的相關(guān)性鲸匿。它DataFrame包含滿足功能中指定的臨界值的所有correlateTrajectories()功能爷怀。

corGSM_MM[[1]]

然后,我們可以將相應(yīng)的軌跡SummarizedExperiment對(duì)象子集化带欢,以僅包含通過上述意義的元素运授。

trajGSM2 <- trajGSM[corGSM_MM[[1]]$name1, ]
trajMM2 <- trajMM[corGSM_MM[[1]]$name2, ]

為了最好地排序這些功能烤惊,我們可以創(chuàng)建一條新的軌跡,將這兩個(gè)軌跡的值相乘吁朦。這將使我們能夠創(chuàng)建并排排列的熱圖柒室,它們按行順序相同。

trajCombined <- trajGSM2
assay(trajCombined) <- t(apply(assay(trajGSM2), 1, scale)) + t(apply(assay(trajMM2), 1, scale))

我們可以從plotTrajectoryHeatmap()函數(shù)的返回值中提取最佳行順序逗宜。

combinedMat <- plotTrajectoryHeatmap(trajCombined, returnMat = TRUE, varCutOff = 0)
rowOrder <- match(rownames(combinedMat), rownames(trajGSM2))

這樣雄右,我們現(xiàn)在準(zhǔn)備創(chuàng)建配對(duì)的熱圖。首先纺讲,我們將為基因得分軌跡創(chuàng)建熱圖擂仍。我們通過rowOrder參數(shù)指定所需的行順序。

ht1 <- plotTrajectoryHeatmap(trajGSM2,  pal = paletteContinuous(set = "horizonExtra"),  varCutOff = 0, rowOrder = rowOrder)

然后熬甚,我們將為主題軌跡創(chuàng)建熱圖防楷,再次通過rowOrder參數(shù)指定行順序

ht2 <- plotTrajectoryHeatmap(trajMM2, pal = paletteContinuous(set = "solarExtra"), varCutOff = 0, rowOrder = rowOrder)

并排繪制這兩個(gè)熱圖,我們看到在兩個(gè)熱圖之間行是匹配的则涯。您可能會(huì)注意到复局,該分析同時(shí)捕獲了GATA3和GATA3-AS1(GATA3的反義轉(zhuǎn)錄本)。這是由于如何執(zhí)行功能匹配粟判,并且反義轉(zhuǎn)錄本條目可以在后期處理中手動(dòng)刪除亿昏,也可以根據(jù)需要通過編程方式刪除。

ht1 + ht2


我們可以重復(fù)相同的確切過程档礁,但是使用來自GeneIntegrationMatrix而不是基因得分的基因表達(dá)角钩。因?yàn)檫@是相同的分析工作流程,所以我們不會(huì)在每個(gè)步驟上重復(fù)說明呻澜。

corGIM_MM <- correlateTrajectories(trajGIM, trajMM)
corGIM_MM[[1]]
trajGIM2 <- trajGIM[corGIM_MM[[1]]$name1, ]
trajMM2 <- trajMM[corGIM_MM[[1]]$name2, ]

trajCombined <- trajGIM2
assay(trajCombined) <- t(apply(assay(trajGIM2), 1, scale)) + t(apply(assay(trajMM2), 1, scale))

combinedMat <- plotTrajectoryHeatmap(trajCombined, returnMat = TRUE, varCutOff = 0)
rowOrder <- match(rownames(combinedMat), rownames(trajGIM2))
ht1 <- plotTrajectoryHeatmap(trajGIM2,  pal = paletteContinuous(set = "blueYellow"),  varCutOff = 0, rowOrder = rowOrder)
ht2 <- plotTrajectoryHeatmap(trajMM2, pal = paletteContinuous(set = "solarExtra"), varCutOff = 0, rowOrder = rowOrder)
ht1 + ht2
16.2淋巴彈道-B細(xì)胞凋亡

作為軌跡的第二個(gè)例子递礼,我們將從祖細(xì)胞到常見的淋巴樣祖細(xì)胞和前B細(xì)胞一直到完全分化的B細(xì)胞,來創(chuàng)建B細(xì)胞軌跡羹幸。因?yàn)閺纳弦还?jié)中的單核細(xì)胞軌跡開始基本上重復(fù)了此分析脊髓,所以我們不提供代碼片段的解釋。如果您想學(xué)習(xí)如何執(zhí)行軌跡分析栅受,請查看本章中的單核細(xì)胞軌跡部分将硝。

p1 <- plotEmbedding(ArchRProj = projHeme5, colorBy = "cellColData", name = "Clusters", embedding = "UMAP")
p2 <- plotEmbedding(ArchRProj = projHeme5, colorBy = "cellColData", name = "Clusters2", embedding = "UMAP")
ggAlignPlots(p1, p2, type = "h")

16.2.1偽時(shí)UMAP和單個(gè)特征圖

trajectory <- c("Progenitor", "CLP", "PreB", "B")
trajectory
projHeme5 <- addTrajectory(
    ArchRProj = projHeme5, 
    name = "LymphoidU", 
    groupBy = "Clusters2",
    trajectory = trajectory, 
    embedding = "UMAP", 
    force = TRUE
)

head(projHeme5LymphoidU[!is.na(projHeme5LymphoidU)]) #NA means not in trajectory

p <- plotTrajectory(projHeme5, trajectory = "LymphoidU", colorBy = "cellColData", name = "LymphoidU")
p[[1]]

要保存此圖的可編輯矢量化版本,請使用plotPDF()屏镊。

plotPDF(p, name = "Plot-LymphoidU-Traj-UMAP.pdf", ArchRProj = projHeme5, addDOC = FALSE, width = 5, height = 5)
p1 <- plotTrajectory(projHeme5, trajectory = "LymphoidU", colorBy = "GeneScoreMatrix", name = "PAX5", continuousSet = "horizonExtra")
p2 <- plotTrajectory(projHeme5, trajectory = "LymphoidU", colorBy = "GeneIntegrationMatrix", name = "PAX5", continuousSet = "blueYellow")
ggAlignPlots(p1[[1]], p2[[1]], type = "h")
ggAlignPlots(p1[[2]], p2[[2]], type = "h")
16.2.2偽時(shí)間熱圖
trajMM  <- getTrajectory(ArchRProj = projHeme5, name = "LymphoidU", useMatrix = "MotifMatrix", log2Norm = FALSE)
p1 <- plotTrajectoryHeatmap(trajMM, pal = paletteContinuous(set = "solarExtra"))
trajGSM <- getTrajectory(ArchRProj = projHeme5, name = "LymphoidU", useMatrix = "GeneScoreMatrix", log2Norm = TRUE)

p2 <- plotTrajectoryHeatmap(trajGSM,  pal = paletteContinuous(set = "horizonExtra"))

trajGIM <- getTrajectory(ArchRProj = projHeme5, name = "LymphoidU", useMatrix = "GeneIntegrationMatrix", log2Norm = FALSE)
p3 <- plotTrajectoryHeatmap(trajGIM,  pal = paletteContinuous(set = "blueYellow"))

p4 <- plotTrajectoryHeatmap(trajPM, pal = paletteContinuous(set = "solarExtra"))


要保存此圖的可編輯矢量化版本依疼,請使用plotPDF()

plotPDF(p1, p2, p3, p4, name = "Plot-LymphoidU-Traj-Heatmaps.pdf", ArchRProj = projHeme5, addDOC = FALSE, width = 6, height = 8)
16.2.3綜合偽時(shí)間分析
corGSM_MM <- correlateTrajectories(trajGSM, trajMM)
corGSM_MM[[1]]$matchname1
corGSM_MM[[1]]
trajGSM2 <- trajGSM[corGSM_MM[[1]]$name1, ]
trajMM2 <- trajMM[corGSM_MM[[1]]$name2, ]

trajCombined <- trajGSM2
assay(trajCombined) <- t(apply(assay(trajGSM2), 1, scale)) + t(apply(assay(trajMM2), 1, scale))

combinedMat <- plotTrajectoryHeatmap(trajCombined, returnMat = TRUE, varCutOff = 0)
rowOrder <- match(rownames(combinedMat), rownames(trajGSM2))

ht1 <- plotTrajectoryHeatmap(trajGSM2,  pal = paletteContinuous(set = "horizonExtra"),  varCutOff = 0, rowOrder = rowOrder)
ht2 <- plotTrajectoryHeatmap(trajMM2,  pal = paletteContinuous(set = "solarExtra"), varCutOff = 0, rowOrder = rowOrder)
ht1 + ht2
corGIM_MM <- correlateTrajectories(trajGIM, trajMM)
corGIM_MM[[1]]$matchname1
corGIM_MM[[1]]

trajGIM2 <- trajGIM[corGIM_MM[[1]]$name1, ]
trajMM2 <- trajMM[corGIM_MM[[1]]$name2, ]

trajCombined <- trajGIM2
assay(trajCombined) <- t(apply(assay(trajGIM2), 1, scale)) + t(apply(assay(trajMM2), 1, scale))

combinedMat <- plotTrajectoryHeatmap(trajCombined, returnMat = TRUE, varCutOff = 0)
rowOrder <- match(rownames(combinedMat), rownames(trajGIM2))

ht1 <- plotTrajectoryHeatmap(trajGIM2,  pal = paletteContinuous(set = "blueYellow"),  varCutOff = 0, rowOrder = rowOrder)
ht2 <- plotTrajectoryHeatmap(trajMM2, pal = paletteContinuous(set = "solarExtra"), varCutOff = 0, rowOrder = rowOrder)
ht1 + ht2
參考材料:

https://www.archrproject.com/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末而芥,一起剝皮案震驚了整個(gè)濱河市律罢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌棍丐,老刑警劉巖误辑,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沧踏,死亡現(xiàn)場離奇詭異,居然都是意外死亡稀余,警方通過查閱死者的電腦和手機(jī)悦冀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來睛琳,“玉大人盒蟆,你說我怎么就攤上這事∈ζ” “怎么了历等?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辟癌。 經(jīng)常有香客問我寒屯,道長,這世上最難降的妖魔是什么黍少? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任寡夹,我火速辦了婚禮,結(jié)果婚禮上厂置,老公的妹妹穿的比我還像新娘菩掏。我一直安慰自己,他們只是感情好昵济,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布智绸。 她就那樣靜靜地躺著,像睡著了一般访忿。 火紅的嫁衣襯著肌膚如雪瞧栗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天海铆,我揣著相機(jī)與錄音迹恐,去河邊找鬼。 笑死游添,一個(gè)胖子當(dāng)著我的面吹牛系草,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播唆涝,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼唇辨!你這毒婦竟也來了廊酣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤赏枚,失蹤者是張志新(化名)和其女友劉穎亡驰,沒想到半個(gè)月后晓猛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凡辱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年戒职,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片透乾。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洪燥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出乳乌,到底是詐尸還是另有隱情捧韵,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布汉操,位于F島的核電站再来,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏磷瘤。R本人自食惡果不足惜芒篷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望采缚。 院中可真熱鬧针炉,春花似錦、人聲如沸仰担。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽摔蓝。三九已至赂苗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贮尉,已是汗流浹背拌滋。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猜谚,地道東北人败砂。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像魏铅,于是被迫代替她去往敵國和親昌犹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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