Skip to content

Samplesheet checks and parameter conventions (Issue #69) - #82

Open
MaximilianStammnitz wants to merge 8 commits into
nf-core:devfrom
MaximilianStammnitz:dev
Open

MaximilianStammnitz wants to merge 8 commits into
nf-core:devfrom
MaximilianStammnitz:dev

Conversation

@MaximilianStammnitz

@MaximilianStammnitz MaximilianStammnitz commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Addresses the parameter and samplesheet points of the v1.0.0 release review (#54) and closes issue #69.

Samplesheet

  • assets/schema_input.json: paired-end FASTQ only (BAM and single-end rows are now rejected instead of being silently dropped), type limited to input/output/wildtype, no duplicate sample/type/replicate rows. Single-end support is tracked in Single-end read mode #81 for v1.1.0.
  • The samplesheet is read with samplesheetToList(); meta.id keeps its <sample>_<type>_<replicate>_pe format.
  • New start-up checks in PIPELINE_INITIALISATION:
    • one biological sample per run
    • with --fitness: matching input and output replicate numbers
    • with --error_correction wildtype: exactly one wildtype library
    • --reading_frame: a multiple of 3 and within the reference
    • --mutagenesis_type custom requires --custom_codon_library

Fitness thresholds

  • --min_counts (default 10) is now only the minimum number of reads a variant needs in every input replicate to receive a fitness estimate. As in DiMSum, it is applied to codon variants before synonymous codons are merged, so the default estimator, DiMSum (--fitnessMinInputCountAll) and mutscan analyse the same variants.
  • Variant counting, error correction, the count heatmaps and the SeqDepth curve no longer filter by --min_counts; the error correction therefore always sees every false double.
  • New --output_pseudocount (default 1, the previous behaviour; 0 disables), also passed to DiMSum (--fitnessDropoutPseudocount).

Parameters, schema and config

  • iGenomes removed (genome, igenomes_*, conf/igenomes*.config, getGenomeAttribute()); fasta = null declared; igenomes skipped as a template feature.
  • fitness/dimsum/mutscan are booleans (default false); mutagenesis_type is an enum; custom_codon_library defaults to null instead of '/NULL'.
  • Schema grouped into reference/library, variant counting, error correction, library QC and fitness options.
  • params.publish_dir_mode for every publishDir; overwrite: false and the duplicate summary-report block removed; no publishDir inside modules.
  • COUNTS_TO_FITNESS runs only with --fitness; its tables are published only with --dimsum.
  • --run_seqdepth keeps its positive form (default true) on purpose.

Testing

  • nf-core pipelines lint --release (tools 4.1.0): 0 failures. nextflow lint: no new errors or warnings.
  • The start-up checks and parameter validation were tested with valid and invalid samplesheets and parameters; the default estimator, the mutscan pre-filter and possible_mutations.R were checked against the previous scripts.
  • The nf-test snapshot changes (count heatmaps and SeqDepth curves are no longer filtered at the test's min_counts = 1, and the fitness filter now acts per input replicate), so we'll need a fresh nf-test test --update-snapshot on this branch.

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests! (snapshot update pending)
  • Make sure your code lints (nf-core pipelines lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors). (not needed)

…hema and config

Fitness thresholds (nf-core#69; release review points 7 and 10)
- --min_counts (default 10) is now only the minimum number of reads a variant
  needs in every input replicate to receive a fitness estimate. As in DiMSum,
  it is applied to codon variants before synonymous codons are merged: the
  default estimator, DiMSum (--fitnessMinInputCountAll) and mutscan analyse
  the same variants
- Variant counting, error correction, the count heatmaps and the SeqDepth
  curve no longer filter by --min_counts (threshold fixed at 1)
- New --output_pseudocount (default 1 = previous behaviour; 0 = dropouts get
  no estimate in that replicate), passed to DiMSum (--fitnessDropoutPseudocount)

Parameters and schema (release review points 1 and 17)
- Remove the iGenomes leftovers (genome, igenomes_*, getGenomeAttribute);
  declare fasta = null
- fitness, dimsum, mutscan: boolean, default false
- mutagenesis_type: enum; custom_codon_library: null default instead of the
  '/NULL' sentinel, file must exist
- Schema grouped into reference/library, variant counting, error correction,
  library QC and fitness options

Config and modules (release review points 8 and 15)
- params.publish_dir_mode for every publishDir; no overwrite: false;
  duplicate VISUALIZATION_SUMMARY_REPORT block removed
- Remove the publishDir inside DMSANALYSIS_PROCESS_VARIANT_COUNTS
- COUNTS_TO_FITNESS runs only with --fitness; its tables are published only
  with --dimsum
- Docs: where --min_counts applies (usage.md) and when the DiMSum input
  tables are published (output.md)
@github-actions

github-actions Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

nf-core pipelines lint overall result: Passed ✅ ⚠️

Posted for pipeline commit 22950cf

+| ✅ 243 tests passed       |+
#| ❔   2 tests were ignored |#
!| ❗   3 tests had warnings |!
Details

❗ Test warnings:

  • nextflow_config - Config manifest.version should end in dev: 1.0.0
  • readme - README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release).
  • pipeline_todos - TODO string in CHANGELOG.md: ## v1.0.0 - [unreleased replace with date on release ]

❔ Tests ignored:

  • files_exist - File is ignored: conf/igenomes.config
  • files_exist - File is ignored: conf/igenomes_ignored.config

✅ Tests passed:

Run details

  • nf-core/tools version 4.1.0
  • Run at 2026-10-18 17:45:38

@github-actions

github-actions Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

❌ nf-test failed with latest Nextflow version

Note

Tests with Nextflow's latest version failed but it will not cause a CI workflow failure.
Please check if the failure is expected with newer (edge-)releases of Nextflow or if it needs fixing.

  • ❌ docker | latest-everything | Shard 1/1

See the full run for details.

@MaximilianStammnitz MaximilianStammnitz mentioned this pull request Oct 18, 2026
8 tasks
@MaximilianStammnitz

Copy link
Copy Markdown
Collaborator Author

@BenjaminWehnert1008 I think just adding a new snapshot would do.

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.

1 participant