Skip to content

Add samplesheetparser/diff module#11711

Open
chaitanyakasaraneni wants to merge 2 commits into
nf-core:masterfrom
chaitanyakasaraneni:add/samplesheetparser-diff
Open

Add samplesheetparser/diff module#11711
chaitanyakasaraneni wants to merge 2 commits into
nf-core:masterfrom
chaitanyakasaraneni:add/samplesheetparser-diff

Conversation

@chaitanyakasaraneni
Copy link
Copy Markdown
Contributor

What

Adds a new module samplesheetparser/diff that compares two Illumina SampleSheet.csv files (V1 or V2) and emits a structured JSON diff.

Why

This is the next module in the samplesheetparser family (after info and validate merged in #11604). The diff subcommand is useful as a CI pre-run guard: it surfaces header
changes, added/removed samples, and per-sample field changes between two sheets, and exits non-zero when differences are detected.

Changes

  • New module modules/nf-core/samplesheetparser/diff/ with:
    • main.nf — wraps samplesheet diff, emits *.diff.json and versions
    • meta.yml — input/output schema with EDAM ontologies, tool metadata
    • environment.yml — bioconda samplesheet-parser=1.2.0
    • tests/main.nf.test + .snap — three tests (V1 vs V1 identical, V1 vs V2 cross-format, stub)
  • Patterns applied proactively based on review feedback from Add samplesheetparser/info and samplesheetparser/validate modules #11604:
    • Container check supports both singularity and apptainer
    • No hardcoded CLI flags — callers pass options via ext.args
    • Stub uses touch for output files
    • Tests use sanitizeOutput(process.out) in snapshots
    • Versions emitted via topic: versions with versions_samplesheetparser emit name

PR checklist

Closes #XXX

  • This comment contains a description of changes (with reason).
    • If you've fixed a bug or added code that should be tested, add tests!
    • If you've added a new tool - have you followed the module conventions in the contribution docs
    • If necessary, include test data in your PR.
    • Remove all TODO statements.
    • Broadcast software version numbers to topic: versions - See version_topics
    • Follow the naming conventions.
    • Follow the parameters requirements.
    • Follow the input/output options guidelines.
    • Add a resource label
    • Use BioConda and BioContainers if possible to fulfil software requirements.
    • Ensure that the test works with either Docker / Singularity. Conda CI tests can be quite flaky:
      • For modules:
        • nf-core modules test samplesheetparser/diff --profile docker
        • nf-core modules test samplesheetparser/diff --profile singularity
        • nf-core modules test samplesheetparser/diff --profile conda

@chaitanyakasaraneni chaitanyakasaraneni force-pushed the add/samplesheetparser-diff branch 4 times, most recently from a63613c to ca422d1 Compare May 20, 2026 20:21
@chaitanyakasaraneni chaitanyakasaraneni force-pushed the add/samplesheetparser-diff branch from ca422d1 to 3836553 Compare May 22, 2026 01:56
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