Skip to content

RSS QC summary logging + fine-mapping vignette on current API#520

Closed
Yining97 wants to merge 2 commits into
StatFunGen:mainfrom
Yining97:rss-vignette-and-qc-logging
Closed

RSS QC summary logging + fine-mapping vignette on current API#520
Yining97 wants to merge 2 commits into
StatFunGen:mainfrom
Yining97:rss-vignette-and-qc-logging

Conversation

@Yining97

Copy link
Copy Markdown
Contributor

What

Two pecotmr-only follow-ups deferred by the earlier RSS steps.

Per-step QC summary logging. The summary-statistics QC track now reports how many
variants of how many each step touched, with the right verb per category:

  • harmonization: kept N of M (corrected: sign-flipped A, strand-flipped B; dropped C)
  • kriging / SLALOM / DENTIST: removed D of N (outliers dropped, never "flipped")
  • imputation: before -> after (net +K)
  • a per-study rollup keeping corrected / removed / imputed distinct, e.g.
    QC summary [study]: 9633 in -> 10184 out | corrected: sign-flip 0, strand-flip 0 | removed: harmonization 1 | imputed +552

The counts already existed but were discarded: matchRefPanel now exposes them via a
qcCounts attribute (default return shape unchanged, non-RSS callers unaffected),
rssBasicQc threads them through, and the orchestrator logs them.

Fine-mapping vignette. vignettes/fine-mapping.Rmd was broken by the camelCase
refactor and the finemappingOpts/af changes. It now uses the current API (ldData,
zMismatchQc, finemappingMethod, fit params inside finemappingOpts, top_loci.af)
and knits end-to-end.

Guarantee

Logging is observability only. On chr21 AD_Bellenguez the QC result and credible sets
are byte-identical to the pre-logging code: variant set identical, max |ΔPIP| = 0,
CS membership identical, max |Δpurity| = 0.

Tests

  • New matchRefPanel qcCounts test and QC-track message tests (N-of-M, rollup,
    skipped-step correctness, removed-not-flipped).
  • Full suite green: 1233 tests, 0 failed, 3222 passed (susieR 0.16.5).
  • Vignette knits against the modified package.

Out of scope (tracked in OpenSpec xqtl-protocol-rss-api-sync): the xqtl-protocol
notebook migration and SoS end-to-end parity. A CI/pixi susieR bump to exercise
median_abs_corr end-to-end is flagged for later.

Yining97 and others added 2 commits June 17, 2026 15:01
matchRefPanel exposes sign/strand-flip and drop counts via a qcCounts attribute;
the summary-stats QC track now logs N-of-M per step (corrected vs removed vs imputed,
kept distinct) and a per-study rollup. Migrate fine-mapping.Rmd to the camelCase API
and finemappingOpts passthrough; top_loci schema maf -> af. Logging is observability
only — QcResult and credible sets are unchanged (chr21 AD_Bellenguez: ΔPIP=0, identical CS).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@danielnachun

Copy link
Copy Markdown
Collaborator

Superseded by #522

@Yining97 Yining97 deleted the rss-vignette-and-qc-logging branch June 22, 2026 20:59
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