diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 0d11a7fe0a..fa1bfca649 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -11,15 +11,7 @@ "vscode": { // Set *default* container specific settings.json values on container create. "settings": { - "python.defaultInterpreterPath": "/opt/conda/bin/python", - "python.linting.enabled": true, - "python.linting.pylintEnabled": true, - "python.formatting.autopep8Path": "/opt/conda/bin/autopep8", - "python.formatting.yapfPath": "/opt/conda/bin/yapf", - "python.linting.flake8Path": "/opt/conda/bin/flake8", - "python.linting.pycodestylePath": "/opt/conda/bin/pycodestyle", - "python.linting.pydocstylePath": "/opt/conda/bin/pydocstyle", - "python.linting.pylintPath": "/opt/conda/bin/pylint" + "python.defaultInterpreterPath": "/opt/conda/bin/python" }, // Add the IDs of extensions you want installed when the container is created. diff --git a/.github/RELEASE_CHECKLIST.md b/.github/RELEASE_CHECKLIST.md index 775dd9ecd4..9a1905c7a0 100644 --- a/.github/RELEASE_CHECKLIST.md +++ b/.github/RELEASE_CHECKLIST.md @@ -3,7 +3,7 @@ 1. Check issue milestones to see outstanding issues to resolve if possible or transfer to the milestones for the next release e.g. [`v1.9`](https://github.com/nf-core/tools/issues?q=is%3Aopen+is%3Aissue+milestone%3A1.9) 2. Most importantly, pick an undeniably outstanding [name](http://www.codenamegenerator.com/) for the release where _Prefix_ = _Metal_ and _Dictionary_ = _Animal_. 3. Check the [pipeline health page](https://nf-co.re/pipeline_health) to make sure that all repos look sane (missing `TEMPLATE` branches etc) -4. Check that modules/subworkflows in tempalte are up to date with the latest releases +4. Check that modules/subworkflows in template are up to date with the latest releases 5. Create a PR to `dev` to bump the version in `CHANGELOG.md` and `setup.py` and change the gitpod container to `nfcore/gitpod:latest`. 6. Make sure all CI tests are passing! 7. Create a PR from `dev` to `master` diff --git a/.github/actions/create-lint-wf/action.yml b/.github/actions/create-lint-wf/action.yml index 3b63f198cc..51bf2ae5f7 100644 --- a/.github/actions/create-lint-wf/action.yml +++ b/.github/actions/create-lint-wf/action.yml @@ -17,7 +17,7 @@ runs: # Set up Nextflow - name: Install Nextflow - uses: nf-core/setup-nextflow@b9f764e8ba5c76b712ace14ecbfcef0e40ae2dd8 # v1 + uses: nf-core/setup-nextflow@v1 with: version: ${{ matrix.NXF_VER }} diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index 6316d62f33..63bf8fa5ed 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -4,6 +4,8 @@ on: types: [created] pull_request_target: types: [opened] + branches: + - dev jobs: update_changelog: diff --git a/.github/workflows/create-test-lint-wf-template.yml b/.github/workflows/create-test-lint-wf-template.yml index 6f27236462..188cccfd75 100644 --- a/.github/workflows/create-test-lint-wf-template.yml +++ b/.github/workflows/create-test-lint-wf-template.yml @@ -72,7 +72,7 @@ jobs: pip install . - name: Install Nextflow - uses: nf-core/setup-nextflow@b9f764e8ba5c76b712ace14ecbfcef0e40ae2dd8 # v1 + uses: nf-core/setup-nextflow@v1 with: version: latest-everything diff --git a/.github/workflows/create-test-wf.yml b/.github/workflows/create-test-wf.yml index 0166931be7..cd36d4e62d 100644 --- a/.github/workflows/create-test-wf.yml +++ b/.github/workflows/create-test-wf.yml @@ -59,7 +59,7 @@ jobs: pip install . - name: Install Nextflow - uses: nf-core/setup-nextflow@b9f764e8ba5c76b712ace14ecbfcef0e40ae2dd8 # v1 + uses: nf-core/setup-nextflow@v1 with: version: ${{ matrix.NXF_VER }} diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 5351bb985c..eec676a746 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -108,12 +108,18 @@ jobs: sudo add-apt-repository --remove ppa:git-core/ppa sudo apt install -y git + - name: Set up Singularity + if: ${{ matrix.test == 'test_download.py'}} + uses: eWaterCycle/setup-singularity@931d4e31109e875b13309ae1d07c70ca8fbc8537 # v7 + with: + singularity-version: 3.8.3 + - name: Get current date id: date run: echo "date=$(date +'%Y-%m')" >> $GITHUB_ENV - name: Install Nextflow - uses: nf-core/setup-nextflow@b9f764e8ba5c76b712ace14ecbfcef0e40ae2dd8 # v1 + uses: nf-core/setup-nextflow@v1 - name: Look if nf-test is already installed and write to env variable id: check-nftest @@ -191,14 +197,14 @@ jobs: mv .github/.coveragerc . - name: Download all artifacts - uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4 + uses: actions/download-artifact@87c55149d96e628cc2ef7e6fc2aab372015aec85 # v4 - name: Run coverage run: | coverage combine --keep coverage*/.coverage* coverage report coverage xml - - uses: codecov/codecov-action@e0b68c6749509c5f83f984dd99a76a1c1a231044 # v4 + - uses: codecov/codecov-action@54bcd8715eee62d40e33596ef5e8f0f48dbbccab # v4 with: files: coverage.xml env: diff --git a/.github/workflows/rich-codex.yml b/.github/workflows/rich-codex.yml index 0e8a1c5e9b..8748f3d7b3 100644 --- a/.github/workflows/rich-codex.yml +++ b/.github/workflows/rich-codex.yml @@ -15,7 +15,7 @@ jobs: cache-dependency-path: setup.py - name: Install Nextflow - uses: nf-core/setup-nextflow@b9f764e8ba5c76b712ace14ecbfcef0e40ae2dd8 # v1 + uses: nf-core/setup-nextflow@v1 - name: Cache nf-test installation id: cache-software diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml index d89e255bfb..c998552ddd 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync.yml @@ -67,7 +67,7 @@ jobs: pip install . - name: Install Nextflow - uses: nf-core/setup-nextflow@b9f764e8ba5c76b712ace14ecbfcef0e40ae2dd8 # v1 + uses: nf-core/setup-nextflow@v1 with: version: "latest-everything" diff --git a/.gitpod.yml b/.gitpod.yml index a4f1c17169..445cb35706 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -12,10 +12,7 @@ tasks: vscode: extensions: # based on nf-core.nf-core-extensionpack - - codezombiech.gitignore # Language support for .gitignore files - # - cssho.vscode-svgviewer # SVG viewer - esbenp.prettier-vscode # Markdown/CommonMark linting and style checking for Visual Studio Code - - eamodio.gitlens # Quickly glimpse into whom, why, and when a line or code block was changed - EditorConfig.EditorConfig # override user/workspace settings with settings found in .editorconfig files - Gruntfuggly.todo-tree # Display TODO and FIXME in a tree view in the activity bar - mechatroner.rainbow-csv # Highlight columns in csv files in different colors diff --git a/CHANGELOG.md b/CHANGELOG.md index a9d83051f3..5e3189edaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ # nf-core/tools: Changelog +## [v2.13.1 - Tin Puppy Patch](https://github.com/nf-core/tools/releases/tag/2.13) - [2024-02-29] + +### Template + +- Remove obsolete editor settings in `devcontainer.json` and `gitpod.yml` ([#2795](https://github.com/nf-core/tools/pull/2795)) +- Add nf-test test instructions to contributing and PR template ([#2807](https://github.com/nf-core/tools/pull/2807)) +- Fix topic extraction step for hashtags in toots ([#2810](https://github.com/nf-core/tools/pull/2810)) +- Update modules and subworkflows in the template ([#2811](https://github.com/nf-core/tools/pull/2811)) +- Unpin setup-nextflow and action-tower-launch ([#2806](https://github.com/nf-core/tools/pull/2806)) + +### Download + +- Improved offline container image resolution by introducing symlinks, fixes issues [#2751](https://github.com/nf-core/tools/issues/2751), [#2644](https://github.com/nf-core/tools/issues/2644) and [demultiplex#164](https://github.com/nf-core/demultiplex/issues/164): ([#2768](https://github.com/nf-core/tools/pull/2768)) + +### Linting + +### Components + +### General + +- chore(deps): update codecov/codecov-action digest to 0cfda1d ([#2794](https://github.com/nf-core/tools/pull/2794)) +- chore(deps): update gitpod/workspace-base docker digest to c15ee2f ([#2799](https://github.com/nf-core/tools/pull/2799)) + ## [v2.13 - Tin Puppy](https://github.com/nf-core/tools/releases/tag/2.13) - [2024-02-20] ### Template diff --git a/docs/images/nf-core-bump-version.svg b/docs/images/nf-core-bump-version.svg index 838d1cfc7f..70171475d9 100644 --- a/docs/images/nf-core-bump-version.svg +++ b/docs/images/nf-core-bump-version.svg @@ -19,122 +19,122 @@ font-weight: 700; } - .terminal-978478039-matrix { + .terminal-3430704182-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-978478039-title { + .terminal-3430704182-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-978478039-r1 { fill: #c5c8c6 } -.terminal-978478039-r2 { fill: #98a84b } -.terminal-978478039-r3 { fill: #9a9b99 } -.terminal-978478039-r4 { fill: #608ab1 } -.terminal-978478039-r5 { fill: #d0b344 } -.terminal-978478039-r6 { fill: #cc555a } + .terminal-3430704182-r1 { fill: #c5c8c6 } +.terminal-3430704182-r2 { fill: #98a84b } +.terminal-3430704182-r3 { fill: #9a9b99 } +.terminal-3430704182-r4 { fill: #608ab1 } +.terminal-3430704182-r5 { fill: #d0b344 } +.terminal-3430704182-r6 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -146,41 +146,41 @@ - + - - $ nf-core bump-version 1.1 - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -INFO     Changing version number from '1.0dev' to '1.1' -INFO     Updated version in 'nextflow.config' - - version         = '1.0dev' - + version         = '1.1' - - -INFO     Updated version in 'assets/multiqc_config.yml' - - This report has been generated by the <a  -href="https://github.com/nf-core/nextbigthing/tree/dev" target="_blank">nf-core/nextbigthing</a> - + This report has been generated by the <a  -href="https://github.com/nf-core/nextbigthing/releases/tag/1.1"  -target="_blank">nf-core/nextbigthing</a> - - -INFO     Updated version in 'assets/multiqc_config.yml' - - <a href="https://nf-co.re/nextbigthing/dev/docs/output"  -target="_blank">documentation</a>. - + <a href="https://nf-co.re/nextbigthing/1.1/docs/output"  -target="_blank">documentation</a>. - - + + $ nf-core bump-version 1.1 + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +INFO     Changing version number from '1.0dev' to '1.1' +INFO     Updated version in 'nextflow.config' + - version         = '1.0dev' + + version         = '1.1' + + +INFO     Updated version in 'assets/multiqc_config.yml' + - This report has been generated by the <a  +href="https://github.com/nf-core/nextbigthing/tree/dev" target="_blank">nf-core/nextbigthing</a> + + This report has been generated by the <a  +href="https://github.com/nf-core/nextbigthing/releases/tag/1.1"  +target="_blank">nf-core/nextbigthing</a> + + +INFO     Updated version in 'assets/multiqc_config.yml' + - <a href="https://nf-co.re/nextbigthing/dev/docs/output"  +target="_blank">documentation</a>. + + <a href="https://nf-co.re/nextbigthing/1.1/docs/output"  +target="_blank">documentation</a>. + + diff --git a/docs/images/nf-core-create-logo.svg b/docs/images/nf-core-create-logo.svg index ac5d872b94..c6e7269363 100644 --- a/docs/images/nf-core-create-logo.svg +++ b/docs/images/nf-core-create-logo.svg @@ -19,62 +19,62 @@ font-weight: 700; } - .terminal-189794694-matrix { + .terminal-2584676837-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-189794694-title { + .terminal-2584676837-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-189794694-r1 { fill: #c5c8c6 } -.terminal-189794694-r2 { fill: #98a84b } -.terminal-189794694-r3 { fill: #9a9b99 } -.terminal-189794694-r4 { fill: #608ab1 } -.terminal-189794694-r5 { fill: #d0b344 } -.terminal-189794694-r6 { fill: #98729f } + .terminal-2584676837-r1 { fill: #c5c8c6 } +.terminal-2584676837-r2 { fill: #98a84b } +.terminal-2584676837-r3 { fill: #9a9b99 } +.terminal-2584676837-r4 { fill: #608ab1 } +.terminal-2584676837-r5 { fill: #d0b344 } +.terminal-2584676837-r6 { fill: #98729f } - + - + - + - + - + - + - + - + - + - + - + - + @@ -86,21 +86,21 @@ - + - - $ nf-core create-logo nextbigthing - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -INFO     Created logo: nf-core-nextbigthing_logo_light.png + + $ nf-core create-logo nextbigthing + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +INFO     Created logo: nf-core-nextbigthing_logo_light.png diff --git a/docs/images/nf-core-create.svg b/docs/images/nf-core-create.svg index 68cae552b3..422e6734ce 100644 --- a/docs/images/nf-core-create.svg +++ b/docs/images/nf-core-create.svg @@ -19,104 +19,104 @@ font-weight: 700; } - .terminal-2074661465-matrix { + .terminal-165925560-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2074661465-title { + .terminal-165925560-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2074661465-r1 { fill: #c5c8c6 } -.terminal-2074661465-r2 { fill: #98a84b } -.terminal-2074661465-r3 { fill: #9a9b99 } -.terminal-2074661465-r4 { fill: #608ab1 } -.terminal-2074661465-r5 { fill: #d0b344 } -.terminal-2074661465-r6 { fill: #98729f } -.terminal-2074661465-r7 { fill: #ff2c7a } -.terminal-2074661465-r8 { fill: #98a84b;font-weight: bold } -.terminal-2074661465-r9 { fill: #1984e9;text-decoration: underline; } + .terminal-165925560-r1 { fill: #c5c8c6 } +.terminal-165925560-r2 { fill: #98a84b } +.terminal-165925560-r3 { fill: #9a9b99 } +.terminal-165925560-r4 { fill: #608ab1 } +.terminal-165925560-r5 { fill: #d0b344 } +.terminal-165925560-r6 { fill: #98729f } +.terminal-165925560-r7 { fill: #ff2c7a } +.terminal-165925560-r8 { fill: #98a84b;font-weight: bold } +.terminal-165925560-r9 { fill: #1984e9;text-decoration: underline; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -128,34 +128,34 @@ - + - - $ nf-core create -n nextbigthing -d "This pipeline analyses data from the next big omics technique"  --a "Big Steve" --plain - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -INFO     Creating new nf-core pipeline: 'nf-core/nextbigthing' -INFO     Initialising pipeline git repository                                                        -INFO     Done. Remember to add a remote and push to GitHub:                                          - cd /home/runner/work/tools/tools/tmp/nf-core-nextbigthing - git remote add origin git@github.com:USERNAME/REPO_NAME.git  - git push --all origin                                        -INFO     This will also push your newly created dev branch and the TEMPLATE branch for syncing.      -INFO    !!!!!! IMPORTANT !!!!!! - -If you are interested in adding your pipeline to the nf-core community, -PLEASE COME AND TALK TO US IN THE NF-CORE SLACK BEFORE WRITING ANY CODE! - -Please read: https://nf-co.re/developers/adding_pipelines#join-the-community + + $ nf-core create -n nextbigthing -d "This pipeline analyses data from the next big omics technique"  +-a "Big Steve" --plain + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +INFO     Creating new nf-core pipeline: 'nf-core/nextbigthing' +INFO     Initialising pipeline git repository                                                        +INFO     Done. Remember to add a remote and push to GitHub:                                          + cd /home/runner/work/tools/tools/tmp/nf-core-nextbigthing + git remote add origin git@github.com:USERNAME/REPO_NAME.git  + git push --all origin                                        +INFO     This will also push your newly created dev branch and the TEMPLATE branch for syncing.      +INFO    !!!!!! IMPORTANT !!!!!! + +If you are interested in adding your pipeline to the nf-core community, +PLEASE COME AND TALK TO US IN THE NF-CORE SLACK BEFORE WRITING ANY CODE! + +Please read: https://nf-co.re/developers/adding_pipelines#join-the-community diff --git a/docs/images/nf-core-download.svg b/docs/images/nf-core-download.svg index e2ed5b22b4..5594930fa7 100644 --- a/docs/images/nf-core-download.svg +++ b/docs/images/nf-core-download.svg @@ -19,86 +19,86 @@ font-weight: 700; } - .terminal-2088037745-matrix { + .terminal-2899766736-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2088037745-title { + .terminal-2899766736-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2088037745-r1 { fill: #c5c8c6 } -.terminal-2088037745-r2 { fill: #98a84b } -.terminal-2088037745-r3 { fill: #9a9b99 } -.terminal-2088037745-r4 { fill: #608ab1 } -.terminal-2088037745-r5 { fill: #d0b344 } -.terminal-2088037745-r6 { fill: #cc555a } + .terminal-2899766736-r1 { fill: #c5c8c6 } +.terminal-2899766736-r2 { fill: #98a84b } +.terminal-2899766736-r3 { fill: #9a9b99 } +.terminal-2899766736-r4 { fill: #608ab1 } +.terminal-2899766736-r5 { fill: #d0b344 } +.terminal-2899766736-r6 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -110,29 +110,29 @@ - + - - $ nf-core download rnaseq -r 3.8 --outdir nf-core-rnaseq -x none -s none -d - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -WARNING  Could not find GitHub authentication token. Some API requests may fail.                     -INFO     Saving 'nf-core/rnaseq' -          Pipeline revision: '3.8' -          Use containers: 'none' -          Container library: 'quay.io' -          Output directory: 'nf-core-rnaseq' -          Include default institutional configuration: 'True' -INFO     Downloading centralised configs from GitHub                                                 -INFO     Downloading workflow files from GitHub                                                      + + $ nf-core download rnaseq -r 3.8 --outdir nf-core-rnaseq -x none -s none -d + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +WARNING  Could not find GitHub authentication token. Some API requests may fail.                     +INFO     Saving 'nf-core/rnaseq' +          Pipeline revision: '3.8' +          Use containers: 'none' +          Container library: 'quay.io' +          Output directory: 'nf-core-rnaseq' +          Include default institutional configuration: 'True' +INFO     Downloading centralised configs from GitHub                                                 +INFO     Downloading workflow files from GitHub                                                      diff --git a/docs/images/nf-core-launch-rnaseq.svg b/docs/images/nf-core-launch-rnaseq.svg index 6bbbbaf099..f2608fe76f 100644 --- a/docs/images/nf-core-launch-rnaseq.svg +++ b/docs/images/nf-core-launch-rnaseq.svg @@ -19,72 +19,72 @@ font-weight: 700; } - .terminal-1939516884-matrix { + .terminal-3860049459-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1939516884-title { + .terminal-3860049459-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1939516884-r1 { fill: #c5c8c6 } -.terminal-1939516884-r2 { fill: #98a84b } -.terminal-1939516884-r3 { fill: #9a9b99 } -.terminal-1939516884-r4 { fill: #608ab1 } -.terminal-1939516884-r5 { fill: #d0b344 } -.terminal-1939516884-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-1939516884-r7 { fill: #68a0b3;font-weight: bold } + .terminal-3860049459-r1 { fill: #c5c8c6 } +.terminal-3860049459-r2 { fill: #98a84b } +.terminal-3860049459-r3 { fill: #9a9b99 } +.terminal-3860049459-r4 { fill: #608ab1 } +.terminal-3860049459-r5 { fill: #d0b344 } +.terminal-3860049459-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-3860049459-r7 { fill: #68a0b3;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -96,24 +96,24 @@ - + - - $ nf-core launch rnaseq -r 3.8.1 - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -INFO     NOTE: This tool ignores any pipeline parameter defaults overwritten by Nextflow config      -         files or profiles                                                                           - -INFO     Downloading workflow: nf-core/rnaseq (3.8.1) + + $ nf-core launch rnaseq -r 3.8.1 + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +INFO     NOTE: This tool ignores any pipeline parameter defaults overwritten by Nextflow config      +         files or profiles                                                                           + +INFO     Downloading workflow: nf-core/rnaseq (3.8.1) diff --git a/docs/images/nf-core-licences.svg b/docs/images/nf-core-licences.svg index 35962d8e4f..8cc00c351b 100644 --- a/docs/images/nf-core-licences.svg +++ b/docs/images/nf-core-licences.svg @@ -19,62 +19,62 @@ font-weight: 700; } - .terminal-2800093472-matrix { + .terminal-918620543-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2800093472-title { + .terminal-918620543-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2800093472-r1 { fill: #c5c8c6 } -.terminal-2800093472-r2 { fill: #98a84b } -.terminal-2800093472-r3 { fill: #9a9b99 } -.terminal-2800093472-r4 { fill: #608ab1 } -.terminal-2800093472-r5 { fill: #d0b344 } -.terminal-2800093472-r6 { fill: #68a0b3;font-weight: bold } + .terminal-918620543-r1 { fill: #c5c8c6 } +.terminal-918620543-r2 { fill: #98a84b } +.terminal-918620543-r3 { fill: #9a9b99 } +.terminal-918620543-r4 { fill: #608ab1 } +.terminal-918620543-r5 { fill: #d0b344 } +.terminal-918620543-r6 { fill: #68a0b3;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + @@ -86,21 +86,21 @@ - + - - $ nf-core licences deepvariant - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -INFO     Fetching licence information for 8 tools                                                    + + $ nf-core licences deepvariant + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +INFO     Fetching licence information for 8 tools                                                    diff --git a/docs/images/nf-core-lint.svg b/docs/images/nf-core-lint.svg index 74e41870d3..2e55a7e11e 100644 --- a/docs/images/nf-core-lint.svg +++ b/docs/images/nf-core-lint.svg @@ -19,139 +19,139 @@ font-weight: 700; } - .terminal-3628718215-matrix { + .terminal-2900416932-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3628718215-title { + .terminal-2900416932-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3628718215-r1 { fill: #c5c8c6 } -.terminal-3628718215-r2 { fill: #98a84b } -.terminal-3628718215-r3 { fill: #9a9b99 } -.terminal-3628718215-r4 { fill: #608ab1 } -.terminal-3628718215-r5 { fill: #d0b344 } -.terminal-3628718215-r6 { fill: #98729f } -.terminal-3628718215-r7 { fill: #c5c8c6;font-weight: bold } -.terminal-3628718215-r8 { fill: #608ab1;text-decoration: underline; } -.terminal-3628718215-r9 { fill: #d0b344;font-weight: bold } -.terminal-3628718215-r10 { fill: #68a0b3;font-weight: bold } -.terminal-3628718215-r11 { fill: #cc555a } + .terminal-2900416932-r1 { fill: #c5c8c6 } +.terminal-2900416932-r2 { fill: #98a84b } +.terminal-2900416932-r3 { fill: #9a9b99 } +.terminal-2900416932-r4 { fill: #608ab1 } +.terminal-2900416932-r5 { fill: #d0b344 } +.terminal-2900416932-r6 { fill: #98729f } +.terminal-2900416932-r7 { fill: #c5c8c6;font-weight: bold } +.terminal-2900416932-r8 { fill: #608ab1;text-decoration: underline; } +.terminal-2900416932-r9 { fill: #d0b344;font-weight: bold } +.terminal-2900416932-r10 { fill: #68a0b3;font-weight: bold } +.terminal-2900416932-r11 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -163,45 +163,45 @@ - + - - $ nf-core lint - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Testing pipeline: . - - -╭─[?] 1 Pipeline Test Ignored────────────────────────────────────────────────────────────────────╮ - -pipeline_todos: pipeline_todos                                                                   - -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭─[!] 1 Pipeline Test Warning────────────────────────────────────────────────────────────────────╮ - -readme: README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo  -doi (after the first release).                                                                   - -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ - - -╭──────────────────────╮ -LINT RESULTS SUMMARY -├──────────────────────┤ -[✔] 188 Tests Passed -[?]   1 Test Ignored -[!]   1 Test Warning -[✗]   0 Tests Failed -╰──────────────────────╯ + + $ nf-core lint + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Testing pipeline: . + + +╭─[?] 1 Pipeline Test Ignored────────────────────────────────────────────────────────────────────╮ + +pipeline_todos: pipeline_todos                                                                   + +╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭─[!] 1 Pipeline Test Warning────────────────────────────────────────────────────────────────────╮ + +readme: README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo  +doi (after the first release).                                                                   + +╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ + + +╭──────────────────────╮ +LINT RESULTS SUMMARY +├──────────────────────┤ +[✔] 188 Tests Passed +[?]   1 Test Ignored +[!]   1 Test Warning +[✗]   0 Tests Failed +╰──────────────────────╯ diff --git a/docs/images/nf-core-list-rna.svg b/docs/images/nf-core-list-rna.svg index ff51d523e4..643545c6fc 100644 --- a/docs/images/nf-core-list-rna.svg +++ b/docs/images/nf-core-list-rna.svg @@ -19,111 +19,111 @@ font-weight: 700; } - .terminal-822138325-matrix { + .terminal-1703728371-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-822138325-title { + .terminal-1703728371-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-822138325-r1 { fill: #c5c8c6 } -.terminal-822138325-r2 { fill: #98a84b } -.terminal-822138325-r3 { fill: #9a9b99 } -.terminal-822138325-r4 { fill: #608ab1 } -.terminal-822138325-r5 { fill: #d0b344 } -.terminal-822138325-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-822138325-r7 { fill: #868887 } + .terminal-1703728371-r1 { fill: #c5c8c6 } +.terminal-1703728371-r2 { fill: #98a84b } +.terminal-1703728371-r3 { fill: #9a9b99 } +.terminal-1703728371-r4 { fill: #608ab1 } +.terminal-1703728371-r5 { fill: #d0b344 } +.terminal-1703728371-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-1703728371-r7 { fill: #868887 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -135,37 +135,37 @@ - + - - $ nf-core list rna rna-seq - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ -Have latest         -Pipeline Name       StarsLatest Release    ReleasedLast Pulledrelease?            -┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ -│ rnasplice            │    22 │          1.0.2 │ 1 months ago │           - │ -                   │ -│ circrna              │    34 │            dev │    yesterday │           - │ -                   │ -│ rnaseq               │   735 │         3.14.0 │ 1 months ago │           - │ -                   │ -│ smrnaseq             │    64 │          2.2.4 │ 4 months ago │           - │ -                   │ -│ scrnaseq             │   124 │          2.5.1 │  4 weeks ago │           - │ -                   │ -│ differentialabundan… │    38 │          1.4.0 │ 3 months ago │           - │ -                   │ -│ rnafusion            │   126 │          3.0.1 │ 3 months ago │           - │ -                   │ -│ spatialtranscriptom… │    36 │            dev │  3 weeks ago │           - │ -                   │ -│ dualrnaseq           │    16 │          1.0.0 │  3 years ago │           - │ -                   │ -│ marsseq              │     5 │          1.0.3 │ 7 months ago │           - │ -                   │ -│ lncpipe              │    28 │            dev │  1 years ago │           - │ -                   │ -│ scflow               │    24 │            dev │  2 years ago │           - │ -                   │ -└──────────────────────┴───────┴────────────────┴──────────────┴─────────────┴─────────────────────┘ + + $ nf-core list rna rna-seq + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +Have latest         +Pipeline Name       StarsLatest Release    ReleasedLast Pulledrelease?            +┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +│ rnaseq               │   742 │         3.14.0 │ 2 months ago │           - │ -                   │ +│ differentialabundan… │    38 │          1.4.0 │ 3 months ago │           - │ -                   │ +│ smrnaseq             │    64 │          2.3.0 │   6 days ago │           - │ -                   │ +│ rnasplice            │    25 │          1.0.3 │   6 days ago │           - │ -                   │ +│ circrna              │    34 │            dev │  1 weeks ago │           - │ -                   │ +│ scrnaseq             │   125 │          2.5.1 │ 1 months ago │           - │ -                   │ +│ rnafusion            │   126 │          3.0.1 │ 3 months ago │           - │ -                   │ +│ spatialtranscriptom… │    36 │            dev │  4 weeks ago │           - │ -                   │ +│ dualrnaseq           │    16 │          1.0.0 │  3 years ago │           - │ -                   │ +│ marsseq              │     5 │          1.0.3 │ 8 months ago │           - │ -                   │ +│ lncpipe              │    28 │            dev │  1 years ago │           - │ -                   │ +│ scflow               │    24 │            dev │  3 years ago │           - │ -                   │ +└──────────────────────┴───────┴────────────────┴──────────────┴─────────────┴─────────────────────┘ diff --git a/docs/images/nf-core-list-stars.svg b/docs/images/nf-core-list-stars.svg index 4b020b0dc7..8ea120599f 100644 --- a/docs/images/nf-core-list-stars.svg +++ b/docs/images/nf-core-list-stars.svg @@ -19,88 +19,88 @@ font-weight: 700; } - .terminal-2391931080-matrix { + .terminal-3700160896-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2391931080-title { + .terminal-3700160896-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2391931080-r1 { fill: #c5c8c6 } -.terminal-2391931080-r2 { fill: #98a84b } -.terminal-2391931080-r3 { fill: #9a9b99 } -.terminal-2391931080-r4 { fill: #608ab1 } -.terminal-2391931080-r5 { fill: #d0b344 } -.terminal-2391931080-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-2391931080-r7 { fill: #868887 } -.terminal-2391931080-r8 { fill: #868887;font-style: italic; } + .terminal-3700160896-r1 { fill: #c5c8c6 } +.terminal-3700160896-r2 { fill: #98a84b } +.terminal-3700160896-r3 { fill: #9a9b99 } +.terminal-3700160896-r4 { fill: #608ab1 } +.terminal-3700160896-r5 { fill: #d0b344 } +.terminal-3700160896-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-3700160896-r7 { fill: #868887 } +.terminal-3700160896-r8 { fill: #868887;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -112,29 +112,29 @@ - + - - $ nf-core list -s stars - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ -Have latest         -Pipeline Name      StarsLatest Release     ReleasedLast Pulledrelease?            -┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ -│ rnaseq              │   735 │         3.14.0 │  1 months ago │           - │ -                   │ -│ sarek               │   312 │          3.4.0 │  3 months ago │           - │ -                   │ -│ mag                 │   170 │          2.5.4 │    1 week ago │           - │ -                   │ -│ chipseq             │   160 │          2.0.0 │   1 years ago │           - │ -                   │ -[..truncated..] + + $ nf-core list -s stars + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +Have latest         +Pipeline Name      StarsLatest Release     ReleasedLast Pulledrelease?            +┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +│ rnaseq              │   742 │         3.14.0 │  2 months ago │           - │ -                   │ +│ sarek               │   320 │          3.4.0 │  4 months ago │           - │ -                   │ +│ mag                 │   175 │          2.5.4 │   2 weeks ago │           - │ -                   │ +│ chipseq             │   161 │          2.0.0 │   1 years ago │           - │ -                   │ +[..truncated..] diff --git a/docs/images/nf-core-list.svg b/docs/images/nf-core-list.svg index aa93f830ee..5e4939f746 100644 --- a/docs/images/nf-core-list.svg +++ b/docs/images/nf-core-list.svg @@ -19,91 +19,91 @@ font-weight: 700; } - .terminal-1155039927-matrix { + .terminal-3505815442-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1155039927-title { + .terminal-3505815442-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1155039927-r1 { fill: #c5c8c6 } -.terminal-1155039927-r2 { fill: #98a84b } -.terminal-1155039927-r3 { fill: #9a9b99 } -.terminal-1155039927-r4 { fill: #608ab1 } -.terminal-1155039927-r5 { fill: #d0b344 } -.terminal-1155039927-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-1155039927-r7 { fill: #868887 } -.terminal-1155039927-r8 { fill: #868887;font-style: italic; } + .terminal-3505815442-r1 { fill: #c5c8c6 } +.terminal-3505815442-r2 { fill: #98a84b } +.terminal-3505815442-r3 { fill: #9a9b99 } +.terminal-3505815442-r4 { fill: #608ab1 } +.terminal-3505815442-r5 { fill: #d0b344 } +.terminal-3505815442-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-3505815442-r7 { fill: #868887 } +.terminal-3505815442-r8 { fill: #868887;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -115,30 +115,30 @@ - + - - $ nf-core list - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ -Have latest         -Pipeline Name      StarsLatest Release     ReleasedLast Pulledrelease?            -┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ -│ fetchngs            │   100 │         1.11.0 │  4 months ago │           - │ -                   │ -│ phageannotator      │     7 │            dev │  20 hours ago │           - │ -                   │ -│ riboseq             │     2 │            dev │  22 hours ago │           - │ -                   │ -│ bacass              │    48 │          2.1.0 │  4 months ago │           - │ -                   │ -│ rnasplice           │    22 │          1.0.2 │  1 months ago │           - │ -                   │ -[..truncated..] + + $ nf-core list + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +Have latest         +Pipeline Name      StarsLatest Release     ReleasedLast Pulledrelease?            +┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +│ raredisease         │    65 │          1.1.1 │  7 months ago │           - │ -                   │ +│ fetchngs            │   101 │         1.11.0 │  4 months ago │           - │ -                   │ +│ sarek               │   320 │          3.4.0 │  4 months ago │           - │ -                   │ +│ methylseq           │   126 │          2.6.0 │  2 months ago │           - │ -                   │ +│ rnaseq              │   742 │         3.14.0 │  2 months ago │           - │ -                   │ +[..truncated..] diff --git a/docs/images/nf-core-modules-bump-version.svg b/docs/images/nf-core-modules-bump-version.svg index c886806891..093a0cebc6 100644 --- a/docs/images/nf-core-modules-bump-version.svg +++ b/docs/images/nf-core-modules-bump-version.svg @@ -19,90 +19,90 @@ font-weight: 700; } - .terminal-692975589-matrix { + .terminal-1669068868-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-692975589-title { + .terminal-1669068868-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-692975589-r1 { fill: #c5c8c6 } -.terminal-692975589-r2 { fill: #98a84b } -.terminal-692975589-r3 { fill: #9a9b99 } -.terminal-692975589-r4 { fill: #608ab1 } -.terminal-692975589-r5 { fill: #d0b344 } -.terminal-692975589-r6 { fill: #98a84b;font-weight: bold } -.terminal-692975589-r7 { fill: #c5c8c6;font-weight: bold } + .terminal-1669068868-r1 { fill: #c5c8c6 } +.terminal-1669068868-r2 { fill: #98a84b } +.terminal-1669068868-r3 { fill: #9a9b99 } +.terminal-1669068868-r4 { fill: #608ab1 } +.terminal-1669068868-r5 { fill: #d0b344 } +.terminal-1669068868-r6 { fill: #98a84b;font-weight: bold } +.terminal-1669068868-r7 { fill: #c5c8c6;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -114,30 +114,30 @@ - + - - $ nf-core modules bump-versions fastqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - - -╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ -[!] 1 Module version up to date. -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭──────────────────────────────────────────┬───────────────────────────────────────────────────────╮ -Module name                             Update Message                                        -├──────────────────────────────────────────┼───────────────────────────────────────────────────────┤ - fastqc                                    Module version up to date: fastqc                      -╰──────────────────────────────────────────┴───────────────────────────────────────────────────────╯ + + $ nf-core modules bump-versions fastqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + + +╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ +[!] 1 Module version up to date. +╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭──────────────────────────────────────────┬───────────────────────────────────────────────────────╮ +Module name                             Update Message                                        +├──────────────────────────────────────────┼───────────────────────────────────────────────────────┤ + fastqc                                    Module version up to date: fastqc                      +╰──────────────────────────────────────────┴───────────────────────────────────────────────────────╯ diff --git a/docs/images/nf-core-modules-create.svg b/docs/images/nf-core-modules-create.svg index 295289aaca..caa9c389f0 100644 --- a/docs/images/nf-core-modules-create.svg +++ b/docs/images/nf-core-modules-create.svg @@ -19,74 +19,74 @@ font-weight: 700; } - .terminal-2070228187-matrix { + .terminal-2912300346-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2070228187-title { + .terminal-2912300346-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2070228187-r1 { fill: #c5c8c6 } -.terminal-2070228187-r2 { fill: #98a84b } -.terminal-2070228187-r3 { fill: #9a9b99 } -.terminal-2070228187-r4 { fill: #608ab1 } -.terminal-2070228187-r5 { fill: #d0b344 } -.terminal-2070228187-r6 { fill: #68a0b3;font-weight: bold } + .terminal-2912300346-r1 { fill: #c5c8c6 } +.terminal-2912300346-r2 { fill: #98a84b } +.terminal-2912300346-r3 { fill: #9a9b99 } +.terminal-2912300346-r4 { fill: #608ab1 } +.terminal-2912300346-r5 { fill: #d0b344 } +.terminal-2912300346-r6 { fill: #68a0b3;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -98,25 +98,25 @@ - + - - $ nf-core modules create fastqc --author @nf-core-bot  --label process_low --meta --force - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Repository type: modules -INFO    Press enter to use default values (shown in brackets)or type your own responses.  -ctrl+click underlined text to open links. -INFO     Using Bioconda package: 'bioconda::fastqc=0.12.1' + + $ nf-core modules create fastqc --author @nf-core-bot  --label process_low --meta --force + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Repository type: modules +INFO    Press enter to use default values (shown in brackets)or type your own responses.  +ctrl+click underlined text to open links. +INFO     Using Bioconda package: 'bioconda::fastqc=0.12.1' diff --git a/docs/images/nf-core-modules-info.svg b/docs/images/nf-core-modules-info.svg index a35ecdec75..255c595e7c 100644 --- a/docs/images/nf-core-modules-info.svg +++ b/docs/images/nf-core-modules-info.svg @@ -19,163 +19,163 @@ font-weight: 700; } - .terminal-3092902354-matrix { + .terminal-1309602353-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3092902354-title { + .terminal-1309602353-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3092902354-r1 { fill: #c5c8c6 } -.terminal-3092902354-r2 { fill: #98a84b } -.terminal-3092902354-r3 { fill: #9a9b99 } -.terminal-3092902354-r4 { fill: #608ab1 } -.terminal-3092902354-r5 { fill: #d0b344 } -.terminal-3092902354-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-3092902354-r7 { fill: #98a84b;font-weight: bold } -.terminal-3092902354-r8 { fill: #868887 } -.terminal-3092902354-r9 { fill: #d08442 } -.terminal-3092902354-r10 { fill: #868887;font-style: italic; } -.terminal-3092902354-r11 { fill: #98729f } + .terminal-1309602353-r1 { fill: #c5c8c6 } +.terminal-1309602353-r2 { fill: #98a84b } +.terminal-1309602353-r3 { fill: #9a9b99 } +.terminal-1309602353-r4 { fill: #608ab1 } +.terminal-1309602353-r5 { fill: #d0b344 } +.terminal-1309602353-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-1309602353-r7 { fill: #98a84b;font-weight: bold } +.terminal-1309602353-r8 { fill: #868887 } +.terminal-1309602353-r9 { fill: #d08442 } +.terminal-1309602353-r10 { fill: #868887;font-style: italic; } +.terminal-1309602353-r11 { fill: #98729f } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -187,53 +187,53 @@ - + - - $ nf-core modules info abacas - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -╭─ Module: abacas  ────────────────────────────────────────────────────────────────────────────────╮ -│ 🌐 Repository: https://github.com/nf-core/modules.git                                            │ -│ 🔧 Tools: abacas                                                                                 │ -│ 📖 Description: contiguate draft genome assembly                                                 │ -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ -                  ╷                                                                   ╷              -📥 Inputs        Description                                                             Pattern -╺━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━╸ - meta  (map)     │Groovy Map containing sample information e.g. [ id:'test',         │ -                  │single_end:false ]                                                 │ -╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ - scaffold  (file)│Fasta file containing scaffold                                     │*.{fasta,fa} -╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ - fasta  (file)   │FASTA reference file                                               │*.{fasta,fa} -                  ╵                                                                   ╵              -                  ╷                                                                   ╷              -📤 Outputs       Description                                                             Pattern -╺━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━╸ - meta  (map)     │Groovy Map containing sample information e.g. [ id:'test',         │ -                  │single_end:false ]                                                 │ -╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ - results  (file) │List containing abacas output files [ 'test.abacas.bin',           │ *.{abacas}* -                  │'test.abacas.fasta', 'test.abacas.gaps', 'test.abacas.gaps.tab',   │ -                  │'test.abacas.nucmer.delta', 'test.abacas.nucmer.filtered.delta',   │ -                  │'test.abacas.nucmer.tiling', 'test.abacas.tab',                    │ -                  │'test.abacas.unused.contigs.out', 'test.abacas.MULTIFASTA.fa' ]    │ -╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ - versions  (file)│File containing software versions                                  │versions.yml -                  ╵                                                                   ╵              - - 💻  Installation command: nf-core modules install abacas - + + $ nf-core modules info abacas + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +╭─ Module: abacas  ────────────────────────────────────────────────────────────────────────────────╮ +│ 🌐 Repository: https://github.com/nf-core/modules.git                                            │ +│ 🔧 Tools: abacas                                                                                 │ +│ 📖 Description: contiguate draft genome assembly                                                 │ +╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ +                  ╷                                                                   ╷              +📥 Inputs        Description                                                             Pattern +╺━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━╸ + meta  (map)     │Groovy Map containing sample information e.g. [ id:'test',         │ +                  │single_end:false ]                                                 │ +╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ + scaffold  (file)│Fasta file containing scaffold                                     │*.{fasta,fa} +╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ + fasta  (file)   │FASTA reference file                                               │*.{fasta,fa} +                  ╵                                                                   ╵              +                  ╷                                                                   ╷              +📤 Outputs       Description                                                             Pattern +╺━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━╸ + meta  (map)     │Groovy Map containing sample information e.g. [ id:'test',         │ +                  │single_end:false ]                                                 │ +╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ + results  (file) │List containing abacas output files [ 'test.abacas.bin',           │ *.{abacas}* +                  │'test.abacas.fasta', 'test.abacas.gaps', 'test.abacas.gaps.tab',   │ +                  │'test.abacas.nucmer.delta', 'test.abacas.nucmer.filtered.delta',   │ +                  │'test.abacas.nucmer.tiling', 'test.abacas.tab',                    │ +                  │'test.abacas.unused.contigs.out', 'test.abacas.MULTIFASTA.fa' ]    │ +╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ + versions  (file)│File containing software versions                                  │versions.yml +                  ╵                                                                   ╵              + + 💻  Installation command: nf-core modules install abacas + diff --git a/docs/images/nf-core-modules-install.svg b/docs/images/nf-core-modules-install.svg index d0ac5b2946..2b0331bcaa 100644 --- a/docs/images/nf-core-modules-install.svg +++ b/docs/images/nf-core-modules-install.svg @@ -19,76 +19,76 @@ font-weight: 700; } - .terminal-2787740720-matrix { + .terminal-310938767-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2787740720-title { + .terminal-310938767-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2787740720-r1 { fill: #c5c8c6 } -.terminal-2787740720-r2 { fill: #98a84b } -.terminal-2787740720-r3 { fill: #9a9b99 } -.terminal-2787740720-r4 { fill: #608ab1 } -.terminal-2787740720-r5 { fill: #d0b344 } + .terminal-310938767-r1 { fill: #c5c8c6 } +.terminal-310938767-r2 { fill: #98a84b } +.terminal-310938767-r3 { fill: #9a9b99 } +.terminal-310938767-r4 { fill: #608ab1 } +.terminal-310938767-r5 { fill: #d0b344 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -100,26 +100,26 @@ - + - - $ nf-core modules install abacas - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Installing 'abacas' -INFO     Use the following statement to include this module:                                         - - include { ABACAS } from '../modules/nf-core/abacas/main'                                            - + + $ nf-core modules install abacas + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Installing 'abacas' +INFO     Use the following statement to include this module:                                         + + include { ABACAS } from '../modules/nf-core/abacas/main'                                            + diff --git a/docs/images/nf-core-modules-lint.svg b/docs/images/nf-core-modules-lint.svg index c53b1dfdbc..2809eeee22 100644 --- a/docs/images/nf-core-modules-lint.svg +++ b/docs/images/nf-core-modules-lint.svg @@ -19,67 +19,67 @@ font-weight: 700; } - .terminal-1620728557-matrix { + .terminal-1680431948-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1620728557-title { + .terminal-1680431948-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1620728557-r1 { fill: #c5c8c6 } -.terminal-1620728557-r2 { fill: #98a84b } -.terminal-1620728557-r3 { fill: #9a9b99 } -.terminal-1620728557-r4 { fill: #608ab1 } -.terminal-1620728557-r5 { fill: #d0b344 } + .terminal-1680431948-r1 { fill: #c5c8c6 } +.terminal-1680431948-r2 { fill: #98a84b } +.terminal-1680431948-r3 { fill: #9a9b99 } +.terminal-1680431948-r4 { fill: #608ab1 } +.terminal-1680431948-r5 { fill: #d0b344 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -91,23 +91,23 @@ - + - - $ nf-core modules lint multiqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Linting modules repo: '.' -INFO     Linting module: 'multiqc' + + $ nf-core modules lint multiqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Linting modules repo: '.' +INFO     Linting module: 'multiqc' diff --git a/docs/images/nf-core-modules-list-local.svg b/docs/images/nf-core-modules-list-local.svg index 4b06362a82..ecb9ed499a 100644 --- a/docs/images/nf-core-modules-list-local.svg +++ b/docs/images/nf-core-modules-list-local.svg @@ -19,98 +19,98 @@ font-weight: 700; } - .terminal-4225841500-matrix { + .terminal-2419669372-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-4225841500-title { + .terminal-2419669372-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-4225841500-r1 { fill: #c5c8c6 } -.terminal-4225841500-r2 { fill: #98a84b } -.terminal-4225841500-r3 { fill: #9a9b99 } -.terminal-4225841500-r4 { fill: #608ab1 } -.terminal-4225841500-r5 { fill: #d0b344 } -.terminal-4225841500-r6 { fill: #c5c8c6;font-weight: bold } + .terminal-2419669372-r1 { fill: #c5c8c6 } +.terminal-2419669372-r2 { fill: #98a84b } +.terminal-2419669372-r3 { fill: #9a9b99 } +.terminal-2419669372-r4 { fill: #608ab1 } +.terminal-2419669372-r5 { fill: #d0b344 } +.terminal-2419669372-r6 { fill: #c5c8c6;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -122,33 +122,33 @@ - + - - $ nf-core modules list local - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Modules installed in '.':                                                                   - -self.repo_type='pipeline' -┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -Module NameRepository           Version SHA          Message              Date       -┡━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩ -│ fastqc      │ https://github.com/n… │ f4ae1d942bd50c5c0b9b… │ Update FASTQC to use  │ 2024-01-31 │ -│             │                       │                       │ unique names for      │            │ -│             │                       │                       │ snapshots (#4825)     │            │ -│ multiqc     │ https://github.com/n… │ ccacf6f5de6df3bc6d73… │ Bump Multiqc to 1.20  │ 2024-02-14 │ -│             │                       │                       │ (#4910)               │            │ -└─────────────┴───────────────────────┴───────────────────────┴───────────────────────┴────────────┘ + + $ nf-core modules list local + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Modules installed in '.':                                                                   + +self.repo_type='pipeline' +┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +Module NameRepository           Version SHA          Message              Date       +┡━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩ +│ fastqc      │ https://github.com/n… │ f4ae1d942bd50c5c0b9b… │ Update FASTQC to use  │ 2024-01-31 │ +│             │                       │                       │ unique names for      │            │ +│             │                       │                       │ snapshots (#4825)     │            │ +│ multiqc     │ https://github.com/n… │ b7ebe95761cd389603f9… │ Update MQC container  │ 2024-02-29 │ +│             │                       │                       │ (#5006)               │            │ +└─────────────┴───────────────────────┴───────────────────────┴───────────────────────┴────────────┘ diff --git a/docs/images/nf-core-modules-list-remote.svg b/docs/images/nf-core-modules-list-remote.svg index aca2dc7d9b..138be73068 100644 --- a/docs/images/nf-core-modules-list-remote.svg +++ b/docs/images/nf-core-modules-list-remote.svg @@ -19,109 +19,109 @@ font-weight: 700; } - .terminal-2422626649-matrix { + .terminal-2384550328-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2422626649-title { + .terminal-2384550328-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2422626649-r1 { fill: #c5c8c6 } -.terminal-2422626649-r2 { fill: #98a84b } -.terminal-2422626649-r3 { fill: #9a9b99 } -.terminal-2422626649-r4 { fill: #608ab1 } -.terminal-2422626649-r5 { fill: #d0b344 } -.terminal-2422626649-r6 { fill: #1984e9;text-decoration: underline; } -.terminal-2422626649-r7 { fill: #c5c8c6;font-weight: bold } -.terminal-2422626649-r8 { fill: #868887;font-style: italic; } + .terminal-2384550328-r1 { fill: #c5c8c6 } +.terminal-2384550328-r2 { fill: #98a84b } +.terminal-2384550328-r3 { fill: #9a9b99 } +.terminal-2384550328-r4 { fill: #608ab1 } +.terminal-2384550328-r5 { fill: #d0b344 } +.terminal-2384550328-r6 { fill: #1984e9;text-decoration: underline; } +.terminal-2384550328-r7 { fill: #c5c8c6;font-weight: bold } +.terminal-2384550328-r8 { fill: #868887;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -133,36 +133,36 @@ - + - - $ nf-core modules list remote - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Modules available from https://github.com/nf-core/modules.git(master):                     - -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ -Module Name                                           -┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ -│ abacas                                                │ -│ abricate/run                                          │ -│ abricate/summary                                      │ -│ abritamr/run                                          │ -│ adapterremoval                                        │ -│ adapterremovalfixprefix                               │ -│ admixture                                             │ -│ affy/justrma                                          │ -│ agat/convertspgff2gtf                                 │ -[..truncated..] + + $ nf-core modules list remote + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Modules available from https://github.com/nf-core/modules.git(master):                     + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +Module Name                                           +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ abacas                                                │ +│ abricate/run                                          │ +│ abricate/summary                                      │ +│ abritamr/run                                          │ +│ adapterremoval                                        │ +│ adapterremovalfixprefix                               │ +│ admixture                                             │ +│ affy/justrma                                          │ +│ agat/convertspgff2gtf                                 │ +[..truncated..] diff --git a/docs/images/nf-core-modules-patch.svg b/docs/images/nf-core-modules-patch.svg index 84ad24867e..5ed5e2f4d1 100644 --- a/docs/images/nf-core-modules-patch.svg +++ b/docs/images/nf-core-modules-patch.svg @@ -19,127 +19,127 @@ font-weight: 700; } - .terminal-3587976170-matrix { + .terminal-1838296137-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3587976170-title { + .terminal-1838296137-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3587976170-r1 { fill: #c5c8c6 } -.terminal-3587976170-r2 { fill: #98a84b } -.terminal-3587976170-r3 { fill: #9a9b99 } -.terminal-3587976170-r4 { fill: #608ab1 } -.terminal-3587976170-r5 { fill: #d0b344 } -.terminal-3587976170-r6 { fill: #ff2627 } -.terminal-3587976170-r7 { fill: #00823d } -.terminal-3587976170-r8 { fill: #ff2c7a;font-weight: bold } + .terminal-1838296137-r1 { fill: #c5c8c6 } +.terminal-1838296137-r2 { fill: #98a84b } +.terminal-1838296137-r3 { fill: #9a9b99 } +.terminal-1838296137-r4 { fill: #608ab1 } +.terminal-1838296137-r5 { fill: #d0b344 } +.terminal-1838296137-r6 { fill: #ff2627 } +.terminal-1838296137-r7 { fill: #00823d } +.terminal-1838296137-r8 { fill: #ff2c7a;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -151,42 +151,42 @@ - + - - $ nf-core modules patch fastqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Changes in module 'nf-core/fastqc' -INFO    'modules/nf-core/fastqc/environment.yml' is unchanged                                       -INFO    'modules/nf-core/fastqc/meta.yml' is unchanged                                              -INFO     Changes in 'fastqc/main.nf':                                                                - ---- modules/nf-core/fastqc/main.nf -+++ modules/nf-core/fastqc/main.nf -@@ -1,6 +1,6 @@ -process FASTQC {                                                                                   -    tag "$meta.id"                                                                                 --    label 'process_medium' -+    label 'process_low' - -    conda "${moduleDir}/environment.yml"                                                           -    container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_  - - -INFO    'modules/nf-core/fastqc/tests/tags.yml' is unchanged                                        -INFO    'modules/nf-core/fastqc/tests/main.nf.test' is unchanged                                    -INFO    'modules/nf-core/fastqc/tests/main.nf.test.snap' is unchanged                               -INFO     Patch file of 'modules/nf-core/fastqc' written to 'modules/nf-core/fastqc/fastqc.diff' + + $ nf-core modules patch fastqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Changes in module 'nf-core/fastqc' +INFO    'modules/nf-core/fastqc/environment.yml' is unchanged                                       +INFO    'modules/nf-core/fastqc/meta.yml' is unchanged                                              +INFO     Changes in 'fastqc/main.nf':                                                                + +--- modules/nf-core/fastqc/main.nf ++++ modules/nf-core/fastqc/main.nf +@@ -1,6 +1,6 @@ +process FASTQC {                                                                                   +    tag "$meta.id"                                                                                 +-    label 'process_medium' ++    label 'process_low' + +    conda "${moduleDir}/environment.yml"                                                           +    container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_  + + +INFO    'modules/nf-core/fastqc/tests/tags.yml' is unchanged                                        +INFO    'modules/nf-core/fastqc/tests/main.nf.test' is unchanged                                    +INFO    'modules/nf-core/fastqc/tests/main.nf.test.snap' is unchanged                               +INFO     Patch file of 'modules/nf-core/fastqc' written to 'modules/nf-core/fastqc/fastqc.diff' diff --git a/docs/images/nf-core-modules-remove.svg b/docs/images/nf-core-modules-remove.svg index c78034e35c..91f7020043 100644 --- a/docs/images/nf-core-modules-remove.svg +++ b/docs/images/nf-core-modules-remove.svg @@ -19,64 +19,64 @@ font-weight: 700; } - .terminal-3332058498-matrix { + .terminal-2115907041-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3332058498-title { + .terminal-2115907041-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3332058498-r1 { fill: #c5c8c6 } -.terminal-3332058498-r2 { fill: #98a84b } -.terminal-3332058498-r3 { fill: #9a9b99 } -.terminal-3332058498-r4 { fill: #608ab1 } -.terminal-3332058498-r5 { fill: #d0b344 } + .terminal-2115907041-r1 { fill: #c5c8c6 } +.terminal-2115907041-r2 { fill: #98a84b } +.terminal-2115907041-r3 { fill: #9a9b99 } +.terminal-2115907041-r4 { fill: #608ab1 } +.terminal-2115907041-r5 { fill: #d0b344 } - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -88,22 +88,22 @@ - + - - $ nf-core modules remove abacas - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Removed files for 'abacas' and its dependencies 'abacas'.                                   + + $ nf-core modules remove abacas + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Removed files for 'abacas' and its dependencies 'abacas'.                                   diff --git a/docs/images/nf-core-modules-test.svg b/docs/images/nf-core-modules-test.svg index daff523354..52e86ba826 100644 --- a/docs/images/nf-core-modules-test.svg +++ b/docs/images/nf-core-modules-test.svg @@ -19,64 +19,64 @@ font-weight: 700; } - .terminal-2250961056-matrix { + .terminal-9171199-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2250961056-title { + .terminal-9171199-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2250961056-r1 { fill: #c5c8c6 } -.terminal-2250961056-r2 { fill: #98a84b } -.terminal-2250961056-r3 { fill: #9a9b99 } -.terminal-2250961056-r4 { fill: #608ab1 } -.terminal-2250961056-r5 { fill: #d0b344 } + .terminal-9171199-r1 { fill: #c5c8c6 } +.terminal-9171199-r2 { fill: #98a84b } +.terminal-9171199-r3 { fill: #9a9b99 } +.terminal-9171199-r4 { fill: #608ab1 } +.terminal-9171199-r5 { fill: #d0b344 } - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -88,22 +88,22 @@ - + - - $ nf-core modules test fastqc --no-prompts - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Generating nf-test snapshot                                                                 + + $ nf-core modules test fastqc --no-prompts + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Generating nf-test snapshot                                                                 diff --git a/docs/images/nf-core-modules-update.svg b/docs/images/nf-core-modules-update.svg index ddc5facf65..23d9931ce2 100644 --- a/docs/images/nf-core-modules-update.svg +++ b/docs/images/nf-core-modules-update.svg @@ -19,73 +19,73 @@ font-weight: 700; } - .terminal-3937334707-matrix { + .terminal-2984179218-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3937334707-title { + .terminal-2984179218-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3937334707-r1 { fill: #c5c8c6 } -.terminal-3937334707-r2 { fill: #98a84b } -.terminal-3937334707-r3 { fill: #9a9b99 } -.terminal-3937334707-r4 { fill: #608ab1 } -.terminal-3937334707-r5 { fill: #d0b344 } + .terminal-2984179218-r1 { fill: #c5c8c6 } +.terminal-2984179218-r2 { fill: #98a84b } +.terminal-2984179218-r3 { fill: #9a9b99 } +.terminal-2984179218-r4 { fill: #608ab1 } +.terminal-2984179218-r5 { fill: #d0b344 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -97,25 +97,25 @@ - + - - $ nf-core modules update --all --no-preview - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO    'modules/nf-core/abacas' is already up to date                                              -INFO    'modules/nf-core/fastqc' is already up to date                                              -INFO    'modules/nf-core/multiqc' is already up to date                                             -INFO     Updates complete ✨                                                                         + + $ nf-core modules update --all --no-preview + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO    'modules/nf-core/abacas' is already up to date                                              +INFO    'modules/nf-core/fastqc' is already up to date                                              +INFO    'modules/nf-core/multiqc' is already up to date                                             +INFO     Updates complete ✨                                                                         diff --git a/docs/images/nf-core-schema-build.svg b/docs/images/nf-core-schema-build.svg index cf0ab90005..7236440a0d 100644 --- a/docs/images/nf-core-schema-build.svg +++ b/docs/images/nf-core-schema-build.svg @@ -19,72 +19,72 @@ font-weight: 700; } - .terminal-2534001313-matrix { + .terminal-978569984-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2534001313-title { + .terminal-978569984-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2534001313-r1 { fill: #c5c8c6 } -.terminal-2534001313-r2 { fill: #98a84b } -.terminal-2534001313-r3 { fill: #9a9b99 } -.terminal-2534001313-r4 { fill: #608ab1 } -.terminal-2534001313-r5 { fill: #d0b344 } -.terminal-2534001313-r6 { fill: #98a84b;font-weight: bold } -.terminal-2534001313-r7 { fill: #868887;font-weight: bold } -.terminal-2534001313-r8 { fill: #868887 } -.terminal-2534001313-r9 { fill: #4e707b;font-weight: bold } -.terminal-2534001313-r10 { fill: #68a0b3;font-weight: bold } + .terminal-978569984-r1 { fill: #c5c8c6 } +.terminal-978569984-r2 { fill: #98a84b } +.terminal-978569984-r3 { fill: #9a9b99 } +.terminal-978569984-r4 { fill: #608ab1 } +.terminal-978569984-r5 { fill: #d0b344 } +.terminal-978569984-r6 { fill: #98a84b;font-weight: bold } +.terminal-978569984-r7 { fill: #868887;font-weight: bold } +.terminal-978569984-r8 { fill: #868887 } +.terminal-978569984-r9 { fill: #4e707b;font-weight: bold } +.terminal-978569984-r10 { fill: #68a0b3;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -96,23 +96,23 @@ - + - - $ nf-core schema build --no-prompts - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -INFO    [] Default parameters match schema validation -INFO    [] Pipeline schema looks valid(found 30 params) -INFO     Writing schema with 31 params: 'nextflow_schema.json' + + $ nf-core schema build --no-prompts + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +INFO    [] Default parameters match schema validation +INFO    [] Pipeline schema looks valid(found 30 params) +INFO     Writing schema with 31 params: 'nextflow_schema.json' diff --git a/docs/images/nf-core-schema-lint.svg b/docs/images/nf-core-schema-lint.svg index fc3b8f5f31..d08a01144b 100644 --- a/docs/images/nf-core-schema-lint.svg +++ b/docs/images/nf-core-schema-lint.svg @@ -19,68 +19,68 @@ font-weight: 700; } - .terminal-3503377192-matrix { + .terminal-3566947207-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3503377192-title { + .terminal-3566947207-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3503377192-r1 { fill: #c5c8c6 } -.terminal-3503377192-r2 { fill: #98a84b } -.terminal-3503377192-r3 { fill: #9a9b99 } -.terminal-3503377192-r4 { fill: #608ab1 } -.terminal-3503377192-r5 { fill: #d0b344 } -.terminal-3503377192-r6 { fill: #98a84b;font-weight: bold } -.terminal-3503377192-r7 { fill: #868887;font-weight: bold } -.terminal-3503377192-r8 { fill: #868887 } -.terminal-3503377192-r9 { fill: #4e707b;font-weight: bold } + .terminal-3566947207-r1 { fill: #c5c8c6 } +.terminal-3566947207-r2 { fill: #98a84b } +.terminal-3566947207-r3 { fill: #9a9b99 } +.terminal-3566947207-r4 { fill: #608ab1 } +.terminal-3566947207-r5 { fill: #d0b344 } +.terminal-3566947207-r6 { fill: #98a84b;font-weight: bold } +.terminal-3566947207-r7 { fill: #868887;font-weight: bold } +.terminal-3566947207-r8 { fill: #868887 } +.terminal-3566947207-r9 { fill: #4e707b;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -92,22 +92,22 @@ - + - - $ nf-core schema lint - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -INFO    [] Default parameters match schema validation -INFO    [] Pipeline schema looks valid(found 31 params) + + $ nf-core schema lint + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +INFO    [] Default parameters match schema validation +INFO    [] Pipeline schema looks valid(found 31 params) diff --git a/docs/images/nf-core-schema-validate.svg b/docs/images/nf-core-schema-validate.svg index c5bbd59a37..33984ccbeb 100644 --- a/docs/images/nf-core-schema-validate.svg +++ b/docs/images/nf-core-schema-validate.svg @@ -19,71 +19,71 @@ font-weight: 700; } - .terminal-2855795864-matrix { + .terminal-2456222967-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2855795864-title { + .terminal-2456222967-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2855795864-r1 { fill: #c5c8c6 } -.terminal-2855795864-r2 { fill: #98a84b } -.terminal-2855795864-r3 { fill: #9a9b99 } -.terminal-2855795864-r4 { fill: #608ab1 } -.terminal-2855795864-r5 { fill: #d0b344 } -.terminal-2855795864-r6 { fill: #98a84b;font-weight: bold } -.terminal-2855795864-r7 { fill: #868887;font-weight: bold } -.terminal-2855795864-r8 { fill: #868887 } -.terminal-2855795864-r9 { fill: #4e707b;font-weight: bold } + .terminal-2456222967-r1 { fill: #c5c8c6 } +.terminal-2456222967-r2 { fill: #98a84b } +.terminal-2456222967-r3 { fill: #9a9b99 } +.terminal-2456222967-r4 { fill: #608ab1 } +.terminal-2456222967-r5 { fill: #d0b344 } +.terminal-2456222967-r6 { fill: #98a84b;font-weight: bold } +.terminal-2456222967-r7 { fill: #868887;font-weight: bold } +.terminal-2456222967-r8 { fill: #868887 } +.terminal-2456222967-r9 { fill: #4e707b;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -95,23 +95,23 @@ - + - - $ nf-core schema validate nf-core-rnaseq/3_8 nf-params.json - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -INFO    [] Default parameters match schema validation -INFO    [] Pipeline schema looks valid(found 93 params) -INFO    [] Input parameters look valid + + $ nf-core schema validate nf-core-rnaseq/3_8 nf-params.json + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +INFO    [] Default parameters match schema validation +INFO    [] Pipeline schema looks valid(found 93 params) +INFO    [] Input parameters look valid diff --git a/docs/images/nf-core-subworkflows-create.svg b/docs/images/nf-core-subworkflows-create.svg index e39d489764..fd20914cfe 100644 --- a/docs/images/nf-core-subworkflows-create.svg +++ b/docs/images/nf-core-subworkflows-create.svg @@ -19,89 +19,89 @@ font-weight: 700; } - .terminal-1669631293-matrix { + .terminal-694979996-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1669631293-title { + .terminal-694979996-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1669631293-r1 { fill: #c5c8c6 } -.terminal-1669631293-r2 { fill: #98a84b } -.terminal-1669631293-r3 { fill: #9a9b99 } -.terminal-1669631293-r4 { fill: #608ab1 } -.terminal-1669631293-r5 { fill: #d0b344 } -.terminal-1669631293-r6 { fill: #68a0b3;font-weight: bold } + .terminal-694979996-r1 { fill: #c5c8c6 } +.terminal-694979996-r2 { fill: #98a84b } +.terminal-694979996-r3 { fill: #9a9b99 } +.terminal-694979996-r4 { fill: #608ab1 } +.terminal-694979996-r5 { fill: #d0b344 } +.terminal-694979996-r6 { fill: #68a0b3;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -113,30 +113,30 @@ - + - - $ nf-core subworkflows create bam_stats_samtools --author @nf-core-bot --force - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Repository type: modules -INFO    Press enter to use default values (shown in brackets)or type your own responses.  -ctrl+click underlined text to open links. -INFO     Created component template: 'bam_stats_samtools' -INFO     Created following files:                                                                    -           subworkflows/nf-core/bam_stats_samtools/main.nf                                           -           subworkflows/nf-core/bam_stats_samtools/meta.yml                                          -           subworkflows/nf-core/bam_stats_samtools/tests/tags.yml                                    -           subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test                                + + $ nf-core subworkflows create bam_stats_samtools --author @nf-core-bot --force + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Repository type: modules +INFO    Press enter to use default values (shown in brackets)or type your own responses.  +ctrl+click underlined text to open links. +INFO     Created component template: 'bam_stats_samtools' +INFO     Created following files:                                                                    +           subworkflows/nf-core/bam_stats_samtools/main.nf                                           +           subworkflows/nf-core/bam_stats_samtools/meta.yml                                          +           subworkflows/nf-core/bam_stats_samtools/tests/tags.yml                                    +           subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test                                diff --git a/docs/images/nf-core-subworkflows-info.svg b/docs/images/nf-core-subworkflows-info.svg index 5e792aaf27..b3f4f38ed3 100644 --- a/docs/images/nf-core-subworkflows-info.svg +++ b/docs/images/nf-core-subworkflows-info.svg @@ -19,112 +19,112 @@ font-weight: 700; } - .terminal-3309876258-matrix { + .terminal-1309193345-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3309876258-title { + .terminal-1309193345-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3309876258-r1 { fill: #c5c8c6 } -.terminal-3309876258-r2 { fill: #98a84b } -.terminal-3309876258-r3 { fill: #9a9b99 } -.terminal-3309876258-r4 { fill: #608ab1 } -.terminal-3309876258-r5 { fill: #d0b344 } -.terminal-3309876258-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-3309876258-r7 { fill: #98a84b;font-weight: bold } -.terminal-3309876258-r8 { fill: #868887 } -.terminal-3309876258-r9 { fill: #868887;font-style: italic; } -.terminal-3309876258-r10 { fill: #d08442 } -.terminal-3309876258-r11 { fill: #98729f } + .terminal-1309193345-r1 { fill: #c5c8c6 } +.terminal-1309193345-r2 { fill: #98a84b } +.terminal-1309193345-r3 { fill: #9a9b99 } +.terminal-1309193345-r4 { fill: #608ab1 } +.terminal-1309193345-r5 { fill: #d0b344 } +.terminal-1309193345-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-1309193345-r7 { fill: #98a84b;font-weight: bold } +.terminal-1309193345-r8 { fill: #868887 } +.terminal-1309193345-r9 { fill: #868887;font-style: italic; } +.terminal-1309193345-r10 { fill: #d08442 } +.terminal-1309193345-r11 { fill: #98729f } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -136,36 +136,36 @@ - + - - $ nf-core subworkflows info bam_rseqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -╭─ Subworkflow: bam_rseqc  ────────────────────────────────────────────────────────────────────────╮ -│ 🌐 Repository: https://github.com/nf-core/modules.git                                            │ -│ 📖 Description: Subworkflow to run multiple commands in the RSeqC package                        │ -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ -[..truncated..] - readduplication_rscript  (file)    │script to reproduce the plot       │                      *.R -╶────────────────────────────────────┼───────────────────────────────────┼─────────────────────────╴ - tin_txt  (file)                    │TXT file containing tin.py results │                    *.txt -                                     │summary                            │ -╶────────────────────────────────────┼───────────────────────────────────┼─────────────────────────╴ - versions  (file)                   │File containing software versions  │             versions.yml -                                     ╵                                   ╵                           - - 💻  Installation command: nf-core subworkflows install bam_rseqc - + + $ nf-core subworkflows info bam_rseqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +╭─ Subworkflow: bam_rseqc  ────────────────────────────────────────────────────────────────────────╮ +│ 🌐 Repository: https://github.com/nf-core/modules.git                                            │ +│ 📖 Description: Subworkflow to run multiple commands in the RSeqC package                        │ +╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ +[..truncated..] + readduplication_rscript  (file)    │script to reproduce the plot       │                      *.R +╶────────────────────────────────────┼───────────────────────────────────┼─────────────────────────╴ + tin_txt  (file)                    │TXT file containing tin.py results │                    *.txt +                                     │summary                            │ +╶────────────────────────────────────┼───────────────────────────────────┼─────────────────────────╴ + versions  (file)                   │File containing software versions  │             versions.yml +                                     ╵                                   ╵                           + + 💻  Installation command: nf-core subworkflows install bam_rseqc + diff --git a/docs/images/nf-core-subworkflows-install.svg b/docs/images/nf-core-subworkflows-install.svg index 84c9fe6ac9..8c86c3a7e4 100644 --- a/docs/images/nf-core-subworkflows-install.svg +++ b/docs/images/nf-core-subworkflows-install.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + - + - + - - $ nf-core subworkflows install bam_rseqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Installing 'bam_rseqc' + + $ nf-core subworkflows install bam_rseqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Installing 'bam_rseqc' +INFO     Use the following statement to include this subworkflow:                                    + + include { BAM_RSEQC } from '../subworkflows/nf-core/bam_rseqc/main'                                 + diff --git a/docs/images/nf-core-subworkflows-lint.svg b/docs/images/nf-core-subworkflows-lint.svg index 3199189c16..7e827661ac 100644 --- a/docs/images/nf-core-subworkflows-lint.svg +++ b/docs/images/nf-core-subworkflows-lint.svg @@ -19,239 +19,239 @@ font-weight: 700; } - .terminal-785643940-matrix { + .terminal-3511810563-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-785643940-title { + .terminal-3511810563-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-785643940-r1 { fill: #c5c8c6 } -.terminal-785643940-r2 { fill: #98a84b } -.terminal-785643940-r3 { fill: #9a9b99 } -.terminal-785643940-r4 { fill: #608ab1 } -.terminal-785643940-r5 { fill: #d0b344 } -.terminal-785643940-r6 { fill: #d0b344;font-weight: bold } -.terminal-785643940-r7 { fill: #8d7b39 } -.terminal-785643940-r8 { fill: #68a0b3;font-weight: bold } -.terminal-785643940-r9 { fill: #d0b344;font-style: italic; } -.terminal-785643940-r10 { fill: #c5c8c6;font-weight: bold } -.terminal-785643940-r11 { fill: #98a84b;font-weight: bold } -.terminal-785643940-r12 { fill: #cc555a } + .terminal-3511810563-r1 { fill: #c5c8c6 } +.terminal-3511810563-r2 { fill: #98a84b } +.terminal-3511810563-r3 { fill: #9a9b99 } +.terminal-3511810563-r4 { fill: #608ab1 } +.terminal-3511810563-r5 { fill: #d0b344 } +.terminal-3511810563-r6 { fill: #d0b344;font-weight: bold } +.terminal-3511810563-r7 { fill: #8d7b39 } +.terminal-3511810563-r8 { fill: #68a0b3;font-weight: bold } +.terminal-3511810563-r9 { fill: #d0b344;font-style: italic; } +.terminal-3511810563-r10 { fill: #c5c8c6;font-weight: bold } +.terminal-3511810563-r11 { fill: #98a84b;font-weight: bold } +.terminal-3511810563-r12 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -263,78 +263,78 @@ - + - - $ nf-core subworkflows lint bam_stats_samtools - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Linting modules repo: '.' -INFO     Linting subworkflow: 'bam_stats_samtools' - -╭─[!] 14 Subworkflow Test Warnings───────────────────────────────────────────────────────────────╮ -                     ╷                                     ╷                                       -Subworkflow name   File path                          Test message                         -╶────────────────────┼─────────────────────────────────────┼─────────────────────────────────────╴ -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf.test//Add  -all required assertions to verify  -the test output. -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf.testAdd  -tags for all modules used within  -this subworkflow. Example: -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf.testChange  -the test name preferably indicating  -the test-data and file-format used -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf.testOnce  -you have added the required tests,  -please run the following command to  -build this file: -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf.testdefine  -inputs of the workflow here.  -Example: -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf -subworkflow SHOULD import at least  -two modules -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nfIf in doubt  -look at other nf-core/subworkflows  -to see how we are doing things! :) -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nfedit emitted -channels -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nfedit input  -(take) channels -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nfsubstitute  -modules here for the modules of your -subworkflow -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in meta.yml#Add a  -description of the subworkflow and  -list keywords -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in meta.yml#Add a list -of the modules and/or subworkflows  -used in the subworkflow -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in meta.yml#List all  -of the channels used as input with a -description and their structure -bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in meta.yml#List all  -of the channels used as output with  -a descriptions and their structure -                     ╵                                     ╵                                       -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭───────────────────────╮ -LINT RESULTS SUMMARY -├───────────────────────┤ -[✔]  42 Tests Passed  -[!]  14 Test Warnings -[✗]   0 Tests Failed  -╰───────────────────────╯ + + $ nf-core subworkflows lint bam_stats_samtools + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Linting modules repo: '.' +INFO     Linting subworkflow: 'bam_stats_samtools' + +╭─[!] 14 Subworkflow Test Warnings───────────────────────────────────────────────────────────────╮ +                     ╷                                     ╷                                       +Subworkflow name   File path                          Test message                         +╶────────────────────┼─────────────────────────────────────┼─────────────────────────────────────╴ +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf.test//Add  +all required assertions to verify  +the test output. +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf.testAdd  +tags for all modules used within  +this subworkflow. Example: +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf.testChange  +the test name preferably indicating  +the test-data and file-format used +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf.testOnce  +you have added the required tests,  +please run the following command to  +build this file: +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf.testdefine  +inputs of the workflow here.  +Example: +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nf +subworkflow SHOULD import at least  +two modules +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nfIf in doubt  +look at other nf-core/subworkflows  +to see how we are doing things! :) +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nfedit emitted +channels +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nfedit input  +(take) channels +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in main.nfsubstitute  +modules here for the modules of your +subworkflow +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in meta.yml#Add a  +description of the subworkflow and  +list keywords +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in meta.yml#Add a list +of the modules and/or subworkflows  +used in the subworkflow +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in meta.yml#List all  +of the channels used as input with a +description and their structure +bam_stats_samtools subworkflows/nf-core/bam_stats_sam…TODO string in meta.yml#List all  +of the channels used as output with  +a descriptions and their structure +                     ╵                                     ╵                                       +╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭───────────────────────╮ +LINT RESULTS SUMMARY +├───────────────────────┤ +[✔]  42 Tests Passed  +[!]  14 Test Warnings +[✗]   0 Tests Failed  +╰───────────────────────╯ diff --git a/docs/images/nf-core-subworkflows-list-local.svg b/docs/images/nf-core-subworkflows-list-local.svg index 04a21b7708..6bec883e1f 100644 --- a/docs/images/nf-core-subworkflows-list-local.svg +++ b/docs/images/nf-core-subworkflows-list-local.svg @@ -19,108 +19,108 @@ font-weight: 700; } - .terminal-2970876245-matrix { + .terminal-2930702375-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2970876245-title { + .terminal-2930702375-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2970876245-r1 { fill: #c5c8c6 } -.terminal-2970876245-r2 { fill: #98a84b } -.terminal-2970876245-r3 { fill: #9a9b99 } -.terminal-2970876245-r4 { fill: #608ab1 } -.terminal-2970876245-r5 { fill: #d0b344 } -.terminal-2970876245-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-2970876245-r7 { fill: #868887;font-style: italic; } + .terminal-2930702375-r1 { fill: #c5c8c6 } +.terminal-2930702375-r2 { fill: #98a84b } +.terminal-2930702375-r3 { fill: #9a9b99 } +.terminal-2930702375-r4 { fill: #608ab1 } +.terminal-2930702375-r5 { fill: #d0b344 } +.terminal-2930702375-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-2930702375-r7 { fill: #868887;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -132,36 +132,36 @@ - + - - $ nf-core subworkflows list local - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Subworkflows installed in '.':                                                              - -self.repo_type='pipeline' -┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -Subworkflow Name   Repository        Version SHA        Message           Date       -┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩ -│ utils_nextflow_pip… │ https://github.co… │ cd08c91373cd00a732… │ nicer assertions   │ 2024-01-19 │ -│                     │                    │                     │ in utils           │            │ -│                     │                    │                     │ subworkflows       │            │ -│                     │                    │                     │ (#4779)            │            │ -│ utils_nfcore_pipel… │ https://github.co… │ 262b17ed2aad591039… │ Update             │ 2024-02-12 │ -│                     │                    │                     │ utils-nfcore-pipe… │            │ -│                     │                    │                     │ add multiqc report │            │ -│                     │                    │                     │ to completion      │            │ -[..truncated..] + + $ nf-core subworkflows list local + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Subworkflows installed in '.':                                                              + +self.repo_type='pipeline' +┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +Subworkflow Name   Repository        Version SHA        Message           Date       +┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩ +│ utils_nextflow_pip… │ https://github.co… │ 5caf7640a9ef1d18d7… │ remove             │ 2024-02-28 │ +│                     │                    │                     │ params.outdir from │            │ +│                     │                    │                     │ modules and        │            │ +│                     │                    │                     │ subworfklows tests │            │ +│                     │                    │                     │ (#5007)            │            │ +│ utils_nfcore_pipel… │ https://github.co… │ 5caf7640a9ef1d18d7… │ remove             │ 2024-02-28 │ +│                     │                    │                     │ params.outdir from │            │ +│                     │                    │                     │ modules and        │            │ +[..truncated..] diff --git a/docs/images/nf-core-subworkflows-list-remote.svg b/docs/images/nf-core-subworkflows-list-remote.svg index 28754bea25..704c2e9a45 100644 --- a/docs/images/nf-core-subworkflows-list-remote.svg +++ b/docs/images/nf-core-subworkflows-list-remote.svg @@ -19,109 +19,109 @@ font-weight: 700; } - .terminal-3053865645-matrix { + .terminal-2294237964-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3053865645-title { + .terminal-2294237964-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3053865645-r1 { fill: #c5c8c6 } -.terminal-3053865645-r2 { fill: #98a84b } -.terminal-3053865645-r3 { fill: #9a9b99 } -.terminal-3053865645-r4 { fill: #608ab1 } -.terminal-3053865645-r5 { fill: #d0b344 } -.terminal-3053865645-r6 { fill: #1984e9;text-decoration: underline; } -.terminal-3053865645-r7 { fill: #c5c8c6;font-weight: bold } -.terminal-3053865645-r8 { fill: #868887;font-style: italic; } + .terminal-2294237964-r1 { fill: #c5c8c6 } +.terminal-2294237964-r2 { fill: #98a84b } +.terminal-2294237964-r3 { fill: #9a9b99 } +.terminal-2294237964-r4 { fill: #608ab1 } +.terminal-2294237964-r5 { fill: #d0b344 } +.terminal-2294237964-r6 { fill: #1984e9;text-decoration: underline; } +.terminal-2294237964-r7 { fill: #c5c8c6;font-weight: bold } +.terminal-2294237964-r8 { fill: #868887;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -133,36 +133,36 @@ - + - - $ nf-core subworkflows list remote - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Subworkflows available from https://github.com/nf-core/modules.git(master):                - -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ -Subworkflow Name                              -┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ -│ bam_cnv_wisecondorx                           │ -│ bam_create_som_pon_gatk                       │ -│ bam_dedup_stats_samtools_umitools             │ -│ bam_docounts_contamination_angsd              │ -│ bam_markduplicates_picard                     │ -│ bam_markduplicates_samtools                   │ -│ bam_ngscheckmate                              │ -│ bam_qc_picard                                 │ -│ bam_rseqc                                     │ -[..truncated..] + + $ nf-core subworkflows list remote + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Subworkflows available from https://github.com/nf-core/modules.git(master):                + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +Subworkflow Name                              +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ bam_cnv_wisecondorx                           │ +│ bam_create_som_pon_gatk                       │ +│ bam_dedup_stats_samtools_umitools             │ +│ bam_docounts_contamination_angsd              │ +│ bam_markduplicates_picard                     │ +│ bam_markduplicates_samtools                   │ +│ bam_ngscheckmate                              │ +│ bam_qc_picard                                 │ +│ bam_rseqc                                     │ +[..truncated..] diff --git a/docs/images/nf-core-subworkflows-remove.svg b/docs/images/nf-core-subworkflows-remove.svg index 91bce3c2ef..42c576f4c5 100644 --- a/docs/images/nf-core-subworkflows-remove.svg +++ b/docs/images/nf-core-subworkflows-remove.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + - + - + - - $ nf-core subworkflows remove bam_rseqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Removed files for 'rseqc/bamstat' and its dependencies 'rseqc/bamstat'.                     -INFO     Removed files for 'rseqc/inferexperiment' and its dependencies 'rseqc/inferexperiment'.     -INFO     Removed files for 'rseqc/innerdistance' and its dependencies 'rseqc/innerdistance'.         -INFO     Removed files for 'rseqc/junctionannotation' and its dependencies                           -'rseqc/junctionannotation'.                                                                 -INFO     Removed files for 'rseqc/junctionsaturation' and its dependencies                           -'rseqc/junctionsaturation'.                                                                 -INFO     Removed files for 'rseqc/readdistribution' and its dependencies 'rseqc/readdistribution'.   -INFO     Removed files for 'bam_rseqc' and its dependencies 'bam_rseqc, rseqc_bamstat,  -rseqc_inferexperiment, rseqc_innerdistance, rseqc_junctionannotation,  -rseqc_junctionsaturation, rseqc_readdistribution'.                                          + + $ nf-core subworkflows remove bam_rseqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Removed files for 'rseqc/bamstat' and its dependencies 'rseqc/bamstat'.                     +INFO     Removed files for 'rseqc/inferexperiment' and its dependencies 'rseqc/inferexperiment'.     +INFO     Removed files for 'rseqc/innerdistance' and its dependencies 'rseqc/innerdistance'.         +INFO     Removed files for 'rseqc/junctionannotation' and its dependencies                           +'rseqc/junctionannotation'.                                                                 +INFO     Removed files for 'rseqc/junctionsaturation' and its dependencies                           +'rseqc/junctionsaturation'.                                                                 +INFO     Removed files for 'rseqc/readdistribution' and its dependencies 'rseqc/readdistribution'.   +INFO     Removed files for 'rseqc/readduplication' and its dependencies 'rseqc/readduplication'.     +INFO     Removed files for 'rseqc/tin' and its dependencies 'rseqc/tin'.                             +INFO     Removed files for 'bam_rseqc' and its dependencies 'bam_rseqc, rseqc_bamstat,  +rseqc_inferexperiment, rseqc_innerdistance, rseqc_junctionannotation,  +rseqc_junctionsaturation, rseqc_readdistribution, rseqc_readduplication, rseqc_tin'.        diff --git a/docs/images/nf-core-subworkflows-test.svg b/docs/images/nf-core-subworkflows-test.svg index f4261d37f5..9cda6beda6 100644 --- a/docs/images/nf-core-subworkflows-test.svg +++ b/docs/images/nf-core-subworkflows-test.svg @@ -19,64 +19,64 @@ font-weight: 700; } - .terminal-3894408202-matrix { + .terminal-1767175273-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3894408202-title { + .terminal-1767175273-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3894408202-r1 { fill: #c5c8c6 } -.terminal-3894408202-r2 { fill: #98a84b } -.terminal-3894408202-r3 { fill: #9a9b99 } -.terminal-3894408202-r4 { fill: #608ab1 } -.terminal-3894408202-r5 { fill: #d0b344 } + .terminal-1767175273-r1 { fill: #c5c8c6 } +.terminal-1767175273-r2 { fill: #98a84b } +.terminal-1767175273-r3 { fill: #9a9b99 } +.terminal-1767175273-r4 { fill: #608ab1 } +.terminal-1767175273-r5 { fill: #d0b344 } - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -88,22 +88,22 @@ - + - - $ nf-core subworkflows test bam_rseqc --no-prompts - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -INFO     Generating nf-test snapshot                                                                 + + $ nf-core subworkflows test bam_rseqc --no-prompts + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO     Generating nf-test snapshot                                                                 diff --git a/docs/images/nf-core-subworkflows-update.svg b/docs/images/nf-core-subworkflows-update.svg index 64919a7e3d..3398899b7e 100644 --- a/docs/images/nf-core-subworkflows-update.svg +++ b/docs/images/nf-core-subworkflows-update.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + - + - + - - $ nf-core subworkflows update --all --no-preview - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - - -ERROR   'rseqc/readduplication' + + $ nf-core subworkflows update --all --no-preview + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + + +INFO    'subworkflows/nf-core/bam_rseqc' is already up to date                                      +INFO    'subworkflows/nf-core/utils_nextflow_pipeline' is already up to date                        +INFO    'subworkflows/nf-core/utils_nfcore_pipeline' is already up to date                          +INFO    'subworkflows/nf-core/utils_nfvalidation_plugin' is already up to date                      +INFO     Updates complete ✨                                                                         diff --git a/docs/images/nf-core-sync.svg b/docs/images/nf-core-sync.svg index 1b2917e5db..b2c6d734fc 100644 --- a/docs/images/nf-core-sync.svg +++ b/docs/images/nf-core-sync.svg @@ -19,91 +19,91 @@ font-weight: 700; } - .terminal-1194172937-matrix { + .terminal-559850088-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1194172937-title { + .terminal-559850088-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1194172937-r1 { fill: #c5c8c6 } -.terminal-1194172937-r2 { fill: #98a84b } -.terminal-1194172937-r3 { fill: #9a9b99 } -.terminal-1194172937-r4 { fill: #608ab1 } -.terminal-1194172937-r5 { fill: #d0b344 } -.terminal-1194172937-r6 { fill: #cc555a } -.terminal-1194172937-r7 { fill: #98729f } -.terminal-1194172937-r8 { fill: #ff2c7a } + .terminal-559850088-r1 { fill: #c5c8c6 } +.terminal-559850088-r2 { fill: #98a84b } +.terminal-559850088-r3 { fill: #9a9b99 } +.terminal-559850088-r4 { fill: #608ab1 } +.terminal-559850088-r5 { fill: #d0b344 } +.terminal-559850088-r6 { fill: #cc555a } +.terminal-559850088-r7 { fill: #98729f } +.terminal-559850088-r8 { fill: #ff2c7a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -115,30 +115,30 @@ - + - - $ nf-core sync - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.13 - https://nf-co.re - - -WARNING  Could not find GitHub authentication token. Some API requests may fail.                     -INFO     Pipeline directory: /home/runner/work/tools/tools/tmp/nf-core-nextbigthing -INFO     Original pipeline repository branch is 'master' -INFO     Deleting all files in 'TEMPLATE' branch                                                     -INFO     Making a new template pipeline using pipeline variables                                     -INFO     Committed changes to 'TEMPLATE' branch                                                      -INFO     Checking out original branch: 'master' -INFO     Now try to merge the updates in to your pipeline:                                           -           cd /home/runner/work/tools/tools/tmp/nf-core-nextbigthing -           git merge TEMPLATE                                                                        + + $ nf-core sync + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.13.1 - https://nf-co.re + + +WARNING  Could not find GitHub authentication token. Some API requests may fail.                     +INFO     Pipeline directory: /home/runner/work/tools/tools/tmp/nf-core-nextbigthing +INFO     Original pipeline repository branch is 'master' +INFO     Deleting all files in 'TEMPLATE' branch                                                     +INFO     Making a new template pipeline using pipeline variables                                     +INFO     Committed changes to 'TEMPLATE' branch                                                      +INFO     Checking out original branch: 'master' +INFO     Now try to merge the updates in to your pipeline:                                           +           cd /home/runner/work/tools/tools/tmp/nf-core-nextbigthing +           git merge TEMPLATE                                                                        diff --git a/nf_core/download.py b/nf_core/download.py index bb7b2ae473..d08e0ba40e 100644 --- a/nf_core/download.py +++ b/nf_core/download.py @@ -1,6 +1,5 @@ """Downloads a nf-core pipeline to the local file system.""" - import concurrent.futures import io import logging @@ -11,6 +10,7 @@ import tarfile import textwrap from datetime import datetime +from typing import List, Optional, Tuple from zipfile import ZipFile import git @@ -34,13 +34,17 @@ log = logging.getLogger(__name__) stderr = rich.console.Console( - stderr=True, style="dim", highlight=False, force_terminal=nf_core.utils.rich_force_colors() + stderr=True, + style="dim", + highlight=False, + force_terminal=nf_core.utils.rich_force_colors(), ) class DownloadError(RuntimeError): """A custom exception that is raised when nf-core download encounters a problem that we already took into consideration. - In this case, we do not want to print the traceback, but give the user some concise, helpful feedback instead.""" + In this case, we do not want to print the traceback, but give the user some concise, helpful feedback instead. + """ class DownloadProgress(rich.progress.Progress): @@ -130,6 +134,8 @@ def __init__( self.container_library = [*container_library] else: self.container_library = ["quay.io"] + # Create a new set and add all values from self.container_library (CLI arguments to --container-library) + self.registry_set = set(self.container_library) if hasattr(self, "container_library") else set() # if a container_cache_index is given, use the file and overrule choice. self.container_cache_utilisation = "remote" if container_cache_index else container_cache_utilisation self.container_cache_index = container_cache_index @@ -255,6 +261,7 @@ def download_workflow_static(self): # Collect all required singularity images if self.container_system == "singularity": self.find_container_images(os.path.join(self.outdir, revision_dirname)) + self.gather_registries(os.path.join(self.outdir, revision_dirname)) try: self.get_singularity_images(current_revision=item[0]) @@ -275,7 +282,7 @@ def download_workflow_tower(self, location=None): remote_url=f"https://github.com/{self.pipeline}.git", revision=self.revision if self.revision else None, commit=self.wf_sha.values() if bool(self.wf_sha) else None, - location=location if location else None, # manual location is required for the tests to work + location=(location if location else None), # manual location is required for the tests to work in_cache=False, ) @@ -292,6 +299,7 @@ def download_workflow_tower(self, location=None): self.workflow_repo.checkout(commit) # Collect all required singularity images self.find_container_images(self.workflow_repo.access()) + self.gather_registries(self.workflow_repo.access()) try: self.get_singularity_images(current_revision=revision) @@ -335,7 +343,7 @@ def prompt_revision(self): if bool(choice): # have to make sure that self.revision is a list of strings, regardless if choice is str or list of strings. - self.revision.append(choice) if isinstance(choice, str) else self.revision.extend(choice) + (self.revision.append(choice) if isinstance(choice, str) else self.revision.extend(choice)) else: if bool(tag_set): self.revision = tag_set @@ -362,7 +370,8 @@ def get_revision_hash(self): else: log.info( "Available {} revisions: '{}'".format( - self.pipeline, "', '".join([r["tag_name"] for r in self.wf_revisions]) + self.pipeline, + "', '".join([r["tag_name"] for r in self.wf_revisions]), ) ) log.info("Available {} branches: '{}'".format(self.pipeline, "', '".join(self.wf_branches.keys()))) @@ -425,7 +434,9 @@ def prompt_singularity_cachedir_creation(self): cachedir_path = None while cachedir_path is None: prompt_cachedir_path = questionary.path( - "Specify the path:", only_directories=True, style=nf_core.utils.nfcore_question_style + "Specify the path:", + only_directories=True, + style=nf_core.utils.nfcore_question_style, ).unsafe_ask() cachedir_path = os.path.abspath(os.path.expanduser(prompt_cachedir_path)) if prompt_cachedir_path == "": @@ -603,7 +614,10 @@ def download_wf_files(self, revision, wf_sha, download_url): # Rename the internal directory name to be more friendly gh_name = f"{self.pipeline}-{wf_sha if bool(wf_sha) else ''}".split("/")[-1] - os.rename(os.path.join(self.outdir, gh_name), os.path.join(self.outdir, revision_dirname)) + os.rename( + os.path.join(self.outdir, gh_name), + os.path.join(self.outdir, revision_dirname), + ) # Make downloaded files executable for dirpath, _, filelist in os.walk(os.path.join(self.outdir, revision_dirname)): @@ -624,7 +638,10 @@ def download_configs(self): zipfile.extractall(self.outdir) # Rename the internal directory name to be more friendly - os.rename(os.path.join(self.outdir, configs_local_dir), os.path.join(self.outdir, "configs")) + os.rename( + os.path.join(self.outdir, configs_local_dir), + os.path.join(self.outdir, "configs"), + ) # Make downloaded files executable for dirpath, _, filelist in os.walk(os.path.join(self.outdir, "configs")): @@ -697,7 +714,7 @@ def find_container_images(self, workflow_directory): config_findings_dsl2 = re.findall(config_regex, v) if bool(config_findings_dsl2): - # finding fill always be a tuple of length 2, first the quote used and second the enquoted value. + # finding will always be a tuple of length 2, first the quote used and second the enquoted value. for finding in config_findings_dsl2: config_findings.append(finding + (self.nf_config, "Nextflow configs")) else: # no regex match, likely just plain string @@ -734,7 +751,8 @@ def find_container_images(self, workflow_directory): re.DOTALL is used to account for the string to be spread out across multiple lines. """ container_regex = re.compile( - r"container\s+[\\s{}=$]*(?P[\'\"])(?P(?:.(?!\1))*.?)\1[\\s}]*", re.DOTALL + r"container\s+[\\s{}=$]*(?P[\'\"])(?P(?:.(?!\1))*.?)\1[\\s}]*", + re.DOTALL, ) local_module_findings = re.findall(container_regex, search_space) @@ -856,7 +874,8 @@ def rectify_raw_container_matches(self, raw_findings): """ container_value_defs = re.findall( - r"[^\"\'](?P(?(?:.(?!(?(?(?:.(?!(? None: + """Fetch the registries from the pipeline config and CLI arguments and store them in a set. + This is needed to symlink downloaded container images so Nextflow will find them. + """ + + # should exist, because find_container_images() is always called before + if not self.nf_config: + self.nf_config = nf_core.utils.fetch_wf_config(workflow_directory) + + # Select registries defined in pipeline config + configured_registries = [ + "apptainer.registry", + "docker.registry", + "podman.registry", + "singularity.registry", + ] + + for registry in configured_registries: + if registry in self.nf_config: + self.registry_set.add(self.nf_config[registry]) + + # add depot.galaxyproject.org to the set, because it is the default registry for singularity hardcoded in modules + self.registry_set.add("depot.galaxyproject.org") + + def symlink_singularity_images(self, image_out_path: str) -> None: + """Create a symlink for each registry in the registry set that points to the image. + We have dropped the explicit registries from the modules in favor of the configurable registries. + Unfortunately, Nextflow still expects the registry to be part of the file name, so a symlink is needed. + + The base image, e.g. ./nf-core-gatk-4.4.0.0.img will thus be symlinked as for example ./quay.io-nf-core-gatk-4.4.0.0.img + by prepending all registries in self.registry_set to the image name. + + Unfortunately, out output image name may contain a registry definition (Singularity image pulled from depot.galaxyproject.org + or older pipeline version, where the docker registry was part of the image name in the modules). Hence, it must be stripped + before to ensure that it is really the base name. + """ + + if self.registry_set: + # Create a regex pattern from the set, in case trimming is needed. + trim_pattern = "|".join(f"^{re.escape(registry)}-?" for registry in self.registry_set) + + for registry in self.registry_set: + if not os.path.basename(image_out_path).startswith(registry): + symlink_name = os.path.join("./", f"{registry}-{os.path.basename(image_out_path)}") + else: + trimmed_name = re.sub(f"{trim_pattern}", "", os.path.basename(image_out_path)) + symlink_name = os.path.join("./", f"{registry}-{trimmed_name}") + + symlink_full = os.path.join(os.path.dirname(image_out_path), symlink_name) + target_name = os.path.join("./", os.path.basename(image_out_path)) + + if not os.path.exists(symlink_full) and target_name != symlink_name: + os.makedirs(os.path.dirname(symlink_full), exist_ok=True) + image_dir = os.open(os.path.dirname(image_out_path), os.O_RDONLY) + try: + os.symlink( + target_name, + symlink_name, + dir_fd=image_dir, + ) + log.debug(f"Symlinked {target_name} as {symlink_name}.") + finally: + os.close(image_dir) + + def get_singularity_images(self, current_revision: str = "") -> None: """Loop through container names and download Singularity images""" if len(self.containers) == 0: @@ -972,14 +1055,16 @@ def get_singularity_images(self, current_revision=""): with DownloadProgress() as progress: task = progress.add_task( - "Collecting container images", total=len(self.containers), progress_type="summary" + "Collecting container images", + total=len(self.containers), + progress_type="summary", ) # Organise containers based on what we need to do with them - containers_exist = [] - containers_cache = [] - containers_download = [] - containers_pull = [] + containers_exist: List[str] = [] + containers_cache: List[Tuple[str, str, Optional[str]]] = [] + containers_download: List[Tuple[str, str, Optional[str]]] = [] + containers_pull: List[Tuple[str, str, Optional[str]]] = [] for container in self.containers: # Fetch the output and cached filenames for this container out_path, cache_path = self.singularity_image_filenames(container) @@ -1002,16 +1087,16 @@ def get_singularity_images(self, current_revision=""): # We have a copy of this in the NXF_SINGULARITY_CACHE dir if cache_path and os.path.exists(cache_path): - containers_cache.append([container, out_path, cache_path]) + containers_cache.append((container, out_path, cache_path)) continue # Direct download within Python if container.startswith("http"): - containers_download.append([container, out_path, cache_path]) + containers_download.append((container, out_path, cache_path)) continue # Pull using singularity - containers_pull.append([container, out_path, cache_path]) + containers_pull.append((container, out_path, cache_path)) # Exit if we need to pull images and Singularity is not installed if len(containers_pull) > 0: @@ -1043,8 +1128,8 @@ def get_singularity_images(self, current_revision=""): # Kick off concurrent downloads future_downloads = [ - pool.submit(self.singularity_download_image, *container, progress) - for container in containers_download + pool.submit(self.singularity_download_image, *containers, progress) + for containers in containers_download ] # Make ctrl-c work with multi-threading @@ -1069,13 +1154,13 @@ def get_singularity_images(self, current_revision=""): # Re-raise exception on the main thread raise - for container in containers_pull: + for containers in containers_pull: progress.update(task, description="Pulling singularity images") # it is possible to try multiple registries / mirrors if multiple were specified. # Iteration happens over a copy of self.container_library[:], as I want to be able to remove failing registries for subsequent images. for library in self.container_library[:]: try: - self.singularity_pull_image(*container, library, progress) + self.singularity_pull_image(*containers, library, progress) # Pulling the image was successful, no ContainerError was raised, break the library loop break except ContainerError.ImageExistsError: @@ -1112,12 +1197,12 @@ def get_singularity_images(self, current_revision=""): # The else clause executes after the loop completes normally. # This means the library loop completed without breaking, indicating failure for all libraries (registries) log.error( - f"Not able to pull image of {container}. Service might be down or internet connection is dead." + f"Not able to pull image of {containers}. Service might be down or internet connection is dead." ) # Task should advance in any case. Failure to pull will not kill the download process. progress.update(task, advance=1) - def singularity_image_filenames(self, container): + def singularity_image_filenames(self, container: str) -> Tuple[str, Optional[str]]: """Check Singularity cache for image, copy to destination folder if found. Args: @@ -1125,8 +1210,11 @@ def singularity_image_filenames(self, container): or a Docker Hub repository ID. Returns: - results (bool, str): Returns True if we have the image in the target location. - Returns a download path if not. + tuple (str, str): Returns a tuple of (out_path, cache_path). + out_path is the final target output path. it may point to the NXF_SINGULARITY_CACHEDIR, if cache utilisation was set to 'amend'. + If cache utilisation was set to 'copy', it will point to the target folder, a subdirectory of the output directory. In the latter case, + cache_path may either be None (image is not yet cached locally) or point to the image in the NXF_SINGULARITY_CACHEDIR, so it will not be + downloaded from the web again, but directly copied from there. See get_singularity_images() for implementation. """ # Generate file paths @@ -1148,6 +1236,15 @@ def singularity_image_filenames(self, container): # Add file extension out_name = out_name + extension + # Trim potential registries from the name for consistency. + # This will allow pipelines to work offline without symlinked images, + # if docker.registry / singularity.registry are set to empty strings at runtime, which can be included in the HPC config profiles easily. + if self.registry_set: + # Create a regex pattern from the set of registries + trim_pattern = "|".join(f"^{re.escape(registry)}-?" for registry in self.registry_set) + # Use the pattern to trim the string + out_name = re.sub(f"{trim_pattern}", "", out_name) + # Full destination and cache paths out_path = os.path.abspath(os.path.join(self.outdir, "singularity-images", out_name)) cache_path = None @@ -1162,14 +1259,18 @@ def singularity_image_filenames(self, container): return (out_path, cache_path) - def singularity_copy_cache_image(self, container, out_path, cache_path): + def singularity_copy_cache_image(self, container: str, out_path: str, cache_path: Optional[str]) -> None: """Copy Singularity image from NXF_SINGULARITY_CACHEDIR to target folder.""" # Copy to destination folder if we have a cached version if cache_path and os.path.exists(cache_path): log.debug(f"Copying {container} from cache: '{os.path.basename(out_path)}'") shutil.copyfile(cache_path, out_path) + # Create symlinks to ensure that the images are found even with different registries being used. + self.symlink_singularity_images(out_path) - def singularity_download_image(self, container, out_path, cache_path, progress): + def singularity_download_image( + self, container: str, out_path: str, cache_path: Optional[str], progress: DownloadProgress + ) -> None: """Download a singularity image from the web. Use native Python to download the file. @@ -1216,7 +1317,6 @@ def singularity_download_image(self, container, out_path, cache_path, progress): # Rename partial filename to final filename os.rename(output_path_tmp, output_path) - output_path_tmp = None # Copy cached download if we are using the cache if cache_path: @@ -1224,6 +1324,9 @@ def singularity_download_image(self, container, out_path, cache_path, progress): progress.update(task, description="Copying from cache to target directory") shutil.copyfile(cache_path, out_path) + # Create symlinks to ensure that the images are found even with different registries being used. + self.symlink_singularity_images(output_path) + progress.remove_task(task) except: @@ -1238,8 +1341,12 @@ def singularity_download_image(self, container, out_path, cache_path, progress): os.remove(output_path) # Re-raise the caught exception raise + finally: + del output_path_tmp - def singularity_pull_image(self, container, out_path, cache_path, library, progress): + def singularity_pull_image( + self, container: str, out_path: str, cache_path: Optional[str], library: List[str], progress: DownloadProgress + ) -> None: """Pull a singularity image using ``singularity pull`` Attempt to use a local installation of singularity to pull the image. @@ -1254,6 +1361,11 @@ def singularity_pull_image(self, container, out_path, cache_path, library, progr """ output_path = cache_path or out_path + # where the output of 'singularity pull' is first generated before being copied to the NXF_SINGULARITY_CACHDIR. + # if not defined by the Singularity administrators, then use the temporary directory to avoid storing the images in the work directory. + if os.environ.get("SINGULARITY_CACHEDIR") is None: + os.environ["SINGULARITY_CACHEDIR"] = NFCORE_CACHE_DIR + # Sometimes, container still contain an explicit library specification, which # resulted in attempted pulls e.g. from docker://quay.io/quay.io/qiime2/core:2022.11 # Thus, if an explicit registry is specified, the provided -l value is ignored. @@ -1266,7 +1378,13 @@ def singularity_pull_image(self, container, out_path, cache_path, library, progr absolute_URI = False if shutil.which("singularity"): - singularity_command = ["singularity", "pull", "--name", output_path, address] + singularity_command = [ + "singularity", + "pull", + "--name", + output_path, + address, + ] elif shutil.which("apptainer"): singularity_command = ["apptainer", "pull", "--name", output_path, address] else: @@ -1275,7 +1393,13 @@ def singularity_pull_image(self, container, out_path, cache_path, library, progr log.debug(f"Singularity command: {' '.join(singularity_command)}") # Progress bar to show that something is happening - task = progress.add_task(container, start=False, total=False, progress_type="singularity_pull", current_log="") + task = progress.add_task( + container, + start=False, + total=False, + progress_type="singularity_pull", + current_log="", + ) # Run the singularity pull command with subprocess.Popen( @@ -1286,9 +1410,10 @@ def singularity_pull_image(self, container, out_path, cache_path, library, progr bufsize=1, ) as proc: lines = [] - for line in proc.stdout: - lines.append(line) - progress.update(task, current_log=line.strip()) + if proc.stdout is not None: + for line in proc.stdout: + lines.append(line) + progress.update(task, current_log=line.strip()) if lines: # something went wrong with the container retrieval @@ -1310,9 +1435,12 @@ def singularity_pull_image(self, container, out_path, cache_path, library, progr progress.update(task, current_log="Copying from cache to target directory") shutil.copyfile(cache_path, out_path) + # Create symlinks to ensure that the images are found even with different registries being used. + self.symlink_singularity_images(output_path) + progress.remove_task(task) - def compress_download(self): + def compress_download(self) -> None: """Take the downloaded files and make a compressed .tar.gz archive.""" log.debug(f"Creating archive: {self.output_filename}") @@ -1584,7 +1712,16 @@ def bare_clone(self, destination): class ContainerError(Exception): """A class of errors related to pulling containers with Singularity/Apptainer""" - def __init__(self, container, registry, address, absolute_URI, out_path, singularity_command, error_msg): + def __init__( + self, + container, + registry, + address, + absolute_URI, + out_path, + singularity_command, + error_msg, + ): self.container = container self.registry = registry self.address = address @@ -1600,6 +1737,7 @@ def __init__(self, container, registry, address, absolute_URI, out_path, singula elif ( re.search(r"requested\saccess\sto\sthe\sresource\sis\sdenied", line) or re.search(r"StatusCode:\s404", line) + or re.search(r"400|Bad\s?Request", line) or re.search(r"invalid\sstatus\scode\sfrom\sregistry\s400", line) ): # Unfortunately, every registry seems to return an individual error here: diff --git a/nf_core/gitpod/gitpod.Dockerfile b/nf_core/gitpod/gitpod.Dockerfile index c441d40df1..f04c7dcd04 100644 --- a/nf_core/gitpod/gitpod.Dockerfile +++ b/nf_core/gitpod/gitpod.Dockerfile @@ -1,7 +1,7 @@ # Test build locally before making a PR # docker build -t gitpod:test -f nf_core/gitpod/gitpod.Dockerfile . -FROM gitpod/workspace-base@sha256:728e1fab64f6924128b987264603a6f277bd881de95feaf39129a1ffdde36e14 +FROM gitpod/workspace-base@sha256:c15ee2f4de8902421ccbfbd77329a9e8e4abf18477e1b5ae8a1a572790254647 USER root diff --git a/nf_core/pipeline-template/.devcontainer/devcontainer.json b/nf_core/pipeline-template/.devcontainer/devcontainer.json index 4ecfbfe335..b290e09017 100644 --- a/nf_core/pipeline-template/.devcontainer/devcontainer.json +++ b/nf_core/pipeline-template/.devcontainer/devcontainer.json @@ -10,15 +10,7 @@ "vscode": { // Set *default* container specific settings.json values on container create. "settings": { - "python.defaultInterpreterPath": "/opt/conda/bin/python", - "python.linting.enabled": true, - "python.linting.pylintEnabled": true, - "python.formatting.autopep8Path": "/opt/conda/bin/autopep8", - "python.formatting.yapfPath": "/opt/conda/bin/yapf", - "python.linting.flake8Path": "/opt/conda/bin/flake8", - "python.linting.pycodestylePath": "/opt/conda/bin/pycodestyle", - "python.linting.pydocstylePath": "/opt/conda/bin/pydocstyle", - "python.linting.pylintPath": "/opt/conda/bin/pylint" + "python.defaultInterpreterPath": "/opt/conda/bin/python" }, // Add the IDs of extensions you want installed when the container is created. diff --git a/nf_core/pipeline-template/.github/CONTRIBUTING.md b/nf_core/pipeline-template/.github/CONTRIBUTING.md index 881ecbb022..6244a6544e 100644 --- a/nf_core/pipeline-template/.github/CONTRIBUTING.md +++ b/nf_core/pipeline-template/.github/CONTRIBUTING.md @@ -11,9 +11,8 @@ Contributions to the code are even more welcome ;) {% if branded -%} -:::info -If you need help using or modifying {{ name }} then the best place to ask is on the nf-core Slack [#{{ short_name }}](https://nfcore.slack.com/channels/{{ short_name }}) channel ([join our Slack here](https://nf-co.re/join/slack)). -::: +> [!NOTE] +> If you need help using or modifying {{ name }} then the best place to ask is on the nf-core Slack [#{{ short_name }}](https://nfcore.slack.com/channels/{{ short_name }}) channel ([join our Slack here](https://nf-co.re/join/slack)). {% endif -%} @@ -31,8 +30,11 @@ If you're not used to this workflow with git, you can start with some [docs from ## Tests -You can optionally test your changes by running the pipeline locally. Then it is recommended to use the `debug` profile to -receive warnings about process selectors and other debug info. Example: `nextflow run . -profile debug,test,docker --outdir `. +You have the option to test your changes locally by running the pipeline. For receiving warnings about process selectors and other `debug` information, it is recommended to use the debug profile. Execute all the tests with the following command: + +```bash +nf-test test --profile debug,test,docker --verbose +``` When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests. Typically, pull-requests are only fully reviewed when these tests are passing, though of course we can help out before then. @@ -98,7 +100,7 @@ Once there, use `nf-core schema build` to add to `nextflow_schema.json`. Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels. -The process resources can be passed on to the tool dynamically within the process with the `${task.cpu}` and `${task.memory}` variables in the `script:` block. +The process resources can be passed on to the tool dynamically within the process with the `${task.cpus}` and `${task.memory}` variables in the `script:` block. ### Naming schemes diff --git a/nf_core/pipeline-template/.github/PULL_REQUEST_TEMPLATE.md b/nf_core/pipeline-template/.github/PULL_REQUEST_TEMPLATE.md index 4f01a97993..d04335275a 100644 --- a/nf_core/pipeline-template/.github/PULL_REQUEST_TEMPLATE.md +++ b/nf_core/pipeline-template/.github/PULL_REQUEST_TEMPLATE.md @@ -20,7 +20,7 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/{{ name }}/t - [ ] If necessary, also make a PR on the {{ name }} _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. {%- endif %} - [ ] Make sure your code lints (`nf-core lint`). -- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir `). +- [ ] Ensure the test suite passes (`nf-test test main.nf.test -profile test,docker`). - [ ] Check for unexpected warnings in debug mode (`nextflow run . -profile debug,test,docker --outdir `). - [ ] Usage Documentation in `docs/usage.md` is updated. - [ ] Output Documentation in `docs/output.md` is updated. diff --git a/nf_core/pipeline-template/.github/workflows/awsfulltest.yml b/nf_core/pipeline-template/.github/workflows/awsfulltest.yml index 52aa8fa196..4c9fd69fcc 100644 --- a/nf_core/pipeline-template/.github/workflows/awsfulltest.yml +++ b/nf_core/pipeline-template/.github/workflows/awsfulltest.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Launch workflow via tower - uses: seqeralabs/action-tower-launch@922e5c8d5ac4e918107ec311d2ebbd65e5982b3d # v2 + uses: seqeralabs/action-tower-launch@v2 # TODO nf-core: You can customise AWS full pipeline tests as required # Add full size test data (but still relatively small datasets for few samples) # on the `test_full.config` test runs with only one set of parameters {%- raw %} @@ -31,7 +31,7 @@ jobs: } profiles: test_full - - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4 + - uses: actions/upload-artifact@v4 with: name: Tower debug log file path: | diff --git a/nf_core/pipeline-template/.github/workflows/awstest.yml b/nf_core/pipeline-template/.github/workflows/awstest.yml index 5488095197..25726aa1c9 100644 --- a/nf_core/pipeline-template/.github/workflows/awstest.yml +++ b/nf_core/pipeline-template/.github/workflows/awstest.yml @@ -12,7 +12,7 @@ jobs: steps: # Launch workflow using Tower CLI tool action {%- raw %} - name: Launch workflow via tower - uses: seqeralabs/action-tower-launch@922e5c8d5ac4e918107ec311d2ebbd65e5982b3d # v2 + uses: seqeralabs/action-tower-launch@v2 with: workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }} access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} @@ -25,7 +25,7 @@ jobs: } profiles: test - - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4 + - uses: actions/upload-artifact@v4 with: name: Tower debug log file path: | diff --git a/nf_core/pipeline-template/.github/workflows/ci.yml b/nf_core/pipeline-template/.github/workflows/ci.yml index 631862d9ec..84c727f60d 100644 --- a/nf_core/pipeline-template/.github/workflows/ci.yml +++ b/nf_core/pipeline-template/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Install Nextflow - uses: nf-core/setup-nextflow@b9f764e8ba5c76b712ace14ecbfcef0e40ae2dd8 # v1 + uses: nf-core/setup-nextflow@v1 with: version: "{% raw %}${{ matrix.NXF_VER }}{% endraw %}" diff --git a/nf_core/pipeline-template/.github/workflows/download_pipeline.yml b/nf_core/pipeline-template/.github/workflows/download_pipeline.yml index 20b811ab2b..dcd7caabfc 100644 --- a/nf_core/pipeline-template/.github/workflows/download_pipeline.yml +++ b/nf_core/pipeline-template/.github/workflows/download_pipeline.yml @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Nextflow - uses: nf-core/setup-nextflow@b9f764e8ba5c76b712ace14ecbfcef0e40ae2dd8 # v1 + uses: nf-core/setup-nextflow@v1 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5 with: diff --git a/nf_core/pipeline-template/.github/workflows/linting.yml b/nf_core/pipeline-template/.github/workflows/linting.yml index 3ec259b5ed..59b85f95fc 100644 --- a/nf_core/pipeline-template/.github/workflows/linting.yml +++ b/nf_core/pipeline-template/.github/workflows/linting.yml @@ -35,7 +35,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Install Nextflow - uses: nf-core/setup-nextflow@b9f764e8ba5c76b712ace14ecbfcef0e40ae2dd8 # v1 + uses: nf-core/setup-nextflow@v1 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5 with: diff --git a/nf_core/pipeline-template/.github/workflows/release-announcements.yml b/nf_core/pipeline-template/.github/workflows/release-announcements.yml index 6d11280ae8..58ef1731f7 100644 --- a/nf_core/pipeline-template/.github/workflows/release-announcements.yml +++ b/nf_core/pipeline-template/.github/workflows/release-announcements.yml @@ -12,7 +12,7 @@ jobs: - name: get topics and convert to hashtags id: get_topics run: | - curl -s https://nf-co.re/pipelines.json | jq -r '.remote_workflows[] | select(.name == "${{ github.repository }}") | .topics[]' | awk '{print "#"$0}' | tr '\n' ' ' > $GITHUB_OUTPUT + curl -s https://nf-co.re/pipelines.json | jq -r '.remote_workflows[] | select(.full_name == "${{ github.repository }}") | .topics[]' | awk '{print "#"$0}' | tr '\n' ' ' >> $GITHUB_OUTPUT - uses: rzr/fediverse-action@master with: diff --git a/nf_core/pipeline-template/.gitpod.yml b/nf_core/pipeline-template/.gitpod.yml index 363d5b1d42..105a1821a1 100644 --- a/nf_core/pipeline-template/.gitpod.yml +++ b/nf_core/pipeline-template/.gitpod.yml @@ -10,13 +10,11 @@ tasks: vscode: extensions: # based on nf-core.nf-core-extensionpack - - codezombiech.gitignore # Language support for .gitignore files - # - cssho.vscode-svgviewer # SVG viewer - esbenp.prettier-vscode # Markdown/CommonMark linting and style checking for Visual Studio Code - - eamodio.gitlens # Quickly glimpse into whom, why, and when a line or code block was changed - EditorConfig.EditorConfig # override user/workspace settings with settings found in .editorconfig files - Gruntfuggly.todo-tree # Display TODO and FIXME in a tree view in the activity bar - mechatroner.rainbow-csv # Highlight columns in csv files in different colors - # - nextflow.nextflow # Nextflow syntax highlighting + # - nextflow.nextflow # Nextflow syntax highlighting - oderwat.indent-rainbow # Highlight indentation level - streetsidesoftware.code-spell-checker # Spelling checker for source code + - charliermarsh.ruff # Code linter Ruff diff --git a/nf_core/pipeline-template/README.md b/nf_core/pipeline-template/README.md index 037d3fd81a..a3b141cf38 100644 --- a/nf_core/pipeline-template/README.md +++ b/nf_core/pipeline-template/README.md @@ -14,12 +14,13 @@ {% if branded -%}[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/{{ short_name }}/results){% endif -%} {%- if github_badges -%} [![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX) +[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com) [![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A523.04.0-23aa62.svg)](https://www.nextflow.io/) [![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/) [![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/) [![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/) -[![Launch on Nextflow Tower](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Nextflow%20Tower-%234256e7)](https://tower.nf/launch?pipeline=https://github.com/{{ name }}) +[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://tower.nf/launch?pipeline=https://github.com/{{ name }}) {% endif -%} {%- if branded -%}[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23{{ short_name }}-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/{{ short_name }}){% endif -%} diff --git a/nf_core/pipeline-template/modules.json b/nf_core/pipeline-template/modules.json index 97cbbe6df5..38aa622063 100644 --- a/nf_core/pipeline-template/modules.json +++ b/nf_core/pipeline-template/modules.json @@ -12,7 +12,7 @@ }, "multiqc": { "branch": "master", - "git_sha": "ccacf6f5de6df3bc6d73b665c1fd2933d8bbc290", + "git_sha": "b7ebe95761cd389603f9cc0e0dc384c0f663815a", "installed_by": ["modules"] } } @@ -21,17 +21,17 @@ "nf-core": { "utils_nextflow_pipeline": { "branch": "master", - "git_sha": "cd08c91373cd00a73255081340e4914485846ba1", + "git_sha": "5caf7640a9ef1d18d765d55339be751bb0969dfa", "installed_by": ["subworkflows"] }, "utils_nfcore_pipeline": { "branch": "master", - "git_sha": "262b17ed2aad591039f914951659177e6c39a8d8", + "git_sha": "5caf7640a9ef1d18d765d55339be751bb0969dfa", "installed_by": ["subworkflows"] }, "utils_nfvalidation_plugin": { "branch": "master", - "git_sha": "cd08c91373cd00a73255081340e4914485846ba1", + "git_sha": "5caf7640a9ef1d18d765d55339be751bb0969dfa", "installed_by": ["subworkflows"] } } diff --git a/nf_core/pipeline-template/modules/nf-core/multiqc/environment.yml b/nf_core/pipeline-template/modules/nf-core/multiqc/environment.yml index 2212096af4..ca39fb67e2 100644 --- a/nf_core/pipeline-template/modules/nf-core/multiqc/environment.yml +++ b/nf_core/pipeline-template/modules/nf-core/multiqc/environment.yml @@ -4,4 +4,4 @@ channels: - bioconda - defaults dependencies: - - bioconda::multiqc=1.20 + - bioconda::multiqc=1.21 diff --git a/nf_core/pipeline-template/modules/nf-core/multiqc/main.nf b/nf_core/pipeline-template/modules/nf-core/multiqc/main.nf index 354f4430f9..47ac352f94 100644 --- a/nf_core/pipeline-template/modules/nf-core/multiqc/main.nf +++ b/nf_core/pipeline-template/modules/nf-core/multiqc/main.nf @@ -3,8 +3,8 @@ process MULTIQC { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/multiqc:1.20--pyhdfd78af_0' : - 'biocontainers/multiqc:1.20--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/multiqc:1.21--pyhdfd78af_0' : + 'biocontainers/multiqc:1.21--pyhdfd78af_0' }" input: path multiqc_files, stageAs: "?/*" diff --git a/nf_core/pipeline-template/modules/nf-core/multiqc/tests/main.nf.test.snap b/nf_core/pipeline-template/modules/nf-core/multiqc/tests/main.nf.test.snap index c204b4881e..bfebd80298 100644 --- a/nf_core/pipeline-template/modules/nf-core/multiqc/tests/main.nf.test.snap +++ b/nf_core/pipeline-template/modules/nf-core/multiqc/tests/main.nf.test.snap @@ -2,14 +2,14 @@ "multiqc_versions_single": { "content": [ [ - "versions.yml:md5,d320d4c37e349c5588e07e7a31cd4186" + "versions.yml:md5,21f35ee29416b9b3073c28733efe4b7d" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-02-14T09:28:51.744211298" + "timestamp": "2024-02-29T08:48:55.657331" }, "multiqc_stub": { "content": [ @@ -17,25 +17,25 @@ "multiqc_report.html", "multiqc_data", "multiqc_plots", - "versions.yml:md5,d320d4c37e349c5588e07e7a31cd4186" + "versions.yml:md5,21f35ee29416b9b3073c28733efe4b7d" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-02-14T09:29:28.847433492" + "timestamp": "2024-02-29T08:49:49.071937" }, "multiqc_versions_config": { "content": [ [ - "versions.yml:md5,d320d4c37e349c5588e07e7a31cd4186" + "versions.yml:md5,21f35ee29416b9b3073c28733efe4b7d" ] ], "meta": { "nf-test": "0.8.4", "nextflow": "23.10.1" }, - "timestamp": "2024-02-14T09:29:13.223621555" + "timestamp": "2024-02-29T08:49:25.457567" } } \ No newline at end of file diff --git a/nf_core/pipeline-template/subworkflows/local/utils_nfcore_pipeline_pipeline/main.nf b/nf_core/pipeline-template/subworkflows/local/utils_nfcore_pipeline_pipeline/main.nf index 24d4c2d7e1..5bc51caab8 100644 --- a/nf_core/pipeline-template/subworkflows/local/utils_nfcore_pipeline_pipeline/main.nf +++ b/nf_core/pipeline-template/subworkflows/local/utils_nfcore_pipeline_pipeline/main.nf @@ -1,5 +1,5 @@ // -// Subworkflow with functionality specific to the nf-core/pipeline pipeline +// Subworkflow with functionality specific to the {{ name }} pipeline // /* @@ -158,7 +158,7 @@ workflow PIPELINE_COMPLETION { def validateInputParameters() { genomeExistsError() } -{%- endif -%} +{%- endif %} // // Validate channels from input samplesheet @@ -201,7 +201,7 @@ def genomeExistsError() { error(error_string) } } -{%- endif -%} +{%- endif %} // // Generate methods description for MultiQC diff --git a/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.function.nf.test b/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.function.nf.test index 8ed4310cac..68718e4f59 100644 --- a/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.function.nf.test +++ b/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.function.nf.test @@ -51,4 +51,4 @@ nextflow_function { ) } } -} \ No newline at end of file +} diff --git a/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.function.nf.test.snap b/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.function.nf.test.snap index db2030f8b0..e3f0baf473 100644 --- a/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.function.nf.test.snap +++ b/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.function.nf.test.snap @@ -3,10 +3,18 @@ "content": [ "v9.9.9" ], - "timestamp": "2024-01-19T11:32:36.031083" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-28T12:02:05.308243" }, "Test Function checkCondaChannels": { "content": null, - "timestamp": "2024-01-19T11:32:50.456" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-28T12:02:12.425833" } } \ No newline at end of file diff --git a/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.workflow.nf.test b/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.workflow.nf.test index f7c54bc68f..ca964ce8e1 100644 --- a/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.workflow.nf.test +++ b/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.workflow.nf.test @@ -11,9 +11,6 @@ nextflow_workflow { test("Should run no inputs") { when { - params { - outdir = "tests/results" - } workflow { """ print_version = false @@ -39,9 +36,6 @@ nextflow_workflow { test("Should print version") { when { - params { - outdir = "tests/results" - } workflow { """ print_version = true @@ -68,19 +62,16 @@ nextflow_workflow { test("Should dump params") { when { - params { - outdir = "$outputDir" - } workflow { """ print_version = false dump_parameters = true - outdir = params.outdir + outdir = 'results' check_conda_channels = false input[0] = false input[1] = true - input[2] = params.outdir + input[2] = outdir input[3] = false """ } @@ -96,19 +87,16 @@ nextflow_workflow { test("Should not create params JSON if no output directory") { when { - params { - outdir = "$outputDir" - } workflow { """ print_version = false dump_parameters = true - outdir = params.outdir + outdir = null check_conda_channels = false input[0] = false input[1] = true - input[2] = null + input[2] = outdir input[3] = false """ } diff --git a/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/nextflow.config b/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/nextflow.config index 53574ffec4..d0a926bf6d 100644 --- a/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/nextflow.config +++ b/nf_core/pipeline-template/subworkflows/nf-core/utils_nextflow_pipeline/tests/nextflow.config @@ -6,4 +6,4 @@ manifest { nextflowVersion = '!>=23.04.0' version = '9.9.9' doi = 'https://doi.org/10.5281/zenodo.5070524' -} \ No newline at end of file +} diff --git a/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test.snap b/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test.snap index 10f948e629..1037232c9e 100644 --- a/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test.snap +++ b/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test.snap @@ -1,25 +1,41 @@ { "Test Function checkProfileProvided": { "content": null, - "timestamp": "2024-02-09T15:43:55.145717" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-28T12:03:03.360873" }, "Test Function checkConfigProvided": { "content": [ true ], - "timestamp": "2024-01-19T11:34:13.548431224" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-28T12:02:59.729647" }, "Test Function nfCoreLogo": { "content": [ "\n\n-\u001b[2m----------------------------------------------------\u001b[0m-\n \u001b[0;32m,--.\u001b[0;30m/\u001b[0;32m,-.\u001b[0m\n\u001b[0;34m ___ __ __ __ ___ \u001b[0;32m/,-._.--~'\u001b[0m\n\u001b[0;34m |\\ | |__ __ / ` / \\ |__) |__ \u001b[0;33m} {\u001b[0m\n\u001b[0;34m | \\| | \\__, \\__/ | \\ |___ \u001b[0;32m\\`-._,-`-,\u001b[0m\n \u001b[0;32m`._,._,'\u001b[0m\n\u001b[0;35m nextflow_workflow v9.9.9\u001b[0m\n-\u001b[2m----------------------------------------------------\u001b[0m-\n" ], - "timestamp": "2024-01-19T11:34:38.840454873" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-28T12:03:10.562934" }, "Test Function workflowCitation": { "content": [ "If you use nextflow_workflow for your analysis please cite:\n\n* The pipeline\n https://doi.org/10.5281/zenodo.5070524\n\n* The nf-core framework\n https://doi.org/10.1038/s41587-020-0439-x\n\n* Software dependencies\n https://github.com/nextflow_workflow/blob/master/CITATIONS.md" ], - "timestamp": "2024-01-19T11:34:22.24352016" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-28T12:03:07.019761" }, "Test Function without logColours": { "content": [ @@ -73,13 +89,21 @@ "biwhite": "" } ], - "timestamp": "2024-01-19T11:35:04.418416984" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-28T12:03:17.969323" }, "Test Function dashedLine": { "content": [ "-\u001b[2m----------------------------------------------------\u001b[0m-" ], - "timestamp": "2024-01-19T11:34:55.420000755" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-28T12:03:14.366181" }, "Test Function with logColours": { "content": [ @@ -133,6 +157,10 @@ "biwhite": "\u001b[1;97m" } ], - "timestamp": "2024-01-19T11:35:13.436366565" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-28T12:03:21.714424" } } \ No newline at end of file diff --git a/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.workflow.nf.test.snap b/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.workflow.nf.test.snap index d07ce54c51..859d1030fb 100644 --- a/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.workflow.nf.test.snap +++ b/nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.workflow.nf.test.snap @@ -10,6 +10,10 @@ ] } ], - "timestamp": "2024-01-19T11:35:22.538940073" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-28T12:03:25.726491" } } \ No newline at end of file diff --git a/nf_core/pipeline-template/subworkflows/nf-core/utils_nfvalidation_plugin/tests/main.nf.test b/nf_core/pipeline-template/subworkflows/nf-core/utils_nfvalidation_plugin/tests/main.nf.test index 517ee54e48..5784a33f2f 100644 --- a/nf_core/pipeline-template/subworkflows/nf-core/utils_nfvalidation_plugin/tests/main.nf.test +++ b/nf_core/pipeline-template/subworkflows/nf-core/utils_nfvalidation_plugin/tests/main.nf.test @@ -197,4 +197,4 @@ nextflow_workflow { ) } } -} \ No newline at end of file +} diff --git a/setup.py b/setup.py index 3bfb99d4a8..c7f3fa41c6 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import find_packages, setup -version = "2.13" +version = "2.13.1" with open("README.md") as f: readme = f.read() diff --git a/tests/test_download.py b/tests/test_download.py index 7f34f7fbc6..d823040247 100644 --- a/tests/test_download.py +++ b/tests/test_download.py @@ -352,7 +352,95 @@ def test_get_singularity_images(self, tmp_path, mock_fetch_wf_config): # Test that they are all caught inside get_singularity_images(). download_obj.get_singularity_images() + @with_temporary_folder + @mock.patch("os.makedirs") + @mock.patch("os.symlink") + @mock.patch("os.open") + @mock.patch("os.close") + @mock.patch("re.sub") + @mock.patch("os.path.basename") + @mock.patch("os.path.dirname") + def test_symlink_singularity_images( + self, + tmp_path, + mock_dirname, + mock_basename, + mock_resub, + mock_close, + mock_open, + mock_symlink, + mock_makedirs, + ): + # Setup + mock_resub.return_value = "singularity-image.img" + mock_dirname.return_value = f"{tmp_path}/path/to" + mock_basename.return_value = "quay.io-singularity-image.img" + mock_open.return_value = 12 # file descriptor + mock_close.return_value = 12 # file descriptor + + download_obj = DownloadWorkflow( + pipeline="dummy", + outdir=tmp_path, + container_library=("mirage-the-imaginative-registry.io", "quay.io"), + ) + + # Call the method + download_obj.symlink_singularity_images(f"{tmp_path}/path/to/quay.io-singularity-image.img") + print(mock_resub.call_args) + + # Check that os.makedirs was called with the correct arguments + mock_makedirs.assert_any_call(f"{tmp_path}/path/to", exist_ok=True) + + # Check that os.open was called with the correct arguments + mock_open.assert_called_once_with(f"{tmp_path}/path/to", os.O_RDONLY) + + # Check that os.symlink was called with the correct arguments + mock_symlink.assert_any_call( + "./quay.io-singularity-image.img", + "./mirage-the-imaginative-registry.io-quay.io-singularity-image.img", + dir_fd=12, + ) + # Check that there is no attempt to symlink to itself (test parameters would result in that behavior if not checked in the function) + assert ( + unittest.mock.call("./quay.io-singularity-image.img", "./quay.io-singularity-image.img", dir_fd=12) + not in mock_symlink.call_args_list + ) + + # + # Test for gather_registries' + # + @with_temporary_folder + @mock.patch("nf_core.utils.fetch_wf_config") + def test_gather_registries(self, tmp_path, mock_fetch_wf_config): + download_obj = DownloadWorkflow( + pipeline="dummy", + outdir=tmp_path, + container_library=None, + ) + mock_fetch_wf_config.return_value = { + "apptainer.registry": "apptainer-registry.io", + "docker.registry": "docker.io", + "podman.registry": "podman-registry.io", + "singularity.registry": "singularity-registry.io", + "someother.registry": "fake-registry.io", + } + download_obj.gather_registries(tmp_path) + assert download_obj.registry_set + assert isinstance(download_obj.registry_set, set) + assert len(download_obj.registry_set) == 6 + + assert "quay.io" in download_obj.registry_set # default registry, if no container library is provided. + assert "depot.galaxyproject.org" in download_obj.registry_set # default registry, often hardcoded in modules + assert "apptainer-registry.io" in download_obj.registry_set + assert "docker.io" in download_obj.registry_set + assert "podman-registry.io" in download_obj.registry_set + assert "singularity-registry.io" in download_obj.registry_set + # it should only pull the apptainer, docker, podman and singularity registry from the config, but not any registry. + assert "fake-registry.io" not in download_obj.registry_set + + # # If Singularity is not installed, it raises a OSError because the singularity command can't be found. + # @pytest.mark.skipif( shutil.which("singularity") is not None, reason="Can't test how the code behaves when singularity is not installed if it is.", @@ -366,6 +454,68 @@ def test_singularity_pull_image_singularity_not_installed(self, tmp_dir, mock_ri "a-container", f"{tmp_dir}/anothercontainer.sif", None, "quay.io", mock_rich_progress ) + # + # Test for 'singularity_image_filenames' function + # + @with_temporary_folder + def test_singularity_image_filenames(self, tmp_path): + os.environ["NXF_SINGULARITY_CACHEDIR"] = f"{tmp_path}/cachedir" + + download_obj = DownloadWorkflow(pipeline="dummy", outdir=tmp_path) + download_obj.outdir = tmp_path + download_obj.container_cache_utilisation = "amend" + download_obj.registry_set = {"docker.io", "quay.io", "depot.galaxyproject.org"} + + ## Test phase I: Container not yet cached, should be amended to cache + # out_path: str, Path to cache + # cache_path: None + + result = download_obj.singularity_image_filenames( + "https://depot.galaxyproject.org/singularity/bbmap:38.93--he522d1c_0" + ) + + # Assert that the result is a tuple of length 2 + self.assertIsInstance(result, tuple) + self.assertEqual(len(result), 2) + + # Assert that the types of the elements are (str, None) + self.assertTrue(all((isinstance(element, str), element is None) for element in result)) + + # assert that the correct out_path is returned that points to the cache + assert result[0].endswith("/cachedir/singularity-bbmap-38.93--he522d1c_0.img") + + ## Test phase II: Test various container names + # out_path: str, Path to cache + # cache_path: None + result = download_obj.singularity_image_filenames( + "quay.io/biocontainers/mulled-v2-1fa26d1ce03c295fe2fdcf85831a92fbcbd7e8c2:59cdd445419f14abac76b31dd0d71217994cbcc9-0" + ) + assert result[0].endswith( + "/cachedir/biocontainers-mulled-v2-1fa26d1ce03c295fe2fdcf85831a92fbcbd7e8c2-59cdd445419f14abac76b31dd0d71217994cbcc9-0.img" + ) + + result = download_obj.singularity_image_filenames("nf-core/ubuntu:20.04") + assert result[0].endswith("/cachedir/nf-core-ubuntu-20.04.img") + + ## Test phase III: Container wil lbe cached but also copied to out_path + # out_path: str, Path to cache + # cache_path: str, Path to cache + download_obj.container_cache_utilisation = "copy" + result = download_obj.singularity_image_filenames( + "https://depot.galaxyproject.org/singularity/bbmap:38.93--he522d1c_0" + ) + + self.assertTrue(all(isinstance(element, str) for element in result)) + assert result[0].endswith("/singularity-images/singularity-bbmap-38.93--he522d1c_0.img") + assert result[1].endswith("/cachedir/singularity-bbmap-38.93--he522d1c_0.img") + + ## Test phase IV: Expect an error if no NXF_SINGULARITY_CACHEDIR is defined + os.environ["NXF_SINGULARITY_CACHEDIR"] = "" + with self.assertRaises(FileNotFoundError): + download_obj.singularity_image_filenames( + "https://depot.galaxyproject.org/singularity/bbmap:38.93--he522d1c_0" + ) + # # Test for '--singularity-cache remote --singularity-cache-index'. Provide a list of containers already available in a remote location. #