chipseq icon indicating copy to clipboard operation
chipseq copied to clipboard

Implement nf-schema in pipeline

Open edmundmiller opened this issue 6 months ago • 2 comments

The pipeline's sample sheet validation was fully migrated to nf-schema, replacing a custom Python script.

Key changes include:

  • assets/schema_input.json was updated to:
    • Implement comprehensive regex patterns for sample, antibody, and control fields.
    • Enforce antibody/control dependencies using dependentRequired.
    • Add minimum: 1 constraint for replicate IDs.
  • The custom Python validation script bin/check_samplesheet.py and its Nextflow wrapper modules/local/samplesheet_check.nf were removed.
  • subworkflows/local/utils_nfcore_chipseq_pipeline/main.nf gained a validateSamplesheetRow() function to preserve pre-nf-schema logic, including space replacement warnings and single_end computation.
  • subworkflows/local/input_check.nf was simplified, removing its dependency on the Python script and now directly processing pre-validated samplesheet data.
  • main.nf and workflows/chipseq.nf were updated to use the PIPELINE_INITIALISATION.out.samplesheet channel, reflecting the new validation flow.

Subsequently, only nf-test related artifacts were removed, including nextflow and nf-test executables, and all .nf-test/ directories, while preserving all nf-schema implementation changes.

edmundmiller avatar Jul 01 '25 13:07 edmundmiller

[!WARNING] Newer version of the nf-core template is available.

Your pipeline is using an old version of the nf-core template: 3.2.1. Please update your pipeline to the latest version.

For more documentation on how to update your pipeline, please see the nf-core documentation and Synchronisation documentation.

nf-core-bot avatar Jul 01 '25 13:07 nf-core-bot

nf-core pipelines lint overall result: Failed :x:

Posted for pipeline commit c1c8dd6

+| ✅ 268 tests passed       |+
#| ❔   2 tests were ignored |#
!| ❗  31 tests had warnings |!
-| ❌   1 tests failed       |-

:x: Test failures:

  • modules_config - conf/modules.config contains withName:SAMPLESHEET_CHECK, but the corresponding process is not present in any of the Nextflow scripts.

:heavy_exclamation_mark: Test warnings:

  • 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 base.config: Check the defaults for all 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 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_if_empty_null - ifEmpty(null) found in prepare_genome.nf: _ versions = ch_versions.ifEmpty(null) // channel: [ versions.yml ] _
  • pipeline_if_empty_null - ifEmpty(null) found in main.nf: _ versions = ch_versions.ifEmpty(null) // channel: [ versions.yml ] _
  • local_component_structure - igv.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - star_align.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - gtf2bed.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - macs3_consensus.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - bam_remove_orphans.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - plot_homer_annotatepeaks.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - genome_blacklist_regions.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - multiqc.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - plot_macs3_qc.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - multiqc_custom_phantompeakqualtools.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - bamtools_filter.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - multiqc_custom_peaks.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - deseq2_qc.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - star_genomegenerate.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - annotate_boolean_peaks.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - frip_score.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
  • local_component_structure - bam_peaks_call_qc_annotate_macs3_homer.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
  • local_component_structure - bed_consensus_quantify_qc_bedtools_featurecounts_deseq2.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
  • local_component_structure - bam_filter_bamtools.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
  • local_component_structure - prepare_genome.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
  • local_component_structure - bam_bedgraph_bigwig_bedtools_ucsc.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
  • local_component_structure - align_star.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure

:grey_question: Tests ignored:

  • nextflow_config - Config default ignored: params.bamtools_filter_pe_config
  • nextflow_config - Config default ignored: params.bamtools_filter_se_config

:white_check_mark: Tests passed:

Run details

  • nf-core/tools version 3.3.2
  • Run at 2025-09-19 14:59:59

github-actions[bot] avatar Jul 01 '25 13:07 github-actions[bot]