Introduction

The differential analysis was already conducted using the qc.Rmd script. Here we are doing downstream analysis including pathway analysis and charts.

suppressPackageStartupMessages({
  library("gplots")
  library("reshape2")
  library("WGCNA")
  library("dplyr")
  library("DESeq2")
  library("mitch")
  library("MASS")
  library("kableExtra")
  library("ggplot2")
  library("eulerr")
  library("DT")
  library("xlsx")
})

load("qc.Rds")

Functions

volcanoplot <- function(x,title) {
  tot <- nrow(x)
  sig <- subset(x,padj<0.05)
  nsig <- nrow(subset(x,padj<0.05))
  dn <- nrow(subset(x,padj<0.05 & log2FoldChange<0))
  up <- nrow(subset(x,padj<0.05 & log2FoldChange>0))
  header <- paste(title,":", tot, "genes,", nsig ,"@5% FDR,", up, "up,", dn, "dn")

  plot(x$log2FoldChange,-log10(x$pvalue),bty="n",
    cex=0.5, pch=19, xlab="log2 fold change",
    ylab="-log10 p-value", main=header)

  points(sig$log2FoldChange,-log10(sig$pvalue),
    cex=0.5, pch=19, col="red")
}

smearplot <- function(x,title) {
  tot <- nrow(x)
  sig <- subset(x,padj<0.05)
  nsig <- nrow(subset(x,padj<0.05))
  dn <- nrow(subset(x,padj<0.05 & log2FoldChange<0))
  up <- nrow(subset(x,padj<0.05 & log2FoldChange>0))
  header <- paste(title,":", tot, "genes,", nsig ,"@5% FDR,", up, "up,", dn, "dn")

  plot(log10(x$baseMean),x$log2FoldChange,bty="n",
    cex=0.5, pch=19, xlab="log10 base mean",
    ylab="log2 fold change", main=header)

  points(log10(sig$baseMean),sig$log2FoldChange,
    cex=0.5, pch=19, col="red")
}

debar <- function(l) {
  nn <- sapply(l,function(x) {
    nup <- nrow(subset(x,padj<0.05 & log2FoldChange>0 ))
    ndn <- nrow(subset(x,padj<0.05 & log2FoldChange<0 )) *-1
    return(c(nup,ndn))
  })
  rownames(nn) <- c("up","dn")
  par(mar = c(8.1, 4.1, 4.1, 2.1))
  barplot(nn[1,],col="blue",beside = TRUE, border=TRUE,ylim=c(min(nn),max(nn)) , las=2)
  barplot(nn[2,],add=TRUE,col="red",names.arg = "", ylab="", yaxt="n")
  mtext("blue=up,red=down")
  par(mar = c(5.1, 4.1, 4.1, 2.1))
}

myeuler <- function(l) {
  ups <- lapply(l,function(x) { rownames(subset(x,padj<0.05 & log2FoldChange>0) )})
  dns <- lapply(l,function(x) { rownames(subset(x,padj<0.05 & log2FoldChange<0) )})
  names(ups) <- paste(names(ups),"up")
  names(dns) <- paste(names(dns),"dn")
  ll <- c(ups,dns)
  plot(euler(ll),quantities = TRUE)
}

writeTSV <- function(l) {
  lapply(1:length(l), function(i) {
    filename <- paste(names(l)[i],".tsv",sep="")
    write.table(x=l[[i]],file=filename,sep="\t",quote=FALSE)
  })
}

DE results

Unadjusted for clinical covariates

Unstratified, unadjusted

  • crp_t0
  • crp_eos
  • crp_pod1
  • dex_t0
  • dex_eos
  • dex_pod1
l1 <- list("crp_t0"=crp_t0, "crp_eos"=crp_eos, "crp_pod1"=crp_pod1,
  "dex_t0"=dex_t0,"dex_eos"=dex_eos,"dex_pod1"=dex_pod1 )

lapply(1:length(l1),function(i) {
  volcanoplot(x=l1[[i]], title=names(l1)[[i]])
  smearplot(x=l1[[i]], title=names(l1)[[i]])
  print( head(l1[[i]],50) |>
    kbl(caption = paste(names(l1)[[i]],"top 50 genes")) |>
    kable_paper("hover", full_width = F))
} )

## [[1]]
## 
## [[2]]
## 
## [[3]]
## 
## [[4]]
## 
## [[5]]
## 
## [[6]]
debar(l1) ; par(mar = c(5.1, 4.1, 4.1, 2.1))

myeuler(list("crp_t0"=crp_t0,"crp_eos"=crp_eos))

myeuler(list("crp_eos"=crp_eos,"crp_pod1"=crp_pod1))

myeuler(list("dex_t0"=dex_t0,"dex_eos"=dex_eos))

myeuler(list("dex_eos"=dex_eos,"dex_pod1"=dex_pod1))

myeuler(list("crp_t0"=crp_t0,"dex_t0"=dex_t0))

myeuler(list("crp_eos"=crp_eos,"dex_eos"=dex_eos))

myeuler(list("crp_pod1"=crp_pod1,"dex_pod1"=dex_pod1))

myeuler(list("crp_pod1"=crp_pod1,"dex_eos"=dex_eos))

