Skip to content

Documentation#106

Merged
robert-a-forsyth merged 20 commits into
devfrom
documentation
Nov 28, 2025
Merged

Documentation#106
robert-a-forsyth merged 20 commits into
devfrom
documentation

Conversation

@robert-a-forsyth
Copy link
Copy Markdown
Collaborator

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!
  • If you've added a new tool - have you followed the pipeline conventions in the contribution docs
  • Make sure your code lints (nf-core pipelines lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Check for unexpected warnings in debug mode (nextflow run . -profile debug,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).

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Nov 27, 2025

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

Posted for pipeline commit 2da4897

+| ✅ 177 tests passed       |+
#| ❔  21 tests were ignored |#
!| ❗ 148 tests had warnings |!
Details

❗ Test warnings:

  • readme - README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release).
  • pipeline_todos - TODO string in nextflow.config: Specify your pipeline's command line flags
  • pipeline_todos - TODO string in nextflow.config: Optionally, you can add a pipeline-specific nf-core config at https://github.com/nf-core/configs
  • pipeline_todos - TODO string in nextflow.config: Update the field with the details of the contributors to your pipeline. New with Nextflow version 24.10.0
  • pipeline_todos - TODO string in lint_log.txt: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in lint_log.txt: List additional required output channels/values here
  • pipeline_todos - TODO string in lint_log.txt: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in lint_log.txt: List additional required output channels/values here
  • pipeline_todos - TODO string in lint_log.txt: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in lint_log.txt: List additional required output channels/values here
  • pipeline_todos - TODO string in lint_log.txt: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in lint_log.txt: List additional required output channels/values here
  • pipeline_todos - TODO string in lint_log.txt: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in lint_log.txt: List additional required output channels/values here
  • pipeline_todos - TODO string in lint_log.txt: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in lint_log.txt: List additional required output channels/values here
  • pipeline_todos - TODO string in lint_log.txt: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in lint_log.txt: List additional required output channels/values here
  • pipeline_todos - TODO string in lint_log.txt: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in lint_log.txt: List additional required output channels/values here
  • pipeline_todos - TODO string in README.md: Include a figure that guides the user through the major workflow steps. Many nf-core
  • pipeline_todos - TODO string in README.md: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file.
  • pipeline_todos - TODO string in main.nf: Remove this line if you don't need a FASTA file
  • pipeline_todos - TODO string in base.config: Check the defaults for all processes
  • pipeline_todos - TODO string in base.config: Customise requirements for specific processes.
  • pipeline_todos - TODO string in methods_description_template.yml: #Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline
  • pipeline_todos - TODO string in nextflow.config: Specify any additional parameters here
  • pipeline_todos - TODO string in meta.yml: #Add a description of the module and list keywords
  • pipeline_todos - TODO string in meta.yml: #Add a description and other details for the software below
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example input
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as output
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example output
  • pipeline_todos - TODO string in meta.yml: #Add a description of the module and list keywords
  • pipeline_todos - TODO string in meta.yml: #Add a description and other details for the software below
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example input
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as output
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example output
  • pipeline_todos - TODO string in meta.yml: #Add a description of the module and list keywords
  • pipeline_todos - TODO string in meta.yml: #Add a description and other details for the software below
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example input
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as output
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example output
  • pipeline_todos - TODO string in main.nf: If in doubt look at other nf-core/modules to see how we are doing things! :)
  • pipeline_todos - TODO string in main.nf: A module file SHOULD only define input and output files as command-line parameters.
  • pipeline_todos - TODO string in main.nf: Software that can be piped together SHOULD be added to separate module files
  • pipeline_todos - TODO string in main.nf: Optional inputs are not currently supported by Nextflow. However, using an empty
  • pipeline_todos - TODO string in main.nf: List required Conda package(s).
  • pipeline_todos - TODO string in main.nf: See section in main README for further information regarding finding and adding container addresses to the section below.
  • pipeline_todos - TODO string in main.nf: Where applicable all sample-specific information e.g. "id", "single_end", "read_group"
  • pipeline_todos - TODO string in main.nf: Where applicable please provide/convert compressed files as input/output
  • pipeline_todos - TODO string in main.nf: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in main.nf: List additional required output channels/values here
  • pipeline_todos - TODO string in main.nf: Where possible, a command MUST be provided to obtain the version number of the software e.g. 1.10
  • pipeline_todos - TODO string in main.nf: It MUST be possible to pass additional parameters to the tool as a command-line string via the "task.ext.args" directive
  • pipeline_todos - TODO string in main.nf: If the tool supports multi-threading then you MUST provide the appropriate parameter
  • pipeline_todos - TODO string in main.nf: Please replace the example samtools command below with your module's command
  • pipeline_todos - TODO string in main.nf: Please indent the command appropriately (4 spaces!!) to help with readability ;)
  • pipeline_todos - TODO string in main.nf: A stub section should mimic the execution of the original module as best as possible
  • pipeline_todos - TODO string in meta.yml: #Add a description of the module and list keywords
  • pipeline_todos - TODO string in meta.yml: #Add a description and other details for the software below
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example input
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as output
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example output
  • pipeline_todos - TODO string in main.nf: If in doubt look at other nf-core/modules to see how we are doing things! :)
  • pipeline_todos - TODO string in main.nf: A module file SHOULD only define input and output files as command-line parameters.
  • pipeline_todos - TODO string in main.nf: Software that can be piped together SHOULD be added to separate module files
  • pipeline_todos - TODO string in main.nf: Optional inputs are not currently supported by Nextflow. However, using an empty
  • pipeline_todos - TODO string in main.nf: List required Conda package(s).
  • pipeline_todos - TODO string in main.nf: See section in main README for further information regarding finding and adding container addresses to the section below.
  • pipeline_todos - TODO string in main.nf: Where applicable all sample-specific information e.g. "id", "single_end", "read_group"
  • pipeline_todos - TODO string in main.nf: Where applicable please provide/convert compressed files as input/output
  • pipeline_todos - TODO string in main.nf: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in main.nf: List additional required output channels/values here
  • pipeline_todos - TODO string in main.nf: Where possible, a command MUST be provided to obtain the version number of the software e.g. 1.10
  • pipeline_todos - TODO string in main.nf: It MUST be possible to pass additional parameters to the tool as a command-line string via the "task.ext.args" directive
  • pipeline_todos - TODO string in main.nf: If the tool supports multi-threading then you MUST provide the appropriate parameter
  • pipeline_todos - TODO string in main.nf: Please replace the example samtools command below with your module's command
  • pipeline_todos - TODO string in main.nf: Please indent the command appropriately (4 spaces!!) to help with readability ;)
  • pipeline_todos - TODO string in main.nf: A stub section should mimic the execution of the original module as best as possible
  • pipeline_todos - TODO string in meta.yml: #Add a description of the module and list keywords
  • pipeline_todos - TODO string in meta.yml: #Add a description and other details for the software below
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example input
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as output
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example output
  • pipeline_todos - TODO string in main.nf: If in doubt look at other nf-core/modules to see how we are doing things! :)
  • pipeline_todos - TODO string in main.nf: A module file SHOULD only define input and output files as command-line parameters.
  • pipeline_todos - TODO string in main.nf: Software that can be piped together SHOULD be added to separate module files
  • pipeline_todos - TODO string in main.nf: Optional inputs are not currently supported by Nextflow. However, using an empty
  • pipeline_todos - TODO string in main.nf: List required Conda package(s).
  • pipeline_todos - TODO string in main.nf: See section in main README for further information regarding finding and adding container addresses to the section below.
  • pipeline_todos - TODO string in main.nf: Where applicable all sample-specific information e.g. "id", "single_end", "read_group"
  • pipeline_todos - TODO string in main.nf: Where applicable please provide/convert compressed files as input/output
  • pipeline_todos - TODO string in main.nf: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in main.nf: List additional required output channels/values here
  • pipeline_todos - TODO string in main.nf: Where possible, a command MUST be provided to obtain the version number of the software e.g. 1.10
  • pipeline_todos - TODO string in main.nf: It MUST be possible to pass additional parameters to the tool as a command-line string via the "task.ext.args" directive
  • pipeline_todos - TODO string in main.nf: If the tool supports multi-threading then you MUST provide the appropriate parameter
  • pipeline_todos - TODO string in main.nf: Please replace the example samtools command below with your module's command
  • pipeline_todos - TODO string in main.nf: Please indent the command appropriately (4 spaces!!) to help with readability ;)
  • pipeline_todos - TODO string in main.nf: A stub section should mimic the execution of the original module as best as possible
  • pipeline_todos - TODO string in meta.yml: #Add a description of the module and list keywords
  • pipeline_todos - TODO string in meta.yml: #Add a description and other details for the software below
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example input
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as output
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example output
  • pipeline_todos - TODO string in main.nf: If in doubt look at other nf-core/modules to see how we are doing things! :)
  • pipeline_todos - TODO string in main.nf: A module file SHOULD only define input and output files as command-line parameters.
  • pipeline_todos - TODO string in main.nf: Software that can be piped together SHOULD be added to separate module files
  • pipeline_todos - TODO string in main.nf: Optional inputs are not currently supported by Nextflow. However, using an empty
  • pipeline_todos - TODO string in main.nf: List required Conda package(s).
  • pipeline_todos - TODO string in main.nf: See section in main README for further information regarding finding and adding container addresses to the section below.
  • pipeline_todos - TODO string in main.nf: Where applicable all sample-specific information e.g. "id", "single_end", "read_group"
  • pipeline_todos - TODO string in main.nf: Where applicable please provide/convert compressed files as input/output
  • pipeline_todos - TODO string in main.nf: Named file extensions MUST be emitted for ALL output channels
  • pipeline_todos - TODO string in main.nf: List additional required output channels/values here
  • pipeline_todos - TODO string in main.nf: Where possible, a command MUST be provided to obtain the version number of the software e.g. 1.10
  • pipeline_todos - TODO string in main.nf: It MUST be possible to pass additional parameters to the tool as a command-line string via the "task.ext.args" directive
  • pipeline_todos - TODO string in main.nf: If the tool supports multi-threading then you MUST provide the appropriate parameter
  • pipeline_todos - TODO string in main.nf: Please replace the example samtools command below with your module's command
  • pipeline_todos - TODO string in main.nf: Please indent the command appropriately (4 spaces!!) to help with readability ;)
  • pipeline_todos - TODO string in main.nf: A stub section should mimic the execution of the original module as best as possible
  • pipeline_todos - TODO string in meta.yml: #Add a description of the module and list keywords
  • pipeline_todos - TODO string in meta.yml: #Add a description and other details for the software below
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example input
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as output
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example output
  • pipeline_todos - TODO string in main.nf: If in doubt look at other nf-core/modules to see how we are doing things! :)
  • pipeline_todos - TODO string in main.nf: A module file SHOULD only define input and output files as command-line parameters.
  • pipeline_todos - TODO string in main.nf: Software that can be piped together SHOULD be added to separate module files
  • pipeline_todos - TODO string in main.nf: Optional inputs are not currently supported by Nextflow. However, using an empty
  • pipeline_todos - TODO string in main.nf: A stub section should mimic the execution of the original module as best as possible
  • pipeline_todos - TODO string in meta.yml: #Add a description of the module and list keywords
  • pipeline_todos - TODO string in meta.yml: #Add a description and other details for the software below
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example input
  • pipeline_todos - TODO string in meta.yml: #Add a description of all of the variables used as output
  • pipeline_todos - TODO string in meta.yml: #Delete / customise this example output
  • local_component_structure - tumor_only_happhase.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
  • local_component_structure - prepare_annotation.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
  • local_component_structure - prepare_reference_files.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
  • local_component_structure - tumor_normal_happhase.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure

❔ 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
  • nextflow_config - Config variable ignored: manifest.name
  • nextflow_config - Config variable ignored: manifest.homePage
  • files_unchanged - File ignored due to lint config: CODE_OF_CONDUCT.md
  • files_unchanged - File ignored due to lint config: .github/CONTRIBUTING.md
  • files_unchanged - File ignored due to lint config: .github/ISSUE_TEMPLATE/bug_report.yml
  • files_unchanged - File does not exist: .github/ISSUE_TEMPLATE/config.yml
  • files_unchanged - File ignored due to lint config: .github/PULL_REQUEST_TEMPLATE.md
  • 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
  • schema_params - schema_params

✅ Tests passed:

Run details

  • nf-core/tools version 3.5.1
  • Run at 2025-11-28 10:41:06

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR primarily updates pipeline documentation and dependencies, removes debug code, and makes several configuration and module updates.

Key Changes

  • Updated documentation in docs/usage.md and docs/output.md with comprehensive parameter descriptions and output structure
  • Removed debug .view() calls from workflows/lrsomatic.nf
  • Updated module versions (MultiQC 1.30→1.32, VEP, LongPhase, etc.)
  • Added help message support via nf-schema plugin
  • Updated Nextflow version requirement (24.10.5→25.04.0)

Reviewed changes

Copilot reviewed 49 out of 50 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
workflows/lrsomatic.nf Removed debug .view() statements for cleaner code
docs/usage.md Added comprehensive parameter documentation and usage examples
docs/output.md Complete rewrite with detailed output structure documentation
modules/local/clairs/main.nf Added indel calling flag and haplotagging skip option
subworkflows/nf-core/utils_nfschema_plugin/main.nf Added help message functionality
subworkflows/local/tumor_normal_happhase.nf Added size: 2 to groupTuple() for paired samples
modules.json Updated module versions and git SHAs
nextflow.config Updated minimum Nextflow version requirement
Multiple test files Updated snapshots and test configurations

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

Comment thread docs/usage.md Outdated
//
def softwareVersionsToYAML(ch_versions) {
return ch_versions.unique().map { version -> processVersionsFromYAML(version) }.unique().mix(Channel.of(workflowVersionToYAML()))
return ch_versions.unique().map { version -> processVersionsFromYAML(version) }.unique().mix(channel.of(workflowVersionToYAML()))
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

Incorrect case for channel factory method: channel.of() should be Channel.of() (capital C). The lowercase version is deprecated and may cause issues.

Copilot uses AI. Check for mistakes.
main:

ch_versions = Channel.empty()
ch_versions = channel.empty()
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

Inconsistent casing for channel factory method: should be Channel.empty() (capital C) instead of channel.empty() to match Nextflow conventions and other usages in the codebase.

Copilot uses AI. Check for mistakes.
//

Channel
channel
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

Inconsistent casing for channel factory method: should be Channel.fromList() (capital C) instead of channel.fromList() to match Nextflow conventions and other usages in the codebase.

Copilot uses AI. Check for mistakes.
return[new_meta, [[type: meta.type], hapbam], [[type: meta.type], hapbai]]
}
.groupTuple()
.groupTuple(size: 2)
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

