In this document, we will show how to predict master regulators that potential drive AML fitness using TCGA AML gene expression data.
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)
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 |
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