因为样本数量比较可观,所以可以进行WGCNA分析。这里是并不需要选取所有的基因来做WGCNA分析,挑选的标准可以是top变异程度大的基因集合,或者显著差异表达的基因集合等等。
google搜索或在生信技能树和生信菜鸟团搜索WGCNA,能找到很多教程,下面列出几个中文教程和英文教程,强烈推荐中文教程1和英文教程3。
WGCNA输入文件需要一个表达矩阵,最好是RPKM或其他归一化好的表达量,还需要一个矩阵关于临床信息或者其它关于样本属性的信息。
原始数据包含64个样本,9904个lncRNA表达量,这时的矩阵行为基因,列为样本信息,其中第一列是lncRNAID,(这里的lncRNAID是cufflinks组装时给的自由的ID,是需要和已有的ID对应,对于新的转录本再通过nr/nt等数据库注释),第66列是作者给出的注释(我查了几个注释有的也查不出来是什么意思)。
这里有64个样本,包含猕猴脑不同空间区域,不同发育时期,以及性别,因为每个样本都交叉包含着三种不同的信息,如果选择全部表型信息,我试了试,后续的模块和性状完全看不清关系,所以我这里仅选择脑不同区域的表型信息,包括CB、DG、PFC、PCC、CA1、OC、PC、TC。
WGCNA针对的是基因进行聚类,而一般我们的聚类是针对样本用hclust即可,也就是说要转置为行表示样本,列表示基因。
datExpr和datTraits准备好后,接下来就是构建基因网络,鉴定模块。网络构建有三种方法:1)一步法构建网络;2)多步法构建网络;3)block-wise构建网络(主要针对大数据集)。下面的介绍的步骤是一步法构建网络。
选择合适的“软阀值(softthresholdingpower)”beta,用到的函数是pickSoftThreshold,pickSoftThreshold(datExpr,powerVector=powers,verbose=5),powerVector可以是一系列数值,从而选择最优值。这个函数返回一个列表,第一项是powerEstimate是估计的最优power;第二项是fitIndices是详细的矩阵数据,其中第五列是mean.k表示平均“连接度(connectivity)”。
Constructingaweightedgenenetworkentailsthechoiceofthesoftthresholdingpowertowhichco-expressionsimilarityisraisedtocalculateadjacency.
最佳beta值是3。
一步法构建网络,使用函数blockwiseModules(),这个函数包含很多参数,其中power=sft$powerEstimate=3即上一步得到的最佳软阈值;maxBlockSize默认为5000,表示在这个数值内的基因将整体被计算,如果调大需要更多的内存;numerricLabels默认为返回颜色,设置为TRUE则返回数字;mergeCutHeight是合并模块阈值的一个参数。
上一步的返回结果是一个列表,可以用table()函数查看,0表示没有任何module接受。table(net$colors)可以看总共有多少模块,每个模块的大小,这里共有9个模块,从1-9每个模块的大小是递减的,从2254-115,0表示这些基因不在所有模块内。
dendrograms表示在一个block中所有基因的进化树图,使用函数plotDendroAndColors()查看系统发生树;blockGenes是一个block中所有的基因。
MEs是一个关于modules的特征量矩阵,行数等于筛选的modules数,列数等于样本数;
提取基因信息,可以做GO/KEGG等分析,进而解释这些module的生物学意义。这里的lncRNAID转换着有点麻烦,这一步先略过,之后再看看。
主要模块里面的基因直接的相互作用关系信息可以导出到cytoscape,VisANT等网络可视化软件。