message("crp_t0")
## crp_t0
datatable(crp_t0[1:1000,1:6])
message("crp_eos")
## crp_eos
datatable(crp_eos[1:1000,1:6])
message("crp_pod1")
## crp_pod1
datatable(crp_pod1[1:1000,1:6])
message("dex_t0")
## dex_t0
datatable(dex_t0[1:1000,1:6])
message("dex_eos")
## dex_eos
datatable(dex_eos[1:1000,1:6])
message("dex_pod1")
## dex_pod1
datatable(dex_pod1[1:1000,1:6])
intersect( rownames(subset(dex_eos,padj<0.05 & log2FoldChange>0)) , rownames(subset(crp_eos,padj<0.05 & log2FoldChange>0)) )
## [1] "ENSG00000183873.18 SCN5A"        "ENSG00000123836.15 PFKFB2"      
## [3] "ENSG00000122642.11 FKBP9"        "ENSG00000198929.13 NOS1AP"      
## [5] "ENSG00000273812.3 WI2-87327B8.2" "ENSG00000079156.17 OSBPL6"      
## [7] "ENSG00000064270.13 ATP2C2"       "ENSG00000251139.2 RP11-701P16.2"
intersect( rownames(subset(dex_eos,padj<0.05 & log2FoldChange<0)) , rownames(subset(crp_eos,padj<0.05 & log2FoldChange<0)) )
## character(0)
intersect( rownames(subset(dex_eos,padj<0.05 & log2FoldChange>0)) , rownames(subset(crp_eos,padj<0.05 & log2FoldChange<0)) )
##  [1] "ENSG00000141744.4 PNMT"           "ENSG00000135678.12 CPM"          
##  [3] "ENSG00000155659.15 VSIG4"         "ENSG00000166979.13 EVA1C"        
##  [5] "ENSG00000197892.13 KIF13B"        "ENSG00000105255.11 FSD1"         
##  [7] "ENSG00000158485.11 CD1B"          "ENSG00000129596.5 CDO1"          
##  [9] "ENSG00000238121.6 LINC00426"      "ENSG00000196542.8 SPTSSB"        
## [11] "ENSG00000137831.15 UACA"          "ENSG00000156804.7 FBXO32"        
## [13] "ENSG00000185418.16 TARS3"         "ENSG00000179859.10 RNF227"       
## [15] "ENSG00000170873.19 MTSS1"         "ENSG00000185432.12 METTL7A"      
## [17] "ENSG00000171657.6 GPR82"          "ENSG00000279841.1 RP11-274A11.4" 
## [19] "ENSG00000105246.6 EBI3"           "ENSG00000088726.16 TMEM40"       
## [21] "ENSG00000286633.1 RP11-367G6.4"   "ENSG00000211946.3 IGHV3-20"      
## [23] "ENSG00000108091.11 CCDC6"         "ENSG00000111186.13 WNT5B"        
## [25] "ENSG00000238062.6 SPATA3-AS1"     "ENSG00000105717.14 PBX4"         
## [27] "ENSG00000134853.12 PDGFRA"        "ENSG00000214922.9 HLA-F-AS1"     
## [29] "ENSG00000240497.3 RP11-185E8.1"   "ENSG00000136944.19 LMX1B"        
## [31] "ENSG00000169313.10 P2RY12"        "ENSG00000253305.2 PCDHGB6"       
## [33] "ENSG00000225936.1 RP11-501J20.5"  "ENSG00000151789.12 ZNF385D"      
## [35] "ENSG00000278828.1 H3C10"          "ENSG00000232125.5 DYTN"          
## [37] "ENSG00000204624.8 DISP3"          "ENSG00000101856.10 PGRMC1"       
## [39] "ENSG00000123739.11 PLA2G12A"      "ENSG00000130340.17 SNX9"         
## [41] "ENSG00000277435.1 RP11-1180F24.1" "ENSG00000205531.13 NAP1L4"       
## [43] "ENSG00000158488.16 CD1E"          "ENSG00000119684.16 MLH3"         
## [45] "ENSG00000211459.2 MT-RNR1"        "ENSG00000266401.2 RP11-874J12.4" 
## [47] "ENSG00000153347.10 FAM81B"        "ENSG00000143595.13 AQP10"        
## [49] "ENSG00000267279.2 RP11-879F14.2"  "ENSG00000204323.5 SMIM5"         
## [51] "ENSG00000210082.2 MT-RNR2"        "ENSG00000050393.11 MCUR1"        
## [53] "ENSG00000237973.1 MTCO1P12"       "ENSG00000211933.2 IGHV6-1"       
## [55] "ENSG00000243290.3 IGKV1-12"       "ENSG00000277075.2 H2AC8"         
## [57] "ENSG00000211675.2 IGLC1"          "ENSG00000267364.2 RP11-47L3.1"   
## [59] "ENSG00000283907.1 LLNLF-96A1.1"   "ENSG00000272979.1 RP11-647K16.1" 
## [61] "ENSG00000228474.6 OST4"           "ENSG00000166681.14 BEX3"         
## [63] "ENSG00000171793.16 CTPS1"         "ENSG00000279970.1 RP11-299G20.5" 
## [65] "ENSG00000211651.3 IGLV1-44"       "ENSG00000211890.4 IGHA2"         
## [67] "ENSG00000148908.15 RGS10"         "ENSG00000176903.5 PNMA1"         
## [69] "ENSG00000280614.1 CH507-513H4.4"  "ENSG00000280800.1 CH507-513H4.6" 
## [71] "ENSG00000281181.1 CH507-513H4.3"  "ENSG00000211644.3 IGLV1-51"
intersect( rownames(subset(dex_eos,padj<0.05 & log2FoldChange<0)) , rownames(subset(crp_eos,padj<0.05 & log2FoldChange>0)) )
##  [1] "ENSG00000054965.11 FAM168A"      "ENSG00000133805.15 AMPD3"       
##  [3] "ENSG00000089057.15 SLC23A2"      "ENSG00000111642.16 CHD4"        
##  [5] "ENSG00000159110.21 IFNAR2"       "ENSG00000285103.2 RP11-27J8.3"  
##  [7] "ENSG00000095951.17 HIVEP1"       "ENSG00000272839.1 RP11-452C13.1"
##  [9] "ENSG00000135407.10 AVIL"         "ENSG00000136960.13 ENPP2"       
## [11] "ENSG00000119408.17 NEK6"         "ENSG00000167604.15 NFKBID"      
## [13] "ENSG00000277443.3 MARCKS"        "ENSG00000143318.13 CASQ1"       
## [15] "ENSG00000143067.5 ZNF697"        "ENSG00000185650.10 ZFP36L1"     
## [17] "ENSG00000283155.1 AC011380.9"    "ENSG00000171608.16 PIK3CD"      
## [19] "ENSG00000120889.13 TNFRSF10B"    "ENSG00000143437.21 ARNT"        
## [21] "ENSG00000186350.12 RXRA"         "ENSG00000166401.15 SERPINB8"    
## [23] "ENSG00000122547.11 EEPD1"        "ENSG00000033627.17 ATP6V0A1"    
## [25] "ENSG00000160712.13 IL6R"         "ENSG00000109320.13 NFKB1"       
## [27] "ENSG00000178996.14 SNX18"        "ENSG00000167208.15 SNX20"       
## [29] "ENSG00000163823.4 CCR1"          "ENSG00000132681.17 ATP1A4"      
## [31] "ENSG00000058866.15 DGKG"         "ENSG00000160584.17 SIK3"        
## [33] "ENSG00000136689.19 IL1RN"        "ENSG00000249835.2 VCAN-AS1"     
## [35] "ENSG00000197632.9 SERPINB2"      "ENSG00000140749.9 IGSF6"        
## [37] "ENSG00000116711.10 PLA2G4A"      "ENSG00000204131.9 NHSL2"        
## [39] "ENSG00000165458.14 INPPL1"       "ENSG00000223177.1 RNA5SP39"     
## [41] "ENSG00000127954.13 STEAP4"       "ENSG00000173530.6 TNFRSF10D"    
## [43] "ENSG00000139083.11 ETV6"
intersect( rownames(subset(dex_pod1,padj<0.05 & log2FoldChange>0)) , rownames(subset(crp_pod1,padj<0.05 & log2FoldChange>0)) )
## character(0)
intersect( rownames(subset(dex_pod1,padj<0.05 & log2FoldChange<0)) , rownames(subset(crp_pod1,padj<0.05 & log2FoldChange<0)) )
## character(0)
intersect( rownames(subset(dex_pod1,padj<0.05 & log2FoldChange>0)) , rownames(subset(crp_pod1,padj<0.05 & log2FoldChange<0)) )
##  [1] "ENSG00000115414.21 FN1"        "ENSG00000163050.18 COQ8A"     
##  [3] "ENSG00000049089.15 COL9A2"     "ENSG00000165457.14 FOLR2"     
##  [5] "ENSG00000158485.11 CD1B"       "ENSG00000214063.11 TSPAN4"    
##  [7] "ENSG00000165092.13 ALDH1A1"    "ENSG00000091592.16 NLRP1"     
##  [9] "ENSG00000181885.18 CLDN7"      "ENSG00000158488.16 CD1E"      
## [11] "ENSG00000055957.11 ITIH1"      "ENSG00000187166.1 H1-7"       
## [13] "ENSG00000175262.14 C1orf127"   "ENSG00000074660.16 SCARF1"    
## [15] "ENSG00000170275.15 CRTAP"      "ENSG00000237225.2 OR13K1P"    
## [17] "ENSG00000215067.10 ALOX12-AS1" "ENSG00000259431.6 THTPA"      
## [19] "ENSG00000168906.13 MAT2A"      "ENSG00000237973.1 MTCO1P12"   
## [21] "ENSG00000055955.17 ITIH4"      "ENSG00000010318.21 PHF7"
intersect( rownames(subset(dex_pod1,padj<0.05 & log2FoldChange<0)) , rownames(subset(crp_pod1,padj<0.05 & log2FoldChange>0)) )
##  [1] "ENSG00000179348.12 GATA2"       "ENSG00000105855.10 ITGB8"      
##  [3] "ENSG00000136960.13 ENPP2"       "ENSG00000244300.3 GATA2-AS1"   
##  [5] "ENSG00000211891.6 IGHE"         "ENSG00000263006.6 ROCK1P1"     
##  [7] "ENSG00000258227.7 CLEC5A"       "ENSG00000089685.15 BIRC5"      
##  [9] "ENSG00000135218.19 CD36"        "ENSG00000099139.14 PCSK5"      
## [11] "ENSG00000169994.19 MYO7B"       "ENSG00000145287.11 PLAC8"      
## [13] "ENSG00000050628.20 PTGER3"      "ENSG00000117724.13 CENPF"      
## [15] "ENSG00000257017.9 HP"           "ENSG00000152766.6 ANKRD22"     
## [17] "ENSG00000172594.13 SMPDL3A"     "ENSG00000164741.15 DLC1"       
## [19] "ENSG00000198018.7 ENTPD7"       "ENSG00000138180.16 CEP55"      
## [21] "ENSG00000287367.1 CTD-2591A1.2" "ENSG00000148773.14 MKI67"      
## [23] "ENSG00000007968.7 E2F2"         "ENSG00000168306.13 ACOX2"      
## [25] "ENSG00000196878.15 LAMB3"       "ENSG00000111880.16 RNGTT"      
## [27] "ENSG00000147570.10 DNAJC5B"     "ENSG00000242550.6 SERPINB10"   
## [29] "ENSG00000133101.10 CCNA1"       "ENSG00000074181.9 NOTCH3"      
## [31] "ENSG00000136231.14 IGF2BP3"     "ENSG00000101425.14 BPI"
intersect( rownames(subset(dex_eos,padj<0.05 & log2FoldChange>0)) , rownames(subset(crp_pod1,padj<0.05 & log2FoldChange>0)) )
##   [1] "ENSG00000079215.15 SLC1A3"        "ENSG00000101187.16 SLCO4A1"      
##   [3] "ENSG00000174705.13 SH3PXD2B"      "ENSG00000185338.7 SOCS1"         
##   [5] "ENSG00000169860.7 P2RY1"          "ENSG00000096060.15 FKBP5"        
##   [7] "ENSG00000198363.18 ASPH"          "ENSG00000106070.20 GRB10"        
##   [9] "ENSG00000179241.13 LDLRAD3"       "ENSG00000164120.14 HPGD"         
##  [11] "ENSG00000170776.22 AKAP13"        "ENSG00000064393.16 HIPK2"        
##  [13] "ENSG00000103257.9 SLC7A5"         "ENSG00000134198.10 TSPAN2"       
##  [15] "ENSG00000169826.8 CSGALNACT2"     "ENSG00000258867.6 LINC01146"     
##  [17] "ENSG00000108219.15 TSPAN14"       "ENSG00000105352.10 CEACAM4"      
##  [19] "ENSG00000115590.14 IL1R2"         "ENSG00000287458.1 RP3-340B19.7"  
##  [21] "ENSG00000183696.14 UPP1"          "ENSG00000129673.10 AANAT"        
##  [23] "ENSG00000143119.14 CD53"          "ENSG00000224721.1 AC007182.6"    
##  [25] "ENSG00000133101.10 CCNA1"         "ENSG00000107968.10 MAP3K8"       
##  [27] "ENSG00000233608.4 TWIST2"         "ENSG00000042062.13 RIPOR3"       
##  [29] "ENSG00000141298.19 SSH2"          "ENSG00000062598.18 ELMO2"        
##  [31] "ENSG00000102755.12 FLT1"          "ENSG00000227268.5 KLLN"          
##  [33] "ENSG00000196396.10 PTPN1"         "ENSG00000134668.12 SPOCD1"       
##  [35] "ENSG00000155926.14 SLA"           "ENSG00000229647.2 MYOSLID"       
##  [37] "ENSG00000287736.1 PTCSC1"         "ENSG00000115604.12 IL18R1"       
##  [39] "ENSG00000108582.12 CPD"           "ENSG00000101447.15 FAM83D"       
##  [41] "ENSG00000107566.14 ERLIN1"        "ENSG00000163734.4 CXCL3"         
##  [43] "ENSG00000196083.10 IL1RAP"        "ENSG00000253214.2 RP11-1149M10.2"
##  [45] "ENSG00000275302.2 CCL4"           "ENSG00000064999.15 ANKS1A"       
##  [47] "ENSG00000085741.13 WNT11"         "ENSG00000132170.24 PPARG"        
##  [49] "ENSG00000067900.8 ROCK1"          "ENSG00000148175.13 STOM"         
##  [51] "ENSG00000155307.19 SAMSN1"        "ENSG00000135048.14 CEMIP2"       
##  [53] "ENSG00000140859.16 KIFC3"         "ENSG00000145703.16 IQGAP2"       
##  [55] "ENSG00000277632.2 CCL3"           "ENSG00000121964.15 GTDC1"        
##  [57] "ENSG00000236525.1 AC007278.2"     "ENSG00000118263.15 KLF7"         
##  [59] "ENSG00000123983.15 ACSL3"         "ENSG00000120885.22 CLU"          
##  [61] "ENSG00000158352.17 SHROOM4"       "ENSG00000184005.11 ST6GALNAC3"   
##  [63] "ENSG00000067064.12 IDI1"          "ENSG00000283036.3 LINC01988"     
##  [65] "ENSG00000116991.11 SIPA1L2"       "ENSG00000112576.13 CCND3"        
##  [67] "ENSG00000153071.15 DAB2"          "ENSG00000123836.15 PFKFB2"       
##  [69] "ENSG00000154359.13 LONRF1"        "ENSG00000249867.6 LINC02742"     
##  [71] "ENSG00000263370.1 RP11-68I3.5"    "ENSG00000120899.18 PTK2B"        
##  [73] "ENSG00000111885.7 MAN1A1"         "ENSG00000232043.1 RP4-530I15.9"  
##  [75] "ENSG00000170017.12 ALCAM"         "ENSG00000076641.4 PAG1"          
##  [77] "ENSG00000100906.11 NFKBIA"        "ENSG00000186591.13 UBE2H"        
##  [79] "ENSG00000111913.20 RIPOR2"        "ENSG00000146376.11 ARHGAP18"     
##  [81] "ENSG00000136158.12 SPRY2"         "ENSG00000107338.10 SHB"          
##  [83] "ENSG00000138316.11 ADAMTS14"      "ENSG00000157064.11 NMNAT2"       
##  [85] "ENSG00000163659.13 TIPARP"        "ENSG00000167634.12 NLRP7"        
##  [87] "ENSG00000003402.20 CFLAR"         "ENSG00000118503.15 TNFAIP3"      
##  [89] "ENSG00000162407.9 PLPP3"          "ENSG00000166265.13 CYYR1"        
##  [91] "ENSG00000164104.12 HMGB2"         "ENSG00000185022.12 MAFF"         
##  [93] "ENSG00000233559.2 LINC00513"      "ENSG00000116016.14 EPAS1"        
##  [95] "ENSG00000100731.16 PCNX1"         "ENSG00000198929.13 NOS1AP"       
##  [97] "ENSG00000248975.2 CTD-2251F13.1"  "ENSG00000235192.1 AC009495.2"    
##  [99] "ENSG00000118520.15 ARG1"          "ENSG00000068024.17 HDAC4"        
## [101] "ENSG00000224177.8 LINC00570"      "ENSG00000188305.6 PEAK3"         
## [103] "ENSG00000067066.17 SP100"         "ENSG00000152766.6 ANKRD22"       
## [105] "ENSG00000286236.1 LLNLR-470E3.2"  "ENSG00000157557.13 ETS2"         
## [107] "ENSG00000151014.6 NOCT"           "ENSG00000163602.11 RYBP"         
## [109] "ENSG00000137393.10 RNF144B"       "ENSG00000126803.10 HSPA2"        
## [111] "ENSG00000140563.15 MCTP2"         "ENSG00000273812.3 WI2-87327B8.2" 
## [113] "ENSG00000287134.1 RP11-183J19.1"  "ENSG00000173744.18 AGFG1"        
## [115] "ENSG00000164741.15 DLC1"          "ENSG00000064270.13 ATP2C2"       
## [117] "ENSG00000164796.18 CSMD3"         "ENSG00000182118.8 FAM89A"        
## [119] "ENSG00000128294.16 TPST2"         "ENSG00000113448.19 PDE4D"        
## [121] "ENSG00000237788.1 RP5-1041C10.3"  "ENSG00000073737.17 DHRS9"        
## [123] "ENSG00000184385.2 UMODL1-AS1"     "ENSG00000115425.14 PECR"         
## [125] "ENSG00000150347.17 ARID5B"        "ENSG00000182541.18 LIMK2"        
## [127] "ENSG00000204634.13 TBC1D8"        "ENSG00000251139.2 RP11-701P16.2" 
## [129] "ENSG00000249138.1 SLED1"          "ENSG00000106789.13 CORO2A"       
## [131] "ENSG00000261342.1 AC006538.1"     "ENSG00000178342.4 KCNG2"         
## [133] "ENSG00000170340.11 B3GNT2"        "ENSG00000136634.7 IL10"          
## [135] "ENSG00000151694.14 ADAM17"        "ENSG00000044574.9 HSPA5"
intersect( rownames(subset(dex_eos,padj<0.05 & log2FoldChange<0)) , rownames(subset(crp_pod1,padj<0.05 & log2FoldChange<0)) )
##   [1] "ENSG00000168389.18 MFSD2A"        "ENSG00000130558.20 OLFM1"        
##   [3] "ENSG00000242574.9 HLA-DMB"        "ENSG00000196664.5 TLR7"          
##   [5] "ENSG00000168913.7 ENHO"           "ENSG00000151117.9 TMEM86A"       
##   [7] "ENSG00000175262.14 C1orf127"      "ENSG00000154736.6 ADAMTS5"       
##   [9] "ENSG00000128284.19 APOL3"         "ENSG00000114013.16 CD86"         
##  [11] "ENSG00000204257.15 HLA-DMA"       "ENSG00000118257.17 NRP2"         
##  [13] "ENSG00000010610.10 CD4"           "ENSG00000153823.19 PID1"         
##  [15] "ENSG00000179583.20 CIITA"         "ENSG00000116990.11 MYCL"         
##  [17] "ENSG00000162734.13 PEA15"         "ENSG00000111452.13 ADGRD1"       
##  [19] "ENSG00000184221.13 OLIG1"         "ENSG00000157445.15 CACNA2D3"     
##  [21] "ENSG00000166866.13 MYO1A"         "ENSG00000165795.24 NDRG2"        
##  [23] "ENSG00000106123.12 EPHB6"         "ENSG00000055957.11 ITIH1"        
##  [25] "ENSG00000132846.6 ZBED3"          "ENSG00000174370.11 C11orf45"     
##  [27] "ENSG00000213694.6 S1PR3"          "ENSG00000160013.9 PTGIR"         
##  [29] "ENSG00000020577.14 SAMD4A"        "ENSG00000181908.5 LINC02724"     
##  [31] "ENSG00000100095.19 SEZ6L"         "ENSG00000141510.18 TP53"         
##  [33] "ENSG00000204219.11 TCEA3"         "ENSG00000165457.14 FOLR2"        
##  [35] "ENSG00000231389.7 HLA-DPA1"       "ENSG00000204287.14 HLA-DRA"      
##  [37] "ENSG00000271009.3 RP11-346C20.4"  "ENSG00000143819.13 EPHX1"        
##  [39] "ENSG00000183780.13 SLC35F3"       "ENSG00000197448.14 GSTK1"        
##  [41] "ENSG00000103319.12 EEF2K"         "ENSG00000043514.17 TRIT1"        
##  [43] "ENSG00000019582.16 CD74"          "ENSG00000074660.16 SCARF1"       
##  [45] "ENSG00000186318.18 BACE1"         "ENSG00000150433.10 TMEM218"      
##  [47] "ENSG00000117266.16 CDK18"         "ENSG00000169245.6 CXCL10"        
##  [49] "ENSG00000164828.18 SUN1"          "ENSG00000182287.15 AP1S2"        
##  [51] "ENSG00000092094.11 OSGEP"         "ENSG00000146409.12 SLC18B1"      
##  [53] "ENSG00000120896.14 SORBS3"        "ENSG00000004455.17 AK2"          
##  [55] "ENSG00000165092.13 ALDH1A1"       "ENSG00000139970.17 RTN1"         
##  [57] "ENSG00000130147.16 SH3BP4"        "ENSG00000147130.14 ZMYM3"        
##  [59] "ENSG00000006062.18 MAP3K14"       "ENSG00000196126.11 HLA-DRB1"     
##  [61] "ENSG00000107282.8 APBA1"          "ENSG00000105808.18 RASA4"        
##  [63] "ENSG00000270001.1 RP11-218C14.8"  "ENSG00000168026.19 TTC21A"       
##  [65] "ENSG00000196735.13 HLA-DQA1"      "ENSG00000165125.22 TRPV6"        
##  [67] "ENSG00000111269.3 CREBL2"         "ENSG00000149927.18 DOC2A"        
##  [69] "ENSG00000185361.9 TNFAIP8L1"      "ENSG00000259436.1 CTC-378H22.2"  
##  [71] "ENSG00000143390.18 RFX5"          "ENSG00000187017.17 ESPN"         
##  [73] "ENSG00000090447.12 TFAP4"         "ENSG00000110811.20 P3H3"         
##  [75] "ENSG00000175691.9 ZNF77"          "ENSG00000162139.10 NEU3"         
##  [77] "ENSG00000182749.6 PAQR7"          "ENSG00000109790.18 KLHL5"        
##  [79] "ENSG00000102678.7 FGF9"           "ENSG00000150627.16 WDR17"        
##  [81] "ENSG00000260496.3 RP11-161M6.3"   "ENSG00000059588.10 TARBP1"       
##  [83] "ENSG00000181885.18 CLDN7"         "ENSG00000186918.14 ZNF395"       
##  [85] "ENSG00000170275.15 CRTAP"         "ENSG00000091592.16 NLRP1"        
##  [87] "ENSG00000005882.12 PDK2"          "ENSG00000170667.15 RASA4B"       
##  [89] "ENSG00000167107.13 ACSF2"         "ENSG00000092200.13 RPGRIP1"      
##  [91] "ENSG00000077232.19 DNAJC10"       "ENSG00000215067.10 ALOX12-AS1"   
##  [93] "ENSG00000214783.9 POLR2J4"        "ENSG00000179057.14 IGSF22"       
##  [95] "ENSG00000140931.20 CMTM3"         "ENSG00000166619.15 BLCAP"        
##  [97] "ENSG00000011143.19 MKS1"          "ENSG00000184271.17 POU6F1"       
##  [99] "ENSG00000116455.14 WDR77"         "ENSG00000180758.12 GPR157"       
## [101] "ENSG00000243335.10 KCTD7"         "ENSG00000072210.19 ALDH3A2"      
## [103] "ENSG00000214022.12 REPIN1"        "ENSG00000151136.15 BTBD11"       
## [105] "ENSG00000270012.1 LL0XNC01-7P3.1" "ENSG00000074621.14 SLC24A1"      
## [107] "ENSG00000117480.16 FAAH"          "ENSG00000149483.12 TMEM138"
intersect( rownames(subset(dex_eos,padj<0.05 & log2FoldChange>0)) , rownames(subset(crp_pod1,padj<0.05 & log2FoldChange<0)) )
## [1] "ENSG00000158485.11 CD1B"    "ENSG00000179859.10 RNF227" 
## [3] "ENSG00000106952.8 TNFSF8"   "ENSG00000136944.19 LMX1B"  
## [5] "ENSG00000205531.13 NAP1L4"  "ENSG00000158488.16 CD1E"   
## [7] "ENSG00000237973.1 MTCO1P12" "ENSG00000049089.15 COL9A2"
intersect( rownames(subset(dex_eos,padj<0.05 & log2FoldChange<0)) , rownames(subset(crp_pod1,padj<0.05 & log2FoldChange>0)) )
##  [1] "ENSG00000198959.12 TGM2"        "ENSG00000229436.1 AC073850.6"  
##  [3] "ENSG00000225370.1 AC011515.2"   "ENSG00000139567.13 ACVRL1"     
##  [5] "ENSG00000106012.18 IQCE"        "ENSG00000135218.19 CD36"       
##  [7] "ENSG00000159110.21 IFNAR2"      "ENSG00000211891.6 IGHE"        
##  [9] "ENSG00000135407.10 AVIL"        "ENSG00000136960.13 ENPP2"      
## [11] "ENSG00000171812.13 COL8A2"      "ENSG00000100376.12 FAM118A"    
## [13] "ENSG00000135047.16 CTSL"        "ENSG00000138119.17 MYOF"       
## [15] "ENSG00000113231.14 PDE8B"       "ENSG00000111199.12 TRPV4"      
## [17] "ENSG00000174837.15 ADGRE1"      "ENSG00000178996.14 SNX18"      
## [19] "ENSG00000102524.12 TNFSF13B"    "ENSG00000026508.20 CD44"       
## [21] "ENSG00000007968.7 E2F2"         "ENSG00000287367.1 CTD-2591A1.2"
## [23] "ENSG00000136689.19 IL1RN"       "ENSG00000119321.9 FKBP15"      
## [25] "ENSG00000085276.19 MECOM"       "ENSG00000267676.1 THA1P"       
## [27] "ENSG00000189419.8 SPATA41"      "ENSG00000197632.9 SERPINB2"    
## [29] "ENSG00000054967.13 RELT"

