Example data for multiWGCNA is stored in ExperimentHub. Access it like this:
# Load expression matrix and metadata
library(ExperimentHub)
## Loading required package: BiocGenerics
## Loading required package: generics
##
## Attaching package: 'generics'
## The following objects are masked from 'package:base':
##
## as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
## setequal, union
##
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
##
## IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
##
## Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
## as.data.frame, basename, cbind, colnames, dirname, do.call,
## duplicated, eval, evalq, get, grep, grepl, is.unsorted, lapply,
## mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
## rank, rbind, rownames, sapply, saveRDS, table, tapply, unique,
## unsplit, which.max, which.min
## Loading required package: AnnotationHub
## Loading required package: BiocFileCache
## Loading required package: dbplyr
eh = ExperimentHub()
eh_query = query(eh, c("multiWGCNAdata"))
## download the autism data and metadata
autism_se = eh_query[["EH8219"]]
## see ?multiWGCNAdata and browseVignettes('multiWGCNAdata') for documentation
## loading from cache
## require("SummarizedExperiment")
Now, proceed with the multiWGCNA analysis:
# Load multiWGCNA R package
library(multiWGCNA)
## Loading required package: ggalluvial
## Loading required package: ggplot2
##
# Obtain metadata
sampleTable = colData(autism_se)
# Randomly sample 2000 genes from the expression matrix
set.seed(1)
autism_se = autism_se[sample(rownames(autism_se), 2000),]
# Check the data
assays(autism_se)[[1]][1:5, 1:5]
## GSM706412 GSM706413 GSM706414 GSM706415 GSM706416
## ILMN_1672121 11.034264 10.446682 11.473705 11.732849 11.43105
## ILMN_2151368 10.379812 9.969130 9.990030 9.542288 10.26247
## ILMN_1757569 9.426955 9.050024 9.347505 9.235251 9.38837
## ILMN_2400219 12.604047 12.886037 12.890658 12.446960 12.98925
## ILMN_2222101 12.385019 12.748229 12.418027 11.690253 13.10915
sampleTable
## DataFrame with 58 rows and 3 columns
## Sample Status Tissue
## <character> <character> <character>
## GSM706412 GSM706412 autism FC
## GSM706413 GSM706413 autism FC
## GSM706414 GSM706414 autism FC
## GSM706415 GSM706415 autism FC
## GSM706416 GSM706416 autism FC
## ... ... ... ...
## GSM706465 GSM706465 controls TC
## GSM706466 GSM706466 controls TC
## GSM706467 GSM706467 controls TC
## GSM706468 GSM706468 controls TC
## GSM706469 GSM706469 controls TC
# Set the alpha level for statistical analyses and the soft power for network construction
alphaLevel = 0.05
softPower = 10
# If your sample traits include numbers that you'd like to be considered numerical
# variables rather than categorical variables, set detectNumbers = TRUE
detectNumbers = FALSE
We now perform network construction, module eigengene calculation, module-trait correlation.
# Define our conditions for trait 1 (disease) and 2 (brain region)
conditions1 = unique(sampleTable[,2])
conditions2 = unique(sampleTable[,3])
# Construct the combined networks and all the sub-networks (autism only, controls only, FC only, and TC only)
# Same parameters as Tommasini and Fogel. BMC Bioinformatics
myNetworks = constructNetworks(autism_se, sampleTable, conditions1, conditions2,
networkType = "signed", TOMType = "unsigned",
power = softPower, minModuleSize = 100, maxBlockSize = 25000,
reassignThreshold = 0, minKMEtoStay = 0, mergeCutHeight = 0,
numericLabels = TRUE, pamRespectsDendro = FALSE,
deepSplit = 4, verbose = 3)
Carry on with the multiWGCNA analysis according to the generalWorkflow.Rmd vignette!
sessionInfo()
## R version 4.5.0 RC (2025-04-04 r88126)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.2 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.21-bioc/R/lib/libRblas.so
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.0 LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_GB LC_COLLATE=C
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: America/New_York
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] multiWGCNA_1.6.0 ggalluvial_0.12.5
## [3] ggplot2_3.5.2 SummarizedExperiment_1.38.0
## [5] Biobase_2.68.0 GenomicRanges_1.60.0
## [7] GenomeInfoDb_1.44.0 IRanges_2.42.0
## [9] S4Vectors_0.46.0 MatrixGenerics_1.20.0
## [11] matrixStats_1.5.0 multiWGCNAdata_1.6.0
## [13] ExperimentHub_2.16.0 AnnotationHub_3.16.0
## [15] BiocFileCache_2.16.0 dbplyr_2.5.0
## [17] BiocGenerics_0.54.0 generics_0.1.3
## [19] BiocStyle_2.36.0
##
## loaded via a namespace (and not attached):
## [1] DBI_1.2.3 gridExtra_2.3 rlang_1.1.6
## [4] magrittr_2.0.3 compiler_4.5.0 RSQLite_2.3.9
## [7] png_0.1-8 vctrs_0.6.5 stringr_1.5.1
## [10] pkgconfig_2.0.3 crayon_1.5.3 fastmap_1.2.0
## [13] backports_1.5.0 XVector_0.48.0 rmarkdown_2.29
## [16] tzdb_0.5.0 preprocessCore_1.70.0 UCSC.utils_1.4.0
## [19] purrr_1.0.4 bit_4.6.0 xfun_0.52
## [22] cachem_1.1.0 dcanr_1.24.0 flashClust_1.01-2
## [25] jsonlite_2.0.0 blob_1.2.4 DelayedArray_0.34.0
## [28] parallel_4.5.0 cluster_2.1.8.1 R6_2.6.1
## [31] stringi_1.8.7 bslib_0.9.0 rpart_4.1.24
## [34] jquerylib_0.1.4 Rcpp_1.0.14 bookdown_0.43
## [37] iterators_1.0.14 knitr_1.50 WGCNA_1.73
## [40] base64enc_0.1-3 readr_2.1.5 igraph_2.1.4
## [43] Matrix_1.7-3 splines_4.5.0 nnet_7.3-20
## [46] tidyselect_1.2.1 rstudioapi_0.17.1 abind_1.4-8
## [49] yaml_2.3.10 doParallel_1.0.17 codetools_0.2-20
## [52] curl_6.2.2 doRNG_1.8.6.2 lattice_0.22-7
## [55] tibble_3.2.1 withr_3.0.2 KEGGREST_1.48.0
## [58] evaluate_1.0.3 foreign_0.8-90 survival_3.8-3
## [61] Biostrings_2.76.0 pillar_1.10.2 BiocManager_1.30.25
## [64] filelock_1.0.3 rngtools_1.5.2 checkmate_2.3.2
## [67] foreach_1.5.2 hms_1.1.3 BiocVersion_3.21.1
## [70] munsell_0.5.1 scales_1.3.0 glue_1.8.0
## [73] Hmisc_5.2-3 tools_4.5.0 data.table_1.17.0
## [76] fastcluster_1.2.6 cowplot_1.1.3 grid_4.5.0
## [79] impute_1.82.0 AnnotationDbi_1.70.0 colorspace_2.1-1
## [82] patchwork_1.3.0 GenomeInfoDbData_1.2.14 htmlTable_2.4.3
## [85] Formula_1.2-5 cli_3.6.4 rappdirs_0.3.3
## [88] S4Arrays_1.8.0 dplyr_1.1.4 gtable_0.3.6
## [91] dynamicTreeCut_1.63-1 sass_0.4.10 digest_0.6.37
## [94] ggrepel_0.9.6 SparseArray_1.8.0 farver_2.1.2
## [97] htmlwidgets_1.6.4 memoise_2.0.1 htmltools_0.5.8.1
## [100] lifecycle_1.0.4 httr_1.4.7 GO.db_3.21.0
## [103] mime_0.13 bit64_4.6.0-1