ArchR官網(wǎng)教程學(xué)習(xí)筆記16(下):ArchR的軌跡推斷分析

系列回顧:
ArchR官網(wǎng)教程學(xué)習(xí)筆記1:Getting Started with ArchR
ArchR官網(wǎng)教程學(xué)習(xí)筆記2:基于ArchR推測(cè)Doublet
ArchR官網(wǎng)教程學(xué)習(xí)筆記3:創(chuàng)建ArchRProject
ArchR官網(wǎng)教程學(xué)習(xí)筆記4:ArchR的降維
ArchR官網(wǎng)教程學(xué)習(xí)筆記5:ArchR的聚類
ArchR官網(wǎng)教程學(xué)習(xí)筆記6:單細(xì)胞嵌入(Single-cell Embeddings)
ArchR官網(wǎng)教程學(xué)習(xí)筆記7:ArchR的基因評(píng)分和Marker基因
ArchR官網(wǎng)教程學(xué)習(xí)筆記8:定義與scRNA-seq一致的聚類
ArchR官網(wǎng)教程學(xué)習(xí)筆記9:ArchR的偽批量重復(fù)
ArchR官網(wǎng)教程學(xué)習(xí)筆記10:ArchR的call peak
ArchR官網(wǎng)教程學(xué)習(xí)筆記11:鑒定Marker峰
ArchR官網(wǎng)教程學(xué)習(xí)筆記12:Motif和Feature富集
ArchR官網(wǎng)教程學(xué)習(xí)筆記13:ChromVAR偏差富集
ArchR官網(wǎng)教程學(xué)習(xí)筆記14:ArchR的Footprinting分析
ArchR官網(wǎng)教程學(xué)習(xí)筆記15:ArchR的整合分析
ArchR官網(wǎng)教程學(xué)習(xí)筆記16(上):ArchR的軌跡推斷分析

這是ArchR官網(wǎng)手冊(cè)的最后一部分,后面的更多功能還在開發(fā)中。

Lymphoid Trajectory - B 細(xì)胞分化

作為軌跡分析的第二個(gè)例子,我們將創(chuàng)建一個(gè)B細(xì)胞軌跡從祖細(xì)胞,通過共同的淋巴祖細(xì)胞和前B細(xì)胞,一直到完全分化的B細(xì)胞。因?yàn)檫@種分析本質(zhì)上是重復(fù)上一節(jié)的分析過程,所以我們不提供代碼的解釋。如果你想看詳細(xì)的代碼解釋,請(qǐng)看上一節(jié)。

> 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")
(1)UMAP擬時(shí)間和獨(dú)立特征繪圖
> trajectory <- c("Progenitor", "CLP", "PreB", "B")
> trajectory
[1] "Progenitor" "CLP"        "PreB"       "B"    
> projHeme5 <- addTrajectory(
    ArchRProj = projHeme5, 
    name = "LymphoidU", 
    groupBy = "Clusters2",
    trajectory = trajectory, 
    embedding = "UMAP", 
    force = TRUE
)

> head(projHeme5$LymphoidU[!is.na(projHeme5$LymphoidU)])
[1] 80.68850 79.93283 81.94794 83.75315 82.66163 81.61209

> p <- plotTrajectory(projHeme5, trajectory = "LymphoidU", colorBy = "cellColData", name = "LymphoidU")
> p[[1]]
> 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")