Stratified, unadjusted

  • crp_t0_a
  • crp_t0_b
  • crp_eos_a
  • crp_eos_b
  • crp_pod1_a
  • crp_pod1_b
  • dex_crplo_t0
  • dex_crphi_t0
  • dex_crplo_eos
  • dex_crphi_eos
  • dex_crplo_pod1
  • dex_crphi_pod1
l2 <- list("crp_t0_a"=crp_t0_a, "crp_t0_b"=crp_t0_b,
  "crp_eos_a"=crp_eos_a, "crp_eos_b"=crp_eos_b,
  "crp_pod1_a"= crp_pod1_a, "crp_pod1_b"=crp_pod1_b,
  "dex_crplo_t0"=dex_crplo_t0, "dex_crphi_t0"= dex_crphi_t0,
  "dex_crplo_eos"=dex_crplo_eos, "dex_crphi_eos"=dex_crphi_eos,
  "dex_crplo_pod1"=dex_crplo_pod1, "dex_crphi_pod1"=dex_crphi_pod1)

lapply(1:length(l2),function(i) {
  volcanoplot(x=l2[[i]], title=names(l2)[[i]])
  smearplot(x=l2[[i]], title=names(l2)[[i]])
  print( head(l2[[i]],50)  |>
    kbl(caption = paste(names(l2)[[i]],"top 50 genes")) |>
    kable_paper("hover", full_width = F) )
} )

