Skip to content

Conversation

@SaraPotente
Copy link
Collaborator

@SaraPotente SaraPotente commented Feb 5, 2026

Description

After the integration of ichorCNA in the solid_biopsy workflow, with this PR we extend the pipeline by enabling copy number signature quantification from ichorCNA outputs, ensuring compatibility with downstream CIN signature.

Specifically, this PR:

  • Adds a formatting step to standardize ichorCNA segmentation outputs.
  • Selects and renames the required columns to match the expected input format for copy number signature tools.
  • Integrates the new formatting process into the existing solid_biopsy → ichorCNA workflow.

This allows copy number signatures to be computed consistently from ichorCNA results within the solid_biopsy setting.

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).

@SaraPotente SaraPotente requested a review from lbeltrame February 5, 2026 14:18
@github-actions
Copy link

github-actions bot commented Feb 5, 2026

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

Posted for pipeline commit c28f630

+| ✅ 244 tests passed       |+
#| ❔  31 tests were ignored |#
!| ❗   3 tests had warnings |!
Details

❗ Test warnings:

  • pipeline_todos - TODO string in output.md: Write this documentation describing your workflow's output
  • pipeline_todos - TODO string in main.nf.test: Once you have added the required tests, please run the following command to build this file:
  • pipeline_if_empty_null - ifEmpty(null) found in /home/runner/work/samurai/samurai/subworkflows/nf-core/fastq_trim_fastp_fastqc/main.nf: _ versions = ch_versions.ifEmpty(null) // channel: [ path(versions.yml) ]
    _

❔ Tests ignored:

✅ Tests passed:

  • files_exist - File found: .gitattributes
  • files_exist - File found: .gitignore
  • files_exist - File found: .nf-core.yml
  • files_exist - File found: .prettierignore
  • files_exist - File found: .prettierrc.yml
  • files_exist - File found: CHANGELOG.md
  • files_exist - File found: CITATIONS.md
  • files_exist - File found: LICENSE or LICENSE.md or LICENCE or LICENCE.md
  • files_exist - File found: nextflow_schema.json
  • files_exist - File found: nextflow.config
  • files_exist - File found: README.md
  • files_exist - File found: .github/.dockstore.yml
  • files_exist - File found: .github/CONTRIBUTING.md
  • files_exist - File found: .github/ISSUE_TEMPLATE/bug_report.yml
  • files_exist - File found: .github/ISSUE_TEMPLATE/feature_request.yml
  • files_exist - File found: .github/PULL_REQUEST_TEMPLATE.md
  • files_exist - File found: .github/workflows/linting_comment.yml
  • files_exist - File found: .github/workflows/linting.yml
  • files_exist - File found: assets/email_template.html
  • files_exist - File found: assets/email_template.txt
  • files_exist - File found: assets/sendmail_template.txt
  • files_exist - File found: conf/modules.config
  • files_exist - File found: conf/test.config
  • files_exist - File found: conf/test_full.config
  • files_exist - File found: docs/output.md
  • files_exist - File found: docs/README.md
  • files_exist - File found: docs/README.md
  • files_exist - File found: docs/usage.md
  • files_exist - File found: main.nf
  • files_exist - File found: assets/multiqc_config.yml
  • files_exist - File found: conf/base.config
  • files_exist - File found: conf/igenomes.config
  • files_exist - File found: conf/igenomes_ignored.config
  • files_exist - File found: modules.json
  • files_exist - File not found check: .github/ISSUE_TEMPLATE/bug_report.md
  • files_exist - File not found check: .github/ISSUE_TEMPLATE/feature_request.md
  • files_exist - File not found check: .github/workflows/push_dockerhub.yml
  • files_exist - File not found check: .markdownlint.yml
  • files_exist - File not found check: .nf-core.yaml
  • files_exist - File not found check: .yamllint.yml
  • files_exist - File not found check: bin/markdown_to_html.r
  • files_exist - File not found check: conf/aws.config
  • files_exist - File not found check: docs/images/nf-core-samurai_logo.png
  • files_exist - File not found check: lib/Checks.groovy
  • files_exist - File not found check: lib/Completion.groovy
  • files_exist - File not found check: lib/NfcoreTemplate.groovy
  • files_exist - File not found check: lib/Utils.groovy
  • files_exist - File not found check: lib/Workflow.groovy
  • files_exist - File not found check: lib/WorkflowMain.groovy
  • files_exist - File not found check: lib/WorkflowSamurai.groovy
  • files_exist - File not found check: parameters.settings.json
  • files_exist - File not found check: pipeline_template.yml
  • files_exist - File not found check: Singularity
  • files_exist - File not found check: lib/nfcore_external_java_deps.jar
  • files_exist - File not found check: .travis.yml
  • nextflow_config - Found nf-schema plugin
  • nextflow_config - Config variable found: manifest.nextflowVersion
  • nextflow_config - Config variable found: manifest.description
  • nextflow_config - Config variable found: manifest.version
  • nextflow_config - Config variable found: timeline.enabled
  • nextflow_config - Config variable found: trace.enabled
  • nextflow_config - Config variable found: report.enabled
  • nextflow_config - Config variable found: dag.enabled
  • nextflow_config - Config variable found: process.cpus
  • nextflow_config - Config variable found: process.memory
  • nextflow_config - Config variable found: process.time
  • nextflow_config - Config variable found: params.outdir
  • nextflow_config - Config variable found: params.input
  • nextflow_config - Config variable found: manifest.mainScript
  • nextflow_config - Config variable found: timeline.file
  • nextflow_config - Config variable found: trace.file
  • nextflow_config - Config variable found: report.file
  • nextflow_config - Config variable found: dag.file
  • nextflow_config - Config variable (correctly) not found: params.nf_required_version
  • nextflow_config - Config variable (correctly) not found: params.container
  • nextflow_config - Config variable (correctly) not found: params.singleEnd
  • nextflow_config - Config variable (correctly) not found: params.igenomesIgnore
  • nextflow_config - Config variable (correctly) not found: params.name
  • nextflow_config - Config variable (correctly) not found: params.enable_conda
  • nextflow_config - Config variable (correctly) not found: params.max_cpus
  • nextflow_config - Config variable (correctly) not found: params.max_memory
  • nextflow_config - Config variable (correctly) not found: params.max_time
  • nextflow_config - Config variable (correctly) not found: params.validationFailUnrecognisedParams
  • nextflow_config - Config variable (correctly) not found: params.validationLenientMode
  • nextflow_config - Config variable (correctly) not found: params.validationSchemaIgnoreParams
  • nextflow_config - Config variable (correctly) not found: params.validationShowHiddenParams
  • nextflow_config - Config variable (correctly) not found: validation.failUnrecognisedParams
  • nextflow_config - Config variable (correctly) not found: validation.failUnrecognisedHeaders
  • nextflow_config - Config timeline.enabled had correct value: true
  • nextflow_config - Config report.enabled had correct value: true
  • nextflow_config - Config trace.enabled had correct value: true
  • nextflow_config - Config dag.enabled had correct value: true
  • nextflow_config - Config dag.file ended with .html
  • nextflow_config - Config variable manifest.nextflowVersion started with >= or !>=
  • nextflow_config - Config manifest.version does not contain dev for release: 1.4.0
  • nextflow_config - Config params.custom_config_version is set to master
  • nextflow_config - Config params.custom_config_base is set to https://raw.githubusercontent.com/nf-core/configs/master
  • nextflow_config - Lines for loading custom profiles found
  • nextflow_config - nextflow.config contains configuration profile test
  • nextflow_config - Config default value correct: params.genome= hg38
  • nextflow_config - Config default value correct: params.igenomes_base= s3://ngi-igenomes/igenomes
  • nextflow_config - Config default value correct: params.custom_config_version= master
  • nextflow_config - Config default value correct: params.custom_config_base= https://raw.githubusercontent.com/nf-core/configs/master
  • nextflow_config - Config default value correct: params.publish_dir_mode= copy
  • nextflow_config - Config default value correct: params.max_multiqc_email_size= 25.MB
  • nextflow_config - Config default value correct: params.validate_params= true
  • nextflow_config - Config default value correct: params.purity= 1
  • nextflow_config - Config default value correct: params.title= Fragment size distribution
  • nextflow_config - Config default value correct: params.max_fragmentsize= 400
  • nextflow_config - Config default value correct: params.binsize= 500
  • nextflow_config - Config default value correct: params.caller= qdnaseq
  • nextflow_config - Config default value correct: params.analysis_type= solid_biopsy
  • nextflow_config - Config default value correct: params.qdnaseq_paired_ends= true
  • nextflow_config - Config default value correct: params.pon_name= PoN
  • nextflow_config - Config default value correct: params.selection_maxsize= 150
  • nextflow_config - Config default value correct: params.ichorcna_genome_style= UCSC
  • nextflow_config - Config default value correct: params.ichorcna_readcounter_chrs= chr1,chr2,chr3,chr4,chr5,chr6,chr7,chr8,chr9,chr10,chr11,chr12,chr13,chr14,chr15,chr16,chr17,chr18,chr19,chr20,chr21,chr22
  • nextflow_config - Config default value correct: params.ichorcna_readcounter_quality= 20
  • nextflow_config - Config default value correct: params.ichorcna_chrs_to_use= 1:22
  • nextflow_config - Config default value correct: params.ichorcna_chrs_to_train= 1:22
  • nextflow_config - Config default value correct: params.ichorcna_chrs_to_normalize= 1:22
  • nextflow_config - Config default value correct: params.ichorcna_estimate_normal= true
  • nextflow_config - Config default value correct: params.ichorcna_fraction_reads_male= 0.001
  • nextflow_config - Config default value correct: params.ichorcna_male_chrX_logR= 0.3
  • nextflow_config - Config default value correct: params.ichorcna_min_map_score= 0.75
  • nextflow_config - Config default value correct: params.ichorcna_max_frac_genome_subclone= 0.5
  • nextflow_config - Config default value correct: params.ichorcna_max_frac_cna_subclone= 0.7
  • nextflow_config - Config default value correct: params.ichorcna_min_segment_bins= 50
  • nextflow_config - Config default value correct: params.ichorcna_max_cn= 5
  • nextflow_config - Config default value correct: params.ichorcna_txne= 0.9999
  • nextflow_config - Config default value correct: params.ichorcna_alt_frac_threshold= 0.05
  • nextflow_config - Config default value correct: params.ichorcna_trx_strength= 10000
  • nextflow_config - Config default value correct: params.ichorcna_plotfiletype= pdf
  • nextflow_config - Config default value correct: params.ichorcna_plotylim= -2,4
  • nextflow_config - Config default value correct: params.ichorcna_estimate_ploidy= true
  • nextflow_config - Config default value correct: params.ichorcna_normal_states= 0.5, 0.6, 0.7, 0.8, 0.9, 0.95, 0.99
  • nextflow_config - Config default value correct: params.wisecondorx_yfrac= 0.4
  • nextflow_config - Config default value correct: params.wisecondorx_zscore= 5
  • nextflow_config - Config default value correct: params.ascat_sc_predict_refit= TRUE
  • nextflow_config - Config default value correct: params.ascat_sc_segmentation_alpha= 0.01
  • nextflow_config - Config default value correct: params.ascat_sc_min_purity= 0.01
  • nextflow_config - Config default value correct: params.ascat_sc_max_purity= 1
  • nextflow_config - Config default value correct: params.ascat_sc_min_ploidy= 1.7
  • nextflow_config - Config default value correct: params.ascat_sc_max_ploidy= 5
  • nextflow_config - Config default value correct: params.ascat_sc_max_tumor_ploidy= 5
  • nextflow_config - Config default value correct: params.gistic_t_amp= 0.1
  • nextflow_config - Config default value correct: params.gistic_t_del= 0.1
  • nextflow_config - Config default value correct: params.gistic_conf= 0.99
  • nextflow_config - Config default value correct: params.gistic_qval= 0.05
  • nextflow_config - Config default value correct: params.gistic_broad_chr_length= 0.99
  • nextflow_config - Config default value correct: params.gistic_cn_cap= 6
  • nextflow_config - Config default value correct: params.fastp_cut_window_size= 4
  • nextflow_config - Config default value correct: params.hrdcna_threshold= 0.2
  • nf_test_content - 'tests/nextflow.config' contains modules_testdata_base_path
  • nf_test_content - 'tests/nextflow.config' contains pipelines_testdata_base_path
  • nf_test_content - 'nf-test.config' sets a testsDir
  • nf_test_content - 'nf-test.config' sets a workDir
  • nf_test_content - 'nf-test.config' sets a configFile
  • files_unchanged - .gitattributes matches the template
  • files_unchanged - .prettierrc.yml matches the template
  • files_unchanged - LICENSE matches the template
  • files_unchanged - .github/.dockstore.yml matches the template
  • files_unchanged - .github/CONTRIBUTING.md matches the template
  • files_unchanged - .github/ISSUE_TEMPLATE/bug_report.yml matches the template
  • files_unchanged - .github/ISSUE_TEMPLATE/feature_request.yml matches the template
  • files_unchanged - .github/PULL_REQUEST_TEMPLATE.md matches the template
  • files_unchanged - .github/workflows/linting_comment.yml matches the template
  • files_unchanged - .github/workflows/linting.yml matches the template
  • files_unchanged - assets/email_template.html matches the template
  • files_unchanged - assets/email_template.txt matches the template
  • files_unchanged - assets/sendmail_template.txt matches the template
  • files_unchanged - docs/README.md matches the template
  • readme - README Zenodo placeholder was replaced with DOI.
  • plugin_includes - No wrong validation plugin imports have been found
  • pipeline_name_conventions - Name adheres to nf-core convention
  • template_strings - Did not find any Jinja template strings (0 files)
  • schema_lint - Schema lint passed
  • schema_lint - Schema title + description lint passed
  • schema_lint - Input mimetype lint passed: 'text/csv'
  • system_exit - No System.exit calls found
  • actions_schema_validation - Workflow validation passed: ci.yml
  • actions_schema_validation - Workflow validation passed: linting.yml
  • actions_schema_validation - Workflow validation passed: linting_comment.yml
  • actions_schema_validation - Workflow validation passed: fix-linting.yml
  • merge_markers - No merge markers found in pipeline files
  • modules_json - Only installed modules found in modules.json
  • multiqc_config - assets/multiqc_config.yml found and not ignored.
  • multiqc_config - assets/multiqc_config.yml contains report_section_order
  • multiqc_config - assets/multiqc_config.yml contains export_plots
  • multiqc_config - assets/multiqc_config.yml contains report_comment
  • multiqc_config - assets/multiqc_config.yml follows the ordering scheme of the minimally required plugins.
  • multiqc_config - assets/multiqc_config.yml contains 'export_plots: true'.
  • modules_structure - modules directory structure is correct 'modules/nf-core/TOOL/SUBTOOL'
  • local_component_structure - local subworkflows directory structure is correct 'subworkflows/local/TOOL/SUBTOOL'
  • base_config - conf/base.config found and not ignored.
  • modules_config - conf/modules.config found and not ignored.
  • modules_config - FASTQC found in conf/modules.config and Nextflow scripts.
  • modules_config - FASTP found in conf/modules.config and Nextflow scripts.
  • modules_config - BWA_INDEX found in conf/modules.config and Nextflow scripts.
  • modules_config - BWA_MEM found in conf/modules.config and Nextflow scripts.
  • modules_config - BWAMEM2_INDEX found in conf/modules.config and Nextflow scripts.
  • modules_config - BWAMEM2_MEM found in conf/modules.config and Nextflow scripts.
  • modules_config - PICARD_MARKDUPLICATES found in conf/modules.config and Nextflow scripts.
  • modules_config - SAMTOOLS_INDEX found in conf/modules.config and Nextflow scripts.
  • modules_config - SAMTOOLS_IDXSTATS found in conf/modules.config and Nextflow scripts.
  • modules_config - SAMTOOLS_FLAGSTAT found in conf/modules.config and Nextflow scripts.
  • modules_config - SAMTOOLS_STATS found in conf/modules.config and Nextflow scripts.
  • modules_config - SAMTOOLS_VIEW found in conf/modules.config and Nextflow scripts.
  • modules_config - SAMTOOLS_INDEX_SIZE_SELECTION found in conf/modules.config and Nextflow scripts.
  • modules_config - SAMTOOLS_STATS_PRE found in conf/modules.config and Nextflow scripts.
  • modules_config - SAMTOOLS_STATS_POST found in conf/modules.config and Nextflow scripts.
  • modules_config - BAMPE_FRAGMENTSIZE_PRE found in conf/modules.config and Nextflow scripts.
  • modules_config - BAMPE_FRAGMENTSIZE_POST found in conf/modules.config and Nextflow scripts.
  • modules_config - QDNASEQ found in conf/modules.config and Nextflow scripts.
  • modules_config - CREATE_QDNASEQ_SUMMARY found in conf/modules.config and Nextflow scripts.
  • modules_config - HMMCOPY_READCOUNTER_ICHORCNA found in conf/modules.config and Nextflow scripts.
  • modules_config - HMMCOPY_READCOUNTER_PON found in conf/modules.config and Nextflow scripts.
  • modules_config - ICHORCNA_CREATEPON found in conf/modules.config and Nextflow scripts.
  • modules_config - ICHORCNA_RUN found in conf/modules.config and Nextflow scripts.
  • modules_config - AGGREGATE_ICHORCNA_TABLE found in conf/modules.config and Nextflow scripts.
  • modules_config - CORRECT_LOGR_ICHORCNA found in conf/modules.config and Nextflow scripts.
  • modules_config - PLOT_ICHORCNA found in conf/modules.config and Nextflow scripts.
  • modules_config - FORMAT_ICHORCNA_SEG found in conf/modules.config and Nextflow scripts.
  • modules_config - CONCATENATE_QDNASEQ_PLOTS found in conf/modules.config and Nextflow scripts.
  • modules_config - NORMAL_CONVERT found in conf/modules.config and Nextflow scripts.
  • modules_config - WISECONDORX_CONVERT found in conf/modules.config and Nextflow scripts.
  • modules_config - WISECONDORX_NEWREF found in conf/modules.config and Nextflow scripts.
  • modules_config - WISECONDORX_PREDICT found in conf/modules.config and Nextflow scripts.
  • modules_config - CONVERT_GISTIC_SEG found in conf/modules.config and Nextflow scripts.
  • modules_config - ASSEMBLE_WISECONDORX_OUTPUTS found in conf/modules.config and Nextflow scripts.
  • modules_config - CONVERT_WISECONDORX_IMAGES found in conf/modules.config and Nextflow scripts.
  • modules_config - ASCAT_SC found in conf/modules.config and Nextflow scripts.
  • modules_config - CONCATENATE_BIN_PLOTS found in conf/modules.config and Nextflow scripts.
  • modules_config - CONCATENATE_ASCATSC_PLOTS found in conf/modules.config and Nextflow scripts.
  • modules_config - CONCATENATE_ASCATSC_REFITTED_PLOTS found in conf/modules.config and Nextflow scripts.
  • modules_config - CREATE_ASCATSC_SUMMARY found in conf/modules.config and Nextflow scripts.
  • modules_config - CIN_SIGNATURE_QUANTIFICATION found in conf/modules.config and Nextflow scripts.
  • modules_config - HRDCNA found in conf/modules.config and Nextflow scripts.
  • modules_config - GISTIC2 found in conf/modules.config and Nextflow scripts.
  • modules_config - ASSEMBLE_GISTIC_OUTPUT found in conf/modules.config and Nextflow scripts.
  • modules_config - MAFTOOLS found in conf/modules.config and Nextflow scripts.
  • nfcore_yml - Repository type in .nf-core.yml is valid: pipeline
  • nfcore_yml - nf-core version in .nf-core.yml is set to the latest version: 3.4.1
  • version_consistency - Version tags are consistent: manifest.version = 1.4.0, nfcore_yml.version = 1.4.0

Run details

  • nf-core/tools version 3.4.1
  • Run at 2026-02-05 14:19:51

@lbeltrame lbeltrame merged commit 91da9b9 into master Feb 5, 2026
4 checks passed
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.

2 participants