Skip to content

feat: add oncoanaliser+oncorefiner cascade - #1

Draft
beatrizsavinhas wants to merge 141 commits into
devfrom
add-cascade
Draft

feat: add oncoanaliser+oncorefiner cascade#1
beatrizsavinhas wants to merge 141 commits into
devfrom
add-cascade

Conversation

@beatrizsavinhas

@beatrizsavinhas beatrizsavinhas commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Closes https://github.com/Clinical-Genomics/MTP-oncoflow/issues/10.


Summary

Input:

  • 1 params file - containing metadata, oncoanalyser and oncorefiner parameters
  • 1 config file - with configurations for all processes, including the processes in oncoanalyser and oncorefiner

Processes:

  • CREATE_ONCOANALYSER_PARAMS_FILE
  • NFCORE_ONCOANALYSER (running forked version Clinical-Genomics/oncoanalyser*)
  • CREATE_ONCOREFINER_PARAMS_FILE
  • CLINICAL_GENOMICS_ONCOREFINER

The cascade handles the logic of creating the params files for oncoanalyser and oncorefiner and propagate the oncoflow config file for all run pipelines.

Default test runs all pipelines in stub mode:

  • Clinical-Genomics/oncoanalyser revision 2.2.0-with-purple-tbi-fix
  • Clinical-genomics/oncorefiner revision dev

Output:

"oncoanalyser",
"oncoanalyser/oncoanalyser_params.yaml",
"oncoanalyser/results/*",
"oncorefiner",
"oncorefiner/oncorefiner_params.yaml",
"oncorefiner/results",
"pipeline_info",
"pipeline_info/oncoflow_software_versions.yml"

Includes PRs:

Based on https://github.com/mahesh-panchal/nf-cascade/wiki/Guided-Example-%E2%80%90-Nf%E2%80%90core-style-workflow.


⚠️ TODO: Update below when the branch is ready for review! ⚠️

Added

  • NEXTFLOW_RUN local module based on mahesh-panchal/nf-cascade.
  • NFCORE_ONCOANALYSER module using NEXTFLOW_RUN to ONCOFLOW workflow.
  • Input parameters for running oncoanalyser:
    • oncoanalyser_config
    • oncoanalyser_nextflow_opts
    • oncoanalyser_params_file
    • oncoanalyser_samplesheet
  • CREATE_ONCOREFINER_PARAMS_FILE local module.
  • Input metadata parameters:
    • case_id
    • sample_id_tumor
    • sample_id_normal
    • subject_id
    • sex
  • CREATE_ONCOREFINER_PARAMS_FILE module to ONCOFLOW workflow.

Changed

  • Updated .nftignore to ignore pipeline_info and multiqc files for all pipelines.
  • Updated .nftignore to ignore gzipped output files from oncoanalyser due to Stub blocks for several modules that output gzipped files have incorrect syntax nf-core/oncoanalyser#299.
  • Updated .nftignore to ignore *.command.* output files from oncoanalyser since several files include the run directory and platform information which changes for each run and therefore cannot be snapshot.
  • Changed default test to not capture pipeline_info files for all pipelines.

Fixed

Removed

@beatrizsavinhas
beatrizsavinhas requested a review from a team as a code owner June 24, 2026 14:21
@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown

PR checklist

  • Fill in description of the PR and link to any relevant issues.
  • If you've fixed a bug, added a subworkflow or any other code that should be tested, add tests!
  • If you've added a new tool, update citations according to the instructions under Adding Citations.
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • README.md is updated (including authors/contributors).

See Contributing Guidelines for more details on how to contribute according to pipeline conventions.

@beatrizsavinhas
beatrizsavinhas marked this pull request as draft June 24, 2026 14:22
@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown

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

Posted for pipeline commit 373fd5d

+| ✅ 161 tests passed       |+
#| ❔  27 tests were ignored |#
!| ❗  23 tests had warnings |!
Details

❗ Test warnings:

  • files_exist - File not found: assets/multiqc_config.yml
  • readme - README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release).
  • pipeline_todos - TODO string in README.md: TODO nf-core:
  • 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: Fill in short bullet-pointed list of the default steps in the pipeline
  • pipeline_todos - TODO string in README.md: Describe the minimum required steps to execute the pipeline, e.g. how to prepare samplesheets.
  • pipeline_todos - TODO string in README.md: update the following command to include all required parameters for a minimal example
  • pipeline_todos - TODO string in README.md: If applicable, make list of people who have also contributed
  • 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 README.md: Add bibliography of tools and data used in your pipeline
  • 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 main.nf: Optionally add in-text citation tools to this list.
  • pipeline_todos - TODO string in main.nf: Optionally add bibliographic entries to this list.
  • pipeline_todos - TODO string in main.nf: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
  • pipeline_todos - TODO string in usage.md: Add documentation about anything specific to running your pipeline. For general topics, please point to (and add to) the main nf-core website.
  • pipeline_todos - TODO string in output.md: Write this documentation describing your workflow's output
  • pipeline_todos - TODO string in nextflow.config: Specify any additional parameters here
  • pipeline_todos - TODO string in test_full.config: Specify the paths to your full test data ( on nf-core/test-datasets or directly in repositories, e.g. SRA)
  • pipeline_todos - TODO string in test_full.config: Give any required params for the test so that command line flags are not needed
  • 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.
  • schema_lint - Parameter input not found in schema