## [[1]]
## 
## [[2]]
## 
## [[3]]
## 
## [[4]]
## 
## [[5]]
## 
## [[6]]
## 
## [[7]]
## 
## [[8]]
## 
## [[9]]
## 
## [[10]]
## 
## [[11]]
## 
## [[12]]
debar(l2) ; par(mar = c(5.1, 4.1, 4.1, 2.1))

myeuler(list("crp_t0_a"=crp_t0_a, "crp_t0_b"=crp_t0_b,"dex_crplo_t0"=dex_crplo_t0, "dex_crphi_t0"= dex_crphi_t0))

myeuler(list("crp_eos_a"=crp_eos_a, "crp_eos_b"=crp_eos_b,"dex_crplo_eos"=dex_crplo_eos, "dex_crphi_eos"=dex_crphi_eos))

myeuler(list("crp_pod1_a"= crp_pod1_a, "crp_pod1_b"=crp_pod1_b,"dex_crplo_pod1"=dex_crplo_pod1, "dex_crphi_pod1"=dex_crphi_pod1))

message("crp_t0_a")
## crp_t0_a
datatable(crp_t0_a[1:1000,1:6])
message("crp_t0_b")
## crp_t0_b
datatable(crp_t0_b[1:1000,1:6])
message("crp_eos_a")
## crp_eos_a
datatable(crp_eos_a[1:1000,1:6])
message("crp_eos_b")
## crp_eos_b
datatable(crp_eos_b[1:1000,1:6])
message("crp_pod1_a")
## crp_pod1_a
datatable(crp_pod1_a[1:1000,1:6])
message("crp_pod1_b")
## crp_pod1_b
datatable(crp_pod1_b[1:1000,1:6])
message("dex_crplo_t0")
## dex_crplo_t0
datatable(dex_crplo_t0[1:1000,1:6])
message("dex_crphi_t0")
## dex_crphi_t0
datatable(dex_crphi_t0[1:1000,1:6])
message("dex_crplo_eos")
## dex_crplo_eos
datatable(dex_crplo_eos[1:1000,1:6])
message("dex_crphi_eos")
## dex_crphi_eos
datatable(dex_crphi_eos[1:1000,1:6])
message("dex_crplo_pod1")
## dex_crplo_pod1
datatable(dex_crplo_pod1[1:1000,1:6])
message("dex_crphi_pod1")
## dex_crphi_pod1
datatable(dex_crphi_pod1[1:1000,1:6])

