nf-core / nf-core/tools

Make `utils_nfcore_<pipeline>_pipeline` subworkflow nf-core linting compliant or don't lint file

Open
#4,157 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug linting
Dominant language
Python
Stars
322
Forks
255
Avg merge
2d 3h
Merged PRs (30d)
5

Description

Description of the bug

We should ensure that everything in the pipeline template is nf-core/tools linting compliant.

Currently, the local subworklow that comes with the template: utils_nfcore_<pipeline>_pipeline, violates multple linting rules, mainly:

  • main_nf_include_versions (presumably will disappear once topics transition completed)
  • meta_yml_exists

Meaning every pipeline gets warnings over something that a developer did not explicitly install.

We should either make a meta.yml file and/or add versions, or exclude the local subworkflow from all subworkflow linting.

Command used and terminal output
james@bionb103:~/git/nf-core/taxprofiler (local-subwf-nf-core-ling-compliance-yaml)$ nf-core pipelines lint


                                          ,--./,-.
          ___     __   __   __   ___     /,-._.--~\ 
    |\ | |__  __ /  ` /  \ |__) |__         }  {
    | \| |       \__, \__/ |  \ |___     \`-._,-`-,
                                          `._,._,'

    nf-core/tools version 3.5.2 - https://nf-co.re


INFO     Testing pipeline: .                                                                                                                                                                    
Running lint checks ━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4 of 27 » files_unchangedINFO     Saving metadata file to '/tmp/tmpi6_jq06h/nf-core-taxprofiler'                                                                                                                         

╭─ [?] 3 Pipeline Tests Ignored ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                                                                                                                              │
│ files_exist: File is ignored: conf/igenomes.config                                                                                                                                           │
│ files_exist: File is ignored: conf/igenomes_ignored.config                                                                                                                                   │
│ files_unchanged: File ignored due to lint config: .github/PULL_REQUEST_TEMPLATE.md                                                                                                           │
│                                                                                                                                                                                              │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

╭─ [!] 57 Module Test Warnings ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                 ╷                                                ╷                                                                                                           │
│ Module name                     │ File path                                      │ Test message                                                                                              │
│╶────────────────────────────────┼────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────╴│
│ adapterremoval                  │ modules/nf-core/adapterremoval                 │ module_version: New version available                                                                     │
│ bbmap/bbduk                     │ modules/nf-core/bbmap/bbduk                    │ module_version: New version available                                                                     │
│ bowtie2/align                   │ modules/nf-core/bowtie2/align                  │ module_version: New version available                                                                     │
│ bowtie2/build                   │ modules/nf-core/bowtie2/build                  │ module_version: New version available                                                                     │
│ bracken/bracken                 │ modules/nf-core/bracken/bracken                │ module_version: New version available                                                                     │
│ bracken/combinebrackenoutputs   │ modules/nf-core/bracken/combinebrackenoutputs  │ module_version: New version available                                                                     │
│ cat/fastq                       │ modules/nf-core/cat/fastq                      │ module_version: New version available                                                                     │
│ centrifuge/centrifuge           │ modules/nf-core/centrifuge/centrifuge          │ module_version: New version available                                                                     │
│ centrifuge/kreport              │ modules/nf-core/centrifuge/kreport             │ module_version: New version available                                                                     │
│ diamond/blastx                  │ modules/nf-core/diamond/blastx                 │ module_version: New version available                                                                     │
│ falco                           │ modules/nf-core/falco                          │ module_version: New version available                                                                     │
│ fastp                           │ modules/nf-core/fastp                          │ module_version: New version available                                                                     │
│ fastqc                          │ modules/nf-core/fastqc                         │ module_version: New version available                                                                     │
│ filtlong                        │ modules/nf-core/filtlong                       │ module_version: New version available                                                                     │
│ ganon/classify                  │ modules/nf-core/ganon/classify                 │ module_version: New version available                                                                     │
│ ganon/report                    │ modules/nf-core/ganon/report                   │ module_version: New version available                                                                     │
│ ganon/table                     │ modules/nf-core/ganon/table                    │ module_version: New version available                                                                     │
│ gunzip                          │ modules/nf-core/gunzip                         │ module_version: New version available                                                                     │
│ kaiju/kaiju                     │ modules/nf-core/kaiju/kaiju                    │ module_version: New version available                                                                     │
│ kaiju/kaiju2krona               │ modules/nf-core/kaiju/kaiju2krona              │ module_version: New version available                                                                     │
│ kaiju/kaiju2table               │ modules/nf-core/kaiju/kaiju2table              │ module_version: New version available                                                                     │
│ kmcp/profile                    │ modules/nf-core/kmcp/profile                   │ module_version: New version available                                                                     │
│ kmcp/search                     │ modules/nf-core/kmcp/search                    │ module_version: New version available                                                                     │
│ kraken2/kraken2                 │ modules/nf-core/kraken2/kraken2                │ module_version: New version available                                                                     │
│ krakentools/combinekreports     │ modules/nf-core/krakentools/combinekreports    │ module_version: New version available                                                                     │
│ krakentools/kreport2krona       │ modules/nf-core/krakentools/kreport2krona      │ module_version: New version available                                                                     │
│ krona/ktimporttaxonomy          │ modules/nf-core/krona/ktimporttaxonomy         │ module_version: New version available                                                                     │
│ krona/ktimporttext              │ modules/nf-core/krona/ktimporttext             │ module_version: New version available                                                                     │
│ malt/run                        │ modules/nf-core/malt/run                       │ module_version: New version available                                                                     │
│ megan/rma2info                  │ modules/nf-core/megan/rma2info                 │ module_version: New version available                                                                     │
│ melon                           │ modules/nf-core/melon                          │ module_version: New version available                                                                     │
│ metacache/query                 │ modules/nf-core/metacache/query                │ module_version: New version available                                                                     │
│ metaphlan/mergemetaphlantables  │ modules/nf-core/metaphlan/mergemetaphlantables │ module_version: New version available                                                                     │
│ metaphlan/metaphlan             │ modules/nf-core/metaphlan/metaphlan            │ module_version: New version available                                                                     │
│ minimap2/align                  │ modules/nf-core/minimap2/align                 │ module_version: New version available                                                                     │
│ minimap2/index                  │ modules/nf-core/minimap2/index                 │ module_version: New version available                                                                     │
│ motus/merge                     │ modules/nf-core/motus/merge                    │ module_version: New version available                                                                     │
│ motus/preplong                  │ modules/nf-core/motus/preplong                 │ module_version: New version available                                                                     │
│ motus/profile                   │ modules/nf-core/motus/profile                  │ module_version: New version available                                                                     │
│ multiqc                         │ modules/nf-core/multiqc                        │ module_version: New version available                                                                     │
│ nanoq                           │ modules/nf-core/nanoq                          │ module_version: New version available                                                                     │
│ nonpareil/curve                 │ modules/nf-core/nonpareil/curve                │ module_version: New version available                                                                     │
│ nonpareil/nonpareil             │ modules/nf-core/nonpareil/nonpareil            │ module_version: New version available                                                                     │
│ nonpareil/nonpareilcurvesr      │ modules/nf-core/nonpareil/nonpareilcurvesr     │ module_version: New version available                                                                     │
│ nonpareil/set                   │ modules/nf-core/nonpareil/set                  │ module_version: New version available                                                                     │
│ porechop/abi                    │ modules/nf-core/porechop/abi                   │ module_version: New version available                                                                     │
│ porechop/porechop               │ modules/nf-core/porechop/porechop              │ module_version: New version available                                                                     │
│ samtools/fastq                  │ modules/nf-core/samtools/fastq                 │ module_version: New version available                                                                     │
│ samtools/index                  │ modules/nf-core/samtools/index                 │ module_version: New version available                                                                     │
│ samtools/stats                  │ modules/nf-core/samtools/stats                 │ module_version: New version available                                                                     │
│ samtools/view                   │ modules/nf-core/samtools/view                  │ module_version: New version available                                                                     │
│ sylph/profile                   │ modules/nf-core/sylph/profile                  │ module_version: New version available                                                                     │
│ sylphtax/merge                  │ modules/nf-core/sylphtax/merge                 │ module_version: New version available                                                                     │
│ sylphtax/taxprof                │ modules/nf-core/sylphtax/taxprof               │ module_version: New version available                                                                     │
│ taxpasta/merge                  │ modules/nf-core/taxpasta/merge                 │ module_version: New version available                                                                     │
│ taxpasta/standardise            │ modules/nf-core/taxpasta/standardise           │ module_version: New version available                                                                     │
│ untar                           │ modules/nf-core/untar                          │ module_version: New version available                                                                     │
│                                 ╵                                                ╵                                                                                                           │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

╭─ [!] 14 Subworkflow Test Warnings ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                    ╷                                                               ╷                                                                                         │
│ Subworkflow name                   │ File path                                                     │ Test message                                                                            │
│╶───────────────────────────────────┼───────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────╴│
│ utils_nfcore_taxprofiler_pipeline  │ subworkflows/local/utils_nfcore_taxprofiler_pipeline/main.nf  │ main_nf_include_used: Included component 'paramsHelp' not used in main.nf               │
│ longread_hostremoval               │ subworkflows/local/longread_hostremoval/main.nf               │ main_nf_include_versions: Included component 'SAMTOOLS_STATS' versions are not added in │
│                                    │                                                               │ main.nf. Can be ignored if the module is using topic channels                           │
│ longread_hostremoval               │ subworkflows/local/longread_hostremoval/main.nf               │ main_nf_include_versions: Included component 'SAMTOOLS_VIEW' versions are not added in  │
│                                    │                                                               │ main.nf. Can be ignored if the module is using topic channels                           │
│ shortread_adapterremoval           │ subworkflows/local/shortread_adapterremoval/main.nf           │ main_nf_include_versions: Included component 'CAT_FASTQ' versions are not added in      │
│                                    │                                                               │ main.nf. Can be ignored if the module is using topic channels                           │
│ shortread_hostremoval              │ subworkflows/local/shortread_hostremoval/main.nf              │ main_nf_include_versions: Included component 'SAMTOOLS_STATS' versions are not added in │
│                                    │                                                               │ main.nf. Can be ignored if the module is using topic channels                           │
│ utils_nfcore_taxprofiler_pipeline  │ subworkflows/local/utils_nfcore_taxprofiler_pipeline/main.nf  │ main_nf_include_versions: Included component 'UTILS_NEXTFLOW_PIPELINE' versions are not │
│                                    │                                                               │ added in main.nf. Can be ignored if the module is using topic channels                  │
│ utils_nfcore_taxprofiler_pipeline  │ subworkflows/local/utils_nfcore_taxprofiler_pipeline/main.nf  │ main_nf_include_versions: Included component 'UTILS_NFCORE_PIPELINE' versions are not   │
│                                    │                                                               │ added in main.nf. Can be ignored if the module is using topic channels                  │
│ utils_nfcore_taxprofiler_pipeline  │ subworkflows/local/utils_nfcore_taxprofiler_pipeline/main.nf  │ main_nf_include_versions: Included component 'UTILS_NFSCHEMA_PLUGIN' versions are not   │
│                                    │                                                               │ added in main.nf. Can be ignored if the module is using topic channels                  │
│ utils_nfcore_taxprofiler_pipeline  │ subworkflows/local/utils_nfcore_taxprofiler_pipeline/main.nf  │ main_nf_include_versions: Included component 'completionEmail' versions are not added   │
│                                    │                                                               │ in main.nf. Can be ignored if the module is using topic channels                        │
│ utils_nfcore_taxprofiler_pipeline  │ subworkflows/local/utils_nfcore_taxprofiler_pipeline/main.nf  │ main_nf_include_versions: Included component 'completionSummary' versions are not added │
│                                    │                                                               │ in main.nf. Can be ignored if the module is using topic channels                        │
│ utils_nfcore_taxprofiler_pipeline  │ subworkflows/local/utils_nfcore_taxprofiler_pipeline/main.nf  │ main_nf_include_versions: Included component 'paramsHelp' versions are not added in     │
│                                    │                                                               │ main.nf. Can be ignored if the module is using topic channels                           │
│ utils_nfcore_taxprofiler_pipeline  │ subworkflows/local/utils_nfcore_taxprofiler_pipeline/main.nf  │ main_nf_include_versions: Included component 'paramsSummaryMap' versions are not added  │
│                                    │                                                               │ in main.nf. Can be ignored if the module is using topic channels                        │
│ utils_nfcore_taxprofiler_pipeline  │ subworkflows/local/utils_nfcore_taxprofiler_pipeline/main.nf  │ main_nf_include_versions: Included component 'samplesheetToList' versions are not added │
│                                    │                                                               │ in main.nf. Can be ignored if the module is using topic channels                        │
│ utils_nfcore_taxprofiler_pipeline  │ subworkflows/local/utils_nfcore_taxprofiler_pipeline/meta.yml │ meta_yml_exists: Subworkflow meta.yml does not exist                                    │
│                                    ╵                                                               ╵                                                                                         │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
System information

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Run nf-core pipelines lint on the pipeline template and inspect the utils_nfcore_<pipeline>_pipeline local subworkflow against the main_nf_include_versions and meta_yml_exists checks. Done means the subworkflow is compliant, or the lint configuration excludes it without producing warnings for pipelines that use the template.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.