{"id":2640,"date":"2025-12-21T16:43:41","date_gmt":"2025-12-21T08:43:41","guid":{"rendered":"http:\/\/www.majunpeng.com\/?p=2640"},"modified":"2025-12-21T17:01:45","modified_gmt":"2025-12-21T09:01:45","slug":"%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90","status":"publish","type":"post","link":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/","title":{"rendered":"\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2640\" class=\"elementor elementor-2640\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9c9b14e e-flex e-con-boxed e-con e-parent\" data-id=\"9c9b14e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2c715fa elementor-widget elementor-widget-heading\" data-id=\"2c715fa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">1. \u524d\u8a00<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd22e61 elementor-widget elementor-widget-text-editor\" data-id=\"dd22e61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u65e0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-14cd372 elementor-widget elementor-widget-heading\" data-id=\"14cd372\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">2. WGCNA\u5206\u6790<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8208ab8 elementor-widget elementor-widget-text-editor\" data-id=\"8208ab8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u51c6\u5907\u4e09\u4e2a\u8f93\u5165\u6587\u4ef6\uff0c\uff081\uff09\u8868\u8fbe\u91cf\u77e9\u9635\uff082\uff09\u6027\u72b6\u6570\u636e\uff083\uff09\u57fa\u56e0\u6ce8\u91ca\u4fe1\u606f\uff08\u53ef\u9009\uff09<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8d25ef2 elementor-widget elementor-widget-shortcode\" data-id=\"8d25ef2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<table id=\"tablepress-29\" class=\"tablepress tablepress-id-29\">\n<thead>\n<tr class=\"row-1 odd\">\n\t<th class=\"column-1\"><\/th><th class=\"column-2\">control1<\/th><th class=\"column-3\">control2<\/th><th class=\"column-4\">control3<\/th><th class=\"column-5\">treat1<\/th><th class=\"column-6\">treat2<\/th><th class=\"column-7\">treat3<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-hover\">\n<tr class=\"row-2 even\">\n\t<td class=\"column-1\">evm.model.scaffold_1.4<\/td><td class=\"column-2\">0<\/td><td class=\"column-3\">0.423025<\/td><td class=\"column-4\">1.333393<\/td><td class=\"column-5\">0.084236<\/td><td class=\"column-6\">0<\/td><td class=\"column-7\">0<\/td>\n<\/tr>\n<tr class=\"row-3 odd\">\n\t<td class=\"column-1\">evm.model.scaffold_1.6<\/td><td class=\"column-2\">70.603968<\/td><td class=\"column-3\">71.632693<\/td><td class=\"column-4\">71.984594<\/td><td class=\"column-5\">84.994817<\/td><td class=\"column-6\">102.021105<\/td><td class=\"column-7\">102.137433<\/td>\n<\/tr>\n<tr class=\"row-4 even\">\n\t<td class=\"column-1\">evm.model.scaffold_1.7.1.68d7552f<\/td><td class=\"column-2\">11.779294<\/td><td class=\"column-3\">17.393872<\/td><td class=\"column-4\">12.17891<\/td><td class=\"column-5\">5.424567<\/td><td class=\"column-6\">7.394926<\/td><td class=\"column-7\">4.955899<\/td>\n<\/tr>\n<tr class=\"row-5 odd\">\n\t<td class=\"column-1\">evm.model.scaffold_1.11<\/td><td class=\"column-2\">0<\/td><td class=\"column-3\">0<\/td><td class=\"column-4\">0<\/td><td class=\"column-5\">0<\/td><td class=\"column-6\">0<\/td><td class=\"column-7\">0<\/td>\n<\/tr>\n<tr class=\"row-6 even\">\n\t<td class=\"column-1\">evm.model.scaffold_1.12<\/td><td class=\"column-2\">23.808061<\/td><td class=\"column-3\">28.144729<\/td><td class=\"column-4\">18.649506<\/td><td class=\"column-5\">16.886912<\/td><td class=\"column-6\">15.417194<\/td><td class=\"column-7\">12.478677<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-29 from cache --><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6328970 elementor-widget elementor-widget-shortcode\" data-id=\"6328970\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<table id=\"tablepress-30\" class=\"tablepress tablepress-id-30\">\n<thead>\n<tr class=\"row-1 odd\">\n\t<th class=\"column-1\"><\/th><th class=\"column-2\">Stem_diameter<\/th><th class=\"column-3\">Cross_sectional_area<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-hover\">\n<tr class=\"row-2 even\">\n\t<td class=\"column-1\">control1<\/td><td class=\"column-2\">4.5<\/td><td class=\"column-3\">14.9<\/td>\n<\/tr>\n<tr class=\"row-3 odd\">\n\t<td class=\"column-1\">control2<\/td><td class=\"column-2\">3.9<\/td><td class=\"column-3\">11.6<\/td>\n<\/tr>\n<tr class=\"row-4 even\">\n\t<td class=\"column-1\">control3<\/td><td class=\"column-2\">4.3<\/td><td class=\"column-3\">14.3<\/td>\n<\/tr>\n<tr class=\"row-5 odd\">\n\t<td class=\"column-1\">treat1<\/td><td class=\"column-2\">6.1<\/td><td class=\"column-3\">28.7<\/td>\n<\/tr>\n<tr class=\"row-6 even\">\n\t<td class=\"column-1\">treat2<\/td><td class=\"column-2\">6.5<\/td><td class=\"column-3\">33.1<\/td>\n<\/tr>\n<tr class=\"row-7 odd\">\n\t<td class=\"column-1\">treat3<\/td><td class=\"column-2\">6.4<\/td><td class=\"column-3\">31.8<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-30 from cache --><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aebd713 elementor-widget elementor-widget-shortcode\" data-id=\"aebd713\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<table id=\"tablepress-31\" class=\"tablepress tablepress-id-31\">\n<thead>\n<tr class=\"row-1 odd\">\n\t<th class=\"column-1\">gene_id<\/th><th class=\"column-2\">gene_symbol<\/th><th class=\"column-3\">gene_name<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-hover\">\n<tr class=\"row-2 even\">\n\t<td class=\"column-1\">evm.model.scaffold_17.1908<\/td><td class=\"column-2\">GERD<\/td><td class=\"column-3\">GERD<\/td>\n<\/tr>\n<tr class=\"row-3 odd\">\n\t<td class=\"column-1\">evm.model.scaffold_27.5<\/td><td class=\"column-2\">truB<\/td><td class=\"column-3\">truB<\/td>\n<\/tr>\n<tr class=\"row-4 even\">\n\t<td class=\"column-1\">evm.model.scaffold_27.133<\/td><td class=\"column-2\">GSK3B<\/td><td class=\"column-3\">GSK3B<\/td>\n<\/tr>\n<tr class=\"row-5 odd\">\n\t<td class=\"column-1\">evm.model.scaffold_27.165<\/td><td class=\"column-2\">speD<\/td><td class=\"column-3\">speD<\/td>\n<\/tr>\n<tr class=\"row-6 even\">\n\t<td class=\"column-1\">evm.model.scaffold_27.198<\/td><td class=\"column-2\">E1.14.17.4<\/td><td class=\"column-3\">E1.14.17.4<\/td>\n<\/tr>\n<tr class=\"row-7 odd\">\n\t<td class=\"column-1\">evm.model.scaffold_27.230<\/td><td class=\"column-2\">ppa<\/td><td class=\"column-3\">ppa<\/td>\n<\/tr>\n<tr class=\"row-8 even\">\n\t<td class=\"column-1\">evm.model.scaffold_19.719<\/td><td class=\"column-2\">SLC2A13<\/td><td class=\"column-3\">SLC2A13<\/td>\n<\/tr>\n<tr class=\"row-9 odd\">\n\t<td class=\"column-1\">evm.model.scaffold_19.751<\/td><td class=\"column-2\">tag<\/td><td class=\"column-3\">tag<\/td>\n<\/tr>\n<tr class=\"row-10 even\">\n\t<td class=\"column-1\">evm.model.scaffold_19.783<\/td><td class=\"column-2\">SLC15A3_4<\/td><td class=\"column-3\">SLC15A3_4<\/td>\n<\/tr>\n<tr class=\"row-11 odd\">\n\t<td class=\"column-1\">evm.model.scaffold_19.847<\/td><td class=\"column-2\">RP-L6e<\/td><td class=\"column-3\">RP-L6e<\/td>\n<\/tr>\n<tr class=\"row-12 even\">\n\t<td class=\"column-1\">evm.model.scaffold_43.781<\/td><td class=\"column-2\">REEP5_6<\/td><td class=\"column-3\">REEP5_6<\/td>\n<\/tr>\n<tr class=\"row-13 odd\">\n\t<td class=\"column-1\">evm.model.scaffold_43.877<\/td><td class=\"column-2\">E2.1.1.104,ROMT<\/td><td class=\"column-3\">E2.1.1.104,ROMT<\/td>\n<\/tr>\n<tr class=\"row-14 even\">\n\t<td class=\"column-1\">evm.model.scaffold_69.1113<\/td><td class=\"column-2\">GST<\/td><td class=\"column-3\">GST<\/td>\n<\/tr>\n<tr class=\"row-15 odd\">\n\t<td class=\"column-1\">evm.model.scaffold_69.1241<\/td><td class=\"column-2\">UXS1<\/td><td class=\"column-3\">UXS1<\/td>\n<\/tr>\n<tr class=\"row-16 even\">\n\t<td class=\"column-1\">evm.model.scaffold_69.1305<\/td><td class=\"column-2\">COPS2<\/td><td class=\"column-3\">COPS2<\/td>\n<\/tr>\n<tr class=\"row-17 odd\">\n\t<td class=\"column-1\">evm.model.scaffold_69.1337<\/td><td class=\"column-2\">HPAT<\/td><td class=\"column-3\">HPAT<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-31 from cache --><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c9baa1 elementor-widget elementor-widget-code-highlight\" data-id=\"3c9baa1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-r line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-r\">\n\t\t\t\t\t<xmp>library(WGCNA)\nlibrary(tidyverse)\ngene_exp <- read.table(\"WGCNA_input_matrix.txt\",\n                     row.names = 1)\n\nsample_info <- read.table(file = 'WGCNA_input_triat.txt',\n                        row.names = 1)\n\ngene_info <- read.table(file = 'WGCNA_input_anno.txt', header = TRUE)\n\n## -----------------------------------------------------------\n{\n  # \u8f6c\u7f6e\n  datExpr0 <- t(gene_exp)\n  \n  # \u7f3a\u5931\u6570\u636e\u53ca\u65e0\u6ce2\u52a8\u6570\u636e\u8fc7\u6ee4\n  gsg <- goodSamplesGenes(\n    datExpr0, \n    minFraction = 1\/2 #\u57fa\u56e0\u7684\u7f3a\u5931\u6570\u636e\u6bd4\u4f8b\u9608\u503c\n  )\n  datExpr <- datExpr0[gsg$goodSamples, gsg$goodGenes]\n  \n  # \u901a\u8fc7\u805a\u7c7b\uff0c\u67e5\u770b\u662f\u5426\u6709\u660e\u663e\u5f02\u5e38\u6837\u672c, \u5982\u679c\u6709\u9700\u8981\u5254\u9664\u6389\n  plot(hclust(dist(datExpr)), \n       cex.lab = 1.5,\n       cex.axis = 1.5, \n       cex.main = 2)\n  \n  \n  # \u5982\u679c\u5269\u4f59\u57fa\u56e0\u4ecd\u7136\u592a\u591a(\u5982 5 \u523010\u4e07\u6761)\uff0c\n  ##\u800c\u7535\u8111\u914d\u7f6e\u5185\u5b58\u4e0d\u591f\uff0c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u8fc7\u6ee4\u6389\n  ##\u6ce2\u52a8\u5c0f\u7684\u57fa\u56e0\u3002\u4e0d\u8981\u53ea\u7528\u5dee\u5f02\u57fa\u56e0\u505a\u3002\n  # library(genefilter)\n  # var_gene_exp <- varFilter(\n  #   as.matrix(t(datExpr)),\n  #   var.func = IQR,\n  #   var.cutoff = 0.5, # \u5b9e\u9645\u9879\u76ee\u4e2d\u8bbe\u7f6e 0.5 \u4ee5\u4e0b\n  #   filterByQuantile = TRUE)\n  # \n  # datExpr <- t(var_gene_exp)\n  datExpr[1:4,1:4]\n}\n\n\n## -----------------------------------------------------------\n{\n  datTraits <- sample_info\n  datTraits[1:4, 1:4]\n}\n\n\n## ----message=FALSE------------------------------------------\n{\n  library(WGCNA)\n  # \u591a\u7ebf\u7a0b\n  enableWGCNAThreads(nThreads = 6)\n  ## disableWGCNAThreads()\n  \n  # \u901a\u8fc7\u5bf9 power \u7684\u591a\u6b21\u8fed\u4ee3\uff0c\u786e\u5b9a\u6700\u4f73 power\n  sft <- pickSoftThreshold(\n    datExpr, \n    powerVector = 1:20, # \u5c1d\u8bd5 1 \u5230 20\n    networkType = \"unsigned\" \n  )\n}\n\n\n## -----------------------------------------------------------\n{\n  # \u753b\u56fe\n  library(ggplot2)\n  library(ggrepel)\n  library(cowplot)\n  library(ggthemes)\n  \n  fig_power1 <- ggplot(data = sft$fitIndices,\n                       aes(x = Power,\n                           y = SFT.R.sq)) +\n    geom_point(color = 'red') +\n    geom_text_repel(aes(label = Power)) +\n    geom_hline(aes(yintercept = 0.85), color = 'red') +\n    labs(title = 'Scale independence',\n         x = 'Soft Threshold (power)',\n         y = 'Scale Free Topology Model Fit,signed R^2') +\n    theme_few() +\n    theme(plot.title = element_text(hjust = 0.5))\n  \n  fig_power2 <- ggplot(data = sft$fitIndices,\n                       aes(x = Power,\n                           y = mean.k.)) +\n    geom_point(color = 'red') +\n    geom_text_repel(aes(label = Power)) +\n    labs(title = 'Mean connectivity',\n         x = 'Soft Threshold (power)',\n         y = 'Mean Connectivity') +\n    theme_few()+\n    theme(plot.title = element_text(hjust = 0.5))\n  \n  plot_grid(fig_power1, fig_power2)\n}\n\n\n## ----message=FALSE------------------------------------------\n{\n  net <- blockwiseModules(\n    # 0.\u8f93\u5165\u6570\u636e\n    datExpr, \n    \n    # 1. \u8ba1\u7b97\u76f8\u5173\u7cfb\u6570\n    corType = \"pearson\", # \u76f8\u5173\u7cfb\u6570\u7b97\u6cd5\uff0cpearson|bicor\n    \n    # 2. \u8ba1\u7b97\u90bb\u63a5\u77e9\u9635\n    power = 12, # \u524d\u9762\u5f97\u5230\u7684 soft power\n    networkType = \"unsigned\", # unsigned | signed | signed hybrid\n    \n    # 3. \u8ba1\u7b97 TOM \u77e9\u9635\n    TOMType = \"unsigned\", # none | unsigned | signed\n    saveTOMs = TRUE,\n    saveTOMFileBase = \"blockwiseTOM\",\n    \n    # 4. \u805a\u7c7b\u5e76\u5212\u5206\u6a21\u5757\n    deepSplit = 2, # 0|1|2|3|4, \u503c\u8d8a\u5927\u5f97\u5230\u7684\u6a21\u5757\u5c31\u8d8a\u591a\u8d8a\u5c0f\n    minModuleSize = 30,\n    \n    # 5. \u5408\u5e76\u76f8\u4f3c\u6a21\u5757\n    ## 5.1 \u8ba1\u7b97\u6a21\u5757\u7279\u5f81\u5411\u91cf\uff08module eigengenes\uff0c MEs\uff09\uff0c\u5373 PC1\n    ## 5.2 \u8ba1\u7b97 MEs \u4e0e datTrait \u4e4b\u95f4\u7684\u76f8\u5173\u6027\n    ## 5.3 \u5bf9\u8ddd\u79bb\u5c0f\u4e8e mergeCutHeight \uff081-cor\uff09\u7684\u6a21\u5757\u8fdb\u884c\u5408\u5e76\n    mergeCutHeight = 0.25, \n    \n    # \u5176\u4ed6\u53c2\u6570\n    numericLabels = FALSE, # \u4ee5\u6570\u5b57\u547d\u540d\u6a21\u5757\n    nThreads = 0, # 0 \u5219\u4f7f\u7528\u6240\u6709\u53ef\u7528\u7ebf\u7a0b\n    maxBlockSize = 100000 # \u9700\u8981\u5927\u4e8e\u57fa\u56e0\u7684\u6570\u76ee\n  )\n  # \u67e5\u770b\u6bcf\u4e2a\u6a21\u5757\u5305\u542b\u57fa\u56e0\u6570\u76ee\n  table(net$colors) \n}\n\n\n## -----------------------------------------------------------\n{\n  library(tidyverse)\n  wgcna_result <- data.frame(gene_id = names(net$colors),\n                             module = net$colors) %>%\n    left_join(gene_info, by = c('gene_id' = 'gene_id')) \n  head(wgcna_result)\n}\n\n\n## -----------------------------------------------------------\n{\n  # \u540c\u65f6\u7ed8\u5236\u805a\u7c7b\u56fe\u548c\u6a21\u5757\u989c\u8272\n  plotDendroAndColors(\n    dendro = net$dendrograms[[1]], \n    colors = net$colors,\n    groupLabels = \"Module colors\",\n    dendroLabels = FALSE, \n    addGuide = TRUE)\n}\n\n\n## ----message=FALSE------------------------------------------\n{\n  # \u8ba1\u7b97\u76f8\u5173\u6027\n  moduleTraitCor <- cor(\n    net$MEs,\n    datTraits,\n    use = \"p\",\n    method = 'spearman' # \u6ce8\u610f\u76f8\u5173\u7cfb\u6570\u8ba1\u7b97\u65b9\u5f0f\n  )\n  \n  # \u8ba1\u7b97 Pvalue\n  moduleTraitPvalue <- corPvalueStudent(\n    moduleTraitCor, \n    nrow(datExpr))\n}\n\n\n## -----------------------------------------------------------\n{\n  # \u76f8\u5173\u6027 heatmap\n  sizeGrWindow(10,6)\n  \n  # \u8fde\u63a5\u76f8\u5173\u6027\u548c pvalue\n  textMatrix <- paste(signif(moduleTraitCor, 2), \"\\n(\",\n                      signif(moduleTraitPvalue, 1), \")\", sep = \"\");\n  dim(textMatrix) <- dim(moduleTraitCor)\n  \n  \n  # heatmap \u753b\u56fe\n  par(mar = c(6, 8.5, 3, 3))\n  labeledHeatmap(Matrix = moduleTraitCor,\n                 xLabels = names(datTraits),\n                 yLabels = names(net$MEs),\n                 ySymbols = names(net$MEs),\n                 colorLabels = FALSE,\n                 colors = greenWhiteRed(50),\n                 textMatrix = textMatrix,\n                 setStdMargins = FALSE,\n                 cex.text = 0.5,\n                 zlim = c(-1,1),\n                 main = paste(\"Module-trait relationships\"))\n}\n\n\n## -----------------------------------------------------------\n{\n  MET <- orderMEs(cbind(net$MEs, dplyr::select(datTraits, Lignin_content)))\n  \n  plotEigengeneNetworks(\n    multiME = MET, \n    setLabels = \"Eigengene dendrogram\", \n    plotDendrograms = TRUE, \n    plotHeatmaps = FALSE,\n    colorLabels = TRUE,\n    marHeatmap = c(3,4,2,2))\n}\n\n\n## -----------------------------------------------------------\n{\n  plotEigengeneNetworks(\n    multiME = MET, \n    setLabels = \"Eigengene dendrogram\", \n    plotDendrograms = FALSE, \n    plotHeatmaps = TRUE,\n    colorLabels = TRUE,\n    marHeatmap = c(8,8,2,2))\n}\n\n\n## -----------------------------------------------------------\n{\n  # \u9700\u8981\u5bfc\u51fa\u7684\u6a21\u5757\n  my_modules <- c('blue') \n  \n  # \u63d0\u53d6\u8be5\u6a21\u5757\u7684\u8868\u8fbe\u77e9\u9635\n  m_wgcna_result <- filter(wgcna_result, module %in% my_modules)\n  m_datExpr <- datExpr[, m_wgcna_result$gene_id]\n  \n  # \u8ba1\u7b97\u8be5\u6a21\u5757\u7684 TOM \u77e9\u9635  \n  m_TOM <- TOMsimilarityFromExpr(\n    m_datExpr,\n    power = 6,\n    networkType = \"unsigned\",\n    TOMType = \"unsigned\")\n  \n  dimnames(m_TOM) <- list(colnames(m_datExpr), colnames(m_datExpr))\n  \n  # \u5bfc\u51fa Cytoscape \u8f93\u5165\u6587\u4ef6\n  cyt <- exportNetworkToCytoscape(\n    m_TOM,\n    edgeFile = \"CytoscapeInput-network.txt\",\n    weighted = TRUE,\n    threshold = 0.2)\n}\n\n# \u5bfc\u51fa\u6307\u5b9a\u6a21\u5757\u7684\u57fa\u56e0\nmodule_genes <- m_wgcna_result$gene_id\n\nwrite.table(\n  module_genes,\n  file = \"blue_module_all_genes.txt\",\n  quote = FALSE,\n  row.names = FALSE,\n  col.names = FALSE\n)\n\n\n# \u5bfc\u51fahub\u57fa\u56e0\u7684\u81ea\u7f51\u7edc\nkWithin <- rowSums(m_TOM) - 1\nsummary(kWithin)\nME_name <- \"MEblue\"\nMM <- cor(m_datExpr, net$MEs[, ME_name], use = \"p\")\nsummary(abs(MM))\ntop_frac <- 0.1  # 5%\ntop_n <- ceiling(length(kWithin) * top_frac)\nhub_genes <- names(sort(kWithin, decreasing = TRUE))[1:top_n]\nlength(hub_genes)\nhub_TOM <- m_TOM[hub_genes, hub_genes]\nexportNetworkToCytoscape(\n  hub_TOM,\n  edgeFile = \"blue_hub_network.txt\",\n  weighted = TRUE,\n  threshold = 0.1,\n  nodeNames = hub_genes\n)\nhub_node_df <- data.frame(\n  gene_id = hub_genes,\n  module  = \"blue\",\n  kWithin = kWithin[hub_genes],\n  MM      = MM[hub_genes]\n) %>%\n  left_join(gene_info, by = \"gene_id\")\nwrite.table(\n  hub_node_df,\n  file = \"blue_hub_nodes.txt\",\n  sep = \"\\t\",\n  quote = FALSE,\n  row.names = FALSE\n)\n\n\n# \u5bfc\u51fa\u6307\u5b9a\u57fa\u56e0\u96c6\u7684\u5b50\u7f51\u7edc\n## ===============================\n## \u8fb9\u7a00\u758f\u5316\u51fd\u6570\uff1a\u6bcf\u4e2a\u8282\u70b9\u53ea\u4fdd\u7559 top-k strongest edges\n## ===============================\n\nsparsify_TOM_topK <- function(TOM, k = 5) {\n  keep <- matrix(FALSE, nrow = nrow(TOM), ncol = ncol(TOM))\n  rownames(keep) <- colnames(keep) <- colnames(TOM)\n  \n  for (g in rownames(TOM)) {\n    v <- TOM[g, ]\n    v <- sort(v, decreasing = TRUE)\n    nbrs <- names(v)[2:(k + 1)]   # \u7b2c 1 \u4e2a\u662f\u81ea\u5df1\n    keep[g, nbrs] <- TRUE\n  }\n  \n  # \u4fdd\u8bc1\u65e0\u5411\u56fe\u5bf9\u79f0\n  keep <- keep | t(keep)\n  \n  TOM_sparse <- TOM\n  TOM_sparse[!keep] <- 0\n  diag(TOM_sparse) <- 0\n  \n  return(TOM_sparse)\n}\n\n## ===============================\n## \u53c2\u6570\u533a\uff08\u4f60\u901a\u5e38\u53ea\u9700\u8981\u6539\u8fd9\u91cc\uff09\n## ===============================\n\ntarget_file <- \"blue_model_muzhisu.gene\"  # \u4f60\u7684 txt \u6587\u4ef6\nk_per_gene  <- 30                        # \u6bcf\u4e2a\u76ee\u6807\u57fa\u56e0\u53d6\u591a\u5c11\u90bb\u5c45\nmax_nodes   <- 150                       # \u5b50\u7f51\u7edc\u6700\u5927\u8282\u70b9\u6570\uff08\u81ea\u52a8\u63a7\u5236\uff09\nthreshold   <- 0.05                      # TOM \u8fb9\u9608\u503c\n\n## ===============================\n## Step 1. \u8bfb\u53d6\u76ee\u6807\u57fa\u56e0\u5217\u8868\n## ===============================\n\ntarget_genes_raw <- read.table(\n  target_file,\n  header = TRUE,\n  stringsAsFactors = FALSE\n)\n\ntarget_genes <- unique(target_genes_raw[[1]])\n\n## ===============================\n## Step 2. \u4ec5\u4fdd\u7559 blue \u6a21\u5757\u4e2d\u3001\u4e14\u5b58\u5728\u4e8e TOM \u7684\u57fa\u56e0\n## ===============================\n\ntarget_genes <- intersect(\n  target_genes,\n  colnames(m_TOM)\n)\n\nif (length(target_genes) == 0) {\n  stop(\"\u274c None of the target genes are found in the blue module TOM matrix.\")\n}\n\nmessage(\"\u2714 Target genes used: \", length(target_genes))\n\n## ===============================\n## Step 3. \u4e3a\u6bcf\u4e2a\u76ee\u6807\u57fa\u56e0\u63d0\u53d6 Top-k \u90bb\u5c45\n## ===============================\n\nneighbor_list <- lapply(target_genes, function(g) {\n  tom_vec <- m_TOM[g, ]\n  tom_vec <- sort(tom_vec, decreasing = TRUE)\n  names(tom_vec)[2:(k_per_gene + 1)]   # \u53bb\u6389\u81ea\u5df1\n})\n\nnames(neighbor_list) <- target_genes\n\n## ===============================\n## Step 4. \u5408\u5e76\u6240\u6709 ego-network\uff08\u65b9\u6848 2 \u6838\u5fc3\uff09\n## ===============================\n\nego_union <- unique(c(target_genes, unlist(neighbor_list)))\n\nmessage(\"\u2714 Initial subnetwork size: \", length(ego_union))\n\n## ===============================\n## Step 5. \u81ea\u52a8\u63a7\u5236\u7f51\u7edc\u89c4\u6a21\uff08\u9632\u6b62\u8fc7\u5927\uff09\n## \u539f\u5219\uff1a\u4f18\u5148\u4fdd\u7559\u76ee\u6807\u57fa\u56e0 + \u4e0e\u76ee\u6807\u57fa\u56e0 TOM \u603b\u548c\u9ad8\u7684\u8282\u70b9\n## ===============================\n\nif (length(ego_union) > max_nodes) {\n  \n  # \u8ba1\u7b97\u6bcf\u4e2a\u8282\u70b9\u4e0e\u6240\u6709 target_genes \u7684 TOM \u603b\u548c\n  tom_score <- sapply(ego_union, function(g) {\n    sum(m_TOM[g, target_genes], na.rm = TRUE)\n  })\n  \n  ego_union <- names(sort(tom_score, decreasing = TRUE))[1:max_nodes]\n  \n  message(\"\u2714 Subnetwork trimmed to max_nodes = \", max_nodes)\n}\n\n## ===============================\n## Step 6. \u63d0\u53d6\u5b50 TOM \u5e76\u5bfc\u51fa Cytoscape edge \u6587\u4ef6\n## ===============================\n\nsub_TOM <- m_TOM[ego_union, ego_union]\n\n# \u2b50 \u6bcf\u4e2a\u8282\u70b9\u53ea\u4fdd\u7559 strongest \u7684 5 \u6761\u8fb9\nsub_TOM_sparse <- sparsify_TOM_topK(sub_TOM, k = 5)\n\nexportNetworkToCytoscape(\n  sub_TOM_sparse,\n  edgeFile  = \"blue_targetGene_subnetwork_edges.txt\",\n  weighted  = TRUE,\n  threshold = 0.001,          # \u975e\u5e38\u4f4e\uff0c\u4ec5\u7528\u4e8e\u8fc7\u6ee4 0\n  nodeNames = ego_union\n)\n\n## ===============================\n## Step 7. \u6784\u5efa\u5e76\u5bfc\u51fa\u5e26\u6ce8\u91ca\u7684 node \u6587\u4ef6\uff08\u5f3a\u70c8\u63a8\u8350\uff09\n## ===============================\n\nnode_df <- data.frame(\n  gene_id  = ego_union,\n  is_target = ego_union %in% target_genes\n) %>%\n  left_join(wgcna_result, by = \"gene_id\") %>%   # module + \u53ef\u80fd\u5df2\u6709\u6ce8\u91ca\n  left_join(gene_info,   by = \"gene_id\")        # \u4f60\u7684\u6ce8\u91ca\u6587\u4ef6\n\nwrite.table(\n  node_df,\n  file = \"blue_targetGene_subnetwork_nodes.txt\",\n  sep = \"\\t\",\n  quote = FALSE,\n  row.names = FALSE\n)\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3aa62f4 elementor-widget elementor-widget-text-editor\" data-id=\"3aa62f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u968f\u540e\u628anode\u548cedge\u6587\u4ef6\u5bfc\u5165cytoscape\u8fdb\u884c\u53ef\u89c6\u5316\u5373\u53ef\u3002<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ac35db2 elementor-widget elementor-widget-image\" data-id=\"ac35db2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"366\" height=\"352\" src=\"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/e3a87aa0-56d6-4b42-b5c1-0011a1f471d8.png\" class=\"attachment-large size-large wp-image-2670\" alt=\"\" srcset=\"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/e3a87aa0-56d6-4b42-b5c1-0011a1f471d8.png 366w, http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/e3a87aa0-56d6-4b42-b5c1-0011a1f471d8-300x289.png 300w\" sizes=\"(max-width: 366px) 100vw, 366px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>1. \u524d\u8a00 \u65e0 2. WGCNA\u5206\u6790 \u51c6\u5907\u4e09\u4e2a\u8f93\u5165\u6587\u4ef6\uff0c\uff081\uff09\u8868\u8fbe\u91cf\u77e9\u9635\uff082\uff09\u6027\u72b6\u6570\u636e\uff083\uff09\u57fa\u56e0\u6ce8\u91ca\u4fe1\u606f\uff08\u53ef\u9009 &#8230; <a title=\"\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790\" class=\"read-more\" href=\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/\" aria-label=\"\u9605\u8bfb \u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790\">\u9605\u8bfb\u66f4\u591a<\/a><\/p>\n","protected":false},"author":1,"featured_media":2642,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_crdt_document":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-2640","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790 - \u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bwgcna\u5206\u6790\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790 - \u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0\" \/>\n<meta property=\"og:description\" content=\"1. \u524d\u8a00 \u65e0 2. WGCNA\u5206\u6790 \u51c6\u5907\u4e09\u4e2a\u8f93\u5165\u6587\u4ef6\uff0c\uff081\uff09\u8868\u8fbe\u91cf\u77e9\u9635\uff082\uff09\u6027\u72b6\u6570\u636e\uff083\uff09\u57fa\u56e0\u6ce8\u91ca\u4fe1\u606f\uff08\u53ef\u9009 ... \u9605\u8bfb\u66f4\u591a\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bwgcna\u5206\u6790\/\" \/>\n<meta property=\"og:site_name\" content=\"\u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-21T08:43:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-21T09:01:45+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/blue_targetGene_subnetwork_edges.txt.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1225\" \/>\n\t<meta property=\"og:image:height\" content=\"716\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"majunpeng\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"majunpeng\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/\"},\"author\":{\"name\":\"majunpeng\",\"@id\":\"http:\/\/www.majunpeng.com\/#\/schema\/person\/6391320b50d457bc7b38047f95d65474\"},\"headline\":\"\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790\",\"datePublished\":\"2025-12-21T08:43:41+00:00\",\"dateModified\":\"2025-12-21T09:01:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/\"},\"wordCount\":11,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/www.majunpeng.com\/#organization\"},\"image\":{\"@id\":\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/blue_targetGene_subnetwork_edges.txt.png\",\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/\",\"url\":\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/\",\"name\":\"\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790 - \u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0\",\"isPartOf\":{\"@id\":\"http:\/\/www.majunpeng.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/blue_targetGene_subnetwork_edges.txt.png\",\"datePublished\":\"2025-12-21T08:43:41+00:00\",\"dateModified\":\"2025-12-21T09:01:45+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#primaryimage\",\"url\":\"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/blue_targetGene_subnetwork_edges.txt.png\",\"contentUrl\":\"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/blue_targetGene_subnetwork_edges.txt.png\",\"width\":1225,\"height\":716},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"http:\/\/www.majunpeng.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.majunpeng.com\/#website\",\"url\":\"http:\/\/www.majunpeng.com\/\",\"name\":\"\u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0\",\"description\":\"\",\"publisher\":{\"@id\":\"http:\/\/www.majunpeng.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.majunpeng.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/www.majunpeng.com\/#organization\",\"name\":\"\u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0\",\"url\":\"http:\/\/www.majunpeng.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"http:\/\/www.majunpeng.com\/#\/schema\/logo\/image\/\",\"url\":\"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2024\/10\/\u5fae\u4fe1\u56fe\u7247_20241011142506.jpg\",\"contentUrl\":\"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2024\/10\/\u5fae\u4fe1\u56fe\u7247_20241011142506.jpg\",\"width\":338,\"height\":333,\"caption\":\"\u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0\"},\"image\":{\"@id\":\"http:\/\/www.majunpeng.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.majunpeng.com\/#\/schema\/person\/6391320b50d457bc7b38047f95d65474\",\"name\":\"majunpeng\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"http:\/\/www.majunpeng.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ce816a2eab088d1443102c99c45948bde4a97722f3eaac31524215496138f9cc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ce816a2eab088d1443102c99c45948bde4a97722f3eaac31524215496138f9cc?s=96&d=mm&r=g\",\"caption\":\"majunpeng\"},\"sameAs\":[\"http:\/\/www.majunpeng.com\"],\"url\":\"http:\/\/www.majunpeng.com\/index.php\/author\/majunpeng\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790 - \u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bwgcna\u5206\u6790\/","og_locale":"zh_CN","og_type":"article","og_title":"\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790 - \u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0","og_description":"1. \u524d\u8a00 \u65e0 2. WGCNA\u5206\u6790 \u51c6\u5907\u4e09\u4e2a\u8f93\u5165\u6587\u4ef6\uff0c\uff081\uff09\u8868\u8fbe\u91cf\u77e9\u9635\uff082\uff09\u6027\u72b6\u6570\u636e\uff083\uff09\u57fa\u56e0\u6ce8\u91ca\u4fe1\u606f\uff08\u53ef\u9009 ... \u9605\u8bfb\u66f4\u591a","og_url":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bwgcna\u5206\u6790\/","og_site_name":"\u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0","article_published_time":"2025-12-21T08:43:41+00:00","article_modified_time":"2025-12-21T09:01:45+00:00","og_image":[{"width":1225,"height":716,"url":"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/blue_targetGene_subnetwork_edges.txt.png","type":"image\/png"}],"author":"majunpeng","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"majunpeng","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#article","isPartOf":{"@id":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/"},"author":{"name":"majunpeng","@id":"http:\/\/www.majunpeng.com\/#\/schema\/person\/6391320b50d457bc7b38047f95d65474"},"headline":"\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790","datePublished":"2025-12-21T08:43:41+00:00","dateModified":"2025-12-21T09:01:45+00:00","mainEntityOfPage":{"@id":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/"},"wordCount":11,"commentCount":0,"publisher":{"@id":"http:\/\/www.majunpeng.com\/#organization"},"image":{"@id":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#primaryimage"},"thumbnailUrl":"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/blue_targetGene_subnetwork_edges.txt.png","inLanguage":"zh-Hans","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/","url":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/","name":"\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790 - \u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0","isPartOf":{"@id":"http:\/\/www.majunpeng.com\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#primaryimage"},"image":{"@id":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#primaryimage"},"thumbnailUrl":"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/blue_targetGene_subnetwork_edges.txt.png","datePublished":"2025-12-21T08:43:41+00:00","dateModified":"2025-12-21T09:01:45+00:00","breadcrumb":{"@id":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#primaryimage","url":"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/blue_targetGene_subnetwork_edges.txt.png","contentUrl":"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2025\/12\/blue_targetGene_subnetwork_edges.txt.png","width":1225,"height":716},{"@type":"BreadcrumbList","@id":"http:\/\/www.majunpeng.com\/index.php\/2025\/12\/21\/%e6%af%94%e8%be%83%e8%bd%ac%e5%bd%95%e7%bb%84%e4%b9%8bwgcna%e5%88%86%e6%9e%90\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"http:\/\/www.majunpeng.com\/"},{"@type":"ListItem","position":2,"name":"\u6bd4\u8f83\u8f6c\u5f55\u7ec4\u4e4bWGCNA\u5206\u6790"}]},{"@type":"WebSite","@id":"http:\/\/www.majunpeng.com\/#website","url":"http:\/\/www.majunpeng.com\/","name":"\u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0","description":"","publisher":{"@id":"http:\/\/www.majunpeng.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.majunpeng.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Organization","@id":"http:\/\/www.majunpeng.com\/#organization","name":"\u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0","url":"http:\/\/www.majunpeng.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"http:\/\/www.majunpeng.com\/#\/schema\/logo\/image\/","url":"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2024\/10\/\u5fae\u4fe1\u56fe\u7247_20241011142506.jpg","contentUrl":"http:\/\/www.majunpeng.com\/wp-content\/uploads\/2024\/10\/\u5fae\u4fe1\u56fe\u7247_20241011142506.jpg","width":338,"height":333,"caption":"\u5c0f\u9a6c\u751f\u4fe1\u65e5\u8bb0"},"image":{"@id":"http:\/\/www.majunpeng.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"http:\/\/www.majunpeng.com\/#\/schema\/person\/6391320b50d457bc7b38047f95d65474","name":"majunpeng","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"http:\/\/www.majunpeng.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ce816a2eab088d1443102c99c45948bde4a97722f3eaac31524215496138f9cc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ce816a2eab088d1443102c99c45948bde4a97722f3eaac31524215496138f9cc?s=96&d=mm&r=g","caption":"majunpeng"},"sameAs":["http:\/\/www.majunpeng.com"],"url":"http:\/\/www.majunpeng.com\/index.php\/author\/majunpeng\/"}]}},"_links":{"self":[{"href":"http:\/\/www.majunpeng.com\/index.php\/wp-json\/wp\/v2\/posts\/2640","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.majunpeng.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.majunpeng.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.majunpeng.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.majunpeng.com\/index.php\/wp-json\/wp\/v2\/comments?post=2640"}],"version-history":[{"count":19,"href":"http:\/\/www.majunpeng.com\/index.php\/wp-json\/wp\/v2\/posts\/2640\/revisions"}],"predecessor-version":[{"id":2673,"href":"http:\/\/www.majunpeng.com\/index.php\/wp-json\/wp\/v2\/posts\/2640\/revisions\/2673"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.majunpeng.com\/index.php\/wp-json\/wp\/v2\/media\/2642"}],"wp:attachment":[{"href":"http:\/\/www.majunpeng.com\/index.php\/wp-json\/wp\/v2\/media?parent=2640"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.majunpeng.com\/index.php\/wp-json\/wp\/v2\/categories?post=2640"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.majunpeng.com\/index.php\/wp-json\/wp\/v2\/tags?post=2640"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}