Skip to content

Parameter and samplesheet conventions #69

Description

@MaximilianStammnitz

Open parameter handles

  • --run_seqdepth defaults to true; nf-core prefers booleans that default to false → need to rename to --skip_seqdepth
  • --fitness, --dimsum, --mutscan are typed ["boolean", "string"] with default null → boolean, default false
  • --mutagenesis_type has no 'enum' → add nnk, nns, nnh, nnn, nnk_nns, nnk_nns_nnh, custom
  • --custom_codon_library defaults to '/NULL' → default null, format: file-path, exists: true, and fail early when --mutagenesis_type custom is set without it?
  • --pdb → format: file-path, exists: true
  • Repurpose --min_counts as the input-count threshold for fitness estimation (default 10 reads per input replicate; consider renaming to --min_input_counts); fix the count filters in variant counting and error correction to 1 (false-double mutants are mostly single counts), and decide whether the QC heatmaps and SeqDepth curve use the threshold (inputs only) or stay at 1. Currently the default fitness step applies no input-count threshold.
  • Forward the input-count threshold (repurposed --min_counts) to DiMSum (--fitnessMinInputCountAll) and mutscan (pre-filter variants before calculateRelativeFC()), so all estimators use the same variants
  • Make the output pseudocount optional: add --output_pseudocount (integer, default 1 = current behaviour of the default estimator; 0 disables, with zero-count output variants set to NA per replicate), and forward it to DiMSum as --fitnessDropoutPseudocount (DiMSum currently runs with its default of 0)
  • Remove the iGenomes leftovers (--genome, --igenomes_*, conf/igenomes*.config, getGenomeAttribute in main.nf); the pipeline works on single-gene references
  • Group the DMS parameters into schema sections (variant counting, error correction, library QC, fitness) and add minimum values to integer parameters

Samplesheet

  • The schema accepts .bam files in file1, but BAM rows are silently skipped by the input channel → fully remove BAM inputs from the schema
  • The schema allows single-end rows (no file2), but read merging requires pairs → implement a single-end path (skipping merging) or strictly require file2
  • The type value quality is accepted but not used → document or remove
  • Parse the samplesheet with nf-schema's samplesheetToList so that validation errors are reported per row

Other behaviour found while documenting (automatically annotated by Claude Opus 5.5, to confirm)

  • DiMSum with several samples in one samplesheet: one experimental design is built from the whole sheet and broadcast to every sample (noted in dimsum_experimentalDesign.R) → build one design per sample?
  • More generally, several samples in one run are not yet separated downstream: fitness outputs in fitness/ and fitness/default_results/ and the structure tool have fixed file names, and deepmutscan_report.html uses only the first sample → publish per-sample subfolders (the docs currently recommend one sample per run)
  • Input and output replicates are paired by their sorted position, not by the replicate value → validate consecutive numbering or pair by value
  • With --error_correction false_doubles, libraries with too few false double mutants silently fall back to uncorrected counts (log warning only) → surface this in the error-correction report
  • COUNTS_TO_FITNESS runs and publishes fitness/DiMSum_results/single_rep_counts/ even without --fitness
  • Several publishDir blocks in conf/modules.config hard-code mode: 'copy' instead of params.publish_dir_mode; DMSANALYSIS_PROCESS_VARIANT_COUNTS also sets a publishDir inside the module
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

documentationImprovements or additions to documentationenhancementNew feature or request

Type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions