← Back to all sparks
G

GeneNMF

ANALYTICS
Velocity0.0

R package GeneNMF by carmonalab — release notes from GitHub.

GeneNMF rebuilt how it derives meta-programs, changing every result it had produced.

single-cell-genomicsnmfgene-programsbioinformaticsgene-set-enrichmentr-package
Current state
GeneNMF applies non-negative matrix factorization to single-cell expression data to find gene programs, then consolidates programs recurring across samples into meta-programs. Version 0.6.0 replaced the consolidation method: instead of reducing each program to a gene set and taking a consensus, it retains full gene weight vectors and compares them by cosine similarity. Later releases have built reporting and control around that core — a metaprogram composition matrix showing which samples contributed, custom signature databases for enrichment testing, and the ability to drop meta-programs from results.
Where it's heading
The package is moving from producing meta-programs to letting users interrogate and constrain how they were formed. Composition matrices, the drop function and downsampled similarity heatmaps all serve inspection rather than derivation. The parameters added alongside the 0.6.0 rewrite — specificity weighting, cumulative weight thresholds, confidence defined as the fraction of programs containing a gene — turn what were fixed internal choices into stated, tunable ones.
Prediction
Recent releases have been fixes and compatibility work rather than method changes, so the core approach appears settled. The dependency on an RcppML version not on CRAN is the loose end most likely to force the next release.

Recent moves

  1. 11mo ago

    Single-sample runs fixed; gene weight definition refined

    Mostly corrective, but the improved definition of cumulative gene weight touches the meta-program construction the 0.6.0 rewrite introduced, so output can shift. The runGSEA category-to-collection rename tracks an upstream change rather than a decision made here.

    View source ↗
  2. 1y ago

    Metaprogram composition exposed and custom signature DBs supported

    Returning a composition matrix answers the question the method invites — how many programs from each sample went into this meta-program, and is it therefore shared biology or one sample's artifact. Allowing runGSEA to test against a custom signature database removes the constraint of the bundled collections.

    View source ↗
  3. 1y ago

    Similarity heatmap downsampling and meta-program removal

    Both changes address running the method at scale: automatic downsampling stops the similarity heatmap overwhelming the graphics device with many samples, and dropMetaPrograms lets results be re-plotted without a subset. Inspection tooling for output the 0.6.0 method made harder to eyeball.

    View source ↗
  4. 2y ago

    Meta-programs rebuilt on gene weight vectors and cosine similarity

    ⚡ SPARK

    The release that defines the current package. Everything after it adds inspection and control around this method rather than revisiting it, and the parameters introduced here are the ones later releases refine.

    View source ↗
  5. 2y ago

    First stable release published to CRAN

    A two-line announcement of the first stable release. The method it shipped was substantially replaced four months later by the 0.6.0 rewrite.

    View source ↗