## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, message = TRUE, warning = FALSE, cache = FALSE, fig.align = 'center', fig.width = 5, fig.height = 4, crop = NULL ) ## ----installation, eval=FALSE------------------------------------------------- # if(!requireNamespace('BiocManager', quietly = TRUE)) # install.packages('BiocManager') # # BiocManager::install("BioNERO") ## ----load_package------------------------------------------------------------- # Load package after installation library(BioNERO) set.seed(123) # for reproducibility ## ----data_loading_soybean, message=FALSE-------------------------------------- data(zma.se) # Take a quick look at the data zma.se SummarizedExperiment::colData(zma.se) ## ----remove_na---------------------------------------------------------------- exp_filt <- replace_na(zma.se) sum(is.na(zma.se)) ## ----remove_nonexp------------------------------------------------------------ exp_filt <- remove_nonexp(exp_filt, method = "median", min_exp = 10) dim(exp_filt) ## ----filter_by_variance------------------------------------------------------- exp_filt <- filter_by_variance(exp_filt, n = 2000) dim(exp_filt) ## ----ZKfiltering-------------------------------------------------------------- exp_filt <- ZKfiltering(exp_filt, cor_method = "pearson") dim(exp_filt) ## ----PC_correction------------------------------------------------------------ exp_filt <- PC_correction(exp_filt) ## ----exp_preprocess----------------------------------------------------------- final_exp <- exp_preprocess( zma.se, min_exp = 10, variance_filter = TRUE, n = 2000 ) identical(dim(exp_filt), dim(final_exp)) # Take a look at the final data final_exp ## ----include=FALSE------------------------------------------------------------ # This object is no longer necessary rm(exp_filt) ## ----plot_heatmap, fig.width=6, fig.height=4, message=FALSE------------------- # Heatmap of sample correlations p <- plot_heatmap(final_exp, type = "samplecor", show_rownames = FALSE) p # Heatmap of gene expression (here, only the first 50 genes) p <- plot_heatmap( final_exp[1:50, ], type = "expr", show_rownames = FALSE, show_colnames = FALSE ) p ## ----pcaplot, fig.small=TRUE-------------------------------------------------- plot_PCA(final_exp) ## ----sft_fit------------------------------------------------------------------ sft <- SFT_fit(final_exp, net_type = "signed hybrid", cor_method = "pearson") sft$power power <- sft$power ## ----plot_sft, fig.width=8---------------------------------------------------- sft$plot ## ----exp2net------------------------------------------------------------------ net <- exp2gcn( final_exp, net_type = "signed hybrid", SFTpower = power, cor_method = "pearson" ) names(net) ## ----dendro------------------------------------------------------------------- # Dendro and colors plot_dendro_and_colors(net) ## ----eigengene_net, fig.height=4, fig.width=6--------------------------------- # Eigengene networks plot_eigengene_network(net) ## ----genes_per_module, fig.wide=TRUE------------------------------------------ plot_ngenes_per_module(net) ## ----module_stability--------------------------------------------------------- module_stability(final_exp, net, nRuns = 5) ## ----moddtraitcor------------------------------------------------------------- MEtrait <- module_trait_cor(exp = final_exp, MEs = net$MEs) head(MEtrait) ## ----plot-module-trait-cor, fig.width = 5, fig.height = 5--------------------- plot_module_trait_cor(MEtrait) ## ----exp_profile, fig.width=5, fig.height=3----------------------------------- plot_expression_profile( exp = final_exp, net = net, plot_module = TRUE, modulename = "yellow" ) ## ----module_enrichment-------------------------------------------------------- # Enrichment analysis for conserved protein domains (Interpro) data(zma.interpro) interpro_enrichment <- module_enrichment( net = net, background_genes = rownames(final_exp), annotation = zma.interpro ) # Print results without geneIDs for better visualization interpro_enrichment[, -6] ## ----------------------------------------------------------------------------- hubs <- get_hubs_gcn(final_exp, net) head(hubs) ## ----------------------------------------------------------------------------- edges <- get_edge_list(net, module="midnightblue") head(edges) ## ----filter_edges, fig.small=TRUE--------------------------------------------- # Remove edges based on optimal scale-free topology fit edges_filtered <- get_edge_list(net, module = "midnightblue", filter = TRUE) dim(edges_filtered) # Remove edges based on p-value edges_filtered <- get_edge_list( net, module = "midnightblue", filter = TRUE, method = "pvalue", nSamples = ncol(final_exp) ) dim(edges_filtered) # Remove edges based on minimum correlation edges_filtered <- get_edge_list( net, module = "midnightblue", filter = TRUE, method = "min_cor", rcutoff = 0.7 ) dim(edges_filtered) ## ----plot_gcn, fig.width=5, fig.height=5-------------------------------------- plot_gcn( edgelist_gcn = edges_filtered, net = net, color_by = "module", hubs = hubs ) ## ----interactive_gcn---------------------------------------------------------- plot_gcn( edgelist_gcn = edges_filtered, net = net, color_by = "module", hubs = hubs, interactive = TRUE, dim_interactive = c(500, 500) ) ## ----------------------------------------------------------------------------- sessionInfo()