Adjusted for clinical covariates

Unstratified, adjusted

  • crp_t0_adj
  • crp_eos_adj
  • crp_pod1_adj
  • dex_t0_adj
  • dex_eos_adj
  • dex_pod1_adj
l3 <- list("crp_t0_adj"=crp_t0_adj, "crp_eos_adj"=crp_eos_adj, "crp_pod1_adj"=crp_pod1_adj,
  "dex_t0_adj"=dex_t0_adj,"dex_eos_adj"=dex_eos_adj,"dex_pod1_adj"=dex_pod1_adj )

lapply(1:length(l3),function(i) {
  volcanoplot(x=l3[[i]], title=names(l3)[[i]])
  smearplot(x=l3[[i]], title=names(l3)[[i]])
  print( head(l1[[i]],50) |>
    kbl(caption = paste(names(l3)[[i]],"top 50 genes")) |>
    kable_paper("hover", full_width = F) )
} )

## [[1]]
## 
## [[2]]
## 
## [[3]]
## 
## [[4]]
## 
## [[5]]
## 
## [[6]]
debar(l3) ; par(mar = c(5.1, 4.1, 4.1, 2.1))

myeuler(list("crp_t0_adj"=crp_t0_adj,"dex_t0_adj"=dex_t0_adj))

myeuler(list("crp_eos_adj"=crp_eos_adj,"dex_eos_adj"=dex_eos_adj))

