5 老师,您好,我在用r算WGCNA中的beta值,3万基因,大概需要算多久,我的都两天了,还没算完,是不是程序死掉了。

请先 登录 后评论

最佳答案 2019-11-19 20:53

3万个基因将产生一个3万x3万的矩阵,R处理起来会很吃力。估计你是使用了一个物种的全部基因来分析,实际上大部分基因的表达不会变动,将它们纳入WGCNA分析不仅拖慢速度,而且最后得出的几个大的共表达模块全部是这些基因,意义不大。建议挑选出表达变动较大的基因,再进行WGCNA分析。以下是一种方法供参考:


现有gene_exp矩阵,行列举基因,列列举样品。先按行进行scale,得到z_score:

gene_exp_zscore <- t(scale(t(gene_exp)))


接着挑选出在至少1个样品中,zscore的绝对值大于f的所有基因:

n <- 1

f <- 3

b_idx <- apply(gene_exp_zscore, 1, function(i){sum(abs(i)>=f)>=n})

gene_exp_f <- gene_exp[b_idx, ]


再使用gene_exp_f开始进行WGCNA分析。如果挑选出的gene数目依然很大(i.e. 大几千),考虑提高f的值从新过滤。


WGCNA使用文档中对基因的过滤有很好的说明,要仔细阅读参考。

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 1 收藏,85 浏览
  • 吕志尧 提出于 2019-11-19 07:00

相似问题