feat(params): accept --limitGenomeGenerateRAM for STAR CLI compatibility#36
feat(params): accept --limitGenomeGenerateRAM for STAR CLI compatibility#36pinin4fjords wants to merge 3 commits into
--limitGenomeGenerateRAM for STAR CLI compatibility#36Conversation
STAR exposes --limitGenomeGenerateRAM as a memory cap for genomeGenerate. Pipelines that wrap STAR commonly derive a value from their task resources and pass it through. Currently rustar rejects the flag at the CLI parser, breaking those pipelines. Accept the flag with STAR's default of 31 GiB. The value is parsed but not enforced — rustar's memory management is independent. Fixes scverse#25
|
Verified the fix end-to-end on macos/aarch64 with the binary built from No "unexpected argument" — flag is parsed cleanly and the run proceeds to the FASTA-loading stage as expected. The matching error from the pre-fix binary was: So #25's reproducer no longer fires. LGTM from the consumer side. |
|
I'm unsure to what extent this makes sense really. I get Claude's rationale that it would be good not to break any CLI options though, even if they do nothing. |
Accepting the flag silently could mislead a user who passes a non-default cap into thinking rustar enforces it. Emit a warning whenever the value differs from STAR's default so the user knows the cap isn't applied. Co-Authored-By: Claude <noreply@anthropic.com>
|
Added a runtime warning when the flag is set to a non-default value. Verified on macOS/aarch64: Default and no-flag invocations stay silent (no spurious warning when the user didn't explicitly ask for a cap). A user passing a real RAM cap now sees that the cap isn't applied rather than having to read the PR body to find out. Pushed as a follow-up commit ( |
Summary
Accepts the STAR-compatible
--limitGenomeGenerateRAMflag at the CLI parser. The value is parsed and stored but not currently enforced — rustar's memory management is independent. This unblocks every wrapper that passes the flag derived from job resources (e.g. nf-core/rnaseq'sSTAR_GENOMEGENERATENextflow module).Before
After
Test plan
cargo buildcargo clippy --all-targets -- -D warningscargo fmt --checkcargo test --libA future PR can wire the value into the suffix-array build path if real RAM capping is desired.
Fixes #25