The size: 2 parameter in groupTuple() assumes exactly 2 samples (tumor and normal). This could cause the pipeline to hang or fail if a sample doesn't have both tumor and normal data. Consider adding error handling or documenting this requirement clearly.

Copilot uses AI. Check for mistakes.
Comment thread modules/local/clairs/main.nf Outdated
--normal_bam_fn $normal_bam \\
--ref_fn $reference \\
--threads $task.cpus \\
--enable_indel_calling \\
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

The new flag --haplotagged_tumor_bam_provided_so_skip_intermediate_phasing_and_haplotagging is added without documentation. Consider adding a comment explaining why this flag is needed and what assumptions it makes about the input data.

Suggested change
--enable_indel_calling \\
--enable_indel_calling \\
# The following flag indicates that the input tumor BAM file is already haplotagged.
# This allows the pipeline to skip intermediate phasing and haplotagging steps.
# Assumes that the input BAM is properly haplotagged and suitable for downstream analysis.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Collaborator

@ljwharbers ljwharbers left a comment

Choose a reason for hiding this comment

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

After adding wakhan and multiqc in output description, ready to go.

@robert-a-forsyth robert-a-forsyth merged commit bff2248 into dev Nov 28, 2025
7 checks passed
@robert-a-forsyth robert-a-forsyth deleted the documentation branch November 28, 2025 12:11
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.

4 participants