WGCNA was performed manually using WGCNA version 1.69 with default settings unless otherwise noted60. Genes with counts > 5 and detection in at least 10% of samples were included in the analysis. To best capture patterns of co-regulation, a signed network was used. Using the pickSoftThreshold function, we empirically determined a soft threshold of 7 to best fit the network structure. A minimum module size of 30 was chosen to isolate relatively large gene modules. Module eigengenes were then related back to patient and sample metadata using biweight midcorrelation. Module GO enrichment was then determined as above using Fisher’s exact test in topGO version 2.38.1, with org.Hs.eg.db version 3.10.0 as a reference. UMAP plotting was performed using uwot version 0.1.8 using the first 20 principal components of the same genes used in WGCNA analysis after Z-scaling and centering, with a minimum distance of 0.261. Default parameters were otherwise used.