(二)擬時(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"))
> trajPM  <- getTrajectory(ArchRProj = projHeme5, name = "LymphoidU", useMatrix = "PeakMatrix", log2Norm = TRUE)
> p4 <- plotTrajectoryHeatmap(trajPM, pal = paletteContinuous(set = "solarExtra"))
> plotPDF(p1, p2, p3, p4, name = "Plot-LymphoidU-Traj-Heatmaps.pdf", ArchRProj = projHeme5, addDOC = FALSE, width = 6, height = 8)

(三)整合擬時(shí)間分析

> corGSM_MM <- correlateTrajectories(trajGSM, trajMM)
> corGSM_MM[[1]]$matchname1
[1] "CREM"   "NFE2"   "IRF8"   "MAFG"   "RFX2"  
 [6] "CEBPA"  "SPIB"   "FOSL2"  "BCL11A" "FOXP1" 
[11] "GATA2"  "PAX5" 
> corGSM_MM[[1]]
DataFrame with 12 rows and 12 columns
         idx1      idx2 matchname1 matchname2         name1        name2       Correlation         VarAssay1
    <integer> <integer>    <array>    <array>   <character>  <character>         <numeric>         <numeric>
1        2503       978       CREM       CREM    chr10:CREM   z:CREM_108 0.627829044418012 0.853720759285683
2        5181       989       NFE2       NFE2    chr12:NFE2   z:NFE2_119 0.774565931839941 0.974488692869806
3        8690      1503       IRF8       IRF8    chr16:IRF8   z:IRF8_633 0.507694340303834 0.869805854628789
4       10078      1018       MAFG       MAFG chr17:MAFG-DT   z:MAFG_148 0.562466520749052 0.958922471570026
5       10649      1594       RFX2       RFX2    chr19:RFX2   z:RFX2_724  0.69789030765449 0.973494184286764
...       ...       ...        ...        ...           ...          ...               ...               ...
8       12241       975      FOSL2      FOSL2    chr2:FOSL2  z:FOSL2_105 0.825674336982991 0.992562805378994
9       12398      1064     BCL11A     BCL11A   chr2:BCL11A z:BCL11A_194 0.606153441405121  0.88640982401522
10      15543      1223      FOXP1      FOXP1    chr3:FOXP1  z:FOXP1_353 0.536888802177499 0.948890906732391
11      15802      1258      GATA2      GATA2    chr3:GATA2  z:GATA2_388 0.590335879793854 0.906559432697713
12      21499      1579       PAX5       PAX5     chr9:PAX5   z:PAX5_709 0.733196281144466 0.982920396073853
            VarAssay2            TStat                 Pval                  FDR
            <numeric>        <numeric>            <numeric>            <numeric>
1   0.885057471264368 7.98507143182915 2.72991368017422e-12 2.02758134245667e-10
2   0.989655172413793 12.1231529692724 3.28687596108806e-21 1.34268883010447e-18
3   0.975287356321839  5.8336624109903 6.99435032374487e-08 2.07795789618166e-06
4   0.936206896551724 6.73439692355051 1.12841066228852e-09 4.60955755544861e-08
5   0.923563218390805 9.64635100744245 7.08941391574889e-16 1.28712248203708e-13
...               ...              ...                  ...                  ...
8   0.997701149425287 14.4887028649413 4.19616643781117e-26 3.42826797969173e-23
9   0.974137931034483 7.54464082413095 2.34445039301945e-11 1.47339690084376e-09
10   0.87183908045977    6.29989802423 8.49671859337208e-09  2.9539655705468e-07
11  0.992528735632184 7.24025437563277  1.0192127271972e-10 5.74273653875939e-09
12  0.966091954022989 10.6736627799731 4.20029954662577e-18 1.14388157653108e-15
> 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
> plotPDF(ht1+ht2, name = "B_cell_differentiation_3.pdf", ArchRProj = projHeme5, addDOC = FALSE, width = 6, height = 4)
> corGIM_MM <- correlateTrajectories(trajGIM, trajMM)
> corGIM_MM[[1]]$matchname1
[1] "NFIA"   "GATA3"  "NFKB2"  "IRF7"   "ETS1"   "NFE2"  
 [7] "STAT2"  "FOXO1"  "FOS"    "IRF8"   "HLF"    "MBD2"  
[13] "TCF4"   "TCF3"   "NFIC"   "KLF2"   "CEBPA"  "POU2F2"
[19] "RELB"   "FOSB"   "FOSL2"  "BCL11A" "REL"    "RUNX1" 
[25] "ATF4"   "FOXP1"  "GATA2"  "HLTF"   "LEF1"   "IRF2"  
[31] "MEF2C"  "IRF1"   "EBF1"   "TFEB"   "PAX5" 
> corGIM_MM[[1]]
DataFrame with 35 rows and 12 columns
         idx1      idx2 matchname1 matchname2       name1
    <integer> <integer>    <array>    <array> <character>
1         680      1612       NFIA       NFIA   chr1:NFIA
2        1936      1254      GATA3      GATA3 chr10:GATA3
3        2428      1584      NFKB2      NFKB2 chr10:NFKB2
4        2625      1505       IRF7       IRF7  chr11:IRF7
5        3790      1202       ETS1       ETS1  chr11:ETS1
...       ...       ...        ...        ...         ...
31      14165      1510      MEF2C      MEF2C  chr5:MEF2C
32      14287      1499       IRF1       IRF1   chr5:IRF1
33      14558       937       EBF1       EBF1   chr5:EBF1
34      15164       902       TFEB       TFEB   chr6:TFEB
35      17354      1579       PAX5       PAX5   chr9:PAX5
          name2       Correlation         VarAssay1
    <character>         <numeric>         <numeric>
1    z:NFIA_742 0.849724184749172  0.87866243750336
2   z:GATA3_384  0.93659867389715 0.808988764044944
3   z:NFKB2_714 0.859622456404564 0.951723025643783
4    z:IRF7_635 0.764746603642242 0.906832965969572
5    z:ETS1_332 0.712968832845789 0.972582119240901
...         ...               ...               ...
31  z:MEF2C_640 0.596546194551142 0.990323100908553
32   z:IRF1_629 0.847449427802714 0.946131928390947
33    z:EBF1_67 0.935345985945295 0.978119455943229
34    z:TFEB_32 0.714302160261238 0.907908176979732
35   z:PAX5_709 0.749530220292627 0.978280737594753
            VarAssay2            TStat                 Pval
            <numeric>        <numeric>            <numeric>
1   0.963793103448276 15.9548594705724 5.37145525952811e-29
2   0.987931034482759 26.4604722221253 1.99903508435256e-46
3   0.894827586206897 16.6555730597593 2.44787247491045e-30
4   0.902873563218391 11.7495562928653 2.04816496580159e-20
5   0.900574712643678 10.0657079170526 8.71545807437529e-17
...               ...              ...                  ...
31  0.899425287356322 7.35816402847822 5.77863043081892e-11
32  0.982183908045977 15.8027849003002 1.05864582937014e-28
33  0.993103448275862 26.1763006397724 5.05800469190381e-46
34  0.822988505747126 10.1041046801401 7.19422460446705e-17
35  0.966091954022989 11.2089206437606 2.94623276852313e-19
                     FDR
               <numeric>
1   1.84221021123075e-27
2   2.64443784015781e-44
3   9.85534744246555e-29
4   3.87061379251485e-19
5    1.0760685569162e-15
...                  ...
31  3.87754476734661e-10
32  3.49480307537261e-27
33   5.2041248274477e-44
34  9.00250268072498e-16
35  5.05224359935633e-18
> 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
> plotPDF(ht1+ht2, name = "B_cell_differentiation_4.pdf", ArchRProj = projHeme5, addDOC = FALSE, width = 6, height = 4)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容