myeuler(list("crp_pod1_adj"=crp_pod1_adj,"dex_pod1_adj"=dex_pod1_adj))

message("crp_t0_adj")
## crp_t0_adj
datatable(crp_t0_adj[1:1000,1:6])
message("crp_eos_adj")
## crp_eos_adj
datatable(crp_eos_adj[1:1000,1:6])
message("crp_pod1_adj")
## crp_pod1_adj
datatable(crp_pod1_adj[1:1000,1:6])
message("dex_t0_adj")
## dex_t0_adj
datatable(dex_t0_adj[1:1000,1:6])
message("dex_eos_adj")
## dex_eos_adj
datatable(dex_eos_adj[1:1000,1:6])
message("dex_pod1_adj")
## dex_pod1_adj
datatable(dex_pod1_adj[1:1000,1:6])

Stratified, adjusted

  • crp_t0_a_adj
  • crp_t0_b_adj
  • crp_eos_a_adj
  • crp_eos_b_adj
  • crp_pod1_a_adj
  • crp_pod1_b_adj
  • dex_crplo_t0_adj
  • dex_crphi_t0_adj
  • dex_crplo_eos_adj
  • dex_crphi_eos_adj
  • dex_crplo_pod1_adj
  • dex_crphi_pod1_adj
l4 <- list("crp_t0_a_adj"=crp_t0_a_adj, "crp_t0_b_adj"=crp_t0_b_adj,
  "crp_eos_a_adj"=crp_eos_a_adj, "crp_eos_b_adj"=crp_eos_b_adj,
  "crp_pod1_a_adj"= crp_pod1_a_adj, "crp_pod1_b_adj"=crp_pod1_b_adj,
  "dex_crplo_t0_adj"=dex_crplo_t0_adj, "dex_crphi_t0_adj"=dex_crphi_t0_adj,
  "dex_crplo_eos_adj"=dex_crplo_eos_adj, "dex_crphi_eos_adj"=dex_crphi_eos_adj,
  "dex_crplo_pod1_adj"=dex_crplo_pod1_adj, "dex_crphi_pod1_adj"=dex_crphi_pod1_adj)

