Skip to content

Move STAR --runRNGseed 0 out of production config into test config #190

Description

@pinin4fjords

Background

conf/modules.config pins --runRNGseed 0 on STAR in two places:

  • the bare withName: 'STAR_ALIGN' block (genome alignment), and
  • .*:EXTENDED_ORF_SECOND_PASS_ALIGN:FASTQ_ALIGN_STAR_HYBRID:STAR_ALIGN (hybrid second pass).

Seeds for snapshot reproducibility belong in the test config (tests/nextflow.config already does this for ribodetector/bowtie2), not in the production process config.

Why this is worth changing

  • STAR already uses a fixed default RNG seed (777), so overriding it to 0 in production buys nothing for real-world reproducibility.
  • It does not fix the non-determinism it appears aimed at: the hybrid second-pass alignment is non-deterministic because of thread-order-dependent multimapper assignment over the redundant canonical+novel transcriptome (verified: Log.final.out and per-transcript idxstats differ run-to-run with the seed set). That is a STAR multithreading property, not an RNG-seed one.

Proposed change

  • Remove --runRNGseed 0 from conf/modules.config (both STAR blocks).
  • If an explicit seed is wanted for test snapshot stability, set it in tests/nextflow.config only. Note ext.args in the test config replaces rather than appends, so this needs either re-specifying the STAR args there or a small params-based seed hook.

Note

Removing the seed re-baselines every alignment-derived snapshot (all pipeline tests use STAR), so it should be done as a focused change with a full snapshot regeneration on the CI architecture.

Context: surfaced during the determinism audit for the modernisation work (PR #174).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions