I would like to compare the results from different algorithms for clustering data from an RNAseq experiment. One methodology we used is **WGCNA**, which represents each cluster/module by a module **eigengene**. 

What I am now looking for is a way to calculate such eigengenes on arbitrary lists of genes and their expression profiles. I want to use that to reduce the clusters generated by other methods to a set of "representative genes" and compare that to the WGCNA output. 

Unfortunately, I'm not clear about how to get from a list of genes and their expression profiles to an eigengene. The functions inside the WGCNA R package are deeply tied into the WGCNA analysis and I can't see how to use them on arbitrary data frames of gene expression data. Any hints would be highly welcome!
Eigengenes were first defined in this [paper][1]. Singular value decomposition (SVD) is what you're looking for. The eigengenes are the right singular vectors of the SVD of the expression matrix. If X is your data with genes as rows and samples as columns, the SVD of X is X=USV' and the eigengenes are defined as the vectors in V. In R,

    eigengenes <- svd(X)$v

EDIT: Fixed link to paper.

  [1]: http://www.pnas.org/content/97/18/10101