feat: add msisensorpro/baseline module; clarify pro -d dual semantics#11190
Draft
nh13 wants to merge 2 commits intonf-core:masterfrom
Draft
feat: add msisensorpro/baseline module; clarify pro -d dual semantics#11190nh13 wants to merge 2 commits intonf-core:masterfrom
nh13 wants to merge 2 commits intonf-core:masterfrom
Conversation
Wraps `msisensor-pro baseline`, which builds a trained baseline microsatellite file from a panel of normal samples. The resulting baseline is consumed by `msisensorpro/pro -d` to enable the per-site trained thresholds recommended by the msisensor-pro maintainers for tumor-only MSI calling (xjtu-omics/msisensor-pro#77, https://github.com/xjtu-omics/msisensor-pro/wiki/Best-Practices). The configure file required by `msisensor-pro baseline -i` is built internally from the staged `*_all` files so pipelines can feed the output of `msisensorpro/pro` on each normal directly into this module as a collected channel, without hand-writing a configure file that references Nextflow work paths.
…line `msisensor-pro pro -d` documents two supported invocations (cpp/distribution.cpp `ProUsage()` L199-L206): mode 1 with a raw scan list and a hard threshold set via `-i`, and mode 2 with a trained baseline. The module's input description only hinted at mode 1 by calling the file a "micro-satellite list". Expand the description to cover both modes, point to the baseline workflow recommended by the maintainers, and mention that the hard threshold is configurable via `ext.args`. No behavior change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft for discussion. Closes #11188, overlaps with #6007 (and closed #6350).
What
msisensorpro/baselinewrappingmsisensor-pro baseline. Builds a trained baseline microsatellite file from a panel of normal samples, for use withmsisensor-pro pro -din tumor-only MSI calling. The configure file consumed bybaseline -iis built internally from the staged*_allfiles so callers can feed a collected channel ofmsisensorpro/prooutputs directly (rather than hand-writing a configure file that references Nextflow work paths).msisensorpro/pro/meta.yml: expand the-dinput description to document both supported modes (raw scan list with hard threshold via-i, vs trained baseline). No behavior change;pro'smain.nfalready accepts either file type and-ialready flows through$args.Why
msisensor-pro pro -daccepts both a scan list and a baseline file perProUsage()incpp/distribution.cppL199-L206. The wiki Best-Practices documents only the baseline workflow for tumor-only, and the maintainer recommends it in xjtu-omics/msisensor-pro#77. Until now the baseline subcommand had no module, so pipelines couldn't produce a baseline within nf-core/modules and defaulted to the scan-list-with-hard-threshold fallback mode.TODOs before ready for review
-profile dockeragainst real fixture data. The chr21 test fasta may not contain enough microsatellites forbaselineto produce a usable output. If so, either locate richer fixtures or drop to stub-only testing and open a follow-up for fixtures.nf-core modules test msisensorpro/baseline --profile {docker,singularity,conda}tests/main.nf.test.snap) once live test passesmsisensorpro/pro's test to chain through the new baseline module so CI exercises mode 2 (recommended mode)pro's second input fromlistto something likemicrosat_file(would be a breaking doc-only change)Happy to iterate on any of the above. Specifically wanted to surface the design of the baseline module's input shape (internally-constructed configure file) before doing more work.
PR checklist
labeltopic: versionsnf-core modules test <MODULE> --profile dockernf-core modules test <MODULE> --profile singularitynf-core modules test <MODULE> --profile conda