lapply(1:length(l4),function(i) {
  volcanoplot(x=l2[[i]], title=names(l2)[[i]])
  smearplot(x=l2[[i]], title=names(l2)[[i]])
  print( head(l2[[i]],50) |>
    kbl(caption = paste(names(l2)[[i]],"top 50 genes")) |>
    kable_paper("hover", full_width = F) )
} )

## [[1]]
## 
## [[2]]
## 
## [[3]]
## 
## [[4]]
## 
## [[5]]
## 
## [[6]]
## 
## [[7]]
## 
## [[8]]
## 
## [[9]]
## 
## [[10]]
## 
## [[11]]
## 
## [[12]]
debar(l4) ; par(mar = c(5.1, 4.1, 4.1, 2.1))

myeuler(list("crp_t0_a_adj"=crp_t0_a_adj, "crp_t0_b_adj"=crp_t0_b_adj,
  "dex_crplo_t0_adj"=dex_crplo_t0_adj, "dex_crphi_t0_adj"= dex_crphi_t0_adj))

myeuler(list("crp_eos_a_adj"=crp_eos_a_adj, "crp_eos_b_adj"=crp_eos_b_adj,
  "dex_crplo_eos_adj"=dex_crplo_eos_adj, "dex_crphi_eos_adj"=dex_crphi_eos_adj))

myeuler(list("crp_pod1_a_adj"= crp_pod1_a_adj, "crp_pod1_b_adj"=crp_pod1_b_adj,
  "dex_crplo_pod1_adj"=dex_crplo_pod1_adj, "dex_crphi_pod1_adj"=dex_crphi_pod1_adj))

message("crp_t0_a_adj")
## crp_t0_a_adj
datatable(crp_t0_a_adj[1:1000,1:6])
message("crp_t0_b_adj")
## crp_t0_b_adj
datatable(crp_t0_b_adj[1:1000,1:6])
message("crp_eos_a_adj")
## crp_eos_a_adj
datatable(crp_eos_a_adj[1:1000,1:6])
message("crp_eos_b_adj")
## crp_eos_b_adj
datatable(crp_eos_b_adj[1:1000,1:6])
message("crp_pod1_a_adj")
## crp_pod1_a_adj
datatable(crp_pod1_a_adj[1:1000,1:6])
message("crp_pod1_b_adj")
## crp_pod1_b_adj
datatable(crp_pod1_b_adj[1:1000,1:6])
message("dex_crplo_t0_adj")
## dex_crplo_t0_adj
datatable(dex_crplo_t0_adj[1:1000,1:6])
message("dex_crphi_t0_adj")
## dex_crphi_t0_adj
datatable(dex_crphi_t0_adj[1:1000,1:6])
message("dex_crplo_eos_adj")
## dex_crplo_eos_adj
datatable(dex_crplo_eos_adj[1:1000,1:6])
message("dex_crphi_eos_adj")
## dex_crphi_eos_adj
datatable(dex_crphi_eos_adj[1:1000,1:6])
message("dex_crplo_pod1_adj")
## dex_crplo_pod1_adj
datatable(dex_crplo_pod1_adj[1:1000,1:6])
message("dex_crphi_pod1_adj")
## dex_crphi_pod1_adj
datatable(dex_crphi_pod1_adj[1:1000,1:6])

Save data

