Skip to content

Add reconstruction error calculation with filtered spectra - #12

Merged
OlivierBakker merged 2 commits into
TrynkaLab:mainfrom
JerryIshihara:optimize/consensus-qc-caching
Aug 25, 2026
Merged

OlivierBakker merged 2 commits into
TrynkaLab:mainfrom
JerryIshihara:optimize/consensus-qc-caching

Conversation

@JerryIshihara

Copy link
Copy Markdown

New synthetic test fixture and infrastructure:

  • Added generate_synthetic_dataset.py to create a deterministic synthetic three-program cNMF dataset, including known ground-truth usages and spectra, and outputs in both AnnData and TSV formats.
  • Added generate_original_results.py to automate running cNMF on the synthetic dataset, capturing outputs at each stage, tracking NMF iteration counts, and generating a manifest for reproducibility.
  • Added fixture manifest (manifest.yaml) and all necessary input and reference output files, including genes.txt, synthetic_counts.tsv, true_spectra.tsv, and true_usages.tsv, to enable deterministic and transparent regression testing. [1] [2] [3] [4] [5] [6] [7]

QC pipeline improvements:

  • The run_qc function in src/cnmf/qc.py now accepts and processes normalized counts and refit usages, computes R², SSE, and TSS metrics, and includes them in the QC annotation output. [1] [2]
  • The cNMF consensus function is updated to pass normalized counts and refit usages through to the QC step, ensuring these new metrics are available for downstream analysis and validation. [1] [2]

@JerryIshihara
JerryIshihara marked this pull request as draft August 25, 2026 09:05
@JerryIshihara
JerryIshihara force-pushed the optimize/consensus-qc-caching branch from 8a5892c to 22eac9b Compare August 25, 2026 09:14
@JerryIshihara
JerryIshihara marked this pull request as ready for review August 25, 2026 09:18
@OlivierBakker
OlivierBakker merged commit 1dc8556 into TrynkaLab:main Aug 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants