From 2506c94f7deb346a992438d1fdd5288e40bb1104 Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 27 Feb 2025 17:42:13 +0100 Subject: [PATCH 01/13] implement automatic sharding for nf-test --- .github/actions/get-shards/action.yml | 66 ++++++++++++ .github/actions/nf-test/action.yml | 114 +++++++++++++++++++++ .github/workflows/nf-test.yml | 139 ++++++++++++++++++++++++++ 3 files changed, 319 insertions(+) create mode 100644 .github/actions/get-shards/action.yml create mode 100644 .github/actions/nf-test/action.yml create mode 100644 .github/workflows/nf-test.yml diff --git a/.github/actions/get-shards/action.yml b/.github/actions/get-shards/action.yml new file mode 100644 index 0000000..6d388be --- /dev/null +++ b/.github/actions/get-shards/action.yml @@ -0,0 +1,66 @@ +name: "Get number of shards" +description: "Get the number of nf-test shards for the current CI job" +inputs: + max_shards: + description: "Maximum number of shards allowed" + required: true + paths: + description: "Component paths to test" + required: false +outputs: + shard: + description: "Array of shard numbers" + value: ${{ steps.shards.outputs.shard }} + total_shards: + description: "Total number of shards" + value: ${{ steps.shards.outputs.total_shards }} +runs: + using: "composite" + steps: + - name: Install nf-test + uses: nf-core/setup-nf-test@v1 + with: + version: ${{ env.NFT_VER }} + - name: Get number of shards + id: shards + shell: bash + run: | + # Run nf-test with dynamic parameter + nftest_output=$(nf-test test \ + --dry-run \ + --profile +docker \ + --filter function,workflow,pipeline \ + --ci \ + --changed-since HEAD^) || { + echo "nf-test command failed with exit code $?" + echo "Full output: $nftest_output" + exit 1 + } + echo "nf-test dry-run output: $nftest_output" + + # Default values for shard and total_shards + shard="[]" + total_shards=0 + + # Check if there are related tests + if echo "$nftest_output" | grep -q 'No tests to execute'; then + echo "No related tests found." + else + # Extract the number of related tests + number_of_shards=$(echo "$nftest_output" | sed -n 's|.*Executed \([0-9]*\) tests.*|\1|p') + if [[ -n "$number_of_shards" && "$number_of_shards" -gt 0 ]]; then + shards_to_run=$(( $number_of_shards < ${{ inputs.max_shards }} ? $number_of_shards : ${{ inputs.max_shards }} )) + shard=$(seq 1 "$shards_to_run" | jq -R . | jq -c -s .) + total_shards="$shards_to_run" + else + echo "Unexpected output format. Falling back to default values." + fi + fi + + # Write to GitHub Actions outputs + echo "shard=$shard" >> $GITHUB_OUTPUT + echo "total_shards=$total_shards" >> $GITHUB_OUTPUT + + # Debugging output + echo "Final shard array: $shard" + echo "Total number of shards: $total_shards" diff --git a/.github/actions/nf-test/action.yml b/.github/actions/nf-test/action.yml new file mode 100644 index 0000000..75a93f7 --- /dev/null +++ b/.github/actions/nf-test/action.yml @@ -0,0 +1,114 @@ +name: "nf-test Action" +description: "Runs nf-test with common setup steps" +inputs: + profile: + description: "Profile to use" + required: true + shard: + description: "Shard number for this CI job" + required: true + total_shards: + description: "Total number of test shards(NOT the total number of matrix jobs)" + required: true + paths: + description: "Test paths" + required: true + +runs: + using: "composite" + steps: + - name: Setup Nextflow + uses: nf-core/setup-nextflow@v2 + with: + version: "${{ env.NXF_VERSION }}" + + - name: Set up Python + uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5 + with: + python-version: "3.11" + + - name: Install nf-test + uses: nf-core/setup-nf-test@v1 + with: + version: "${{ env.NFT_VER }}" + + - name: Setup apptainer + if: contains(inputs.profile, 'singularity') + uses: eWaterCycle/setup-apptainer@main + + - name: Set up Singularity + if: contains(inputs.profile, 'singularity') + shell: bash + run: | + mkdir -p $NXF_SINGULARITY_CACHEDIR + mkdir -p $NXF_SINGULARITY_LIBRARYDIR + + - name: Conda setup + if: ${{inputs.profile == 'conda'}} + uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3 + with: + auto-update-conda: true + conda-solver: libmamba + conda-remove-defaults: true + + - name: Install pdiff + shell: bash + run: | + python -m pip install pdiff + + # TODO Skip failing conda tests and document their failures + # https://github.com/nf-core/modules/issues/7017 + - name: Run nf-test + shell: bash + env: + NFT_DIFF: ${{ env.NFT_DIFF }} + NFT_DIFF_ARGS: ${{ env.NFT_DIFF_ARGS }} + NFT_WORKDIR: ${{ env.NFT_WORKDIR }} + run: | + nf-test test \ + --profile=+${{ inputs.profile }} \ + --tap=test.tap \ + --verbose \ + --ci \ + --shard ${{ inputs.shard }}/${{ inputs.total_shards }} \ + --filter function,workflow,pipeline + + # Save the absolute path of the test.tap file to the output + echo "tap_file_path=$(realpath test.tap)" >> $GITHUB_OUTPUT + + - name: Generate test summary + if: always() + shell: bash + run: | + # Add header if it doesn't exist (using a token file to track this) + if [ ! -f ".summary_header" ]; then + echo "# 🚀 nf-test results" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "| Status | Test Name | Profile | Shard |" >> $GITHUB_STEP_SUMMARY + echo "|:------:|-----------|---------|-------|" >> $GITHUB_STEP_SUMMARY + touch .summary_header + fi + + if [ -f test.tap ]; then + while IFS= read -r line; do + if [[ $line =~ ^ok ]]; then + test_name="${line#ok }" + # Remove the test number from the beginning + test_name="${test_name#* }" + echo "| ✅ | ${test_name} | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY + elif [[ $line =~ ^not\ ok ]]; then + test_name="${line#not ok }" + # Remove the test number from the beginning + test_name="${test_name#* }" + echo "| ❌ | ${test_name} | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY + fi + done < test.tap + else + echo "| ⚠️ | No test results found | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY + fi + + - name: Clean up + if: always() + shell: bash + run: | + sudo rm -rf /home/ubuntu/tests/ diff --git a/.github/workflows/nf-test.yml b/.github/workflows/nf-test.yml new file mode 100644 index 0000000..c5227d1 --- /dev/null +++ b/.github/workflows/nf-test.yml @@ -0,0 +1,139 @@ +name: Run nf-test +on: + push: + branches: + # https://docs.renovatebot.com/key-concepts/automerge/#branch-vs-pr-automerging + - "renovate/**" # branches Renovate creates + pull_request: + branches: [dev] + workflow_dispatch: + inputs: + runners: + description: "Runners to test on" + type: choice + options: + - "ubuntu-latest" + - "self-hosted" + default: "ubuntu-latest" + +# Cancel if a newer run is started +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NFT_DIFF: "pdiff" + NFT_DIFF_ARGS: "--line-numbers --width 120 --expand-tabs=2" + # renovate: datasource=github-releases depName=askimed/nf-test versioning=semver + NFT_VER: "0.9.2" + NFT_WORKDIR: "~" + NXF_ANSI_LOG: false + NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity + NXF_SINGULARITY_LIBRARYDIR: ${{ github.workspace }}/.singularity + +jobs: + nf-test-changes: + name: nf-test-changes + runs-on: ${{ github.event.inputs.runners || github.run_number > 1 && 'ubuntu-latest' || 'self-hosted' }} + outputs: + shard: ${{ steps.set-shards.outputs.shard }} + total_shards: ${{ steps.set-shards.outputs.total_shards }} + steps: + - name: Clean Workspace # Purge the workspace in case it's running on a self-hosted runner + run: | + ls -la ./ + rm -rf ./* || true + rm -rf ./.??* || true + ls -la ./ + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + with: + fetch-depth: 0 + + - name: get number of shards + id: set-shards + uses: ./.github/actions/get-shards + env: + NFT_VER: ${{ env.NFT_VER }} + with: + max_shards: 7 + + - name: debug + run: | + echo ${{ steps.set-shards.outputs.shard }} + echo ${{ steps.set-shards.outputs.total_shards }} + + nf-test: + runs-on: ${{ github.event.inputs.runners || github.run_number > 1 && 'ubuntu-latest' || 'self-hosted' }} + name: "${{ matrix.profile }} | ${{ matrix.NXF_VER }} | ${{ matrix.shard }}/${{ needs.nf-test-changes.outputs.total_shards }}" + needs: [nf-test-changes] + if: ${{ needs.nf-test-changes.outputs.total_shards != '0' }} + strategy: + fail-fast: false + matrix: + shard: ${{ fromJson(needs.nf-test-changes.outputs.shard) }} + profile: [conda, docker, singularity] + isMaster: + - ${{ github.base_ref == 'master' }} + # Exclude conda and singularity on dev + exclude: + - isMaster: false + profile: "conda" + - isMaster: false + profile: "singularity" + NXF_VER: + # renovate: datasource=github-releases depName=nextflow/nextflow versioning=semver + - "24.10.2" + - "latest-everything" + env: + NXF_ANSI_LOG: false + TOTAL_SHARDS: ${{ needs.nf-test-changes.outputs.total_shards }} + + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + with: + fetch-depth: 0 + + - name: Run nf-test + uses: ./.github/actions/nf-test + env: + NFT_DIFF: ${{ env.NFT_DIFF }} + NFT_DIFF_ARGS: ${{ env.NFT_DIFF_ARGS }} + NFT_WORKDIR: ${{ env.NFT_WORKDIR }} + with: + profile: ${{ matrix.profile }} + shard: ${{ matrix.shard }} + total_shards: ${{ env.TOTAL_SHARDS }} + + confirm-pass: + runs-on: ${{ github.event.inputs.runners || github.run_number > 1 && 'ubuntu-latest' || 'self-hosted' }} + needs: [nf-test] + if: always() + steps: + - name: One or more tests failed + if: ${{ contains(needs.*.result, 'failure') }} + run: exit 1 + + - name: One or more tests cancelled + if: ${{ contains(needs.*.result, 'cancelled') }} + run: exit 1 + + - name: All tests ok + if: ${{ contains(needs.*.result, 'success') }} + run: exit 0 + + - name: debug-print + if: always() + run: | + echo "::group::DEBUG: `needs` Contents" + echo "DEBUG: toJSON(needs) = ${{ toJSON(needs) }}" + echo "DEBUG: toJSON(needs.*.result) = ${{ toJSON(needs.*.result) }}" + echo "::endgroup::" + + - name: Clean Workspace # Purge the workspace in case it's running on a self-hosted runner + if: always() + run: | + ls -la ./ + rm -rf ./* || true + rm -rf ./.??* || true + ls -la ./ From d36fd58f24fc7831b75560cf6bdc9237a11c060d Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 27 Feb 2025 17:42:23 +0100 Subject: [PATCH 02/13] implement automatic sharding for nf-test --- .github/workflows/ci.yml | 124 --------------------------------------- 1 file changed, 124 deletions(-) delete mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index f46805b..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,124 +0,0 @@ -name: nf-core CI -# This workflow runs the pipeline with the minimal test dataset to check that it completes without any syntax errors -on: - push: - branches: - - dev - pull_request: - release: - types: [published] - workflow_dispatch: - -env: - NFT_DIFF: "pdiff" - NFT_DIFF_ARGS: "--line-numbers --width 120 --expand-tabs=2" - NFT_VER: "0.9.0" - NFT_WORKDIR: "~" - NXF_ANSI_LOG: false - NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity - NXF_SINGULARITY_LIBRARYDIR: ${{ github.workspace }}/.singularity - -concurrency: - group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}" - cancel-in-progress: true - -jobs: - test: - name: "Test ${{ matrix.filter }} | ${{ matrix.profile }} | ${{ matrix.NXF_VER }} | ${{ matrix.shard }}/5" - # Only run on push if this is the nf-core dev branch (merged PRs) - if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnavar') }}" - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - NXF_VER: - - "24.04.2" - - "latest-everything" - filter: ["pipeline", "function"] - # filter: ["process", "workflow", "function", "pipeline"] - profile: ["conda", "docker", "singularity"] - shard: [1, 2, 3, 4] - isMaster: - - ${{ github.base_ref == 'master' }} - exclude: - - isMaster: false - profile: "conda" - - isMaster: false - profile: "singularity" - steps: - - name: Check out pipeline code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - with: - fetch-depth: 0 - - - name: Set up Nextflow - uses: nf-core/setup-nextflow@v2 - with: - version: "${{ matrix.NXF_VER }}" - - - name: Set up nf-test - uses: nf-core/setup-nf-test@v1 - with: - version: ${{ env.NFT_VER }} - - - name: Set up Apptainer - if: matrix.profile == 'singularity' - uses: eWaterCycle/setup-apptainer@main - - - name: Set up Singularity - if: matrix.profile == 'singularity' - run: | - mkdir -p $NXF_SINGULARITY_CACHEDIR - mkdir -p $NXF_SINGULARITY_LIBRARYDIR - - - name: Cache pdiff - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 - id: cache-pip-pdiff - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-pdiff - - - name: Set up pdiff to see diff between nf-test snapshots - run: | - python -m pip install --upgrade pip - pip install pdiff cryptography - - - name: Set up Miniconda - if: matrix.profile == 'conda' - uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3 - with: - miniconda-version: "latest" - auto-update-conda: true - conda-solver: libmamba - channels: conda-forge,bioconda - - - name: Set up Conda - if: matrix.profile == 'conda' - run: | - echo $(realpath $CONDA)/condabin >> $GITHUB_PATH - echo $(realpath python) >> $GITHUB_PATH - - - name: Disk space cleanup - uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 - - - name: "Run tests | ${{ matrix.filter }}_${{ matrix.profile }} | ${{ matrix.shard }}/5" - run: | - nf-test test \ - --ci \ - --junitxml="TEST-${{ matrix.filter }}_${{ matrix.profile }}_${{ matrix.shard }}.xml" \ - --shard ${{ matrix.shard }}/5 \ - --changed-since HEAD^ \ - --follow-dependencies \ - --profile "+${{ matrix.profile }}" \ - --filter ${{ matrix.filter }} - - - name: Publish Test Report - uses: mikepenz/action-junit-report@v4 - if: success() || failure() # always run even if the previous step fails - with: - report_paths: "TEST-*.xml" - - - name: Clean up - if: always() - run: | - sudo rm -rf /home/ubuntu/tests/ From dc1da86f1239f16c45fb3d0a4ef953fa7cecb676 Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 27 Feb 2025 17:45:00 +0100 Subject: [PATCH 03/13] update nf-test.config file --- nf-test.config | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/nf-test.config b/nf-test.config index 69ef731..b721312 100644 --- a/nf-test.config +++ b/nf-test.config @@ -1,17 +1,20 @@ config { - // location for all nf-tests + // location for all nf-test tests testsDir "." // nf-test directory including temporary files for each test - workDir ".nf-test" + workDir System.getenv("NFT_WORKDIR") ?: ".nf-test" // location of an optional nextflow.config file specific for executing tests - configFile "conf/test.config" + configFile "tests/nextflow.config" // run all test with defined profile(s) from the main nextflow.config profile "test" - // Include plugins + // list of filenames or patterns that should be trigger a full test run + triggers 'nextflow.config', 'nf-test.config', 'conf/test.config', 'tests/nextflow.config' + + // load the necessary plugins plugins { load "nft-bam@0.4.0" load "nft-utils@0.0.3" From 85b9d239a92f014f8b1a09929b161196ea3655e5 Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 27 Feb 2025 17:46:13 +0100 Subject: [PATCH 04/13] add missing file --- tests/nextflow.config | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 tests/nextflow.config diff --git a/tests/nextflow.config b/tests/nextflow.config new file mode 100644 index 0000000..8c817b3 --- /dev/null +++ b/tests/nextflow.config @@ -0,0 +1,12 @@ +/* +======================================================================================== + Nextflow config file for running nf-test tests +======================================================================================== +*/ + +// Specify any additional parameters here +// Or any resources requirements + +params { + modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' +} From 02701ea0e69a08f6d9cb4015332026d68530732e Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 27 Feb 2025 17:47:50 +0100 Subject: [PATCH 05/13] fix linting --- .nf-core.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.nf-core.yml b/.nf-core.yml index 411a201..3ff492a 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -1,3 +1,6 @@ +lint: + files_exist: + - .github/workflows/ci.yml nf_core_version: 3.2.0 repository_type: pipeline template: From 8097e6626930a63c2d3ff66b23854a211dafca96 Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 27 Feb 2025 17:48:43 +0100 Subject: [PATCH 06/13] update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23ba797..e776404 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#161](https://github.com/nf-core/rnavar/pull/161) - Template update for nf-core/tools v3.2.0 - [#167](https://github.com/nf-core/rnavar/pull/167) - Removed the strandedness field from the samplesheet as it wasn't used in the pipeline. - [#172](https://github.com/nf-core/rnavar/pull/172) - Added support for TSV, JSON and YAML samplesheets +- [#178](https://github.com/nf-core/rnavar/pull/178) - Implement automatic sharding for nf-test tests ### Fixed From 44dd7d4cfe31ecbe00661e9cf1cc365743ce2aaf Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 27 Feb 2025 19:09:10 +0100 Subject: [PATCH 07/13] better name for tests --- tests/all_inputs.nf.test | 4 ++-- tests/all_inputs.nf.test.snap | 8 ++++---- tests/annotation.nf.test | 8 ++++---- tests/annotation.nf.test.snap | 20 ++++++++++---------- tests/bam_csi.nf.test | 4 ++-- tests/bam_csi.nf.test.snap | 10 +++++----- tests/bam_input.nf.test | 4 ++-- tests/bam_input.nf.test.snap | 8 ++++---- tests/cram_input.nf.test | 4 ++-- tests/cram_input.nf.test.snap | 8 ++++---- tests/default.nf.test | 2 +- tests/default.nf.test.snap | 8 ++++---- tests/removeduplicates.nf.test | 4 ++-- tests/removeduplicates.nf.test.snap | 8 ++++---- tests/skip_baserecalibration.nf.test | 4 ++-- tests/skip_baserecalibration.nf.test.snap | 10 +++++----- 16 files changed, 57 insertions(+), 57 deletions(-) diff --git a/tests/all_inputs.nf.test b/tests/all_inputs.nf.test index b2f22e8..43cff00 100644 --- a/tests/all_inputs.nf.test +++ b/tests/all_inputs.nf.test @@ -1,11 +1,11 @@ nextflow_pipeline { - name "Test pipeline | all inputs" + name "Test pipeline" script "../main.nf" tag "pipeline" tag "pipeline_rnavar" - test("Run with profile test") { + test("-profile test --input all.csv") { when { params { diff --git a/tests/all_inputs.nf.test.snap b/tests/all_inputs.nf.test.snap index eae55e8..4a00da8 100644 --- a/tests/all_inputs.nf.test.snap +++ b/tests/all_inputs.nf.test.snap @@ -1,5 +1,5 @@ { - "Run with profile test": { + "-profile test --input all.csv": { "content": [ 78, { @@ -125,8 +125,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.01.0" }, - "timestamp": "2025-02-25T14:57:34.430760569" + "timestamp": "2025-02-27T18:32:03.285344136" } -} +} \ No newline at end of file diff --git a/tests/annotation.nf.test b/tests/annotation.nf.test index 8f9195e..3d94a9d 100644 --- a/tests/annotation.nf.test +++ b/tests/annotation.nf.test @@ -1,11 +1,11 @@ nextflow_pipeline { - name "Test pipeline | annotation" + name "Test pipeline" script "../main.nf" tag "pipeline" tag "pipeline_rnavar" - test("Run with profile test | annotation with snpeff") { + test("-profile test --annotate_tools snpeff") { when { params { @@ -34,7 +34,7 @@ nextflow_pipeline { } } - test("Run with profile test | annotation with vep") { + test("-profile test --annotate_tools vep") { when { params { @@ -63,7 +63,7 @@ nextflow_pipeline { } } - test("Run with profile test | annotation with merge") { + test("-profile test --annotate_tools merge") { when { params { diff --git a/tests/annotation.nf.test.snap b/tests/annotation.nf.test.snap index 20cc041..81b1527 100644 --- a/tests/annotation.nf.test.snap +++ b/tests/annotation.nf.test.snap @@ -1,5 +1,5 @@ { - "Run with profile test | annotation with merge": { + "-profile test --annotate_tools merge": { "content": [ 46, { @@ -257,11 +257,11 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.01.0" }, - "timestamp": "2025-02-25T15:11:24.746104582" + "timestamp": "2025-02-27T18:46:36.717730874" }, - "Run with profile test | annotation with vep": { + "-profile test --annotate_tools vep": { "content": [ 43, { @@ -500,11 +500,11 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.01.0" }, - "timestamp": "2025-02-25T15:06:02.448281966" + "timestamp": "2025-02-27T18:41:59.716595012" }, - "Run with profile test | annotation with snpeff": { + "-profile test --annotate_tools snpeff": { "content": [ 43, { @@ -639,8 +639,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.01.0" }, - "timestamp": "2025-02-25T15:01:56.312581883" + "timestamp": "2025-02-27T18:36:46.359170223" } -} +} \ No newline at end of file diff --git a/tests/bam_csi.nf.test b/tests/bam_csi.nf.test index d2f2ea4..88f2a2f 100644 --- a/tests/bam_csi.nf.test +++ b/tests/bam_csi.nf.test @@ -1,11 +1,11 @@ nextflow_pipeline { - name "Test pipeline | bam_csi_index" + name "Test pipeline" script "../main.nf" tag "pipeline" tag "pipeline_rnavar" - test("Run with profile test | bam_csi_index") { + test("-profile test --bam_csi_index") { when { params { diff --git a/tests/bam_csi.nf.test.snap b/tests/bam_csi.nf.test.snap index a04374a..2235b01 100644 --- a/tests/bam_csi.nf.test.snap +++ b/tests/bam_csi.nf.test.snap @@ -1,7 +1,7 @@ { - "Run with profile test | bam_csi_index": { + "-profile test --bam_csi_index": { "content": [ - 38, + 39, { "APPLYBQSR": { "gatk4": "4.5.0.0" @@ -100,8 +100,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.01.0" }, - "timestamp": "2025-02-25T15:14:54.577109459" + "timestamp": "2025-02-27T18:50:47.33970351" } -} +} \ No newline at end of file diff --git a/tests/bam_input.nf.test b/tests/bam_input.nf.test index d630716..7cddb49 100644 --- a/tests/bam_input.nf.test +++ b/tests/bam_input.nf.test @@ -1,11 +1,11 @@ nextflow_pipeline { - name "Test pipeline | bam input" + name "Test pipeline" script "../main.nf" tag "pipeline" tag "pipeline_rnavar" - test("Run with profile test") { + test("-profile test --input bam.csv") { when { params { diff --git a/tests/bam_input.nf.test.snap b/tests/bam_input.nf.test.snap index 20c79bc..0960fb2 100644 --- a/tests/bam_input.nf.test.snap +++ b/tests/bam_input.nf.test.snap @@ -1,5 +1,5 @@ { - "Run with profile test": { + "-profile test --input bam.csv": { "content": [ 27, { @@ -71,8 +71,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.01.0" }, - "timestamp": "2025-02-25T15:17:16.889089376" + "timestamp": "2025-02-27T18:53:38.97099769" } -} +} \ No newline at end of file diff --git a/tests/cram_input.nf.test b/tests/cram_input.nf.test index 6380f90..66a4882 100644 --- a/tests/cram_input.nf.test +++ b/tests/cram_input.nf.test @@ -1,11 +1,11 @@ nextflow_pipeline { - name "Test pipeline | cram input" + name "Test pipeline" script "../main.nf" tag "pipeline" tag "pipeline_rnavar" - test("Run with profile test") { + test("-profile test --input cram.csv") { when { params { diff --git a/tests/cram_input.nf.test.snap b/tests/cram_input.nf.test.snap index 422e65d..5d1e489 100644 --- a/tests/cram_input.nf.test.snap +++ b/tests/cram_input.nf.test.snap @@ -1,5 +1,5 @@ { - "Run with profile test": { + "-profile test --input cram.csv": { "content": [ 27, { @@ -71,8 +71,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.01.0" }, - "timestamp": "2025-02-25T15:19:49.488420316" + "timestamp": "2025-02-27T18:57:38.534910684" } -} +} \ No newline at end of file diff --git a/tests/default.nf.test b/tests/default.nf.test index 0509f2b..49783cc 100644 --- a/tests/default.nf.test +++ b/tests/default.nf.test @@ -5,7 +5,7 @@ nextflow_pipeline { tag "pipeline" tag "pipeline_rnavar" - test("Run with profile test") { + test("-profile test") { when { params { diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index 286cb4d..d2262f2 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -1,5 +1,5 @@ { - "Run with profile test": { + "-profile test": { "content": [ 40, { @@ -105,8 +105,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.01.0" }, - "timestamp": "2025-02-25T15:23:04.679999134" + "timestamp": "2025-02-27T19:02:10.37030655" } -} +} \ No newline at end of file diff --git a/tests/removeduplicates.nf.test b/tests/removeduplicates.nf.test index 597e84e..4f78e18 100644 --- a/tests/removeduplicates.nf.test +++ b/tests/removeduplicates.nf.test @@ -1,11 +1,11 @@ nextflow_pipeline { - name "Test pipeline | remove_duplicates" + name "Test pipeline" script "../main.nf" tag "pipeline" tag "pipeline_rnavar" - test("Run with profile test | remove_duplicates") { + test("-profile test --remove_duplicates") { when { params { diff --git a/tests/removeduplicates.nf.test.snap b/tests/removeduplicates.nf.test.snap index 553909b..7631ff1 100644 --- a/tests/removeduplicates.nf.test.snap +++ b/tests/removeduplicates.nf.test.snap @@ -1,5 +1,5 @@ { - "Run with profile test | remove_duplicates": { + "-profile test --remove_duplicates": { "content": [ 40, { @@ -105,8 +105,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.01.0" }, - "timestamp": "2025-02-25T15:26:28.065950585" + "timestamp": "2025-02-27T19:05:51.886924986" } -} +} \ No newline at end of file diff --git a/tests/skip_baserecalibration.nf.test b/tests/skip_baserecalibration.nf.test index a70b70c..b8addd2 100644 --- a/tests/skip_baserecalibration.nf.test +++ b/tests/skip_baserecalibration.nf.test @@ -1,11 +1,11 @@ nextflow_pipeline { - name "Test pipeline | skip_baserecalibration" + name "Test pipeline" script "../main.nf" tag "pipeline" tag "pipeline_rnavar" - test("Run with profile test | skip_baserecalibration") { + test("-profile test --skip_baserecalibration") { when { params { diff --git a/tests/skip_baserecalibration.nf.test.snap b/tests/skip_baserecalibration.nf.test.snap index 835a151..3812327 100644 --- a/tests/skip_baserecalibration.nf.test.snap +++ b/tests/skip_baserecalibration.nf.test.snap @@ -1,7 +1,7 @@ { - "Run with profile test | skip_baserecalibration": { + "-profile test --skip_baserecalibration": { "content": [ - 35, + 36, { "CAT_FASTQ": { "cat": 9.5 @@ -97,8 +97,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.4" + "nextflow": "25.01.0" }, - "timestamp": "2025-02-25T15:30:01.903327387" + "timestamp": "2025-02-27T19:08:25.175823741" } -} +} \ No newline at end of file From e8281bd0e62a65514b0dbeb4527e6ee35edc1450 Mon Sep 17 00:00:00 2001 From: Maxime U Garcia Date: Mon, 3 Mar 2025 13:03:44 +0100 Subject: [PATCH 08/13] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 34ddd0d..061a81a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ -[![GitHub Actions CI Status](https://github.com/nf-core/rnavar/actions/workflows/ci.yml/badge.svg)](https://github.com/nf-core/rnavar/actions/workflows/ci.yml) +[![GitHub Actions CI Status](https://github.com/nf-core/rnavar/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/rnavar/actions/workflows/nf-test.yml) [![GitHub Actions Linting Status](https://github.com/nf-core/rnavar/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/rnavar/actions/workflows/linting.yml) [![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/rnavar/results) [![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.6669636-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.6669636) From 346a6a772726263de54deb32c2e5de34d924c72e Mon Sep 17 00:00:00 2001 From: maxulysse Date: Mon, 3 Mar 2025 19:01:22 +0100 Subject: [PATCH 09/13] update modules.config --- conf/modules.config | 67 +++++++++++++++---------------- conf/modules/annotate.config | 4 +- conf/modules/prepare_cache.config | 4 +- 3 files changed, 37 insertions(+), 38 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index eac39d8..783c7f3 100755 --- a/conf/modules.config +++ b/conf/modules.config @@ -24,7 +24,7 @@ process { process { - withName: CAT_FASTQ { + withName: 'NFCORE_RNAVAR:.*:CAT_FASTQ' { publishDir = [ path: { "${params.outdir}/fastq" }, mode: params.publish_dir_mode, @@ -33,23 +33,23 @@ process { ] } - withName: STAR_GENOMEGENERATE { + withName: 'NFCORE_RNAVAR:.*:STAR_GENOMEGENERATE' { ext.args = params.read_length ? "--sjdbOverhang ${params.read_length - 1}" : '' } - withName: STAR_INDEXVERSION { + withName: 'NFCORE_RNAVAR:.*:STAR_INDEXVERSION' { publishDir = [ enabled: false ] } - withName: '.*PREPARE_GENOME:UNTAR' { + withName: 'NFCORE_RNAVAR:.*:PREPARE_GENOME:UNTAR' { publishDir = [ enabled: false ] } - withName: REMOVE_UNKNOWN_REGIONS { + withName: 'NFCORE_RNAVAR:.*:REMOVE_UNKNOWN_REGIONS' { ext.prefix = { "${meta.id}.exon" } publishDir = [ path: { "${params.outdir}/genome" }, @@ -59,7 +59,7 @@ process { ] } - withName: 'STAR_GENOMEGENERATE' { + withName: 'NFCORE_RNAVAR:.*:STAR_GENOMEGENERATE' { publishDir = [ path: { "${params.outdir}/genome/index" }, mode: params.publish_dir_mode, @@ -68,7 +68,7 @@ process { ] } - withName: GFFREAD { + withName: 'NFCORE_RNAVAR:.*:GFFREAD' { ext.args = '--keep-exon-attrs -F -T' publishDir = [ path: { "${params.outdir}/genome" }, @@ -78,7 +78,7 @@ process { ] } - withName: GTF2BED { + withName: 'NFCORE_RNAVAR:.*:GTF2BED' { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, @@ -87,8 +87,7 @@ process { ] } - - withName: SAMTOOLS_FAIDX { + withName: 'NFCORE_RNAVAR:.*:SAMTOOLS_FAIDX' { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, @@ -97,7 +96,7 @@ process { ] } - withName: GATK4_CREATESEQUENCEDICTIONARY { + withName: 'NFCORE_RNAVAR:.*:GATK4_CREATESEQUENCEDICTIONARY' { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, @@ -111,7 +110,7 @@ process { process { - withName: MULTIQC { + withName: 'NFCORE_RNAVAR:.*:MULTIQC' { ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' } publishDir = [ path: { "${params.outdir}/reports"}, @@ -121,7 +120,7 @@ process { ] } - withName: FASTQC { + withName: 'NFCORE_RNAVAR:.*:FASTQC' { ext.args = '--quiet' publishDir = [ enabled: false @@ -133,7 +132,7 @@ process { process { // UMITOOLS_EXTRACT - withName: UMITOOLS_EXTRACT { + withName: 'NFCORE_RNAVAR:.*:UMITOOLS_EXTRACT' { ext.args = { [ params.umitools_extract_method ? "--extract-method=${params.umitools_extract_method}" : '', params.umitools_bc_pattern ? "--bc-pattern='${params.umitools_bc_pattern}'" : '', @@ -144,7 +143,7 @@ process { // ALIGN_STAR - withName: STAR_ALIGN { + withName: 'NFCORE_RNAVAR:.*:STAR_ALIGN' { ext.args = { [ '--outSAMtype BAM SortedByCoordinate', '--readFilesCommand zcat', @@ -182,7 +181,7 @@ process { process { - withName: '.*:ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_SORT' { + withName: 'NFCORE_RNAVAR:.*:ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_SORT' { ext.prefix = {"${meta.id}.aligned"} publishDir = [ path: { "${params.outdir}/preprocessing/${meta.id}" }, @@ -192,7 +191,7 @@ process { ] } - withName: '.*:ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_INDEX' { + withName: 'NFCORE_RNAVAR:.*:ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' ext.prefix = {"${meta.id}.aligned"} publishDir = [ @@ -203,11 +202,11 @@ process { ] } - withName: GATK4_BEDTOINTERVALLIST { + withName: 'NFCORE_RNAVAR:.*:GATK4_BEDTOINTERVALLIST' { publishDir = [ enabled: false ] } - withName: GATK4_INTERVALLISTTOOLS { + withName: 'NFCORE_RNAVAR:.*:GATK4_INTERVALLISTTOOLS' { ext.args = [ '--SUBDIVISION_MODE BALANCING_WITHOUT_INTERVAL_SUBDIVISION_WITH_OVERFLOW', '--UNIQUE true', @@ -217,7 +216,7 @@ process { publishDir = [ enabled: false ] } - withName: 'PICARD_MARKDUPLICATES' { + withName: 'NFCORE_RNAVAR:.*:PICARD_MARKDUPLICATES' { ext.args = [ '--ASSUME_SORTED true', '--VALIDATION_STRINGENCY LENIENT', @@ -240,7 +239,7 @@ process { ] } - withName: '.*:BAM_MARKDUPLICATES_PICARD:SAMTOOLS_INDEX' { + withName: 'NFCORE_RNAVAR:.*:BAM_MARKDUPLICATES_PICARD:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' ext.prefix = {"${meta.id}.md"} publishDir = [ @@ -251,20 +250,20 @@ process { ] } - withName: '.*:SPLITNCIGAR:GATK4_SPLITNCIGARREADS' { + withName: 'NFCORE_RNAVAR:.*:SPLITNCIGAR:GATK4_SPLITNCIGARREADS' { ext.args = '--create-output-bam-index false' ext.prefix = { "${meta.id}.splitncigarreads" } } - withName: '.*:SPLITNCIGAR:SAMTOOLS_INDEX' { + withName: 'NFCORE_RNAVAR:.*:SPLITNCIGAR:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' } - withName: '.*:SPLITNCIGAR:.*' { + withName: 'NFCORE_RNAVAR:.*:SPLITNCIGAR:.*' { publishDir = [ enabled: false ] } - withName: 'SAMTOOLS_STATS|SAMTOOLS_FLAGSTAT|SAMTOOLS_IDXSTATS' { + withName: 'NFCORE_RNAVAR:.*:SAMTOOLS_STATS|SAMTOOLS_FLAGSTAT|SAMTOOLS_IDXSTATS' { publishDir = [ path: { "${params.outdir}/reports/stats/${meta.id}" }, mode: params.publish_dir_mode, @@ -278,12 +277,12 @@ process { // BASE RECALIBRATION PROCESS process { - withName: GATK4_BASERECALIBRATOR { + withName: 'NFCORE_RNAVAR:.*:GATK4_BASERECALIBRATOR' { ext.args = '--use-original-qualities' publishDir = [ enabled: false ] } - withName: '.*:RECALIBRATE:APPLYBQSR' { + withName: 'NFCORE_RNAVAR:.*:RECALIBRATE:APPLYBQSR' { ext.args = [ '--use-original-qualities', '--add-output-sam-program-record' @@ -297,7 +296,7 @@ process { ] } - withName: '.*:RECALIBRATE:SAMTOOLS_INDEX' { + withName: 'NFCORE_RNAVAR:.*:RECALIBRATE:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' ext.prefix = {"${meta.id}.recal"} publishDir = [ @@ -314,7 +313,7 @@ process { process { - withName: GATK4_HAPLOTYPECALLER { + withName: 'NFCORE_RNAVAR:.*:GATK4_HAPLOTYPECALLER' { ext.args = [ '--dont-use-soft-clipped-bases', '--create-output-variant-index true', @@ -324,7 +323,7 @@ process { publishDir = [ enabled: false ] } - withName: GATK4_MERGEVCFS { + withName: 'NFCORE_RNAVAR:.*:GATK4_MERGEVCFS' { ext.prefix = {"${meta.id}.haplotypecaller"} publishDir = [ path: { "${params.outdir}/variant_calling/${meta.id}" }, @@ -332,7 +331,7 @@ process { pattern: "*.{vcf.gz}" ] } - withName: GATK4_COMBINEGVCFS { + withName: 'NFCORE_RNAVAR:.*:GATK4_COMBINEGVCFS' { ext.prefix = {"${meta.id}.haplotypecaller"} publishDir = [ path: { "${params.outdir}/variant_calling/${meta.id}" }, @@ -341,7 +340,7 @@ process { ] } - withName: TABIX_TABIX { + withName: 'NFCORE_RNAVAR:.*:TABIX_TABIX' { ext.args = params.bam_csi_index ? '--csi' : '' ext.prefix = {"${meta.id}.haplotypecaller"} publishDir = [ @@ -351,7 +350,7 @@ process { ] } - withName: GATK4_VARIANTFILTRATION { + withName: 'NFCORE_RNAVAR:.*:GATK4_VARIANTFILTRATION' { ext.prefix = {"${meta.id}.haplotypecaller.filtered"} ext.args = [ params.gatk_vf_window_size ? "--cluster-window-size $params.gatk_vf_window_size" : '', @@ -366,7 +365,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:RNAVAR:GATK4_BEDTOINTERVALLIST' { + withName: 'NFCORE_RNAVAR:.*:GATK4_BEDTOINTERVALLIST' { ext.args = '--DROP_MISSING_CONTIGS TRUE' } } diff --git a/conf/modules/annotate.config b/conf/modules/annotate.config index 0704a6c..08167a9 100644 --- a/conf/modules/annotate.config +++ b/conf/modules/annotate.config @@ -16,7 +16,7 @@ process { // SNPEFF - withName: 'SNPEFF_SNPEFF' { + withName: 'NFCORE_RNAVAR:.*:SNPEFF_SNPEFF' { ext.args = { '-nodownload -canon -v' } ext.prefix = { vcf.baseName - '.vcf' + '_snpEff' } publishDir = [ @@ -30,7 +30,7 @@ process { } // VEP - withName: 'ENSEMBLVEP_VEP' { + withName: 'NFCORE_RNAVAR:.*:ENSEMBLVEP_VEP' { ext.args = { [ "--stats_file ${vcf.baseName - '.vcf' + '_VEP.ann'}.summary.html", (params.vep_dbnsfp && params.dbnsfp && !params.dbnsfp_consequence) ? "--plugin dbNSFP,${params.dbnsfp.split("/")[-1]},${params.dbnsfp_fields}" : '', diff --git a/conf/modules/prepare_cache.config b/conf/modules/prepare_cache.config index 7329d0a..0fa0684 100644 --- a/conf/modules/prepare_cache.config +++ b/conf/modules/prepare_cache.config @@ -16,7 +16,7 @@ process { // SNPEFF - withName: 'SNPEFF_DOWNLOAD' { + withName: 'NFCORE_RNAVAR:.*:SNPEFF_DOWNLOAD' { ext.when = { params.annotate_tools && (params.annotate_tools.split(',').contains('snpeff') || params.annotate_tools.split(',').contains('merge')) } publishDir = [ mode: params.publish_dir_mode, @@ -25,7 +25,7 @@ process { } // VEP - withName: 'ENSEMBLVEP_DOWNLOAD' { + withName: 'NFCORE_RNAVAR:.*:ENSEMBLVEP_DOWNLOAD' { ext.when = { params.annotate_tools && (params.annotate_tools.split(',').contains('vep') || params.annotate_tools.split(',').contains('merge')) } ext.args = { '--AUTO c --CONVERT --NO_BIOPERL --NO_HTSLIB --NO_TEST --NO_UPDATE' } publishDir = [ From d48306bb02a1f73198d28062ae8f642c60b617c5 Mon Sep 17 00:00:00 2001 From: maxulysse Date: Tue, 4 Mar 2025 11:07:27 +0100 Subject: [PATCH 10/13] WIP --- conf/modules.config | 66 +++++++++++++++---------------- conf/modules/annotate.config | 6 +-- conf/modules/prepare_cache.config | 4 +- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 783c7f3..b8e07e2 100755 --- a/conf/modules.config +++ b/conf/modules.config @@ -24,7 +24,7 @@ process { process { - withName: 'NFCORE_RNAVAR:.*:CAT_FASTQ' { + withName: 'NFCORE_RNAVAR.*CAT_FASTQ' { publishDir = [ path: { "${params.outdir}/fastq" }, mode: params.publish_dir_mode, @@ -33,23 +33,23 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:STAR_GENOMEGENERATE' { + withName: 'NFCORE_RNAVAR.*STAR_GENOMEGENERATE' { ext.args = params.read_length ? "--sjdbOverhang ${params.read_length - 1}" : '' } - withName: 'NFCORE_RNAVAR:.*:STAR_INDEXVERSION' { + withName: 'NFCORE_RNAVAR.*STAR_INDEXVERSION' { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR:.*:PREPARE_GENOME:UNTAR' { + withName: 'NFCORE_RNAVAR.*PREPARE_GENOME:UNTAR' { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR:.*:REMOVE_UNKNOWN_REGIONS' { + withName: 'NFCORE_RNAVAR.*REMOVE_UNKNOWN_REGIONS' { ext.prefix = { "${meta.id}.exon" } publishDir = [ path: { "${params.outdir}/genome" }, @@ -59,7 +59,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:STAR_GENOMEGENERATE' { + withName: 'NFCORE_RNAVAR.*STAR_GENOMEGENERATE' { publishDir = [ path: { "${params.outdir}/genome/index" }, mode: params.publish_dir_mode, @@ -68,7 +68,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:GFFREAD' { + withName: 'NFCORE_RNAVAR.*GFFREAD' { ext.args = '--keep-exon-attrs -F -T' publishDir = [ path: { "${params.outdir}/genome" }, @@ -78,7 +78,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:GTF2BED' { + withName: 'NFCORE_RNAVAR.*GTF2BED' { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, @@ -87,7 +87,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:SAMTOOLS_FAIDX' { + withName: 'NFCORE_RNAVAR.*SAMTOOLS_FAIDX' { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, @@ -96,7 +96,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:GATK4_CREATESEQUENCEDICTIONARY' { + withName: 'NFCORE_RNAVAR.*GATK4_CREATESEQUENCEDICTIONARY' { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, @@ -110,7 +110,7 @@ process { process { - withName: 'NFCORE_RNAVAR:.*:MULTIQC' { + withName: 'NFCORE_RNAVAR.*MULTIQC' { ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' } publishDir = [ path: { "${params.outdir}/reports"}, @@ -120,7 +120,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:FASTQC' { + withName: 'NFCORE_RNAVAR.*FASTQC' { ext.args = '--quiet' publishDir = [ enabled: false @@ -132,7 +132,7 @@ process { process { // UMITOOLS_EXTRACT - withName: 'NFCORE_RNAVAR:.*:UMITOOLS_EXTRACT' { + withName: 'NFCORE_RNAVAR.*UMITOOLS_EXTRACT' { ext.args = { [ params.umitools_extract_method ? "--extract-method=${params.umitools_extract_method}" : '', params.umitools_bc_pattern ? "--bc-pattern='${params.umitools_bc_pattern}'" : '', @@ -143,7 +143,7 @@ process { // ALIGN_STAR - withName: 'NFCORE_RNAVAR:.*:STAR_ALIGN' { + withName: 'NFCORE_RNAVAR.*STAR_ALIGN' { ext.args = { [ '--outSAMtype BAM SortedByCoordinate', '--readFilesCommand zcat', @@ -181,7 +181,7 @@ process { process { - withName: 'NFCORE_RNAVAR:.*:ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_SORT' { + withName: 'NFCORE_RNAVAR.*ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_SORT' { ext.prefix = {"${meta.id}.aligned"} publishDir = [ path: { "${params.outdir}/preprocessing/${meta.id}" }, @@ -191,7 +191,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_INDEX' { + withName: 'NFCORE_RNAVAR.*ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' ext.prefix = {"${meta.id}.aligned"} publishDir = [ @@ -202,11 +202,11 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:GATK4_BEDTOINTERVALLIST' { + withName: 'NFCORE_RNAVAR.*GATK4_BEDTOINTERVALLIST' { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR:.*:GATK4_INTERVALLISTTOOLS' { + withName: 'NFCORE_RNAVAR.*GATK4_INTERVALLISTTOOLS' { ext.args = [ '--SUBDIVISION_MODE BALANCING_WITHOUT_INTERVAL_SUBDIVISION_WITH_OVERFLOW', '--UNIQUE true', @@ -216,7 +216,7 @@ process { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR:.*:PICARD_MARKDUPLICATES' { + withName: 'NFCORE_RNAVAR.*PICARD_MARKDUPLICATES' { ext.args = [ '--ASSUME_SORTED true', '--VALIDATION_STRINGENCY LENIENT', @@ -239,7 +239,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:BAM_MARKDUPLICATES_PICARD:SAMTOOLS_INDEX' { + withName: 'NFCORE_RNAVAR.*BAM_MARKDUPLICATES_PICARD:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' ext.prefix = {"${meta.id}.md"} publishDir = [ @@ -250,20 +250,20 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:SPLITNCIGAR:GATK4_SPLITNCIGARREADS' { + withName: 'NFCORE_RNAVAR.*SPLITNCIGAR:GATK4_SPLITNCIGARREADS' { ext.args = '--create-output-bam-index false' ext.prefix = { "${meta.id}.splitncigarreads" } } - withName: 'NFCORE_RNAVAR:.*:SPLITNCIGAR:SAMTOOLS_INDEX' { + withName: 'NFCORE_RNAVAR.*SPLITNCIGAR:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' } - withName: 'NFCORE_RNAVAR:.*:SPLITNCIGAR:.*' { + withName: 'NFCORE_RNAVAR.*SPLITNCIGAR:*' { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR:.*:SAMTOOLS_STATS|SAMTOOLS_FLAGSTAT|SAMTOOLS_IDXSTATS' { + withName: 'NFCORE_RNAVAR.*SAMTOOLS_STATS|SAMTOOLS_FLAGSTAT|SAMTOOLS_IDXSTATS' { publishDir = [ path: { "${params.outdir}/reports/stats/${meta.id}" }, mode: params.publish_dir_mode, @@ -277,12 +277,12 @@ process { // BASE RECALIBRATION PROCESS process { - withName: 'NFCORE_RNAVAR:.*:GATK4_BASERECALIBRATOR' { + withName: 'NFCORE_RNAVAR.*GATK4_BASERECALIBRATOR' { ext.args = '--use-original-qualities' publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR:.*:RECALIBRATE:APPLYBQSR' { + withName: 'NFCORE_RNAVAR.*RECALIBRATE:APPLYBQSR' { ext.args = [ '--use-original-qualities', '--add-output-sam-program-record' @@ -296,7 +296,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:RECALIBRATE:SAMTOOLS_INDEX' { + withName: 'NFCORE_RNAVAR.*RECALIBRATE:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' ext.prefix = {"${meta.id}.recal"} publishDir = [ @@ -313,7 +313,7 @@ process { process { - withName: 'NFCORE_RNAVAR:.*:GATK4_HAPLOTYPECALLER' { + withName: 'NFCORE_RNAVAR.*GATK4_HAPLOTYPECALLER' { ext.args = [ '--dont-use-soft-clipped-bases', '--create-output-variant-index true', @@ -323,7 +323,7 @@ process { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR:.*:GATK4_MERGEVCFS' { + withName: 'NFCORE_RNAVAR.*GATK4_MERGEVCFS' { ext.prefix = {"${meta.id}.haplotypecaller"} publishDir = [ path: { "${params.outdir}/variant_calling/${meta.id}" }, @@ -331,7 +331,7 @@ process { pattern: "*.{vcf.gz}" ] } - withName: 'NFCORE_RNAVAR:.*:GATK4_COMBINEGVCFS' { + withName: 'NFCORE_RNAVAR.*GATK4_COMBINEGVCFS' { ext.prefix = {"${meta.id}.haplotypecaller"} publishDir = [ path: { "${params.outdir}/variant_calling/${meta.id}" }, @@ -340,7 +340,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:TABIX_TABIX' { + withName: 'NFCORE_RNAVAR.*TABIX_TABIX' { ext.args = params.bam_csi_index ? '--csi' : '' ext.prefix = {"${meta.id}.haplotypecaller"} publishDir = [ @@ -350,7 +350,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:GATK4_VARIANTFILTRATION' { + withName: 'NFCORE_RNAVAR.*GATK4_VARIANTFILTRATION' { ext.prefix = {"${meta.id}.haplotypecaller.filtered"} ext.args = [ params.gatk_vf_window_size ? "--cluster-window-size $params.gatk_vf_window_size" : '', @@ -365,7 +365,7 @@ process { ] } - withName: 'NFCORE_RNAVAR:.*:GATK4_BEDTOINTERVALLIST' { + withName: 'NFCORE_RNAVAR.*GATK4_BEDTOINTERVALLIST' { ext.args = '--DROP_MISSING_CONTIGS TRUE' } } diff --git a/conf/modules/annotate.config b/conf/modules/annotate.config index 08167a9..603b551 100644 --- a/conf/modules/annotate.config +++ b/conf/modules/annotate.config @@ -16,7 +16,7 @@ process { // SNPEFF - withName: 'NFCORE_RNAVAR:.*:SNPEFF_SNPEFF' { + withName: 'NFCORE_RNAVAR.*SNPEFF_SNPEFF' { ext.args = { '-nodownload -canon -v' } ext.prefix = { vcf.baseName - '.vcf' + '_snpEff' } publishDir = [ @@ -30,7 +30,7 @@ process { } // VEP - withName: 'NFCORE_RNAVAR:.*:ENSEMBLVEP_VEP' { + withName: 'NFCORE_RNAVAR.*ENSEMBLVEP_VEP' { ext.args = { [ "--stats_file ${vcf.baseName - '.vcf' + '_VEP.ann'}.summary.html", (params.vep_dbnsfp && params.dbnsfp && !params.dbnsfp_consequence) ? "--plugin dbNSFP,${params.dbnsfp.split("/")[-1]},${params.dbnsfp_fields}" : '', @@ -85,7 +85,7 @@ process { } // ALL ANNOTATION TOOLS - withName: 'NFCORE_RNAVAR:RNAVAR:VCF_ANNOTATE_ALL:.*:(TABIX_BGZIPTABIX|TABIX_TABIX)' { + withName: 'NFCORE_RNAVAR:RNAVAR:VCF_ANNOTATE_ALL.*(TABIX_BGZIPTABIX|TABIX_TABIX)' { ext.prefix = { input.name - '.vcf' } publishDir = [ mode: params.publish_dir_mode, diff --git a/conf/modules/prepare_cache.config b/conf/modules/prepare_cache.config index 0fa0684..88cd4b1 100644 --- a/conf/modules/prepare_cache.config +++ b/conf/modules/prepare_cache.config @@ -16,7 +16,7 @@ process { // SNPEFF - withName: 'NFCORE_RNAVAR:.*:SNPEFF_DOWNLOAD' { + withName: 'NFCORE_RNAVAR.*SNPEFF_DOWNLOAD' { ext.when = { params.annotate_tools && (params.annotate_tools.split(',').contains('snpeff') || params.annotate_tools.split(',').contains('merge')) } publishDir = [ mode: params.publish_dir_mode, @@ -25,7 +25,7 @@ process { } // VEP - withName: 'NFCORE_RNAVAR:.*:ENSEMBLVEP_DOWNLOAD' { + withName: 'NFCORE_RNAVAR.*ENSEMBLVEP_DOWNLOAD' { ext.when = { params.annotate_tools && (params.annotate_tools.split(',').contains('vep') || params.annotate_tools.split(',').contains('merge')) } ext.args = { '--AUTO c --CONVERT --NO_BIOPERL --NO_HTSLIB --NO_TEST --NO_UPDATE' } publishDir = [ From 379e79c6d7c8921a7ef95b3f430759383dd4edc4 Mon Sep 17 00:00:00 2001 From: maxulysse Date: Tue, 4 Mar 2025 11:17:15 +0100 Subject: [PATCH 11/13] keep config the same --- conf/modules.config | 67 ++++++++++++++++--------------- conf/modules/annotate.config | 6 +-- conf/modules/prepare_cache.config | 4 +- 3 files changed, 39 insertions(+), 38 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index b8e07e2..eac39d8 100755 --- a/conf/modules.config +++ b/conf/modules.config @@ -24,7 +24,7 @@ process { process { - withName: 'NFCORE_RNAVAR.*CAT_FASTQ' { + withName: CAT_FASTQ { publishDir = [ path: { "${params.outdir}/fastq" }, mode: params.publish_dir_mode, @@ -33,23 +33,23 @@ process { ] } - withName: 'NFCORE_RNAVAR.*STAR_GENOMEGENERATE' { + withName: STAR_GENOMEGENERATE { ext.args = params.read_length ? "--sjdbOverhang ${params.read_length - 1}" : '' } - withName: 'NFCORE_RNAVAR.*STAR_INDEXVERSION' { + withName: STAR_INDEXVERSION { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR.*PREPARE_GENOME:UNTAR' { + withName: '.*PREPARE_GENOME:UNTAR' { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR.*REMOVE_UNKNOWN_REGIONS' { + withName: REMOVE_UNKNOWN_REGIONS { ext.prefix = { "${meta.id}.exon" } publishDir = [ path: { "${params.outdir}/genome" }, @@ -59,7 +59,7 @@ process { ] } - withName: 'NFCORE_RNAVAR.*STAR_GENOMEGENERATE' { + withName: 'STAR_GENOMEGENERATE' { publishDir = [ path: { "${params.outdir}/genome/index" }, mode: params.publish_dir_mode, @@ -68,7 +68,7 @@ process { ] } - withName: 'NFCORE_RNAVAR.*GFFREAD' { + withName: GFFREAD { ext.args = '--keep-exon-attrs -F -T' publishDir = [ path: { "${params.outdir}/genome" }, @@ -78,7 +78,7 @@ process { ] } - withName: 'NFCORE_RNAVAR.*GTF2BED' { + withName: GTF2BED { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, @@ -87,7 +87,8 @@ process { ] } - withName: 'NFCORE_RNAVAR.*SAMTOOLS_FAIDX' { + + withName: SAMTOOLS_FAIDX { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, @@ -96,7 +97,7 @@ process { ] } - withName: 'NFCORE_RNAVAR.*GATK4_CREATESEQUENCEDICTIONARY' { + withName: GATK4_CREATESEQUENCEDICTIONARY { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, @@ -110,7 +111,7 @@ process { process { - withName: 'NFCORE_RNAVAR.*MULTIQC' { + withName: MULTIQC { ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' } publishDir = [ path: { "${params.outdir}/reports"}, @@ -120,7 +121,7 @@ process { ] } - withName: 'NFCORE_RNAVAR.*FASTQC' { + withName: FASTQC { ext.args = '--quiet' publishDir = [ enabled: false @@ -132,7 +133,7 @@ process { process { // UMITOOLS_EXTRACT - withName: 'NFCORE_RNAVAR.*UMITOOLS_EXTRACT' { + withName: UMITOOLS_EXTRACT { ext.args = { [ params.umitools_extract_method ? "--extract-method=${params.umitools_extract_method}" : '', params.umitools_bc_pattern ? "--bc-pattern='${params.umitools_bc_pattern}'" : '', @@ -143,7 +144,7 @@ process { // ALIGN_STAR - withName: 'NFCORE_RNAVAR.*STAR_ALIGN' { + withName: STAR_ALIGN { ext.args = { [ '--outSAMtype BAM SortedByCoordinate', '--readFilesCommand zcat', @@ -181,7 +182,7 @@ process { process { - withName: 'NFCORE_RNAVAR.*ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_SORT' { + withName: '.*:ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_SORT' { ext.prefix = {"${meta.id}.aligned"} publishDir = [ path: { "${params.outdir}/preprocessing/${meta.id}" }, @@ -191,7 +192,7 @@ process { ] } - withName: 'NFCORE_RNAVAR.*ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_INDEX' { + withName: '.*:ALIGN_STAR:BAM_SORT_SAMTOOLS:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' ext.prefix = {"${meta.id}.aligned"} publishDir = [ @@ -202,11 +203,11 @@ process { ] } - withName: 'NFCORE_RNAVAR.*GATK4_BEDTOINTERVALLIST' { + withName: GATK4_BEDTOINTERVALLIST { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR.*GATK4_INTERVALLISTTOOLS' { + withName: GATK4_INTERVALLISTTOOLS { ext.args = [ '--SUBDIVISION_MODE BALANCING_WITHOUT_INTERVAL_SUBDIVISION_WITH_OVERFLOW', '--UNIQUE true', @@ -216,7 +217,7 @@ process { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR.*PICARD_MARKDUPLICATES' { + withName: 'PICARD_MARKDUPLICATES' { ext.args = [ '--ASSUME_SORTED true', '--VALIDATION_STRINGENCY LENIENT', @@ -239,7 +240,7 @@ process { ] } - withName: 'NFCORE_RNAVAR.*BAM_MARKDUPLICATES_PICARD:SAMTOOLS_INDEX' { + withName: '.*:BAM_MARKDUPLICATES_PICARD:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' ext.prefix = {"${meta.id}.md"} publishDir = [ @@ -250,20 +251,20 @@ process { ] } - withName: 'NFCORE_RNAVAR.*SPLITNCIGAR:GATK4_SPLITNCIGARREADS' { + withName: '.*:SPLITNCIGAR:GATK4_SPLITNCIGARREADS' { ext.args = '--create-output-bam-index false' ext.prefix = { "${meta.id}.splitncigarreads" } } - withName: 'NFCORE_RNAVAR.*SPLITNCIGAR:SAMTOOLS_INDEX' { + withName: '.*:SPLITNCIGAR:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' } - withName: 'NFCORE_RNAVAR.*SPLITNCIGAR:*' { + withName: '.*:SPLITNCIGAR:.*' { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR.*SAMTOOLS_STATS|SAMTOOLS_FLAGSTAT|SAMTOOLS_IDXSTATS' { + withName: 'SAMTOOLS_STATS|SAMTOOLS_FLAGSTAT|SAMTOOLS_IDXSTATS' { publishDir = [ path: { "${params.outdir}/reports/stats/${meta.id}" }, mode: params.publish_dir_mode, @@ -277,12 +278,12 @@ process { // BASE RECALIBRATION PROCESS process { - withName: 'NFCORE_RNAVAR.*GATK4_BASERECALIBRATOR' { + withName: GATK4_BASERECALIBRATOR { ext.args = '--use-original-qualities' publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR.*RECALIBRATE:APPLYBQSR' { + withName: '.*:RECALIBRATE:APPLYBQSR' { ext.args = [ '--use-original-qualities', '--add-output-sam-program-record' @@ -296,7 +297,7 @@ process { ] } - withName: 'NFCORE_RNAVAR.*RECALIBRATE:SAMTOOLS_INDEX' { + withName: '.*:RECALIBRATE:SAMTOOLS_INDEX' { ext.args = params.bam_csi_index ? '-c' : '' ext.prefix = {"${meta.id}.recal"} publishDir = [ @@ -313,7 +314,7 @@ process { process { - withName: 'NFCORE_RNAVAR.*GATK4_HAPLOTYPECALLER' { + withName: GATK4_HAPLOTYPECALLER { ext.args = [ '--dont-use-soft-clipped-bases', '--create-output-variant-index true', @@ -323,7 +324,7 @@ process { publishDir = [ enabled: false ] } - withName: 'NFCORE_RNAVAR.*GATK4_MERGEVCFS' { + withName: GATK4_MERGEVCFS { ext.prefix = {"${meta.id}.haplotypecaller"} publishDir = [ path: { "${params.outdir}/variant_calling/${meta.id}" }, @@ -331,7 +332,7 @@ process { pattern: "*.{vcf.gz}" ] } - withName: 'NFCORE_RNAVAR.*GATK4_COMBINEGVCFS' { + withName: GATK4_COMBINEGVCFS { ext.prefix = {"${meta.id}.haplotypecaller"} publishDir = [ path: { "${params.outdir}/variant_calling/${meta.id}" }, @@ -340,7 +341,7 @@ process { ] } - withName: 'NFCORE_RNAVAR.*TABIX_TABIX' { + withName: TABIX_TABIX { ext.args = params.bam_csi_index ? '--csi' : '' ext.prefix = {"${meta.id}.haplotypecaller"} publishDir = [ @@ -350,7 +351,7 @@ process { ] } - withName: 'NFCORE_RNAVAR.*GATK4_VARIANTFILTRATION' { + withName: GATK4_VARIANTFILTRATION { ext.prefix = {"${meta.id}.haplotypecaller.filtered"} ext.args = [ params.gatk_vf_window_size ? "--cluster-window-size $params.gatk_vf_window_size" : '', @@ -365,7 +366,7 @@ process { ] } - withName: 'NFCORE_RNAVAR.*GATK4_BEDTOINTERVALLIST' { + withName: 'NFCORE_RNAVAR:RNAVAR:GATK4_BEDTOINTERVALLIST' { ext.args = '--DROP_MISSING_CONTIGS TRUE' } } diff --git a/conf/modules/annotate.config b/conf/modules/annotate.config index 603b551..0704a6c 100644 --- a/conf/modules/annotate.config +++ b/conf/modules/annotate.config @@ -16,7 +16,7 @@ process { // SNPEFF - withName: 'NFCORE_RNAVAR.*SNPEFF_SNPEFF' { + withName: 'SNPEFF_SNPEFF' { ext.args = { '-nodownload -canon -v' } ext.prefix = { vcf.baseName - '.vcf' + '_snpEff' } publishDir = [ @@ -30,7 +30,7 @@ process { } // VEP - withName: 'NFCORE_RNAVAR.*ENSEMBLVEP_VEP' { + withName: 'ENSEMBLVEP_VEP' { ext.args = { [ "--stats_file ${vcf.baseName - '.vcf' + '_VEP.ann'}.summary.html", (params.vep_dbnsfp && params.dbnsfp && !params.dbnsfp_consequence) ? "--plugin dbNSFP,${params.dbnsfp.split("/")[-1]},${params.dbnsfp_fields}" : '', @@ -85,7 +85,7 @@ process { } // ALL ANNOTATION TOOLS - withName: 'NFCORE_RNAVAR:RNAVAR:VCF_ANNOTATE_ALL.*(TABIX_BGZIPTABIX|TABIX_TABIX)' { + withName: 'NFCORE_RNAVAR:RNAVAR:VCF_ANNOTATE_ALL:.*:(TABIX_BGZIPTABIX|TABIX_TABIX)' { ext.prefix = { input.name - '.vcf' } publishDir = [ mode: params.publish_dir_mode, diff --git a/conf/modules/prepare_cache.config b/conf/modules/prepare_cache.config index 88cd4b1..7329d0a 100644 --- a/conf/modules/prepare_cache.config +++ b/conf/modules/prepare_cache.config @@ -16,7 +16,7 @@ process { // SNPEFF - withName: 'NFCORE_RNAVAR.*SNPEFF_DOWNLOAD' { + withName: 'SNPEFF_DOWNLOAD' { ext.when = { params.annotate_tools && (params.annotate_tools.split(',').contains('snpeff') || params.annotate_tools.split(',').contains('merge')) } publishDir = [ mode: params.publish_dir_mode, @@ -25,7 +25,7 @@ process { } // VEP - withName: 'NFCORE_RNAVAR.*ENSEMBLVEP_DOWNLOAD' { + withName: 'ENSEMBLVEP_DOWNLOAD' { ext.when = { params.annotate_tools && (params.annotate_tools.split(',').contains('vep') || params.annotate_tools.split(',').contains('merge')) } ext.args = { '--AUTO c --CONVERT --NO_BIOPERL --NO_HTSLIB --NO_TEST --NO_UPDATE' } publishDir = [ From 3c338d589db879dd855bed0b6822eca1a908a85e Mon Sep 17 00:00:00 2001 From: maxulysse Date: Tue, 4 Mar 2025 11:19:11 +0100 Subject: [PATCH 12/13] properly ignore tests --- nf-test.config | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nf-test.config b/nf-test.config index b721312..e2c877e 100644 --- a/nf-test.config +++ b/nf-test.config @@ -8,6 +8,9 @@ config { // location of an optional nextflow.config file specific for executing tests configFile "tests/nextflow.config" + // ignore tests coming from the nf-core/modules repo + ignore 'modules/nf-core/*', 'subworkflows/nf-core/*' + // run all test with defined profile(s) from the main nextflow.config profile "test" From d956911fe0bf3d939ccd0a7dfa080b050832839c Mon Sep 17 00:00:00 2001 From: maxulysse Date: Tue, 4 Mar 2025 11:22:26 +0100 Subject: [PATCH 13/13] properly ignore tests --- nf-test.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nf-test.config b/nf-test.config index e2c877e..4ba00ef 100644 --- a/nf-test.config +++ b/nf-test.config @@ -9,7 +9,7 @@ config { configFile "tests/nextflow.config" // ignore tests coming from the nf-core/modules repo - ignore 'modules/nf-core/*', 'subworkflows/nf-core/*' + ignore 'modules/nf-core/**/*', 'subworkflows/nf-core/**/*' // run all test with defined profile(s) from the main nextflow.config profile "test"