writeTSV(l1)
## [[1]]
## NULL
## 
## [[2]]
## NULL
## 
## [[3]]
## NULL
## 
## [[4]]
## NULL
## 
## [[5]]
## NULL
## 
## [[6]]
## NULL
writeTSV(l2)
## [[1]]
## NULL
## 
## [[2]]
## NULL
## 
## [[3]]
## NULL
## 
## [[4]]
## NULL
## 
## [[5]]
## NULL
## 
## [[6]]
## NULL
## 
## [[7]]
## NULL
## 
## [[8]]
## NULL
## 
## [[9]]
## NULL
## 
## [[10]]
## NULL
## 
## [[11]]
## NULL
## 
## [[12]]
## NULL
writeTSV(l3)
## [[1]]
## NULL
## 
## [[2]]
## NULL
## 
## [[3]]
## NULL
## 
## [[4]]
## NULL
## 
## [[5]]
## NULL
## 
## [[6]]
## NULL
writeTSV(l4)
## [[1]]
## NULL
## 
## [[2]]
## NULL
## 
## [[3]]
## NULL
## 
## [[4]]
## NULL
## 
## [[5]]
## NULL
## 
## [[6]]
## NULL
## 
## [[7]]
## NULL
## 
## [[8]]
## NULL
## 
## [[9]]
## NULL
## 
## [[10]]
## NULL
## 
## [[11]]
## NULL
## 
## [[12]]
## NULL
system('sed -i "s#^baseMean#GeneID\tbaseMean#" *tsv')

Session information

For reproducibility

sessionInfo()
## R version 4.5.2 (2025-10-31)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.4 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so;  LAPACK version 3.12.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8          LC_NUMERIC=C                 
##  [3] LC_TIME=en_US.UTF-8           LC_COLLATE=en_US.UTF-8       
##  [5] LC_MONETARY=en_US.UTF-8       LC_MESSAGES=en_US.UTF-8      
##  [7] LC_PAPER=en_US.UTF-8          LC_NAME=en_US.UTF-8          
##  [9] LC_ADDRESS=en_US.UTF-8        LC_TELEPHONE=en_US.UTF-8     
## [11] LC_MEASUREMENT=en_US.UTF-8    LC_IDENTIFICATION=en_US.UTF-8
## 
## time zone: Etc/UTC
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats4    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] xlsx_0.6.5                  DT_0.34.0                  
##  [3] ggplot2_4.0.3               kableExtra_1.4.0           
##  [5] beeswarm_0.4.0              eulerr_7.1.0               
##  [7] MASS_7.3-65                 mitch_1.22.1               
##  [9] DESeq2_1.50.2               SummarizedExperiment_1.40.0
## [11] Biobase_2.70.0              MatrixGenerics_1.22.0      
## [13] matrixStats_1.5.0           GenomicRanges_1.62.1       
## [15] Seqinfo_1.0.0               IRanges_2.44.0             
## [17] S4Vectors_0.48.1            BiocGenerics_0.56.0        
## [19] generics_0.1.4              dplyr_1.2.1                
## [21] WGCNA_1.74                  fastcluster_1.3.0          
## [23] dynamicTreeCut_1.63-1       reshape2_1.4.5             
## [25] gplots_3.3.0               
## 
## loaded via a namespace (and not attached):
##  [1] bitops_1.0-9          gridExtra_2.3         echarts4r_0.5.0      
##  [4] rlang_1.2.0           magrittr_2.0.4        otel_0.2.0           
##  [7] compiler_4.5.2        polylabelr_1.0.0      systemfonts_1.3.1    
## [10] vctrs_0.7.3           stringr_1.6.0         pkgconfig_2.0.3      
## [13] fastmap_1.2.0         backports_1.5.1       XVector_0.50.0       
## [16] caTools_1.18.3        promises_1.5.0        rmarkdown_2.30       
## [19] preprocessCore_1.72.0 network_1.20.0        purrr_1.2.0          
## [22] xfun_0.54             cachem_1.1.0          jsonlite_2.0.0       
## [25] later_1.4.4           DelayedArray_0.36.1   xlsxjars_0.9.0       
## [28] BiocParallel_1.44.0   parallel_4.5.2        cluster_2.1.8.1      
## [31] R6_2.6.1              bslib_0.9.0           stringi_1.8.7        
## [34] RColorBrewer_1.1-3    GGally_2.4.0          rpart_4.1.24         
## [37] jquerylib_0.1.4       Rcpp_1.1.1-1.1        iterators_1.0.14     
## [40] knitr_1.50            base64enc_0.1-3       httpuv_1.6.16        
## [43] Matrix_1.7-4          splines_4.5.2         nnet_7.3-20          
## [46] tidyselect_1.2.1      rstudioapi_0.17.1     abind_1.4-8          
## [49] yaml_2.3.11           doParallel_1.0.17     codetools_0.2-20     
## [52] lattice_0.22-7        tibble_3.3.0          plyr_1.8.9           
## [55] withr_3.0.2           shiny_1.11.1          S7_0.2.2             
## [58] coda_0.19-4.1         evaluate_1.0.5        foreign_0.8-90       
## [61] survival_3.8-3        rJava_1.0-18          polyclip_1.10-7      
## [64] ggstats_0.13.0        xml2_1.5.1            pillar_1.11.1        
## [67] KernSmooth_2.23-26    checkmate_2.3.4       foreach_1.5.2        
## [70] scales_1.4.0          xtable_1.8-4          gtools_3.9.5         
## [73] glue_1.8.0            Hmisc_5.2-5           tools_4.5.2          
## [76] data.table_1.18.2.1   locfit_1.5-9.12       grid_4.5.2           
## [79] impute_1.84.0         tidyr_1.3.2           crosstalk_1.2.2      
## [82] colorspace_2.1-2      htmlTable_2.5.0       Formula_1.2-5        
## [85] cli_3.6.5             textshaping_1.0.4     viridisLite_0.4.3    
## [88] S4Arrays_1.10.1       svglite_2.2.2         gtable_0.3.6         
## [91] sass_0.4.10           digest_0.6.39         SparseArray_1.10.10  
## [94] htmlwidgets_1.6.4     farver_2.1.2          htmltools_0.5.8.1    
## [97] lifecycle_1.0.5       statnet.common_4.13.0 mime_0.13