Prediction of Master regulators that drive AML fitness (TCGA)

In this document, we will show how to predict master regulators that potential drive AML fitness using TCGA AML gene expression data.

Patient stratification

library("ggplot2")
library("viper")
source("/sibcb2/bioinformatics/Script/PathwayEnrichment.R")

load("/sibcb2/bioinformatics/KnowledgeBase/Firehose_Expression/Firehose_Expression_Tumor.RData")
load("/sibcb2/bioinformatics/Placenta/RData/TCGA_regulonDB.RData")
load("/sibcb2/bioinformatics/LSC/RData/Signature_Top500.RData")

pw      = list(up = Signature_Top500$sigUP_Hs, dn = Signature_Top500$sigDN_Hs)
regulon = TCGA_regulonDB[["regulonlaml"]]
Ex      = Firehose_Expression_Tumor[["LAML"]]
ref     = apply(Ex, 1, mean)
dM      = Ex - ref

zscore  = rep(NA, ncol(dM))
for(j in 1:ncol(dM)){

  temp = SimpleRankTest(dM[,j], pw)
  zscore[j] = temp[1] - temp[2]
}
names(zscore) = colnames(dM)

Enrichment = rep("others", length(zscore))
Enrichment[zscore >= quantile(zscore, 1 - 50/length(zscore))] = "high"
Enrichment[zscore <= quantile(zscore,     50/length(zscore))] = "low"
temp = data.frame(rnk = rank(zscore), zscore, Enrichment)

p <- ggplot(temp, aes(x = rnk, y = zscore, color = Enrichment, fill = Enrichment)) + geom_bar(stat="identity") + theme_bw()
p <- p + theme(plot.title = element_text(hjust = 0.5))
p <- p + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
p <- p + ylab("Enrichment z-score") + xlab("") + theme(axis.text.x=element_blank(), axis.ticks.x=element_blank())
p <- p + scale_colour_manual(values = c("red", "blue", "grey"))
print(p)

MR prediction

ExH = Ex[, names(sort(zscore, decreasing = TRUE)[1:50])]
ExL = Ex[, names(sort(zscore, decreasing = FALSE )[1:50])]

signature = rowTtest(ExH, ExL)
signature = (qnorm(signature$p.value / 2, lower.tail = FALSE) * sign(signature$statistic))[, 1]
nullmodel = ttestNull(ExH, ExL, per = 500, repos = TRUE, verbose = FALSE)
mrs     = msviper(signature, regulon, nullmodel, verbose = FALSE)
knitr::kable(data.frame(summary(mrs, 10)))
Regulon Size NES p.value FDR
HOXA7 HOXA7 153 3.43 0.000610 0.0879
CSNK1A1 CSNK1A1 64 3.40 0.000682 0.0879
PPP2CA PPP2CA 127 3.34 0.000851 0.0879
HSBP1 HSBP1 236 3.31 0.000920 0.0879
LOXL2 LOXL2 216 -3.32 0.000910 0.0879
ZNF99 ZNF99 103 -3.34 0.000850 0.0879
ZNF835 ZNF835 99 -3.39 0.000702 0.0879
ZNF229 ZNF229 69 -3.42 0.000626 0.0879
TNXB TNXB 106 -3.42 0.000621 0.0879
ZNF831 ZNF831 87 -3.47 0.000529 0.0879

sessionInfo

R version 4.1.0 (2021-05-18)
Platform: x86_64-conda-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux Server 7.6 (Maipo)

Matrix products: default
BLAS/LAPACK: /sibcb2/bioinformatics/software/Miniconda3/lib/libopenblasp-r0.3.15.so

locale:
[1] C

attached base packages:
[1] parallel  grid      stats     graphics  grDevices utils    
[7] datasets  methods   base     

other attached packages:
 [1] viper_1.26.0        survcomp_1.42.0     prodlim_2019.11.13 
 [4] gridExtra_2.3       survHD_0.99.1       survC1_1.0-3       
 [7] Hmisc_4.5-0         Formula_1.2-4       lattice_0.20-44    
[10] penalized_0.9-52    survival_3.2-11     Biobase_2.52.0     
[13] BiocGenerics_0.38.0 stringr_1.5.0       dplyr_1.1.2        
[16] scales_1.2.0        RColorBrewer_1.1-3  pheatmap_1.0.12    
[19] VennDiagram_1.6.20  futile.logger_1.4.3 ggrepel_0.9.1      
[22] ggplot2_3.4.2       rmarkdown_2.20     

loaded via a namespace (and not attached):
 [1] segmented_1.3-4      survivalROC_1.0.3    nlme_3.1-152        
 [4] tools_4.1.0          backports_1.2.1      bslib_0.2.5.1       
 [7] utf8_1.2.2           R6_2.5.1             KernSmooth_2.23-20  
[10] rpart_4.1-15         rmeta_3.0            DBI_1.1.3           
[13] mgcv_1.8-36          colorspace_2.0-3     nnet_7.3-16         
[16] withr_2.5.0          tidyselect_1.2.1     downlit_0.4.2       
[19] compiler_4.1.0       cli_3.6.1            formatR_1.11        
[22] htmlTable_2.2.1      labeling_0.4.2       bookdown_0.33       
[25] sass_0.4.0           checkmate_2.0.0      proxy_0.4-27        
[28] digest_0.6.29        mixtools_1.2.0       foreign_0.8-81      
[31] base64enc_0.1-3      jpeg_0.1-9           pkgconfig_2.0.3     
[34] htmltools_0.5.2      parallelly_1.32.0    fastmap_1.1.0       
[37] highr_0.9            htmlwidgets_1.5.4    rlang_1.1.1         
[40] rstudioapi_0.15.0    SuppDists_1.1-9.7    jquerylib_0.1.4     
[43] farver_2.1.1         generics_0.1.3       jsonlite_1.8.7      
[46] distill_1.5          magrittr_2.0.3       Matrix_1.3-4        
[49] Rcpp_1.0.9           munsell_0.5.0        fansi_1.0.3         
[52] lifecycle_1.0.3      stringi_1.7.8        yaml_2.3.5          
[55] MASS_7.3-54          listenv_0.8.0        splines_4.1.0       
[58] knitr_1.42           pillar_1.9.0         future.apply_1.9.0  
[61] codetools_0.2-18     futile.options_1.0.1 glue_1.6.2          
[64] evaluate_0.20        latticeExtra_0.6-29  lambda.r_1.2.4      
[67] data.table_1.14.2    png_0.1-7            vctrs_0.6.3         
[70] bootstrap_2019.6     gtable_0.3.0         kernlab_0.9-29      
[73] future_1.26.1        cachem_1.0.6         xfun_0.37           
[76] e1071_1.7-11         class_7.3-19         tibble_3.2.1        
[79] memoise_2.0.1        cluster_2.1.2        lava_1.6.10         
[82] globals_0.15.1