Skip to content

Clear pipeline-level nf-core lint warnings, bump to 1.2.0dev - #227

Open
ljwharbers wants to merge 6 commits into
template_update_4.2.1from
chore/lint-cleanup
Open

ljwharbers wants to merge 6 commits into
template_update_4.2.1from
chore/lint-cleanup

Conversation

@ljwharbers

Copy link
Copy Markdown
Collaborator

Clear the pipeline-level nf-core lint warnings, bump to 1.2.0dev

Stacked on #224 (template update to 4.2.1). The base is template_update_4.2.1, so this diff only shows the cleanup; GitHub retargets it to dev once #224 merges.

After this, the pipeline-level nf-core pipelines lint tests report 0 warnings (previously 48: the set the lint bot comments on).

Changes

  • manifest.version → 1.2.0dev, matching the CHANGELOG heading. The six pipeline snapshots record the pipeline version, so I updated "IntGenomicsLab/lrsomatic" in each; nothing else in them changed.
  • Local subworkflows moved to subworkflows/local/<name>/main.nf (local_component_structure, 13 files). Their own includes go one level deeper (../../../modules/...). Explicit .nf paths in paired/, tumor_only/, subworkflows/local/tests/*.nf.test and the SigProfiler matrixgenerator test are updated. workflows/lrsomatic.nf is unchanged, because Nextflow resolves '../subworkflows/local/ecdna' to either layout.
  • Schema: skip_modkit moved out of the top-level properties into skip_options. generate_gvcf, autocorrelation, vep_custom, vep_custom_tbi, severus_minsupport and wakhan_chroms now have descriptions, written from how the code uses each parameter.
  • Template TODOs:
    • comments removed where the work was already done (CLI params, contributors, README figure, base.config, tests/nextflow.config, cramino meta.yml);
    • the MultiQC methods description now cites the LRSomatic preprint instead of describing lrsomatic as part of the nf-core collection;
    • docs/CONTRIBUTING.md gets a short pipeline-specific checklist.
  • lint_log.txt removed: a Nov 2025 nf-core lint debug log committed by mistake, which produced 16 TODO warnings.
  • RO-Crate regenerated.

The new text in the CONTRIBUTING checklist and the methods citation is worth a read.

Not addressed

These are outside the pipeline-level set and outside this PR's scope:

  • Subworkflow lint: no meta.yml for the local subworkflows, and newer versions available for some nf-core subworkflows.
  • Module lint: newer versions available.

Testing (Mindwell, apptainer, Nextflow 26.04.3, nf-test 0.9.4)

All run without --update-snapshot, against the committed snapshots:

  • default, clair_only, consensus, deep_only, union (2 tests), chm13: all PASSED
  • nf-test test --tag small: 140/140 PASSED, including the six moved-subworkflow tests
  • prek run --all-files: all hooks pass, including Nextflow lint

🤖 Generated with Claude Code

ljwharbers and others added 2 commits October 29, 2026 13:24
- manifest.version 1.1.0 -> 1.2.0dev; snapshot version keys follow
- move the 13 flat subworkflows/local/*.nf files to <name>/main.nf
  (includes one level deeper; explicit .nf paths in paired/,
  tumor_only/ and the tests updated)
- skip_modkit moved into skip_options; descriptions for generate_gvcf,
  autocorrelation, vep_custom, vep_custom_tbi, severus_minsupport and
  wakhan_chroms
- resolve template TODOs: pipeline citation in the methods
  description, pipeline-specific contribution guidelines, and drop
  comments whose work was already done
- remove lint_log.txt, a lint debug log committed by mistake
- RO-Crate regenerated

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comment thread nextflow_schema.json Outdated
"autocorrelation": {
"type": "string"
"type": "string",
"description": "Pass --acf to fibertools qc to add the nucleosome autocorrelation to the Fiber-seq QC output. Any non-empty value turns it on."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This description keeps autocorrelation as a free-form string, but docs/usage.md:307 documents it as a boolean with default false, and it only feeds a truthiness check (params.autocorrelation ? "--acf" : '' in conf/modules.config:83). The new text says "Any non-empty value turns it on", which is wrong in two cases:

  • --autocorrelation false: Nextflow parses the CLI value to Boolean false, so --acf is not added.
  • A bare --autocorrelation flag, as the usage.md table suggests, sets the param to Boolean true. With "type": "string", nf-schema rejects that value.

Since this PR already edits the entry, I'd make the type match the docs: "type": "boolean", "default": false (and autocorrelation = false in nextflow.config), with a description like "Pass --acf to fibertools qc to add nucleosome autocorrelation to the Fiber-seq QC output."

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 8f0714a: autocorrelation is now "type": "boolean", "default": false (and autocorrelation = false in nextflow.config), with the suggested description. Checked with nextflow run . -profile test,apptainer -preview: a bare --autocorrelation validates and resolves to true, and --autocorrelation false validates and stays at the default.

Comment thread docs/CONTRIBUTING.md Outdated
- [ ] Keep the `[ meta, data ]` tuple shape across module and subworkflow boundaries, so sample metadata reaches every downstream step.
- [ ] Put local subworkflows in `subworkflows/local/<name>/main.nf`.
- [ ] Add a `CHANGELOG.md` entry with the PR number for every user-facing change.
- [ ] Tag fast (stub) tests with `small`: pull-request CI runs only tests with that tag. The extended pipeline tests (`clair_only`, `consensus`, `deep_only`, `union`) run only on release or manual dispatch, so regenerate their snapshots whenever an output changes.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The list of extended pipeline tests leaves out chm13. tests/chm13.nf.test is tagged extended, not small, so like the others it only runs on release or workflow_dispatch. It's also the only CHM13 coverage, and this PR updates its snapshot too. A contributor who follows this checklist would skip regenerating it. Suggest listing it as well (chm13, clair_only, consensus, deep_only, union), or just saying "all tests tagged extended" so the list can't fall out of date.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 8f0714a: the checklist now says "all tests tagged extended; currently chm13, clair_only, consensus, deep_only and union".

Comment thread nextflow.config
defaultBranch = 'main'
nextflowVersion = '!>=25.10.4'
version = '1.1.0'
version = '1.2.0dev'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

manifest.version was bumped by hand, but .nf-core.yml still has template.version: 1.1.0 (line 47). nf-core pipelines bump-version 1.2.0dev updates both. nf-core lint's version_consistency check (run with --release) compares the two, and template syncs read the .nf-core.yml value. Please bump .nf-core.yml to 1.2.0dev as well, or re-run bump-version, so they stay in sync.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 8f0714a: .nf-core.yml template.version is now 1.2.0dev. nf-core pipelines lint --release -k version_consistency reports "Version tags are consistent: manifest.version = 1.2.0dev, nfcore_yml.version = 1.2.0dev". Its only failures are the expected "not numeric" ones for a dev version, which go away at release.

@claude

claude Bot commented Oct 29, 2026

Copy link
Copy Markdown

Automated review: 3 findings, posted inline.

  1. autocorrelation schema entry: the new description ("any non-empty value turns it on") is wrong for --autocorrelation false, and a bare --autocorrelation flag fails validation because the type is string. docs/usage.md documents it as a boolean. Suggest type: boolean.
  2. docs/CONTRIBUTING.md checklist: the list of extended tests leaves out chm13, which is also tagged extended.
  3. Version mismatch: .nf-core.yml template.version is still 1.1.0 while manifest.version is now 1.2.0dev.

The subworkflow moves look complete: no references to the old flat subworkflows/local/*.nf paths are left, and the extensionless includes in workflows/lrsomatic.nf resolve to <dir>/main.nf. The snapshot diffs change only the pipeline version string.

For a human reviewer: PR CI runs only small tests. That covers default and the six moved local-subworkflow tests, but not the version-string updates in the chm13, clair_only, consensus, deep_only and union snapshots. The author reports running those locally; please confirm with a workflow_dispatch run of nf-test (or the Slurm test array) before merging.

@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

nf-core pipelines lint overall result: Passed ✅

Posted for pipeline commit e8c6fa9

+| ✅ 237 tests passed       |+
#| ❔  22 tests were ignored |#
Details

❔ Tests ignored:

  • files_exist - File is ignored: CODE_OF_CONDUCT.md
  • files_exist - File is ignored: assets/nf-core-lrsomatic_logo_light.png
  • files_exist - File is ignored: docs/images/nf-core-lrsomatic_logo_light.png
  • files_exist - File is ignored: docs/images/nf-core-lrsomatic_logo_dark.png
  • files_exist - File is ignored: .github/ISSUE_TEMPLATE/config.yml
  • files_exist - File is ignored: .github/workflows/awstest.yml
  • files_exist - File is ignored: .github/workflows/awsfulltest.yml
  • files_exist - File is ignored: .github/CONTRIBUTING.md
  • nextflow_config - Config variable ignored: manifest.name
  • nextflow_config - Config variable ignored: manifest.homePage
  • nf_test_content - 'tests/sv_annotation_compose.nf.test' checking ignored
  • files_unchanged - File ignored due to lint config: CODE_OF_CONDUCT.md
  • files_unchanged - File ignored due to lint config: .github/ISSUE_TEMPLATE/bug_report.yml
  • files_unchanged - File ignored due to lint config: .github/PULL_REQUEST_TEMPLATE.md
  • files_unchanged - File ignored due to lint config: .github/workflows/branch.yml
  • files_unchanged - File ignored due to lint config: .github/workflows/linting.yml
  • files_unchanged - File ignored due to lint config: assets/email_template.txt
  • files_unchanged - File ignored due to lint config: assets/nf-core-lrsomatic_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-lrsomatic_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-lrsomatic_logo_dark.png
  • files_unchanged - File ignored due to lint config: docs/README.md
  • actions_awstest - 'awstest.yml' workflow not found: /home/runner/work/lrsomatic/lrsomatic/.github/workflows/awstest.yml

✅ Tests passed:

Run details

  • nf-core/tools version 4.2.1
  • Run at 2026-11-02 16:16:20

…list

- autocorrelation is now a boolean defaulting to false (schema and
  nextflow.config), matching docs/usage.md. A bare --autocorrelation
  flag now validates, and --autocorrelation false no longer contradicts
  the description.
- .nf-core.yml template.version 1.1.0 -> 1.2.0dev, matching
  manifest.version (version_consistency: "Version tags are consistent").
- CONTRIBUTING: refer to all tests tagged `extended` and list chm13.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ljwharbers

Copy link
Copy Markdown
Collaborator Author

Extended-test confirmation (re: the human-reviewer note in the automated review)

All pipeline-level tests, including every extended one, ran on Mindwell against the committed snapshots (nf-test test … --profile debug,test,apptainer, without --update-snapshot), so any snapshot drift would have failed the test.

Test b38fdc7, 29 Oct (jobs 11751500–06) 8f0714a, 2 Nov (array 11765401)
default ✅ 1/1 ✅ 1/1
clair_only (extended) ✅ 1/1 ✅ 1/1
consensus (extended) ✅ 1/1 ✅ 1/1
deep_only (extended) ✅ 1/1 ✅ 1/1
union (extended) ✅ 2/2 ✅ 2/2
chm13 (extended) ✅ 1/1 ✅ 1/1
all small tests ✅ 140/140 ✅ 140/140

git status was clean after every task, so no snapshot was rewritten. The version-string updates in the chm13, clair_only, consensus, deep_only and union snapshots match what the pipeline produces now.

Other checks on 8f0714a: nf-core pipelines lint (tools 4.2.1) passed 237 checks, ignored 22 and reported no warnings or failures; pre-commit run --all-files is clean.

This branch has not been deployed

No deployments
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