Amy Campbell, 2016
Python 2.7 implementation of Siqi Wu et al.'s 2016 stability NMF (staNMF)
staNMF.py class includes the necessary methods to perform stability NMF on a user-specified .csv datase (see sourcecode/staNMF_Example for precise usage instructions)
Example of staNMF demonstrated on Wu et al.'s 2016 drosophila spatial expression data between K=15 and K=30; Generates sample factorizations, calculates instability index, and plots instability against K
Driver script to run staNMF in parallel; can be called from the command line using: python staNMF_driver.py <k1> <k2> <reps1> <reps2> <folder> <filename> <function> (See docstring for more specific instructions)
sample dataset (also available for download here)
$ pip install staNMF
Please note that staNMF requires SPAMs package (version 2.5), which is available from Julien Mairal et al. , or from Anaconda using:
$ conda install -c conda-forge python-spams=2.5
This work was supported by The Gordon and Betty Moore Foundation’s Data-Driven Discovery Initiative (GBMF 4552 to C.S.G.) and a grant from the National Institutes of Health (R01 CA200854)