An R package described in Gaujoux & Seoighe (2010)  provides a general framework to design, implement and test strategies for non-negative matrix factorization (NMF). The package is available from this CRAN link. We have used a semi-supervised form of NMF for gene expression deconvolution (pdf) and NMF can be applied to many other biological problems that involve finding patterns and sample classes in high-dimensional data.