❔ Tests ignored:

✅ Tests passed:

Run details

  • nf-core/tools version 4.0.2
  • Run at 2026-07-10 10:44:23

beatrizsavinhas and others added 30 commits July 7, 2026 09:30
Co-authored-by: Felix Lenner <52530259+fellen31@users.noreply.github.com>
### Added

- `NFCORE_ONCOANALYSER` module using `NEXTFLOW_RUN` to main workflow.
- Input parameters for running `oncoanalyser`:
	- `oncoanalyser_config`
	- `oncoanalyser_nextflow_opts`
	- `oncoanalyser_params_file`
	- `oncoanalyser_samplesheet`

### Changed

- Updated `.nftignore` to ignore `pipeline_info` and `multiqc` files for
all pipelines.
- Updated `.nftignore` to ignore gzipped output files from
`oncoanalyser` due to
nf-core/oncoanalyser#299.
- Updated `.nftignore` to ignore `*.command.*` output files from
`oncoanalyser` since several files include the run directory and
platform information which changes for each run and therefore cannot be
snapshot.
- Changed default test to not capture `pipeline_info` files for all
pipelines.
…#6)

### Changed

- Update test comment related to
`clean_oncorefiner_params_file_content`.
…nalysis (#7)

### Fixed

- `CREATE_ONCOREFINER_PARAMS_FILE` to:
	- add support for tumor only analysis.
	- fix bug in `bam/bai_tumor` file path.
…yser` (#8)

Due to bug nf-core/oncoanalyser#301, purple
output `tbi` are not produced by `oncoanalyser` when run in stub. These
files are expected by `oncorefiner` which would lead the tests to fail.

I have created a forked version
https://github.com/Clinical-Genomics/oncoanalyser with branch
`2.2.0-with-purple-tbi-fix` that includes a fix for this bug. Version
`2.2.0` was the one used for test runs on hasta, so this PR also changes
the version used to match this.

When `nf-core/oncoanalyser` is patched, we can revert these changes to
run the updated official release of the pipeline - see
Clinical-Genomics/MTP-oncoflow#102.

### Changed

- `NFCORE_ONCOANALYSER` to run forked fixed version
`Clinical-Genomics/oncoanalyser `.
- test config to run the above with revision
`2.2.0-with-purple-tbi-fix`.
### Added

- `NFCORE_ONCOREFINER` module using `NEXTFLOW_RUN` to `ONCOFLOW`
workflow.
- Input parameters for running `oncorefiner`:
	- `oncorefiner_config`
	- `oncorefiner_nextflow_opts`

### Changed

- Updated `.nftignore` to ignore `vep` output files from `oncorefiner` -
see
https://github.com/Clinical-Genomics/oncorefiner/blob/f3b47fd369738465684ebaf62f04c44989d0cde6/tests/.nftignore#L12.
### Added

- `getOncorefinerParamsList` function to produce the list of parameters
necessary for the oncorefiner params file.

### Changed

- Generalised `CREATE_PARAMS_FILE` local modules to generate params
files for any pipeline.
- Call `CREATE_ONCOREFINER_PARAMS_FILE` using `CREATE_PARAMS_FILE` to
`ONCOFLOW` workflow.
This PR uses the `CREATE_PARAMS_FILE` module to generate a params file
for `oncoanalyser` so that `oncoflow` can receive only 1 params file and
independently start all included pipelines.

### Added

- `CREATE_ONCOANALYSER_PARAMS_FILE` using `CREATE_PARAMS_FILE` to
`ONCOFLOW` workflow.
- `getOncoanalyserParamsList` function to produce the list of parameters
necessary for `CREATE_ONCOANALYSER_PARAMS_FILE`.

- Added input parameters `oncoanalyser_create_stub_placeholders`,
`oncoanalyser_genome` and `oncoanalyser_mode` necessary for creating the
`oncoanalyser` params file using the `CREATE_ONCOANALYSER_PARAMS_FILE`
local module.

### Changed

- Removed `oncoanalyser_params_file` input parameter.
From
https://github.com/mahesh-panchal/nf-cascade/wiki/Guided-Example-%E2%80%90-Nf%E2%80%90core-style-workflow:
"Lastly, create a nextflow.config and add process.errorStrategy =
'finish'. Without this, if a pipeline errors, any concurrently running
workflows will be killed immediately leaving a nextflow lock file in
place preventing the workflow from resuming."

### Changed

- Set `process.errorStrategy = 'finish'` for all processes.
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