Skip to content

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

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

ljwharbers wants to merge 2 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
"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."

Comment thread docs/CONTRIBUTING.md
- [ ] 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.

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.

@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

Copy link
Copy Markdown

nf-core pipelines lint overall result: Passed ✅

Posted for pipeline commit d038cf9

+| ✅ 236 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-10-29 13:25:13

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