From 903bebec0530d13e13bd909528fc81d1cfb62b67 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Thu, 12 Dec 2024 11:24:13 +0000 Subject: [PATCH] Template update for nf-core/tools version 3.1.0 --- .github/CONTRIBUTING.md | 28 +- .github/ISSUE_TEMPLATE/bug_report.yml | 4 +- .github/ISSUE_TEMPLATE/config.yml | 6 +- .github/ISSUE_TEMPLATE/feature_request.yml | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 10 +- .github/workflows/awsfulltest.yml | 27 +- .github/workflows/awstest.yml | 6 +- .github/workflows/branch.yml | 22 +- .github/workflows/ci.yml | 4 +- .github/workflows/download_pipeline.yml | 8 +- .github/workflows/fix-linting.yml | 8 +- .github/workflows/linting.yml | 10 +- .github/workflows/linting_comment.yml | 2 +- .github/workflows/release-announcements.yml | 2 +- .../workflows/template_version_comment.yml | 2 +- .gitpod.yml | 11 +- .nf-core.yml | 9 +- .vscode/settings.json | 3 + CHANGELOG.md | 4 +- CITATIONS.md | 2 +- README.md | 28 +- assets/adaptivecard.json | 2 +- assets/email_template.html | 14 +- assets/email_template.txt | 10 +- assets/methods_description_template.yml | 8 +- assets/multiqc_config.yml | 8 +- ...f-core-pathogensurveillance_logo_light.png | Bin 0 -> 77526 bytes .../nf-core-plantpathsurveil_logo_light.png | Bin 86967 -> 0 bytes assets/schema_input.json | 4 +- assets/sendmail_template.txt | 6 +- assets/slackreport.json | 2 +- conf/base.config | 4 +- conf/modules.config | 1 + conf/test.config | 2 +- conf/test_full.config | 2 +- docs/README.md | 4 +- ...nf-core-pathogensurveillance_logo_dark.png | Bin 0 -> 22439 bytes ...f-core-pathogensurveillance_logo_light.png | Bin 0 -> 18912 bytes .../nf-core-plantpathsurveil_logo_dark.png | Bin 24124 -> 0 bytes .../nf-core-plantpathsurveil_logo_light.png | Bin 20285 -> 0 bytes docs/output.md | 2 +- docs/usage.md | 44 ++- main.nf | 26 +- modules.json | 12 +- modules/nf-core/fastqc/main.nf | 2 +- modules/nf-core/fastqc/meta.yml | 1 + nextflow.config | 103 ++++-- nextflow_schema.json | 12 +- ro-crate-metadata.json | 311 ++++++++++++++++++ .../main.nf | 9 +- .../nf-core/utils_nextflow_pipeline/main.nf | 2 + .../tests/main.workflow.nf.test | 10 +- .../nf-core/utils_nfcore_pipeline/main.nf | 89 ++--- .../tests/main.function.nf.test | 46 ++- .../tests/main.function.nf.test.snap | 30 -- .../utils_nfschema_plugin/tests/main.nf.test | 4 +- ...pathsurveil.nf => pathogensurveillance.nf} | 6 +- 57 files changed, 642 insertions(+), 332 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 assets/nf-core-pathogensurveillance_logo_light.png delete mode 100644 assets/nf-core-plantpathsurveil_logo_light.png create mode 100644 docs/images/nf-core-pathogensurveillance_logo_dark.png create mode 100644 docs/images/nf-core-pathogensurveillance_logo_light.png delete mode 100644 docs/images/nf-core-plantpathsurveil_logo_dark.png delete mode 100644 docs/images/nf-core-plantpathsurveil_logo_light.png create mode 100644 ro-crate-metadata.json rename subworkflows/local/{utils_nfcore_plantpathsurveil_pipeline => utils_nfcore_pathogensurveillance_pipeline}/main.nf (96%) rename workflows/{plantpathsurveil.nf => pathogensurveillance.nf} (95%) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 88b788b7..6efa85ad 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,23 +1,23 @@ -# nf-core/plantpathsurveil: Contributing Guidelines +# `nf-core/pathogensurveillance`: Contributing Guidelines Hi there! -Many thanks for taking an interest in improving nf-core/plantpathsurveil. +Many thanks for taking an interest in improving nf-core/pathogensurveillance. -We try to manage the required tasks for nf-core/plantpathsurveil using GitHub issues, you probably came to this page when creating one. +We try to manage the required tasks for nf-core/pathogensurveillance using GitHub issues, you probably came to this page when creating one. Please use the pre-filled template to save time. However, don't be put off by this template - other more general issues and suggestions are welcome! Contributions to the code are even more welcome ;) > [!NOTE] -> If you need help using or modifying nf-core/plantpathsurveil then the best place to ask is on the nf-core Slack [#plantpathsurveil](https://nfcore.slack.com/channels/plantpathsurveil) channel ([join our Slack here](https://nf-co.re/join/slack)). +> If you need help using or modifying nf-core/pathogensurveillance then the best place to ask is on the nf-core Slack [#pathogensurveillance](https://nfcore.slack.com/channels/pathogensurveillance) channel ([join our Slack here](https://nf-co.re/join/slack)). ## Contribution workflow -If you'd like to write some code for nf-core/plantpathsurveil, the standard workflow is as follows: +If you'd like to write some code for nf-core/pathogensurveillance, the standard workflow is as follows: -1. Check that there isn't already an issue about your idea in the [nf-core/plantpathsurveil issues](https://github.com/nf-core/plantpathsurveil/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this -2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/plantpathsurveil repository](https://github.com/nf-core/plantpathsurveil) to your GitHub account +1. Check that there isn't already an issue about your idea in the [nf-core/pathogensurveillance issues](https://github.com/nf-core/pathogensurveillance/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this +2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/pathogensurveillance repository](https://github.com/nf-core/pathogensurveillance) to your GitHub account 3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions) 4. Use `nf-core pipelines schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10). 5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged @@ -55,23 +55,23 @@ These tests are run both with the latest available version of `Nextflow` and als :warning: Only in the unlikely and regretful event of a release happening with a bug. -- On your own fork, make a new branch `patch` based on `upstream/master`. +- On your own fork, make a new branch `patch` based on `upstream/main` or `upstream/master`. - Fix the bug, and bump version (X.Y.Z+1). -- A PR should be made on `master` from patch to directly this particular bug. +- Open a pull-request from `patch` to `main`/`master` with the changes. ## Getting help -For further information/help, please consult the [nf-core/plantpathsurveil documentation](https://nf-co.re/plantpathsurveil/usage) and don't hesitate to get in touch on the nf-core Slack [#plantpathsurveil](https://nfcore.slack.com/channels/plantpathsurveil) channel ([join our Slack here](https://nf-co.re/join/slack)). +For further information/help, please consult the [nf-core/pathogensurveillance documentation](https://nf-co.re/pathogensurveillance/usage) and don't hesitate to get in touch on the nf-core Slack [#pathogensurveillance](https://nfcore.slack.com/channels/pathogensurveillance) channel ([join our Slack here](https://nf-co.re/join/slack)). ## Pipeline contribution conventions -To make the nf-core/plantpathsurveil code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written. +To make the `nf-core/pathogensurveillance` code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written. ### Adding a new step If you wish to contribute a new step, please use the following coding standards: -1. Define the corresponding input channel into your new process from the expected previous process channel +1. Define the corresponding input channel into your new process from the expected previous process channel. 2. Write the process block (see below). 3. Define the output channel if needed (see below). 4. Add any new parameters to `nextflow.config` with a default (see below). @@ -84,7 +84,7 @@ If you wish to contribute a new step, please use the following coding standards: ### Default values -Parameters should be initialised / defined with default values in `nextflow.config` under the `params` scope. +Parameters should be initialised / defined with default values within the `params` scope in `nextflow.config`. Once there, use `nf-core pipelines schema build` to add to `nextflow_schema.json`. @@ -115,7 +115,7 @@ This repo includes a devcontainer configuration which will create a GitHub Codes To get started: -- Open the repo in [Codespaces](https://github.com/nf-core/plantpathsurveil/codespaces) +- Open the repo in [Codespaces](https://github.com/nf-core/pathogensurveillance/codespaces) - Tools installed - nf-core - Nextflow diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 852ff617..3b34dd8e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -8,7 +8,7 @@ body: Before you post this issue, please check the documentation: - [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting) - - [nf-core/plantpathsurveil pipeline documentation](https://nf-co.re/plantpathsurveil/usage) + - [nf-core/pathogensurveillance pipeline documentation](https://nf-co.re/pathogensurveillance/usage) - type: textarea id: description @@ -47,4 +47,4 @@ body: * Executor _(eg. slurm, local, awsbatch)_ * Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud, or Apptainer)_ * OS _(eg. CentOS Linux, macOS, Linux Mint)_ - * Version of nf-core/plantpathsurveil _(eg. 1.1, 1.5, 1.8.2)_ + * Version of nf-core/pathogensurveillance _(eg. 1.1, 1.5, 1.8.2)_ diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index daf4fe27..716aa4e1 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,6 +2,6 @@ contact_links: - name: Join nf-core url: https://nf-co.re/join about: Please join the nf-core community here - - name: "Slack #plantpathsurveil channel" - url: https://nfcore.slack.com/channels/plantpathsurveil - about: Discussion about the nf-core/plantpathsurveil pipeline + - name: "Slack #pathogensurveillance channel" + url: https://nfcore.slack.com/channels/pathogensurveillance + about: Discussion about the nf-core/pathogensurveillance pipeline diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index d7974666..9a174f21 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -1,5 +1,5 @@ name: Feature request -description: Suggest an idea for the nf-core/plantpathsurveil pipeline +description: Suggest an idea for the nf-core/pathogensurveillance pipeline labels: enhancement body: - type: textarea diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 068d5667..9682a3bc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,22 +1,22 @@ ## PR checklist - [ ] This comment contains a description of changes (with reason). - [ ] If you've fixed a bug or added code that should be tested, add tests! -- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/plantpathsurveil/tree/master/.github/CONTRIBUTING.md) -- [ ] If necessary, also make a PR on the nf-core/plantpathsurveil _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. +- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/pathogensurveillance/tree/master/.github/CONTRIBUTING.md) +- [ ] If necessary, also make a PR on the nf-core/pathogensurveillance _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. - [ ] Make sure your code lints (`nf-core pipelines lint`). - [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir `). - [ ] Check for unexpected warnings in debug mode (`nextflow run . -profile debug,test,docker --outdir `). diff --git a/.github/workflows/awsfulltest.yml b/.github/workflows/awsfulltest.yml index 0003d256..2c4e1555 100644 --- a/.github/workflows/awsfulltest.yml +++ b/.github/workflows/awsfulltest.yml @@ -1,11 +1,12 @@ name: nf-core AWS full size tests -# This workflow is triggered on PRs opened against the master branch. +# This workflow is triggered on PRs opened against the main/master branch. # It can be additionally triggered manually with GitHub actions workflow dispatch button. # It runs the -profile 'test_full' on AWS batch on: pull_request: branches: + - main - master workflow_dispatch: pull_request_review: @@ -15,21 +16,33 @@ jobs: run-platform: name: Run AWS full tests # run only if the PR is approved by at least 2 reviewers and against the master branch or manually triggered - if: github.repository == 'nf-core/plantpathsurveil' && github.event.review.state == 'approved' && github.event.pull_request.base.ref == 'master' || github.event_name == 'workflow_dispatch' + if: github.repository == 'nf-core/pathogensurveillance' && github.event.review.state == 'approved' && github.event.pull_request.base.ref == 'master' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: - - uses: octokit/request-action@v2.x + - name: Get PR reviews + uses: octokit/request-action@v2.x + if: github.event_name != 'workflow_dispatch' id: check_approvals + continue-on-error: true with: - route: GET /repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews + route: GET /repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews?per_page=100 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - id: test_variables + + - name: Check for approvals + if: ${{ failure() && github.event_name != 'workflow_dispatch' }} + run: | + echo "No review approvals found. At least 2 approvals are required to run this action automatically." + exit 1 + + - name: Check for enough approvals (>=2) + id: test_variables if: github.event_name != 'workflow_dispatch' run: | JSON_RESPONSE='${{ steps.check_approvals.outputs.data }}' CURRENT_APPROVALS_COUNT=$(echo $JSON_RESPONSE | jq -c '[.[] | select(.state | contains("APPROVED")) ] | length') test $CURRENT_APPROVALS_COUNT -ge 2 || exit 1 # At least 2 approvals are required + - name: Launch workflow via Seqera Platform uses: seqeralabs/action-tower-launch@v2 # TODO nf-core: You can customise AWS full pipeline tests as required @@ -40,11 +53,11 @@ jobs: access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} compute_env: ${{ secrets.TOWER_COMPUTE_ENV }} revision: ${{ github.sha }} - workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/plantpathsurveil/work-${{ github.sha }} + workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/pathogensurveillance/work-${{ github.sha }} parameters: | { "hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}", - "outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/plantpathsurveil/results-${{ github.sha }}" + "outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/pathogensurveillance/results-${{ github.sha }}" } profiles: test_full diff --git a/.github/workflows/awstest.yml b/.github/workflows/awstest.yml index 54128572..b8de0b50 100644 --- a/.github/workflows/awstest.yml +++ b/.github/workflows/awstest.yml @@ -7,7 +7,7 @@ on: jobs: run-platform: name: Run AWS tests - if: github.repository == 'nf-core/plantpathsurveil' + if: github.repository == 'nf-core/pathogensurveillance' runs-on: ubuntu-latest steps: # Launch workflow using Seqera Platform CLI tool action @@ -18,10 +18,10 @@ jobs: access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} compute_env: ${{ secrets.TOWER_COMPUTE_ENV }} revision: ${{ github.sha }} - workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/plantpathsurveil/work-${{ github.sha }} + workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/pathogensurveillance/work-${{ github.sha }} parameters: | { - "outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/plantpathsurveil/results-test-${{ github.sha }}" + "outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/pathogensurveillance/results-test-${{ github.sha }}" } profiles: test diff --git a/.github/workflows/branch.yml b/.github/workflows/branch.yml index b7bc4174..2dd61431 100644 --- a/.github/workflows/branch.yml +++ b/.github/workflows/branch.yml @@ -1,19 +1,21 @@ name: nf-core branch protection -# This workflow is triggered on PRs to master branch on the repository -# It fails when someone tries to make a PR against the nf-core `master` branch instead of `dev` +# This workflow is triggered on PRs to `main`/`master` branch on the repository +# It fails when someone tries to make a PR against the nf-core `main`/`master` branch instead of `dev` on: pull_request_target: - branches: [master] + branches: + - main + - master jobs: test: runs-on: ubuntu-latest steps: - # PRs to the nf-core repo master branch are only ok if coming from the nf-core repo `dev` or any `patch` branches + # PRs to the nf-core repo main/master branch are only ok if coming from the nf-core repo `dev` or any `patch` branches - name: Check PRs - if: github.repository == 'nf-core/plantpathsurveil' + if: github.repository == 'nf-core/pathogensurveillance' run: | - { [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/plantpathsurveil ]] && [[ $GITHUB_HEAD_REF == "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]] + { [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/pathogensurveillance ]] && [[ $GITHUB_HEAD_REF == "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]] # If the above check failed, post a comment on the PR explaining the failure # NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets @@ -22,7 +24,7 @@ jobs: uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2 with: message: | - ## This PR is against the `master` branch :x: + ## This PR is against the `${{github.event.pull_request.base.ref}}` branch :x: * Do not close this PR * Click _Edit_ and change the `base` to `dev` @@ -32,9 +34,9 @@ jobs: Hi @${{ github.event.pull_request.user.login }}, - It looks like this pull-request is has been made against the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `master` branch. - The `master` branch on nf-core repositories should always contain code from the latest release. - Because of this, PRs to `master` are only allowed if they come from the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `dev` branch. + It looks like this pull-request is has been made against the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) ${{github.event.pull_request.base.ref}} branch. + The ${{github.event.pull_request.base.ref}} branch on nf-core repositories should always contain code from the latest release. + Because of this, PRs to ${{github.event.pull_request.base.ref}} are only allowed if they come from the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `dev` branch. You do not need to close this PR, you can change the target branch to `dev` by clicking the _"Edit"_ button at the top of this page. Note that even after this, the test will continue to show as failing until you push a new commit. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bbcd3997..df31904a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: test: name: "Run pipeline with test data (${{ matrix.NXF_VER }} | ${{ matrix.test_name }} | ${{ matrix.profile }})" # Only run on push if this is the nf-core dev branch (merged PRs) - if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/plantpathsurveil') }}" + if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/pathogensurveillance') }}" runs-on: ubuntu-latest strategy: matrix: @@ -45,7 +45,7 @@ jobs: profile: "singularity" steps: - name: Check out pipeline code - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Set up Nextflow uses: nf-core/setup-nextflow@v2 diff --git a/.github/workflows/download_pipeline.yml b/.github/workflows/download_pipeline.yml index 713dc3e7..2576cc0c 100644 --- a/.github/workflows/download_pipeline.yml +++ b/.github/workflows/download_pipeline.yml @@ -2,7 +2,7 @@ name: Test successful pipeline download with 'nf-core pipelines download' # Run the workflow when: # - dispatched manually -# - when a PR is opened or reopened to master branch +# - when a PR is opened or reopened to main/master branch # - the head branch of the pull request is updated, i.e. if fixes for a release are pushed last minute to dev. on: workflow_dispatch: @@ -17,9 +17,11 @@ on: - edited - synchronize branches: + - main - master pull_request_target: branches: + - main - master env: @@ -35,7 +37,7 @@ jobs: - name: Disk space cleanup uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5 + - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 with: python-version: "3.12" architecture: "x64" @@ -69,7 +71,7 @@ jobs: --outdir ./${{ env.REPOTITLE_LOWERCASE }} \ --compress "none" \ --container-system 'singularity' \ - --container-library "quay.io" -l "docker.io" -l "community.wave.seqera.io" \ + --container-library "quay.io" -l "docker.io" -l "community.wave.seqera.io/library/" \ --container-cache-utilisation 'amend' \ --download-configuration 'yes' diff --git a/.github/workflows/fix-linting.yml b/.github/workflows/fix-linting.yml index 30b09cb3..8b451303 100644 --- a/.github/workflows/fix-linting.yml +++ b/.github/workflows/fix-linting.yml @@ -9,11 +9,11 @@ jobs: if: > contains(github.event.comment.html_url, '/pull/') && contains(github.event.comment.body, '@nf-core-bot fix linting') && - github.repository == 'nf-core/plantpathsurveil' + github.repository == 'nf-core/pathogensurveillance' runs-on: ubuntu-latest steps: # Use the @nf-core-bot token to check out so we can push later - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: token: ${{ secrets.nf_core_bot_auth_token }} @@ -32,7 +32,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }} # Install and run pre-commit - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5 + - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 with: python-version: "3.12" @@ -86,4 +86,4 @@ jobs: issue-number: ${{ github.event.issue.number }} body: | @${{ github.actor }} I tried to fix the linting errors, but it didn't work. Please fix them manually. - See [CI log](https://github.com/nf-core/plantpathsurveil/actions/runs/${{ github.run_id }}) for more details. + See [CI log](https://github.com/nf-core/pathogensurveillance/actions/runs/${{ github.run_id }}) for more details. diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index a502573c..dbd52d5a 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -14,10 +14,10 @@ jobs: pre-commit: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Set up Python 3.12 - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5 + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 with: python-version: "3.12" @@ -31,12 +31,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out pipeline code - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Install Nextflow uses: nf-core/setup-nextflow@v2 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5 + - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 with: python-version: "3.12" architecture: "x64" @@ -74,7 +74,7 @@ jobs: - name: Upload linting log file artifact if: ${{ always() }} - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4 with: name: linting-logs path: | diff --git a/.github/workflows/linting_comment.yml b/.github/workflows/linting_comment.yml index 42e519bf..0bed96d3 100644 --- a/.github/workflows/linting_comment.yml +++ b/.github/workflows/linting_comment.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Download lint results - uses: dawidd6/action-download-artifact@bf251b5aa9c2f7eeb574a96ee720e24f801b7c11 # v6 + uses: dawidd6/action-download-artifact@80620a5d27ce0ae443b965134db88467fc607b43 # v7 with: workflow: linting.yml workflow_conclusion: completed diff --git a/.github/workflows/release-announcements.yml b/.github/workflows/release-announcements.yml index c6ba35df..450b1d5e 100644 --- a/.github/workflows/release-announcements.yml +++ b/.github/workflows/release-announcements.yml @@ -31,7 +31,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5 + - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 with: python-version: "3.10" - name: Install dependencies diff --git a/.github/workflows/template_version_comment.yml b/.github/workflows/template_version_comment.yml index e8aafe44..537529bc 100644 --- a/.github/workflows/template_version_comment.yml +++ b/.github/workflows/template_version_comment.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out pipeline code - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: ref: ${{ github.event.pull_request.head.sha }} diff --git a/.gitpod.yml b/.gitpod.yml index 46118637..83599f63 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -6,12 +6,5 @@ tasks: nextflow self-update vscode: - extensions: # based on nf-core.nf-core-extensionpack - #- esbenp.prettier-vscode # Markdown/CommonMark linting and style checking for Visual Studio Code - - 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 - - oderwat.indent-rainbow # Highlight indentation level - - streetsidesoftware.code-spell-checker # Spelling checker for source code - - charliermarsh.ruff # Code linter Ruff + extensions: + - nf-core.nf-core-extensionpack # https://github.com/nf-core/vscode-extensionpack diff --git a/.nf-core.yml b/.nf-core.yml index 853b2bb3..3efc22ad 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -1,7 +1,4 @@ -bump_version: null -lint: null -nf_core_version: 3.0.2 -org_path: null +nf_core_version: 3.1.0 repository_type: pipeline template: author: "Zachary S.L. Foster, Martha Sudermann, Nicholas C. Cauldron, Fernanda I.\ @@ -9,9 +6,7 @@ template: description: Surveillance of plant pathogens using high-throughput sequencing force: false is_nfcore: true - name: plantpathsurveil + name: pathogensurveillance org: nf-core outdir: . - skip_features: null version: 1.0dev -update: null diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..a33b527c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "markdown.styles": ["public/vscode_markdown.css"] +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 471a0b00..d494061e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,11 @@ -# nf-core/plantpathsurveil: Changelog +# nf-core/pathogensurveillance: Changelog The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## v1.0dev - [date] -Initial release of nf-core/plantpathsurveil, created with the [nf-core](https://nf-co.re/) template. +Initial release of nf-core/pathogensurveillance, created with the [nf-core](https://nf-co.re/) template. ### `Added` diff --git a/CITATIONS.md b/CITATIONS.md index c27617f5..e3ecf3f7 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -1,4 +1,4 @@ -# nf-core/plantpathsurveil: Citations +# nf-core/pathogensurveillance: Citations ## [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/) diff --git a/README.md b/README.md index 5b0bb185..e067345e 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,25 @@

- - nf-core/plantpathsurveil + + nf-core/pathogensurveillance

-[![GitHub Actions CI Status](https://github.com/nf-core/plantpathsurveil/actions/workflows/ci.yml/badge.svg)](https://github.com/nf-core/plantpathsurveil/actions/workflows/ci.yml) -[![GitHub Actions Linting Status](https://github.com/nf-core/plantpathsurveil/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/plantpathsurveil/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/plantpathsurveil/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX) +[![GitHub Actions CI Status](https://github.com/nf-core/pathogensurveillance/actions/workflows/ci.yml/badge.svg)](https://github.com/nf-core/pathogensurveillance/actions/workflows/ci.yml) +[![GitHub Actions Linting Status](https://github.com/nf-core/pathogensurveillance/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/pathogensurveillance/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/pathogensurveillance/results)[![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%A524.04.2-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 Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/plantpathsurveil) +[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/pathogensurveillance) -[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23plantpathsurveil-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/plantpathsurveil)[![Follow on Twitter](http://img.shields.io/badge/twitter-%40nf__core-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/nf_core)[![Follow on Mastodon](https://img.shields.io/badge/mastodon-nf__core-6364ff?labelColor=FFFFFF&logo=mastodon)](https://mstdn.science/@nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core) +[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23pathogensurveillance-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/pathogensurveillance)[![Follow on Twitter](http://img.shields.io/badge/twitter-%40nf__core-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/nf_core)[![Follow on Mastodon](https://img.shields.io/badge/mastodon-nf__core-6364ff?labelColor=FFFFFF&logo=mastodon)](https://mstdn.science/@nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core) ## Introduction -**nf-core/plantpathsurveil** is a bioinformatics pipeline that ... +**nf-core/pathogensurveillance** is a bioinformatics pipeline that ... ```bash -nextflow run nf-core/plantpathsurveil \ +nextflow run nf-core/pathogensurveillance \ -profile \ --input samplesheet.csv \ --outdir @@ -69,17 +69,17 @@ nextflow run nf-core/plantpathsurveil \ > [!WARNING] > Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files). -For more details and further functionality, please refer to the [usage documentation](https://nf-co.re/plantpathsurveil/usage) and the [parameter documentation](https://nf-co.re/plantpathsurveil/parameters). +For more details and further functionality, please refer to the [usage documentation](https://nf-co.re/pathogensurveillance/usage) and the [parameter documentation](https://nf-co.re/pathogensurveillance/parameters). ## Pipeline output -To see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/plantpathsurveil/results) tab on the nf-core website pipeline page. +To see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/pathogensurveillance/results) tab on the nf-core website pipeline page. For more details about the output files and reports, please refer to the -[output documentation](https://nf-co.re/plantpathsurveil/output). +[output documentation](https://nf-co.re/pathogensurveillance/output). ## Credits -nf-core/plantpathsurveil was originally written by Zachary S.L. Foster, Martha Sudermann, Nicholas C. Cauldron, Fernanda I. Bocardo, Hung Phan, Jeff H. Chang, Niklaus J. Grünwald. +nf-core/pathogensurveillance was originally written by Zachary S.L. Foster, Martha Sudermann, Nicholas C. Cauldron, Fernanda I. Bocardo, Hung Phan, Jeff H. Chang, Niklaus J. Grünwald. We thank the following people for their extensive assistance in the development of this pipeline: @@ -89,12 +89,12 @@ We thank the following people for their extensive assistance in the development If you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md). -For further information or help, don't hesitate to get in touch on the [Slack `#plantpathsurveil` channel](https://nfcore.slack.com/channels/plantpathsurveil) (you can join with [this invite](https://nf-co.re/join/slack)). +For further information or help, don't hesitate to get in touch on the [Slack `#pathogensurveillance` channel](https://nfcore.slack.com/channels/pathogensurveillance) (you can join with [this invite](https://nf-co.re/join/slack)). ## Citations - + diff --git a/assets/adaptivecard.json b/assets/adaptivecard.json index a3a9e378..091df5b4 100644 --- a/assets/adaptivecard.json +++ b/assets/adaptivecard.json @@ -17,7 +17,7 @@ "size": "Large", "weight": "Bolder", "color": "<% if (success) { %>Good<% } else { %>Attention<%} %>", - "text": "nf-core/plantpathsurveil v${version} - ${runName}", + "text": "nf-core/pathogensurveillance v${version} - ${runName}", "wrap": true }, { diff --git a/assets/email_template.html b/assets/email_template.html index 90a30e3b..fa3fc56a 100644 --- a/assets/email_template.html +++ b/assets/email_template.html @@ -4,21 +4,21 @@ - - nf-core/plantpathsurveil Pipeline Report + + nf-core/pathogensurveillance Pipeline Report
-

nf-core/plantpathsurveil ${version}

+

nf-core/pathogensurveillance ${version}

Run Name: $runName

<% if (!success){ out << """
-

nf-core/plantpathsurveil execution completed unsuccessfully!

+

nf-core/pathogensurveillance execution completed unsuccessfully!

The exit status of the task that caused the workflow execution to fail was: $exitStatus.

The full error message was:

${errorReport}
@@ -27,7 +27,7 @@

nf-core/plantpathsurveil execution com } else { out << """
- nf-core/plantpathsurveil execution completed successfully! + nf-core/pathogensurveillance execution completed successfully!
""" } @@ -44,8 +44,8 @@

Pipeline Configuration:

-

nf-core/plantpathsurveil

-

https://github.com/nf-core/plantpathsurveil

+

nf-core/pathogensurveillance

+

https://github.com/nf-core/pathogensurveillance

diff --git a/assets/email_template.txt b/assets/email_template.txt index a85fb6a5..4c09d61b 100644 --- a/assets/email_template.txt +++ b/assets/email_template.txt @@ -4,15 +4,15 @@ |\\ | |__ __ / ` / \\ |__) |__ } { | \\| | \\__, \\__/ | \\ |___ \\`-._,-`-, `._,._,' - nf-core/plantpathsurveil ${version} + nf-core/pathogensurveillance ${version} ---------------------------------------------------- Run Name: $runName <% if (success){ - out << "## nf-core/plantpathsurveil execution completed successfully! ##" + out << "## nf-core/pathogensurveillance execution completed successfully! ##" } else { out << """#################################################### -## nf-core/plantpathsurveil execution completed unsuccessfully! ## +## nf-core/pathogensurveillance execution completed unsuccessfully! ## #################################################### The exit status of the task that caused the workflow execution to fail was: $exitStatus. The full error message was: @@ -35,5 +35,5 @@ Pipeline Configuration: <% out << summary.collect{ k,v -> " - $k: $v" }.join("\n") %> -- -nf-core/plantpathsurveil -https://github.com/nf-core/plantpathsurveil +nf-core/pathogensurveillance +https://github.com/nf-core/pathogensurveillance diff --git a/assets/methods_description_template.yml b/assets/methods_description_template.yml index 13d21c52..3a8a19ed 100644 --- a/assets/methods_description_template.yml +++ b/assets/methods_description_template.yml @@ -1,13 +1,13 @@ -id: "nf-core-plantpathsurveil-methods-description" +id: "nf-core-pathogensurveillance-methods-description" description: "Suggested text and references to use when describing pipeline usage within the methods section of a publication." -section_name: "nf-core/plantpathsurveil Methods Description" -section_href: "https://github.com/nf-core/plantpathsurveil" +section_name: "nf-core/pathogensurveillance Methods Description" +section_href: "https://github.com/nf-core/pathogensurveillance" plot_type: "html" ## TODO nf-core: Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline ## You inject any metadata in the Nextflow '${workflow}' object data: |

Methods

-

Data was processed using nf-core/plantpathsurveil v${workflow.manifest.version} ${doi_text} of the nf-core collection of workflows (Ewels et al., 2020), utilising reproducible software environments from the Bioconda (Grüning et al., 2018) and Biocontainers (da Veiga Leprevost et al., 2017) projects.

+

Data was processed using nf-core/pathogensurveillance v${workflow.manifest.version} ${doi_text} of the nf-core collection of workflows (Ewels et al., 2020), utilising reproducible software environments from the Bioconda (Grüning et al., 2018) and Biocontainers (da Veiga Leprevost et al., 2017) projects.

The pipeline was executed with Nextflow v${workflow.nextflow.version} (Di Tommaso et al., 2017) with the following command:

${workflow.commandLine}

${tool_citations}

diff --git a/assets/multiqc_config.yml b/assets/multiqc_config.yml index 874315b9..575cd87f 100644 --- a/assets/multiqc_config.yml +++ b/assets/multiqc_config.yml @@ -1,13 +1,13 @@ report_comment: > - This report has been generated by the nf-core/plantpathsurveil + This report has been generated by the nf-core/pathogensurveillance analysis pipeline. For information about how to interpret these results, please see the - documentation. + documentation. report_section_order: - "nf-core-plantpathsurveil-methods-description": + "nf-core-pathogensurveillance-methods-description": order: -1000 software_versions: order: -1001 - "nf-core-plantpathsurveil-summary": + "nf-core-pathogensurveillance-summary": order: -1002 export_plots: true diff --git a/assets/nf-core-pathogensurveillance_logo_light.png b/assets/nf-core-pathogensurveillance_logo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..2741d039837d171c2bf12fc2c824208911147629 GIT binary patch literal 77526 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

5;6CN5-eh6%Lu z8_T-GqaZ+VY;$?k7h$C=xMeogCT98KX$IxHxm4^6Wzjjl`Uoav$HPI4cZWkGuME3K zWHT$aJ?D=32oCnU9mECB^2|+Ps`8R6!eE3*LThYZ0f6^ZOMSbvI>0K~_KHx9Mn`ikx4Mu1%pB5$*GHm;VW zNM`Zw#}APmzMrPiPY)!CcNt$i-1QyCcpyb87+b`H<&%sFal?E69lrK(o&Pc7tsc}? zjXar??W?JXQ6q}etEJwpZJ?`*q+^2@!W*H(Nb)Tw;OLd-a{PO*k;{OiKli!=;sANg z!^fP{q)q#NyWfq|DB6!HDH7krRk5TP&NFSDhT%VmHxDDZ_2{g-g^4f_Y;s_sKzEx( z?YVp&DPut9sYOmAllt=t*>DbQ)&7xNlFK#`F$DG*VH*_OPg*hMDUrH z3#^s|joc@+3f?OA=U>ZG^l1}beke+KI*ws#N$G8=$B&hSgYU`N^?1n6xDNc;Mu>|d zp!n?aE{`Zs2&%H*b~58R*UFH_m2@^_=yZ}|%J_)ZU?}NtPV@Z63}e)sKiQpQUO&|7 z=hjOpeJ^8_bnsEpqEM?O#$qs#kqfqFxy|m=7^X<<50*|X82w)LCvKW+Fs)jR|gNOJn9QT)_~eh0hSeE-)X zj*-2g-ogMKx6ag>j|fpqF3FdRMmdr>oN{M+Qv|RNx2iJAm79!9u8rtFo40bt`5tEo zKu?Q!e1B81p|bL>^Vovm;oJ`s`@hus;wVXxt7u6^_HQlUz_u_+>UrDf11&*kAZQ^89}Jz zGyfkK_V+I9PigC@jV%FJnX$yS;7Z(4Ogy*G z=6>7T8`l=kP?R##?Sp5(>b(rxGJ>p9F|K#R3%ARZ9#t;i3t2i%?r7$Z8nh?~J(+C? z<`Dl!gId|+k@VhZ0OQ7r9(!(r*0j4aV~iDE(!{yF(1nYN{TW$*9xA|jeJ{EXXXDHC zZf^m+#+@`YAq@{!6vAnJro>2V$f+ zJJg7|z|Hf7p)Y|W_qf@;^<29FVaO5GUTiku#-oY<;;g?#)vyR7;aI1RNM7WtSje%dFvc`3^yR{i^wGs zClc=_P*vKR`jYVo00nDmuJ8tu>R#l8R*CxyPFsu%HrYVuqU3wCow(xh=9ZBMi|3OM z{^?9Y6)+n?Xjae#p?WQ=(K&#e|-37iM9CtyX>BG^t*X(G+rp>UX%O;tU)MkVi9QARDeo9< z{Mh?ew@#xv{Ml+Ou=Nr2z~5yiUB%P43*ClMzmAQiO+{_TLrM!?>1$apJk6gt0U9(c zK-4^Y8vj-?AE?JoHXIQc&yUx=Iog-=v55av#%%wBib5Oa`;p7J>1Crfm-bgz@80Mt zM%@J`kG&HkTv{E{Ms{ZmxU$?B>eV?CSpTV21vkXoxwiEA_Ppq5t@K>V<>ZiosL@dS9Jm$PuLpAScpBl?U8XEX(X%(gmNDGD=VGaJ zKKrMLT|yP0fCwU^;qKwtqfg1WxvNZC#|bIP-4fusE$HhZ3;)c)EM}xGmaww38L#f^ z4xDrZH}gwt%oO4y2QS^pjx&d`+d^|6Y&{WWaXf#Mry^Q}yT#<0!X_pVQra(2uW#zO zU%18iXJ!XfZVcOH*;9zD^&P_OkFXw!*yzgK>jR(~&?AU^iq5ln1Pe@cMdvPOuaR zNm<(Iv=I2yV^G<`Hx3X26q6rQ&4^M-!$AXx(Jw)LjV^nDH0F0RxM5YbjKptFMq)9hCnqWf(z5_J)KAsR$H!BT z+HmB&Wb)OYFt=Sd@@X(XWb#gY8VNmXYK}7r+>(J!G^q@!@>0>qU1r{#w|Fwl%9wQr zyhV$)&J}^owt}iH2IhQD6a<^mH`=OhMlRmeEydo(p{|N~`01bi-EISZC7Bkn#T0K9 zs2s8GKI-!8TWROoTghx^4S=>_G*q2Z(Esy2_u~X;{DNK8W{c8_!f7CYf*A!tP~9uN zy`#WtA0=

h#mVLd@=8%cyg2s#!MLR-WGKezq>NZGB9uU<24A%mw%I5jus>Uxw|U zp+4Pzk)(_n!#}CSL-{8wBLN`i0Hrns3dygTFMuj&Wvt!O2T{O%edHBC!1|`il7wO* z`R2(WT1>&;dr9$QPZB1B%6&TdT)jvmgJu1rPM`6RAcK3=Cp6!rWPd4j0F}rf+NcYG zdlmtx;r9@7a>z$2C{FC?)WniUrr-FzMwFMi`BINT`8~I%eNnMh#!+TtfFsjnU&5wM zD(!N^|GP#vmcnpq8WmT7$$c3EiqkQahpSM@sDoPtjqdGTNKt>_YQjN>CuCA`v zrI=6fZ&1zvKBV`f%X(wcx)k~QR@LfMaqfnU!Gwhs>c-vXiw<9PipS4aJ|`;H&x>Js z{>ochuhi-PGtl|g8@o=Hr%QSEP6?>_c&FgqeO;~2>Yt?x#XB0r50(72rdV{^Z&R_W ze9PbdRjsf6Y?F6FT43Xp`$=ebUuj}bVDd6fydv@NNs60fqEwxm-m9jwK%Ksz^?DiG zRFMlactJ9p*`fBjL?6Q09ZoqI0QLdZqWcTsoatGxfEKe9W|J)=4@&1h^4Jp;Db!1Pzvz}uK&=M&Q zb0+pIui8{x8x?6qwp(fR0*{eff-l)wz zd}Oa`xz9dQ(&q%|qK1Ks!AUq^7$0Wgnrs!$3pFR;$ovJ_-vaiHFnsZ$kOm2DH~r7V*!2gk4_Ao{ARO?k<0#+;_3Xs z$}WAQ@yRMN9hBI|b2|N%_nr>Hh_(U&jtN0P^+RtIN$iM2tKc3|4)z>TIvB?kwKn-*oYyMECR!_T=PV^ktuz2!TB_pmC zSAR3>?by|$oQiIg6;L{Ac4JH4M7c-g893lf)jQQe_j*QY0|KiVlQjy098 zroLXigF?s16_8gPVnW5qEON7bvqR%kwGQ z`lC~ti%lr<{KRJjHH33(t42oJYrAo}y}wV4fG6Rfv|p?Gl&zJ-+T| z8&B8Qo+jByyyL*|s5$Ek%%Gm3o^k~D1uEE(f9zp86yi2uT`veY()Zr>4y&F-DoKi= zMt(kfG!bcmx=LO4+|2bn&i!)&;L@}3=e`fBpzfI3reIY#FyV#MZt5I=M-VIcyw+EJ z&XwY${M=1^4Drn6gb<(|h_6tNx33WEJpOnayxQ$ksWZ|d zEH-;7d$Nf>GiWPFoxt#Go)nWUA+hJS-MEmP{JCYhFSKFh6I1sjPA~_zh!QXty?xw2=5rM_s=gn_<7++!+lo=3=Mk0}Vu^2Y zp&Kc@*vudD*Ys{v!F8o@J?vennaD3tkP$5Jg0c^bxb|u*%MFjn_I?>)Ob``lBNP(` zurpxSSk?7*y`=)M()SClI>c3dyQvr-`F5$?8KnZ`;qWHa4U-6Z?H-ue{<~g+C-1aH zzCOg}3ji$%HT>&>5SBNw;#*rja!;+E<-qvMOn{LNtO2n8l_o|8GQbjG85T?t%HX7} zUy((V1s5Z>j=+DIIo8M=xVy|SvGD7R_R2k?oOa|VQTl}s3l@=dq)2is9o3`m@xgoe zz94L=ymzrWHTdKOQ*A0oyz&b&I=5&t3~cdoJEAGB-s$j~;w-Vm*;(Gj)i+^xs^vI#l2j^k3F7(*DUMv;)@Ue5gx=rX3CqTJC zdL=I4G}d7_(lKx6Mh-Sip|~0V7>-+*H+4KdPwcHOyLK1zb-?H9`c2)uj}`+j5~5bz z8;^@ijQp)%<@s4KGXydxc{fDWiYqcwLci)0{Ru4*q&F*JY4^o-KXxg=X)I(u7{K#s zx}X%sToGhtnLwE$3gLs}7AgmedNh-Pq#LOCfs6`W_vuovD;K)|22>kxUwkyd}fgTOe6kHo7~$-gPAJW!Vgzf*X0)L(53ZR z#p)@+Spx`E*Y9kzWM&KekI_Z&|5gt>2ZyT;3#UZBprj8gUtaN|C=^1x6FawtaA=!V zhP=i?vV=E~=j4J049#V|=2ARx0FI&3&@f>?I~g^ZOqSF6h(|%;fHZbLP+Q-7$400B zOYTC>ISjzB=7{z#HYuw^lCi%&ICuV@*;t~1SQerctE50``EQTre*}svlM+?SYV;rf zNK1zwC)wx4+m)@!2L5phWj84=m;}Jp{AS5sn3T&5Ii?9gl>>z&+tXJVdUnu$D^bjb z5-q#Sr0H@%CATtxxc^~-Po;N$iqC2rP%TTwAT2D-=q>#5k;%v9Z=Y`lND+HE4Y1Z( zO`T2!rjQ`6=@edXJ2V0p@U#HVsd}7W*i4+VqKIFvN>~6EUMPrsmvaK zm9Y?nZdv9sc6$q;d`Hq#IW3wyo>rn*$2to`Pd2`uknfz!<_?}Y0Jv153|08@hq$@tls_VmAzAS&!^t_P9nzho+^})ERB!B5 z$w`M7brR^?e+oseyj8FGk~9@Cxn1bO9cbS;Bjg)sh&t^t(tr61X~$V%dKtg`Z5W@dfKreePI{H=*we!mIxHG*E14!kon--Yf*Wj~rvUTq$(`^C#WbLeGV0W+G zioa=FVyNA)+hZ$Qzml<+N0Di}tfQs(eQd6_7KJR^+9>;WYV~v_p%+8 zfEFp7k>MCkP;Ui#^%y?FP)}X8TmEND8sEIDB3Y(`JZ6*V%H9*O3B>l=b~UIF`f;CD z_kAze*>Y*8gcFb;=x?}Gi7%)ZLf3&sY>R~goK7c30^~9M07HN!l`HP<#u?#PLcI@5 zE~t?WzUKOa$-_P)uiht(O%Aot#>L&Fd@AvmU7>M&$aE<&C^Y@cF}!#2ME{G=_Nk6w z`M%&>y~p5*ZSQSJ4@vI_<$zE&`N=KA=F=VbD9)zsjD3FOScf_m_xe|EqjWx2BYC{L z?b8-%J6@}o@R@)cr2R{P4?58C?2?2dQ)Cz*-M>g_N%N|PAOAVZRruDI0@xHcZRqH^ zeUU~3jeJrHa0H{0j~7yCK70GcKt#E!(?S$sKVNn-MjjK0@WDHhgU?<{RO{=rOy~iH zp}tz|#Ian%_k3Q=h_Tv~3RZI`)Y*I0?kBAsB>!;v^_Azsn16J$L^~6;o1T3+>X~^w zi-adzAw6d`k3A0Iqw3eE9woWz_Zd!B&b64Xi)W`VLsiV$cVh&CC=`hIYRBv~QR9Y$bKmPV>Lq5KwW|=m9XHaK&z}`axvP?Z^U4!yRZg{5G z-c+#*&smPj85$_Ak{FTa3F`Dc+v8KbfQ_!A={x>;-wX)!7<6OmhyhQSS*#JMSr0c7 z{aF>{UkiBe=m+i|-wtS#$WZ~HmwYo<>w)Rgvwr&>?yq&%Q=lLUHs*vMeB zPGYFmJKobDvlEE_n#zvR`$7T$8R*Af_|+?S+!6d^o&s;q^*Y5`b^&$z5S-hgfn!S{ z?Qu|!-W3k1{Gkc8fR8EesMn_t=MQ#uhy2p>_Dijv&ha0Hu7pChY)sx~q#(IY4S+i7 zLt&_;D!LA&B?q{v7zO-*$+Nn_yukxEr)G}Rgf~(gcgvAlt4+sVK8FV-{TGU+$5P&# zo$-$4HFnh${Y^Ri(43@}$4~SR!vvDt_9$e-G7hQj1T(G@d=^nK&$(Cenikgp6G#2( zbn#9`E7u!Z95o)gr|+4W<@=0@3BxCljT<`+4R(|6p6=tBPiUS>OUp1s24P__hfB-g zEARrp&xKI-)E>oMJ-bpH9l{|L(wK2A**FYYZm51O&(m zU5>MJ<9zk7`9NuN=)f61mwq|Q!4YyA<$?iyB_nFsqz>8 z(h1$+hs8B$ADO~tN^hs>dmYee>fHJoUbteayaPW$?|wjz!6SFeRfC%|!EY*CU*Pd( zy#VAKQiOMa4 zB)0b@rtZt)=&fIb@W^h1R5Fwfx4`|JWX%C*Yc=B#iu#du4-WdEmC5EZF}CN(CtBVD z6a;@8^zOZY@Nl1L>)cn9(Y8p#^3yV`8gM!otywfi0xx<>#PG(8Wg&7eI0`-X;TS3JzE($G~d(B+%{mI&=a?N&A(X7*^7jSipEJu8#c z-s{=n{>82K{?B^t`)iJ{J5|~mi`Jdl!RPiAP+nu{bOP$?05xohTdCe3Q%?rN$1VB= zh6XRlyAi^26ftRuv3QUlRZk+mJux#Ld(JmPZ0Zu!>HSw|0u`bgsn1)T;Q>9_GFK z$yR_gCHRTjl3iY6yOG=`C-eg$9|aK^i0*YEJ?HdYF7(^Pp;#)? zf7%F}^4hKN@WSUvUFg07*qi==2-WSN;yYLD4;6;R+p9Z%6`!I&=CrOXgqqVF#d5Ll z#!!TyD1YmZZxfazrH_p@;mmH3D_hxzPMGa+>7-Lp8NrxT)^4Wu8;00qzf1x+`Lz&) zXwD#0&_|-{@7Bbp$z$V~7yQ^XT(NJkRsS8vy_b7Z(j#F&(uz}d136xJ9{74=G5hdt zA+gM0{D1;GTH?F0O%(HcL5!Ec6tq5Q)wwT&8N)|D{^r@+hBhDrIg^X*h}b|HfT-}& zRlD8%M2+aZ!@?0;tzEIwagAA5i|Vz6Hp6j-51y@{t#8^r|7&4#Y|Orb3Di)!Lb|HW zpI8i`k-O-mxarT;9(WN)?)rA20r=SQ&^{}KGxYcnu^C+a7$(|)T+KRQgrv4i$$fcSwS{8~-r)69o9$*VZ zm$x4YLyD1JP2!}0+N zsa3-0jcuxP8To4gkizG0r=>1*G>5`mM~6ilPbf)~e1f~AvR`D`;DZKM9o}3>eU|)p zVS4R<>&L^ln@9@K^y9~m>k_Q51wtP(wI*gC+TLq7z<;6?eWpxA17UxX0Pf^T54que0NH(adb+_+>wDIsdFtHK7*^eJcJQON_raoW( z9R5QhfLq^b8qe4}ObU~th) z^+e)I9!OB^qC1aAlkqk$`TH)Kj1@I>V)@D4W! zy7L6W*4-1_L^+U4TV=BLy?|D8{ti|EzRb?Sa!-;tg;2H){+kQ-Rjc;ze6n&0J!tx3 zuExfyU{OuYSfaQm*@Sk~23Q~MMo%;K(x$)IlVz~69?TnG>K1N|1!uq5f1Hc4s2&!tf`k`@-4=hcfsLvt=5%XN8%B_3xy|528yBg)QoN7xV4q`^uy;cG)$s*J92JqJZ)=hi$eQ!d;U{!aPSPyr3tn-zlP`ixcclv zy}RI1VWLy0bR9d-zJXagL-jz4icw9IVawfC6<{4vHt#dDxa6L?lMv_#ySWg~qg^Ew z&(50!0QWm65Dn%=_F*b9Jx@;S6?5~N9EctA*m7LYuw({jeueDSrNv9{kYXyVE(ieY z=yQlC2Gx-ah<{s@jmc@0v&&Vz)z#LT_JXFj&3jVGiQI%z5g)MdmxVa(Dn2s??|yY94!U`!MDKg?q1G%~BOJ zMblRe`)uCTfG@PIlld&CHtZ#+I^7ru$N33}`BK;0CIBqW0RZ$bFoMKE68Y*A-y*h( zi!m`8gr#fb>dah-nfEHZ;InC$2Rg_tPE|DM$(U@`2cZ(J645*JcA#dhB8{3atr@I7 zk7*k3RcNkVb`&mnhhN`i)h_A!7!rc?&GfHX?7T;0TW5%B8yFa9mZ;PwC}zzK!Jsen z^!%#9+@|2ddEXDOH4u?Z;1sHVtR2_(%Uv+s{((>nkvaA>c+~gyfiK4N2a3aiwY9Yb zKy#>2Yv7&M0c`p?%=hlb_8SD?hu1L{Y1a!ME=*)V`Pn6B` zkkHX>JlaI(l?|IF7W>%Sp1dvXF3kV);d^h8!24sjKKZN$($-;oZ$%>TQ{*%Lm1hLr z_HKOgR#8JK+-4mO-iC9MeqS)8J;K(GgY4;A{oLv>VptQg-Gb4bDaq6jmQ%1*#D$lR{~CCrLBdu+O4pBdM4;*YJP31S>Eub0 zSd$w|qTAyz1&UIw7TVX~YG3`^*DDJ@N)jOk=YEZy1+!J%GN1hVq}#E6-8}? zW6Ng0WX}N?&C|9*ejHxb%jWL04^SFZ+_`f{Kwtxf73aN8rAL%W1szAhW){_VCyq#V zXM3XRWu=RsQ*DkCMT6=ggT)h9gKet5Ty8@Dv5IB8u}5@tImZ-KQ~`Hdc|kjO)0M>S z+{JY@G4rq_nvN&!8u?TVGFJOaJc%?hB?!&b&6I6(nGIGF^Sy{!KpC_$SLR;^twnI= zO+bRsr8#=gXbP{D7L2{b3rPgB{m!8F;8EMY^Xt|3Svq{Rsn4_(Fx7Y2)%;&rMfxA5 z=)ZDo?98A2VAZqxK-ez$B@AlGe!70gl>SuYiXh7WU&}Tba$6i2^A!u`bKjl%Rl^bf z2qIBw!bA*Goo2r?`8DZCK9Xb|jM>46N+K7NTs5PCh{~c9k>j_Ac0i2&qdFW>)8*x3 zKA~WqrBKr~u@)%xUkdV1gahx<9n@PG(ojP*CF$Cng6G(Hfz*|Efrby#BE z)QLXFgP3?IS$a3Ie^(FwhBx>3!xvdYXY3%wDNL=a;Zj`}&8g1(W_+EiI45&e?5Kbr zOgsZ3)B>sg&cD+74e^C2|BY=7+jP`^Kj=ayKK>xaemERa318DuMWY9ts?XeO`hI=p z$lav>a<{|UrmYb|KTB;Zbk<0qVcSL>_5f$Q(m7HYqe{bw4qY>u}kTxq=Ym^!rPFM(XL z7gI;U_5L2WmB@0iYKeB}o4$gUh^Tp2RGydU`ru;!V;~&<&s0SJ)(~mwFN!v~uRehE zYJK%JDHFRgM|WNoiHmwn%Zh962GUjHrYi>C5B^S^x*CWe3KMm?BwG!87V+X?HWru>C2!JS=k|RPas^CI(Wh1WXsU!Cq=$!54Oq4QE1nA>uYu;<3{DZ}nao9$Kd7A}H#cT; zN(_R8hjxAn;2mi(3SJIZ^lPNJn`eq<2HGXUmba&^yiNCF2l}MI+mEE_-8loQ;oVZX zffr(ZweshG*5Rc^hAhL4F62m9e&4SlPZ0+tkM2~CZu-hn#0*b~LI#s#IE9v>vP-`B zWRfXDSMnun&r(J2j2cNIs5Q+iCCrcwAHyfKMt7OwCYsLNsRrUl2EPcMpUO7tOLIOL z-Gzu;Bhn;4%ls=&`ESDvJaTgLJwKzP$=qrk04qS7SGg+cFw6+AW*AADS8qw5){w$7 z3cT0cK=eU$VH<*!(D@Hn>2=wT7R*y#1E2t(W9 zd$X0F1$S@=<)$#V6AABTksfvqX>Qy1bA#1bZ|ngb$~t;0q$_Ki zGVm6@S!%uIlcog|wX5nv{iWj3IZ@|R!Nh8A@_z-cM!Pu}1I@bWYqssOZur*Vbv81L zzPdwrQXDc!-rYfxacOCW`22`x%4P>`?#xmAK3U<0i^`QRmFRwS<}<5Om3|+&(S8rP zsQD25CS7|z;RY zB<+$$^zcd18o?DOAmybBWLa_|Cg-PLjK7jPK$E!^Gt0%znyh>$Zq_aqBz_iW*7vx@ zV6l1Y0Ia>>S)m2rwKt&$}N@aWRtNB&Z3*Lqm@cI4bt@V(5 zvBDQ;9?J@UHBCCb{m+uqZLm=op7x!^Ni$(Dseq30N%-$sPL3eu7O+y6R3-N_BMkQ93M*T5bPVf z+mDzQ-0^O!4a2y8{O>%CEdJe+(tLd#;=S9COd8`LqokX4cC7MV-(9rtJ#qi>5 zqSg{L5p84rn?E53j?e!kjDL=LQ4_)!S-yjokL;o+W(!eo89L`=Sq2as<--QR#N&i;89K*js$?wU^5gWATqe6F< zTod^{r`A4Rc_ja14S)wV5))t<{(tTN${$u{6K3&8f^a~jg&M592O^oDi|r`P#?(hA zKr7*0_8?8rGfguPo&=5r+7gI|zy?IRKMRiPa;2;K>D%%+GN<#CYyZ3G=xFqpR4Z}} zeAMNvy0Hepn~HpP!!+FSTO~GM#pnitvIc#WDd>1?p$0%D{04{|DsB^$8C;n59mEPn z$%cf4$ZFDq&|9OzsVOOY2mCl5SvQyYRoGt)D}zE_J?!s3^rP1_7$=3{1y#$KGX~LW zQu@w4^bI`n+FzZu-gI@c*>v3n>=5DDB$HkBBy$kK-c{8WdusV`W#Sn@TlL&nBA{YePLr#&M^*X>% zUH!;1fA8vpkJ0Vc z=*REI9cOs^>@P-FWtMDqujtGWX22^-ZX1)fT8C4I7c#S-vczHs zP4v~r9E!|MlEV0ddZo>!G!3X*&u1^5&@D(apo0j!yJ^@i8uz2Q7g2$lqwEUt`D2rv zGE1}|Fj^f+tAkA{K{W z(%(V&-oJt=FUsFtEW+6BUfLyrytJe<)JEl^xxpnH7@!@cVK=m(RXros5zbq!x`0ac z9QxT2Oz27rXpg#g!dEOY3iE7)v_O0{^PgVY$)Vvybsd5-G)I{6y1iT^H8t*5{DAdR9hv z;6gA#-ns%>!AKtTp_G!ozMeD~w(|-t?*T?rIR*jky$`>Xk#;1B69$kibk3&v%y_N% zK{{iTG11%<-n)YKD&G(?FlJZ0ARXxVHcil1J{6Q0!6bPnMptPyF5jH1oQ(OC)CAuC z$Szp%d0x240^I2R>Y0>vvt<&|#p3bpD6Lm$LA0yWy2V1U>R-n8&8@kb%4~G*1VxV& zsvdIM^O3T>Tj3`d{I0{d8YFP5BE8u0w($#s3H(-I=Lz;yJpr-O9h}soHJzrO?z*BE zZ@}1lN~@IyKaqIpYLXOfq~o}Rs4S(U3Wax z{~!OHJt{7s9 zzrT7sblm6je!pMq`Fy@!?@U7Db&N8GvK}XYjQH_av^_RqRQif3gQA1}ThfLUGVm&9 ziP@76Z&M}Hz|l3wiJBGRfponD%hGAvyr{}(LZ<~K5LI~$?`!7!5UQ$_NvG@t-4DH+ zc-SbsTc$sUv%!R>6)9hr_rCcakjkGb1h?(7phsLG>wBE}cI0Mr%R>e|9e zFwp9r^bkZr#^}2_bwy0bN3-MF#jU~}>WIBB!Qt1kXyH(Kz^t~@CNjxwWJ!!c7SHW$ z&#hOc*gAh~f(Ne0VN)Gk=Gnz7dK)*`4ukhLUsH!#P^%J4`wyYgp0&M1$D}EASA5>g z3ur^Wb-ol2#JI{9N?6q+RVt2jarJiqE3Oe7h;udKH_{I}6O=bK3TTt8w+p zevs33l67V_Z5sjCYvVPcMwytruW9eSVr1}xs8u$_GONT}n4;MWw2=iUtPr-iW97#j z&@^;RK26VdtuKV=K6>`+FdCzLqM-nTY4}K+95-6`ZTLm2mKRrU{cg5yimc-!Yofft zRLojL!0~xU`4dkdYHXfsA@$A>IIC9JpH9MQTxm%J^y)We+LFLAGm1LR8zPyT{;qQ6 z)z=n9#X>TF$Hu`U(nDGF{@;*@F1=6NaJ@R-4w}z_)genhoyK3++#e5oa$ciz=2@&D z9HIN+=oZJb=#a&oG>lmnM{fJ36@(-Bgo{S*T4NnVQDyYy5@}_bbpbzB$Gd~|pWJ;k zDh??jljyC(v#qgwbngt%rPuoZo>g2zMi=>;^<@+enWF8FIocox4KcN@zUc{lX;C7F zSqfh^MXEj?CcGIWI<2itMzh4p`(i@*$(hgr!^Eal$|$4bAMP+EYtq>?0V^f!L(3s+ zj51%6k&Q>8qx6a6=h?0|7Tv*wj|XWc@-S;kpg5{yqJeMLP7HR#_HXCbo3yCb zz5t|`qXSgNofI!$YMvWE;P-gC{!b7@{i~DH@M>A~lWC!|q zE(Rq%n2UGQhIXMJHfid$zsP|`W_fTpPZG9qGj%#JjB97u=Aj&4UJ_ zbN-M@$&|vq?nc~~XJ<0s{Sol#-sdGttDoOUv&}5{bK4RZduuLZ*c{`)J^>*InY#?u z^0ddjF`-Aul-8HA$zpZ9BS{r`zL_}Y;#pB>!^5t#Oy#Gk(lxVne^;&2R0)GssD7fU z5-o#|&&2KK1um=^Lc=+Mwl;&3X|a@W22Tb2T%}9{kL_#wSMeFRD0o&LRVjieU6xQZ zhT(8i%C$IoTH*a5|CxyT&z2QC8<5}eqy@;0+0h2V^~#vb3FuV`^e&*lu&@KQj>_Q= z1M@N00g?APxLE|>gz-(J-r3+(3nxBD@IU0S7-O7JLT=lo6>R2?Y$hp`kQ$0$-HPn( zyPlrQ-T$at8^_Lz(Iuo{_yJ?fp6qpQy+rT^19VP2qNQeM1%j70naUI4MM}{A(Fo&` zH;9Quc&ADwp$Fudq29;G)r&EWBD3|Daq>4vY$-vHaqjn)_J>&3)GvZb+x{{(HS={) zg@t$x^}QiF0Ymv@9qZ*DKaR<`XSQzb+}ZO?tnRqRgBoc|thPAnP~g;G%KbFq7&@gF zpS?m#U~nyWPt@DlP^*-M_`6B|wfuz1fLoYRcJiX@xr6+{z~;C$Gpl0GsUT!sxAkti zHL*t0=cZl3<6oq{r6pybZ2C@KqnH2M_~~JL3T$EMgNl2NO(3oUS2yPZ)U`rNbPAjbR$`h zO7yJNR*Pc+`0si$rDjYz{8_=DGBWjRu~Q~aozVUP4mzJ^=WsXD_yOBZOp`uFjw`9d zxyUClBY#ph!2F@em6C4x?hspJaQPI1t zXSROZxzqod*tW2^UwlIXY2ylVu(H377y}=WNaPXr7T!59toQyyHkk}q%Y`^vY+t5* z5_O<5XN67VN=oi+jFQ~H7!4mVk~ykm)S1a#xofZTD(Wgxv0blu%F1`8!7duta_=2E zdX$)2@J9>Yd7wyJt<|lYJ}z+`lTGLOMt=IEm_aFmR%m|Le9kA{!f?$e-mZ59uf%?P zfVm+5*n|?01I6UU?)VtFqo!4934*l-L>ub-6~rE6*T?tc;s)NQ>kq{qJrHb*3R=2x zJn0FdlO?k^t-7A~P>}ow_(Lhc`6PdMoP7)onMl8D<@cD7L6~kqzk+#&7gRA#{N&9_ znO)tPJ8Eus1>2a5W`Dv#{}J4tdYduS_M@O?6H1j$Z2B7~;{JbxkkdZGXOiJrEcgvO z=2lso4~ZbgUqr1QL#iI>lC^f(e7AW3N~Y$4dkr3Ncbzko5i^Z8{3C&t$iG+-oPb-* z0M|lT+;?xD-v9UJ-`0=c&<3FMr#<*k6pG5rXc(i4 z(R;qwJm>)X%BS{9=c)B*uzlq8y`3x~U8j9eW`c4aY;n@r*khq_Db=a$kxBx`%2+dz zGU!e0WhGvMVUQ-|kXCZIh3YbJWze#^V#6t(ufgE~S+wS}YKsp#J-am{?rwHou4W4x zvomW{vXV}i+{dgtVl++AH9DL2y9Wqzu*6NpKN-6o(Ba7Tb8`c|sR%Ix*&{D?ZTOwX zPU`g~(iM1Grxh$6{uY*S9_drEn?_>x?NeL|5dq>p7m|Nw1oPqj^L{wT z$HTJimGhyJMah6_P%G?Y)CR6?4me3QjAoK~A)S#E}?0B5KHg6J6AiniUE*G1t zA9iwI81myw((Das4ED8K1pCK8J^`XLzuKz{<?W3n2LJ4}08YT?$ z3ShqI_QN;#gKTE*41H0p6~HSO%~lZ2Kf1Ur47%qN?N$nb)8H}mj)*61JVC8?^#(q_ zu8ZNA?|Yp6q%UN#>jCK2VDEC*va@h4ggFT9;UNAf1vOkFTx=B-(d#>;FTV#)oe_qQ zPNnJQ+mLY3d;7L`JHnATYKI;>Ho*W1M06MSo2|P;gHjh zHP+v;0XCe4x=$IS>^yF5YS#oJD99 zHQD=ay*q17^uytQR1rxMvF-Yh+sRX5!=(Bjq4GxkIMZi=)fc_G_a*S*=hRAJt>-R- z(k8uh;{VP=1f#ZWOy0iUlo7G(@um7g#^obv=>a!-D(4e(lcjV(O7sL?jGx|Lv7cc~tKELXN7HD8$FOnRtoSvMWXSnkE*3TA76L!u zQ;b~-`k(;4*Hls2qP)45>KEL0X4Y%p0kdw|ED; z;DN}9oDOWTtD6})%d0VJy}PE8P|KQmLjr^auWmaaN4(L;+@b}YLZ!#F^MNYZx4SO6 zuc@IV=KBtV&% zZbcgzPLXpsuz|+8lI;4L7?~CHrjEA0?8v}bw0MP}c04Mx>U9L$hFiV%q_7J{;C~Py z?|e%zweL5~?_Rd+`=+?hj(6}^Nu?Z58ffuq#Iy?zIi7}?nc~7jiRRKF{h)f%SEGfU zMjb{8OM#&_$iZV>#^s~nit9V~vR9tzc)j%pm_gI1s(-xvv^P@q#QrTXm}U-A!Jtb? z)T}>+--Pk)>ucYbqDez2QOiob719KHs5RhOFuJ)zo_~r$xqW}GMz+nw#Rms0JYc*qP=f! zvZ!^Yefo^78F*J~Y>#}aZS-A>Y{QA?UmeBqiI&(hukI$HGkeQc$yBE=a`E!1d3C*% z;x?h{XoiWa&Yds31P?n^Yp=~j6loXD`VlW@_v_uE^=?okleylazCBXrH!WpQEYLWEbDGX~g7B zmXHRZEta6oict`>eyM0Nk7}P#s>0+P9K|jyw7zseY$>McrB>0=%*D;oW8bf}*mu{B zX5dmG6@7Hjv?fbeaN~?ouF|d%6b^+Q3nuW*p`jV(a+3;)^yd#3DB4YuxD$D+e>y`Qjh<$@{?iS*|7b<2oSJnvu8x!J&e(cxXa(NE(rk;mjnMm_ zRcT|?G+hk=^817lYEyL`U1CT0cj!Z z=jq5lp)hCSK4;L`>Tn{l*^(u2%v(FMkNt@2+cfsBSj5zRV{1iEnCPLSsoA z7Stj4;lMkcf`c->GfetNEU?l;9e0%+!|u<9f>Pj03EI7Opje?apnDhOP-DGVp_gU8v)+M zKeu68`YdpBQyIJ9rIaxHfyKCm5TAh_Qx)W3D?jc%Zn3$yX+XbtDkC_Vw4n?gAetHs z9vT_;i-H^G+-?*1>j)vNqv~xJPVhk471V}A>oL=__A2(Krx+s(Q29ypjPG(VQiBc^<@dQ;)~k~Xn}t3LexBJ_m0yNh$lU}?N}z9 zXA)ado4JxwW82So35xKkrLtNMsQOpp7Kf-_Sdpcw$-Bc>&|@GkE&}f$td?ppRPOuy zS8CtL-~dM)LGT=E0C*Nrp9|lWskPLwkJiD-gb+UR;>53Sa2&K{+RlK!( z=w8iqkzrE`7@ed{q8{Yq7X4daN<)ntUHSE{-ZJ=bu#TMMq1@#A$$`Y4Z#bLuOv!S| zm}4M3pGB&k^^w)%N;*v>rK-__ysOlF<%~IRTn26m_y=qzyCIhtYWSqHEGP<GM zj=nMyAwumju8xplqm%K7S|Q+|FCx-}LV46svtoq@ zIWL=`0%sWNBMFTlS{Q&8i0XFH>#h^Zz&U^~zKh(}R!j_;|Js%0f&h{tD`%>|>>&*gm%b~OpgIul?J*u0> zmiCv-)~isJdNUzG@r3!Qro%sEGPyMuXO#&KfC&W{2v07KRpw|Wv|cJ1lTbmm2a(i4 z`-bfey(ar`G)9i~)f0l?qs2LB0%90Oo9AGcQnma7>M-r=ss?k1b*Z{d4-rao>n zXhQu<#Ig%^K?|IeCkX6z z8yYL%4KKFt@sopcaZ*WV@gDl7KG$c^twpog54aENhG@U;%6XsX)pH;ZD+3?Aj;?SDR?DBDr&wqshj|V4;(EkZ#5nVL zb>JcH5cidl+sEtY>b{#2>(X!yji0pFS$OwK1|73#Acy)!QlB?(eVM32d(Ysv^M^;b z^<_Vilq+6L2>Kucjq3y^wtIKi9daez^lhF2;AsV6?;X0K$Q<|!UGx+mRKuQmO&M!c z6oNdH@fl<$CeEE!6R*E~?R2&4fBr_APd$x$k`shMU5N@5c44gbB@W@!CI1L*clQaX z%mCQ%p)UIVm&$p7Ewh7@(a37|{l!g8BH}!!X%(x95yTP_I6S+eb1PNL{vy(xu8QnJlKY$CK18mDPI93_1B9d7ajG0{`6IF-F_Z7i8oG$2vJ0&l@vFRiDIe6J zZU&QC=d7XyEkQlgSM_NR87HD9cI8dmEV0UT6Isx+Qk| z!wp4E5t-qxRNUfGc*i4mZH5t58IN1MuBfi|B8KGGY(BtObJIN=RQ3*%Jr!0qIaWF* zDItc%zD8@9@=0Cox7Fh1UwgM7)ZiAGQI#&he1cvP0?L!EhXD%o3fAI3&xnl+#F4kS zsP*H)E;-9L?pkeB86R~g?pp{WH04pN+mbQ%TxyAAmGG-y1m=6a)jVyROS{x8;%$iWutVDA|X;H;r?|9@%)@jt4_?fVmg z30M4mgtU&~*|~T5AYNam36%r~In?1;bVcxY0KEvwv`XaR(NnjGb=tG^C~qH7P(*Y) zyMRCB*ymaI*{cy04!aN&@FVBYQ~lJT(95(-`_YWr#U^jfl(>?(bZOvvEv99m=jFo) zBLm=K{UHTiiOb)K=qWU9q(hg6$jO5p^!%@<`KNEH(Z;ydqEiOpAT`hdDDkZrJ*5dC z@JoqN-rb?RWHn5~+rq)t1?^iqz;yL?n_VzZPfU_H>qz zsLEp8V*LO2NdeI)?Q@(c%N+HzJ6~T9-Wdn88LN7uRcKnwj?KM+e=i^hLFNbwc7R0m zL0TuzhNapFkoi8e6a%GRx(#;xIB0Ac+dX8+_CSAs12B{um@=0Cdy=2^G+^d_e8@p5 zldU;`12{9c65-ha$nD3Yiro)iOu5&wx3yx!2!=Xndk!C7 z-n=nqS-nF zgwt*D@U7b&Fj?7sL~zT4voDbix>XVqA$0@p%jhw}`Pdt4K)vON_~0Y>CxhL*T<=n& z5Tew1QYEaJ;O5|Ci^@}4g@bsZqc1<%Q-|#6Tft}?i4{qctt!OSf^aoSx>=Du%C5*M zZksN^mI)cDz%tSF|2@Hk`p<|#U~E`7Uy=tsKT9Ti6WO|Zr3 zNpen?b}3Tze8OZePEWj}QqHRz_F=LSV77|5sEG|;I#l&J{@nrig5%wFNA>PJ0jEU( zsrruc5MQ4iurz+8hIS_HtSKd5m%*>QiH>X_>a;0(FK(Ngj(ZeP4xPrwBTwF>XvQ3I zC64luzv#8jV^Ec#h!6sn@{zE4@EJu9CO6bVFCFe&N9BQD<>mbUSOKyIQCVMo`ieHK zE+n{dp=#g*e)2aZ4y@Ta4w|kG9C`m5K8!fnv13!YchyWBx2nN$fy3ZZ=f;=_?*#g{bKY`ySpCW*BW5R8>seAZ-KJEd)^O8?kKsZ7WoG=V#upzVQXt zi3Y}&7`-V42xe?ak86Q?L;Vg}rmUnV_jnO>v>w zU=OX(R1TyATFJLtD68NPhwf*G7gR5M(XrF1S4@5EvuZaL%K+r-!DI2Fs|W^>zYVjF zggW$ICrs0*{}DQGQR4OP*gY>ge;r)|YJ-a%l^*|EN_LV7g3J?hGvt*-GcA<2WLl#C zPyLF2>+!PS&po|}qf&-<{-M+|9a^A3e$j5WejmC)XUXDdfR*j5o))7b%H{FvHUs`H zZ-a~IwwNL1NaKhdU8}6EH+e8lm)6^64|J2FAk#RhhD@so49r?WOyu=ObNZe}4(8l^ zJ3r*A7-nbI391APg)1gTnNbSg0`bDLbeK>yIwhx$#mWN1?r4I!7v0{9s(b~zk6F7( z-ug)nU?S^7wuHwqb~Y_qqkhDG$V4CaOG+1a`D0GtIf4Aa2Q}ZhK;WfMi`5Xyz8*cf z#e&f+@AneFjlg%Hr_Lhl8v0yi&{d9(7-}UI$O)7oeL{PftMK8;>saKpkyT2l#2w*( z#@1@xV3*<&KI2nj-UhH&p?k-LF_dw-ccz%7#Jrh4MWbw{azVM!Q8tL#F#+eUi5vvl zGa$i1G#a9n^r}vQ&hidtl(#5;ld<#XIVdb{+SmC+3H_;d)Aw*tAm9#3fjMiVE2A45%95R9JAaOyqDf>ix#z57+B!~N(h=5=O}$wt8DdWOyNUff-g zWoQf+bP@7Je(4=KV|NMXRdp6cp&mL=Te??D;4n_I3yX=JZO##5TlxA{JP@(HfgkkR zHkRbo+0;CqzI=DUD5bW$u(>E+H{~Gmgbu@jeQQT=h<4}l$AsrBT|EtF(_(Lqew+?` zua5u77G}1d2~p3U9b=#%Mx;=Dw7@VR$nej%`m4~_LpVVlTIjP4(J(}BAkH`F))`ZT zL9L%5_QfUh*!Q!uK{kbx*ZYfLEvAV?SFMf2x3iO|N;LYU!L#qZwmvmpf*b)$_uyGu z=T0W5<|btnJ;eh}NA8K5zlP^>ws&TIqF#bMVK7`C%z?w{m)B)Fy4z+wIxYT&q_`;4 zzdJ#$&A>Iho!tdI0m~24RkSgar&8L0=U*qOw8%iIw6YtC)3l|nxuKhUzlmgi=M6;f z%3~4d&LqjU^)Kh3_kbpqLue>$q+(}Sa$R|gwO$nbxdk0)ERLV04rRv4mtiQAi229f zdl~4_t9>C3b}Ks;=3BQ;!a+5JMgc@Z>BGTs)mq)O0)NJsLzF4^!f8}GGfU>%2gB+@ zfE!~f_h@L#d~AjZXPZz5{ASqk@l??K&5Y1snYamMgV0k5i|{0+`iu3mawZ8qjfzTS z@N_Q{WHX01&*fdb+S|zCR`h_Ld>;S$Vybr7>2F(gdygCkjk~U6Mwub@Fmu^UYgzt# z8C93o-uusI)uxXPOiu;A7rH`vg=QE% z7;{O~=o#Qi+8*0Af*R?_(t3B;8O9d05bF7XkNREP98ovvmq)nYV{8H=_ChJWGV>2M zod$mVverI%pNDbp3qP(F)|zSx|Hi)-M~FM=JPUme7AcVoBnl1ZpRSjHAdwN zT?at!ohc zyVw52teQI|(m7dTLX9T6#HH|uhW&rTD|Xyjk|}`fOLXP+2s;B>1)x3fj zUoyYKYq$#0$(sZ+tx~v@+3_Lr1R5vm-SRl2W~2;oyv3xAASCNI3R4%hS(#o^??WOX zqQ0kI0dVfa8h3fR@{OO|q%;@JY6Au@P~fQzpz>cqvVPtBT=;PGJJmIRgo+5GZ}`!o z&b9OC9-#4q7B94p49uS2em^ zlJfB+V(+|6CB31K&y*oQW|W8AqQ}IO6mCXwe<#vutsgO#IK4LEfm-#!E>2n@-$q|W zp`zg{ur-Df19v|lYL`f())4bW@NjIqn&dds_vW>+W`UpCWk5w!6_^z+!X@|D>V;y@ zngjj2R@F^E=Fu%|i4csSU zokhz&o>ZGJNStv18YMtYHmLJEgDD&H6I-{|ZI<>2Y?9ZpGOMo${|0mPHBPIJTQ?*U zLYT;NL-HGnW{sPfi#0Q5>+~$@kKP|4Yrnp~^TdxMgSJfq3i2pmT}=2-!g z)=4Syty>&2sUfgI9PTI7kC9Hctu$)%C@Z$QeY1`mxq|l7!zCN4-x=E#xnjxb?LGJ6937A+JY<& z9Sr?6DY*Ev_vd-+Yv@4TsQ(bX%PU|GQ$FsG0;R89C5FW4aDcRyzP*) zjF?c+p=7nRuR1ev4-ov#^qwUE^@p^mZ&kQBb3e5WT4MbfJ#{3UOFrC02I@Z(6B-s( zQd8Rz!`A{V{VAkp3kR71TdlTh={#e8iz2Nz1xUM##PQ&U86YljQuIG=Kk`5*lnuX` zhZbr_--&%dQmeHu^DmhI3aW*8c~SrE&<4CyHsAfxPa%>ClOEOe!t2@IbD-L}{%nf&=odYdf!n43Q8e=o z-a)6h@Kpy|ep%bQgJku)Uig1G!mV$L3qL|`rxnmtXcrV4Y`HbHL7gnnH*YdL_xOg6 zi9_(se_Ao=c=-Y4lkxiU>)qeDW2v8H8SImjl=gCa5s6gl9}YUlr;HdtlR20*}U zBnTG6;Zo-}PDZ!;<$^0DFh}>p_|(E`>&?*##{GZEG9B-S-%_K%!>1SgVUCm6fBQf} zz2rKz^B)0(@Or$UCM01>Ni4X(Q#RvS(GviCI0IQ801>A07A?Wyf@%X}gSoc)HFo#o zfVL@|DQ3G<(5V0KB=r84P6_4D%)Li&R)lA=J}W-ar}D?W3|hQ=Aw2tp@w0UwaC3=l zoVDlS9Re);pUdD1_}lNgTD0W;wLD$z|Lf2@ueLL6+?w{9R4Fs(Dr(5BH|*!VcQF73 zOoE+9!{FI2kS9dQ-*tc-n95bmWYGwpYAE1jYeKGj>KS+^St&vJKD=Yj@Se|ta%x}# z<&7Bftey=3IoLTAb1kmZU}pggU3n|%h;syI>FsQ|zgqWM!AHk=E^)2@_Ztq9$NK}Q z6rk!CNgD(4r#2jY(T z(*xO8w@k;_WRvz~%;Crv%jD_-hj-W^^tMrxGANLND^^f2smdA&b+eOIzJHo>+JF90bM4b6)wQQ7nOLeS?U*?wNBu|Z+SukNBRbOfam>DFT0xY!!Rj?`pNe5u#nKw8 zFzZA;>X(tuRMXOyy9sRsi`>evM{ZwFadF^4s)M|h&<>PH6`U(=g!T>Ukfxe^4bB}4 z1^YYAf4NDi`lcAF3t}{n5O8caUbuO`$)tJ+#dCih=vUmoZTbPoWaykbC6GCkcLc#F ztFlz%bb`zSq0^=_6)yMF#;8LPo_CYHEcDT8K|*s)AXqn?lo3eKG z)#ay$fcWo1+NerQjS;t=P@S9%(r+{OW6^Br*lrK~59yA|Nnn8u{plygi$Hw$w~l;X z8);nd#wm`K`X^r!4)OqR#Vu6p`+4OjR4Svkan`I~G1CEkYH2?m>XbrJ83Hhx>M?or z;A@^LtZrqDw`A^Djf)8v5Bz7O!(v;vXN z%K0nLmoue=tT{qL0mg1}G#qT}_lwYTIU&Ot8qu{jAiS!OJ8X zK!RsEAKtfdPY2v`IJc0Z!83Mf51x4k`IP}7E)&7#`G1=P&>pmlhqHvvM}br+fp?TC zq>HX=^vN60pgRt%xri`d29N7M8a*Hs;r^l1=*uDIiLd@Ng*z8bbk{wBN`UTpop@Sm z=q(KADoqDMhrEuT$VHn6RV?S_ZpZ!klkf~W@7#KXci*HCOqUu3a%d3b@BPy;v5kE{ zj|4vEi*@i3JQ#FFr_;D8@YFaDQZkzWLq;s$+zb@Jk4JpHoe?8{*B;@;)F*TDSSjh% z;cH;VgTVY*GJDu&f$AZ<;E#T#%&-u-0bv_?%sz_H-p5j%YlI007+X(FfG=BNSwk5zv=Mb|N4k*2U~wrnm&(v)UNX zRJ&Q!^#C|>2C|&4#Q!lj9Xlyz&PX;b5UgJl8o6|qg|y+JKLTYWXukg^fAJd7Z)Ky` zi1rBn*i9 zMN0)jx%C_ny^<=6GE1Som%j)PfTAuR3KLO7BL7U?E5AiqS5rB75Pel@oEfOEfra0~ ztOISVLSy-d$FYymqXvjQ&f8_{H=y$hI=1~Wc8ZLiyh9_AL)N?AkorG2`%cNI-`GdS z8VE?s^zd{z%&5rEdMTuDgEnXfN>Ma&0HMcfX4%VV0f4r`%B>j;Im^cF(!XrOXh%6X zw4LKr8FglomCzXVu@y~FXrjd|{fFh@9SNi=2n8ZQCP0@3Vp$20-kMN=lqw6>irwIi z>olR99#$EJ( zDRf)eG9CXMxipl;`m)0;4k#?*mWex2Xt6Z@i!*b{YRQwNlpi#l_O+1WJ&gQkQfX34+1N#ys;k7Y@^`Kg)mKoPWF6)k}0PtdYSHTBPY&W3t*xN9;*@p3Ky+4}cIhUy5ht-L~i+}lD0*ve^ zR(KG%E%;HmsX_stU~!_BA36>1`~im1St)ZTDyjw~GlH1?YakPSfPD8jz5ZFApq{ob zD2ra<37tCkw97VUCVpVOdB66p{MG~hm+p4MUiGd#Ymh=Nto?BGzm%tN%3`3h5K(9# z@)o5bS!~;v@MF>nTXy9`TXl3hFLmf4U|0%`>Cc}$`;K6y4sOo78LcNab#ZkO;e5lq zi4vFuh*aESNQ9>Bwj-3z#}E2DR~TCbsu;*OhBaLU+tT08b}tC~({YnII1jdH^@NCb z*{V>J9e;m^wgAtkyzRkND)7gnvoF7`qo<0Y6vpeKXyw|l7tvP<`H=_R{QZ5URRBR1 zN6F3IiMwdI*c9%N-xqMo@tDh;LMgiEAIlzeVZQm4|F6fM;nox>O_I#H%T>bXW z}TYOzc#D;nu`2iJo3CjZlJ1F4R7S9eXHi4DNB`-odJGp0SLRiGAM!cY#su4%aP zy}1CIQ_`UyvN|&wK73X30Cz})t$hXx*Goupaw_8MtY8(=rhp(Y!iK+?aMd)n?_X?x zc&UQz4cvU0wZWB>c*RO>&+*To^{Zc|^@;K^#dR&(v;+y0*AbKc zmE;b(AGJ>=%TnO6KDFsYbCCWoLTqx==9FE~X-%4WSG=4dKb^?f=Hr_6K=-?!%vSD2 zAkzxM>|@E?enGmOxhJG|dK~+&sdrcj#hFo+dki3+RFvKU?()0o0hQ z*&zxVje&{?wmhd6;UmQl`r5Q?BDP2QE}6a1V?-C9LMe-m^tHZ8OI~0mwy9fg9ZS%( zKwtJ10wrwtsri+FHz2OMvzUxXpp^5_iP4){pGU&W?1xPq!TU#Bilb5)}DKA?h-&B5I;e}vBWmDDhk zBeL#9OY?>w9nGPL9=Hy!JUEqZ`H_-G<9mBX zW5@_y!-llLEZuna`fu|M!O)a@H1^k$M-76u6ukrXfjcN} zLgf+_zhlL%7u%;XR9slCBc8mmFPo= z`aPf{FU*h^`~AR-33<%E4dDk|&r{GmV+~T{p`;#e8Rb@60ZBjYS8rfZ`?d~fgzMB| z+Q^Ah)7=QCjdU|KZ=`V^{j+CwHjUlEhtjkW9xuUc7GY2tW>$RX$GI0xpen=C3iSQY zf5sDhy!T!lPh!8Kub(~ByR447E%#=%6Q7DUsIC7a5*RtBxFFe9xp8K|8pqEH%1T!0gco zLzgkhhi6PizE~eSbrmogZZXre&(Dt@Ins%tm@roPiyM60=ojK`TiHQfC9X#k!$^z}@ujA`ENKe+LU?SJ-O*xm~3-7trU?z?DIv{ z)2Jr%Wd&W#0FP8iR+oVD<(idjZcLK|d5Hy5La(i%Ud=*QDa3QAT(+=M{cXRg4Z)>- z4W!hbh7U5Z9w>iwzlhH!i>;V)2Xfn(G~JgL&R)vQhpjpO+K-q5pvx*;7CFdEZjNaO z(`WpPX5|pJNiKt$(B+3>r}BhBnionPa)@qEr+ZT#McQ});G6G@kMyQ2xito0Sow|> z^~*HG0^`37{1T4Au$~VGnctXtrKs!u5^F zzVHpu05Eg*tr%W09gRcrr(U@mUwRc zy`f+mSO|BxKAYfH1`Fh?rXFtACBN;Qq{quM!S#(7Q=3`HcEq~9;Adi1gfIRzEEko( zGDiH8GF0Ky66&s7M^5~ZRE#Ygvj0AMjgB|H@m$Z^q-iNuo$TU&z3jJ@`&M!iCvKKnlCV71ql5oq2<3xGHf)^!hGy#@bXrQi zQe5T`mMRoPoP2t4-y z1n98v2Aza>JG1pqVEW5qMuQEybaTu>0rb@UyO)S3=sPRYw-A&s3aulo6E8%670;SN zT2XhEf7cN5T+8wjOHC-dpy?aFH3SX*#wBmLWX)j{}t*27nuqHWqdev9<=7B6ZUd3is8ZkBk4N8q459zAyLYR5J_Z~ znH54A>Bx3gMqhHW$KkRQWs@_{&WbC9%nKn@4s|wnB;&G9GEUC;fBgPEkLM{*<#V6U zd%oVU_xlZ=xs(_=UGdKS+=$LcO7116vknm!qoVZ^4~_i^QjQQ04zXR2XzK*Ae2XTZ z7+3#YQ5&`sAqVf|Ruy*hb5c3xd8PLSb0vknQR*nR3(*6Eo(5XE!c4=jr=4k>( z3Nc8m#$<6jNg1IQ+F7Ahr@?=4U5}E-mRis{w=*+zW~3b<+xlDVl~{bi=1h!OU{Z;g z4S++$S$?(^@)zI8z^JE{yN>(&uD}7;pg;JsF+X~-%>nQ=NAf{(o7)ihI(Cg)C94vQ z;(>USVq#($fj`=47@N5+n8oYli7#vO5xdBAjEsMLOxQF@y~<0OHamn!i^0)(~da)S8MF$-$QXe1!Mi zt*3E6wWF2J$X^Vd@z0hO`H~D}3%W2MH-yzJ`N0hvb)k(;{zw@P=J%HT{PI0SZH(>h zJMG8w-<4St0p9josKR|zXJO?#6g1U&hzg3*+!_jr0K`{6!0ZO(?9;Xr*NQKK;U=#! zFV_x&E=(y&t60KVT!*dL8$hm~W_a3ow1Ks#U#abL@b3ZTPH_$)DoJ!eCJ8Yu_=BXlWi5q==Zn=AH&RY$&old%)VIblNse_R@%2>F3#ZG z8om_=yS=slXk9c2waLGvnVs-lday)H<-0Oc_!&QBqUy`Uung0u{~&|l5ua2Yg6u}6 zW5-)S+W%?EowOd(gO~;pZ>`T^%*23s7~Ojz?Vro)_h_bnYB09HOt|{!2Ei1lt;3cj zTU8$A==wH%`k)2E%${0Pxl%RQas#0FU`kr<3&X@%J*U)ITUME)nZXvjDOuyoeKnk^ znl%jOJMmx^;>P21P7lNtQ9IbNu(@~NgIF_c7xGjA%2^V7V8q4uqA4==BWP6vy>B+4 z#tV5jy5D5~QMc%b&96kfsteR4z}PcDF8*wtNiQB>G6N>0=DagbD5y8F?HqbQB4j1X zX3fUeW~AzFqu`Wj~p(f?r4$j5N`}^f#N_7AlJUX1hE$toc%jQ!Frf^zF)}eCA@zYM{#LDs(K4hnxFnfX0vO=GQX@-ZhYD z_Fl(&@Pf|p2{Y|>r>eG2Wr|ny^v`Z(>l{Vcd3>8TtdNnd>EUB*MJ}*rf_*fcRzvEJ&S#j&9$zxZEqpd2zcw3Bu zM%!@}(6?JObVKkgpzTeY@AMjPg6jBWy^GP?gn^UEmV$nduzop3CtxVnkii5drJdfL zczYZh)GhHmhW51{D=bf0u^rh*QoGLY!&LR=tEkwqN0MD>TAb%gGB=EROlK6Ky?0;xlZ<0ZBW`Bv(Cl_K6v68 zm>8=Y!-l!|v*6fIf;aQKh9iyb^0XKJf!8x=umK!J1^+9jo&o;=NR;_+FozStp-9MV z{g^$#Pc}hkZSmEQlp~yRr_SSkFqLlHz$Fntx=cmiGY>Gqif5a3*;4Iq++4PhYomlp z#9I8!3&F}R0T!?IZ(9|ikwbOTW7k#*+5p7G)T@YQVi&hu^e;ox*Q3UxEw2$pGhm`3 zkVd8k&H*oaJ~q&9sJ#%%Hd$;YyMOtFihd6kWxn;+?V2`W*?3gQ__uhI6=-dHsl}k7 zWO1zyy z{=rwyGT1C~M(E^&tcx zR9*oUnc`8;xC&2@1*Tne`!ReDY%R&>p0L5bkzKNdfYr3>V7_*FG#08NZB8AOHzq89 zq3y~4d)}&mB-_OiRVrx8#M-n`;dZV7YsdMzRm_wH;B=}0Jp^3@HwFFtN`5qV0TSo; zudF7o0Y2^fX^*N(3e5YaWbt;?fM#ucDRgXs7GlJ~CidNtuL@K|Eq-5Cc{V;IFAO@) z0Z7I;PV?qX93$y3xanuh{*r~s#)xLSyD%*^sSmVH=a^P2t4@wCcoHIO!={fytAO2! z`@&-ELtRw=%uAmmq3!~X-f5)7iCB#MW%y6_?@S+~+`q*i`8sw)G1?)b6g{l!IWhCe zeu3Gj5#;x3F_dl6T3ZT$lYT^s#J&-T!?}kk-bg9;KhyFC z8`ov7B=qYSGk^)!BA)+038O<)(EY_=S)VU(9r~qf&^uob2DP!A8#rT2faRf3+pR-w<7Ni!TLUo{y%lFbNY`N2c3O? z7JZ6kNh5T4Tf=-u_w^RozBH!TdvFz$4NvwI^njrytiM%EwHpEdSt0G9(G#*Z8W(B- z3h^TGZ7K7`#zB7=nOBgYI4ljY6ws1KmzP$ye3Q}a4;{?8bI7g2?N#3k3(VQT+og&p z2aLy@eu!gD4ZKqM*AL79>D_!X`t-ywkPJxl;(KTQDc^(%Ubs$LzJ0ILtGaWwzxb&? zi7lw@%X22j5p_VKRj2YVtXJiYoFCZz=HeWM-I^PyC{kR=8hl@R% z8=_YvZS=jJ)~e*L=VwuNgZNmEvFfMv zlYjpBw4I;l26HJkh+~m zzX*`GI#!<_&sDAg$(@IQF{NODgs0hubvl* z#Xo%v2We0MWL@lK`R>mom4F91=zT^IF=EL1*FirNOUwf9K&f8+B*FI&sLA zsFt%;=Rd7++A|Yw-}f9fVDd6&zH9TV((R#o>_lk+8^g2mL_JuRVW!mVBq`7Z z(AL|P7}!qg_kXAAvSgQje}}S~fDx*Js?S#GUNi~*%^VGnY{1e!)w%l*@<|fl_Z0eG zsw&LxvY=EIM@mXrJ76`lKdsRj@#KL##{r&GCRo1|OFVD0N^^32yLxp^Vx*B+&bb>v zqBgY`EtfIBc39;c;> zmD_BS_hCwGC)v*FN8QF6U-W?aF7JvlEE>P$q-ikYl?WfttA4^#=sX!*RjsX~-$ofS z+{x7u(%CwV_36#t(fYiu)y+6k$@EDMv+v4Q8JSiCF?N^dF^VyKzOQ)=^t{kEgK7(# ze9Hb=lXRX$*(HvRL+MWz3)*csx?Aj@1O%QZe3^qN(!9t2(u1j)YM-4}o>_UyQTnzd z_SB6%lTrS-FBy+sGkyO!bA*aurnMOg#iVnX^NXW(OD-W~E#3Z#D*uo2`tM z;7UC;unLP>vOOxo4BqU;c@8WNS&sgjU-}#6QD;woA_+k-J3-Tf>5sAR=JTdOaaDY% za`&ba4uQ!Le85#Y4Vo)IHqt>hXEe@mI+*Z+9U~%6nV4#>Ur{!&!XA01@L#vW(HQbb zd3t$O0J~38tnGEdCP2PACDP)PMUwuP@fk2CSIb>n*`5(;)|ei-uuV2fLfK7*WO^lb zW<(*so@)((!t*NV#B!$Z%fH}+Tf*FR<1}MK{~d6xvH-(sqa@Bf-EiO(^y1emN32cD zD?8y70Q-wyOx>g-L>_Q*z%)5Po!#I}1$m>$>$K~jp%Kt$)dAn=WS3HYTKO_;Y^vjQ zPQTT-O^E;7PkuUdf~Jq()b@dV|NW<@(!bgw#N4Y0_jx$yZnj>tt@d+aDOe^0B3*J=$gd?+IJ}nppA~W*R zzdW}u4bZ2?rYxPUcLB>_$XznK!Rd!o<)~YVi*=xWrt|E#y0rm75P6HCCVVlPk~uPe z-_2q`k4*Eo;?TJU(Oe6xfLo6#B%lDOOP|&NI)m~CDKXbiv!zyb5_4V{kM_~NC;+*n zSEM7mi9VqJ0NON^M6id9=?it?utdPVpxYe7zrAg0~+Em=~ zX#1qm!`g=pPY)?q<5z_BX1lOfxL1GyNPpX;FPPNs-aAvRW4==ZnaOpYRCmn@ml@jX z2gP9852QoiQb4H&flMnXO#*6CNj@T^F<#%>t$WX`Gbj`!K6V^3yXvnUk&z~_{K3#I ze-Ey{%_VToo!c|Fenf*Qt+LOo1st24?&`xRp1M-QxH&&391Rq8pxb8eU}Zev0tVM! zx%2+(&0_JN1I{r?$;r%b-D0mj$pcM%SIOpWg4*9LxSE$a)<(+z9h#M6av_Yq=WJ%# zQW>;*l8c{o7}v)A?g5ZPF(BrGIh_HJUGvctnmq+tsS8L{?B&E654tPGRr@QSf9A2h z2)Oc0IMQ*$t%~U0(*dB4qzn$)fct!(Ch2=@DgoMZH`_pvHC1x{7P*{yFX!XW7njZ5 zPJb$hL>NP62kSg$!Ox&G{vsRGVB-lYnpwrxIHQpa%|Xl8L4SK5ecE##V@)j{6SkDE zz(}{WixltvTsUvgJNTM5;S2ll<*xWIfu2x!JP5czev=LG+(=Wg{fPou3Bv!p_0~OY zA?;2UVC`9b-#p@cb~Ozr_*X24)Mk`HYc*BwFQTJ8);LDy77XM+s~A~~VW8z^yjU1( z@$HT4{u@BD0zC+wz1eDQlo-g~?Pp-+Ko{`zDmP5 zd8P~S2myiaD(yve+V_#a{6JJ{0OQvzD#_J;9OAydD*zNV%iik6BR>_*Jc!>Fi#zXK*d3bF+eA4ja;LCiTdk zG`yr7rrb)Vu%}8UoUO)a+}SIs*3}UjsbvAg9<3gc;`e}3Px}e?Ogs;;Od{wL`AvTh zU0I>=y{vKiQBcJnOmJw?MA>+b{yAq2$ZE~z+t?@glRBLO-2nX*>&tuui-8M-M6hME zuCY5~fRDw5(?%v+h|_R-o#YW_iB!5CVx>*hONp*LR+t*(j)L);tA?TgmtT@>NK8D@ zs8}qRgTCRSL)--SR_~qKxF>F$z|u^ECkH$*0bo}a+cY>nWkC+u=0qNg>Z=6Yu83V= zG`B6nl&#n-v^g-)a~;Hf@o(idWdWmLkPxr)9O2zU&}1GeKPFiIY>qB$Gz8R_>i|)d z^NkMGCGB|r^gd-jS?C7I^E$)`PS zd9@VK(C3^}ehf}St?gDK>gwO!dTHYO1U8Fs_{u}3&fD1LZk?mW-w2S-MW(D zUMZIcunjrnUOZ6gdjuUrVib=N8# zf91iirmCR9YUnla@5zHL-C8};a%?TUpYDI+m`RrUePA?ll8dto3dR)e1p{UEOpbY6+;a1V51{y5;Howx$vzt&C0R2cD#2_H#s*r{A!ww__AVxU3hz~-1pHBzFuH!xn{gp2ex#aXfyqN)PgwRii#b~ zK{O41zB4Hx^$8k>V_J*sYov3?x5lR4&;>qWWm6U~UJKvCzUqYSjDSs`#hjmFE3N|9 zAlYBH0aSWwj4f-H=1=IvJNw7$hUaYFj=qE`eCcY8#ih(Y-D0h^>;lN>?;=d=yWiO( z7r}sMCfc5A+NW5`krjt|Q4uB!!Z=om&;f;tb5DmDA-up&wm;j96HBy?{B;Ckkr$DU zS@fjGm3CfQMdV6J>Mc_88SajEJdD$wKX{yu&MZ!?X^!lG_jL!U6&;NT)h1Nc<`{sG z^B*&Xpnvb5h;gz~RuAafsEKqO0^O09#ddSf0pc`mZ^y+uD#W{>uIqT}HW>zW+5gW>*YTe09g5)P0C9w~+O|CWns%9(EE@_@a6+-3jIa#omZ1O6YfOXh9 zajMrVqIF(@wca$7^p8`+T%IkXt3$|bg|qyy^WBe6!mP6Yi+hAJM@yE(p1abI7Vs`L|6 z21X8cQH_^$wLGT_@bUw3^H1EJvL|KH*9iLfzRwMpKbe}s-6-V`)&rrrs*rNf1s0y8 z+_yF|b=Z#EmQ>H_qu}uHa9Kmq zFQX=QD?RELUhp#coi`V~7}YQP_4ezJF4mbL&K?nVnJv_i4DY77yix~=U#p8VNz`66 z8Xe;@D6{T0{_AMaBfbC|0SCWGIOS*1dS@~u_mO(pHWw;9TUqye?EW~pV4a5n8L_*z zwie~rpz#>B`(ux)X<)*U8&)P>Zm~{gSYVcQgYRmfFa+hXIiW?>LyyiGXX|ho@TgY| zDV=IxZx(vMaf@^beFJOF1OcHowcfo z&8lVS!?se%oA6ur625mT)ep4uIGZ(7IUQN`JBL0AN&Q~JHWZjQVTJ+Ane&{6)QO$lKbO8(yHIaV^D#b}hdeQ?fTHr>?G zQf=(5YYsn_`mY6%7>{)@8QD4xMYioW2{2L|We;vy9@_**$&r-$p-WSiG zXnA2j4!_Bb0HyIlM#%`4S(Y~-7VZ^p0J&Gv%Y&IDNXo<>Ru_fA1A9W(z~|_G`5{! z{eBzRgn+XGw})}+#fdD|$c~S$Ic8k*4LFY;$B%;|A3`=*yRIQV5C!Zm2`vn6GA^QT z72fxpUOEbr6s{_DLY$VV@7VaHNm3*qSwkrU*#ZroA=`o-OFO7R+l6t0RsX;mJF0OY z&nbs^b@@c5zv6b2Wy71sSJecOnFcbvnosW~ZX(3X%)nnHAIUFnXgvy+G%F)WQTT;k@Qq$^=gV(cc?+)<_^kUksK)el_+g-bR+7! zFHk5gd^|z<-XoX^heJQ#FLL(e@%3Ta0~^p4@wX$U5Y6slWq!2FJ#V68a@iB^?L%2d zkZ4X+~#jb=BUduh4wg zmSH@$iwYf9=SKn#^^wOrj%_nb;FZHwny*6~}8M`-RkQm`z(np%u{65!#8H|0&Bo$d)=s zo0(WFmYn|Krc*Q@;jkYS_+=#glIC7>sf&x71OBHC4ma3692$Nz?|u*#y?*N;0{LGPdnQBwJVEKq~Zkc@K>%9L?vA(hm zb0*=>k1$8_%5Q<#h`Jwl;>f-FAFO zdSDHKDtN70*rdN1?KI4>w$S%`A*WxdJ|@%o-`-_UBqO5E%G_Z1vKqns2mSQ@{ZPia z8**}TEMNKHe2ptR!PL*(EPR9G9eO2L+E9CZ)4lDfT*qVX`A*s1z9r^58pp)VIN9Em zm#l{3@xMagyLwQjam_L1?*CjJf0R9}BN$-Ifq5tCsoclY-PEm|ZakcGY_l@qxRLHH zOHC2-Os!m(`u**y0EOy4hO?I~9xv#n&S3wB)C-xz0^+cR*>c_QuP&?tV>G*2aJ;TF znjjng4L5UhDe#yDsbO_(Lctxb>#qIgsz+&44C_pq>gNw`IZHxN<(lypCOK+;u^2PZ zgW$lx-N=@$cio4Mi8U+&mq!}cE4$4q3d%c)w8bUEXS35}ea#p~v9#Ik>g+;5oQ7_qM7Ur>;{PwsmU8r_07y55pMe7UmRchQ@zt7p7uX z_pd@*nDwo)T=Z40NB{A1&hxfPDLzs6=s#~{d#?%Qi!IZ^cPj{;kjjv#*Jb2I@L-SK zLKLI_kUXcuXK`2Z#Jho*e*{9^XjQ|d*{l<_D%CrPyTYsayX%g?_#oQw+=ZO-ui>{t zryIekkAdC+mrLiAc+95x6z|vukMaLSfuC`mYE%(1(<7p!6=h1*1%m{RhZxMaFnV#3&+otdOD8CE zCZO|Y{w}{%*;s8sZrS z)_fhAuS|%M!!tNHS8|g6gG-+mI0#Q}97nCTbb?p3v(9vYmG89d$ksFDPKsLA*oT?c zj8muWYnl>zDeX60;P5M)nonIA=XA;8@z`Unm$JLwgv0l;O+iM1GWAA1+$l-2mKs&h4)Zy5C2$n+a3I-Y;Qz@ELo)*-d`7Lk+>-% zM=ez`Rj}shY5EZR=JGq6h7}QL34uP?=t!}*`C;$wBKaZ7L!)U<+{hX|sinnuj2YNC z=K)-UuHAT_n{kEAU$+fkxq4UI#ElPgm2TEGHQd1%>~XVLypmgV$22g>9bhaI&STc3 zp*A%cDt_puU8Cj=KUOUspRtmI@1j||3S9=Km zBV25{qXyREE=?cr#5x?ieEaa_gQ8rByWaBNoK#;=>k$YB`nh_zS(NIB^u8Tp16uzk zkIPyw#fbiTkWeGOvGa}BNeB3+0X|2*vvMKO=|~9 zS)K+FL<0IS8GBrUExh1#TR!@aOZWM)gdlfa0oUm|3CcNvgMh@%_l=$ruJA&Idamo< zCjDHaNojNAyFyS07J)nt&Ap#K1EH5+5c{kIyd*>nv+BmxXh3iYOb)FQ54^Voo^aC%q7)94n3(uZl?-% zkWb6jQ=6%lKC$sJmdMQF-cY+vRF%_f3Zuag~0Ilkviw$e5ZE!>A@5SoJ^wJno2@jElFE57 z0x~wnxlp-&g_o^Nav{y7MlV=r+~F}fleIb~2ae(4M?9Vrqdkij4?P>!F|fB+!0CpG zhh;psMOACh;D{-fM>n!%?}DU+xf-+LEwrAl+7EC2ic@LXYfzW%m9~U6bd;{WiK@{` z|L~?%Ew{WyymwCysWC&07?mHe=CKv8tDM(MlLwBq-pp=11!= zXA=U&-k&nSmk1LriRhF}q0xZDVea`klzo9}f9pA_?XkpijboyVp2`#sw5R<_{P*vl zyD%(w^RF*3>J&1Cial4@VubpDMXTMPpR8b%;5i%K>h3NV(okw?2@3#*(j2MLNgPU& zEofq655fP`f?Fs0xw;v!QK-l+yk6;<<3^Y_}U-3W&exoIP!GU{)Tj>#H~qeq%}cvVhSvCO|+ z(W@_Pa&;##kfJ8kW`ma#mgI*{86e$YFx|wuNDM|QUiOOcaz=@V%eA(u*$s_aiGCIZ zgRK%1g}NTjhlC~!ChLB1+G$l!)!Js|>wFH;*57%rm>pnI3*@GktX}fQjyDA)1Ua z&D6UF!w2S0>Ty8smV$t~hU9rxFMb1B)V~@m>lQig-hk#S56u-BbG@~>XNZh&8J1UK z;p&n?`8S}66OHR`=i^1SOgQSv?N!)~CvcYB!omm;dQtp<$CYuHxvPo~XDuHh5C{RX zy;1TLGD@|$wU`#BTS{Xm-vilN0{Li;aOObhD+D5W7OH*M+?w3kCe${9vv-4k#d#^# z-yj?c%3*QD8m0P&xV7E?9P05ur)Ev@4@@{7G8=tsPeHE>Eq9WS{xo`SfU9p@`5Ag$ z#@X$>A%r05^wRP(x09Z01k^I6ey&cUu)4Dg!HoOrD1^bZ%Jl9jLnCrk`%hb`6Z|)Q z{c7VbX!(2~0yk1V2;Nd={gIwlgskKc7-vB%W+-z)pyuzQKS zvOq(cu`lQ6+`*SVZcPQ*0nVIZex8bKIE{#FD;CStp9;Q}^)%xAexT}`^gxMtN8W&U ztV|PDX@A~#{`?mC;;!4U{D7oDbgulj&SHDegeGlZE3etVnnW~%AEv+V~^S-h|$8jh=_}= z{*JF?l$4MmiJLqDML%7h=t3iw$QxGz4ZYI*bJ3&Z_V52DO!1A@W=q3yv$@I-fiLSMvRbGhIeFITiBzm75)S7; z_OpjVAmisU$vAzEDIhR&I~3VbQnNz79$!5Ah~^&ZEK<5um0It9%x*SF9X{}m(^Ch*yeWO zjcuiNWu04o1EeBqk*XTaQ19?ctNINjoilH!d2@8ZL7?+R;=Z zF@{T#-EAO(Q>S)mY5&D=78zfd+gNxlQ}JxLh>`g6O!vG5f6Jd3ihPTbIExhWc*dtV z_=jh04=2~az<`|xJcXxc)jOI`C`=&w&spU0c)4rxaI6YmAo@-Aq((E9>E7l(Zx`-f z>+kn$7A;iom_A7)^tI~jFiM1UsN#4|YU>H{a2USp7_f@zqkqU;IETF5H!gPiiM-e; zF|MOf%^7{svUFyE>cL=q>`u3>@x#48X6}g%tX%{qlzaXXNJ=?1Z`ICj6kc1lAzJ^g zl@f7X<({V-SbOa`t!@!TTPxa1J?ulZN3FCTZE(-GqYAQB`vt}27e(c0a>cSIy-ovXG4d0z$Yp50I4GtE|%xr0CSp{k(y?ovK2jcj>Q z#}~Y&60{YzDt+2UQB^f$wzZo7U8h$I2}_k5O^WM)k=3h-qe*1ygRTsB$e3m)OY4HZc$q^|9S!oh9o=S4ykxa2q^65U zfP3YhFC&Lrm~e1msXIIpgNi&7V;QJo?2z767p@WYAs;(CjU#W6RX=!QJ%OXLh~aD} z9>x@QVAqoNC4F2EX#4qM2UIXKthP?QP#i?3uH2 z*uqk(>r>cQ+GKm84Dg~~aP4ro_m_P7JDk%wlZ`wako9X&I8eB6tX+Ahd&=M9JPb|o zMH4EmR0~w&lN|Wlxy=bXY~RsBI{wAH+dGi<02n`gyVSR#<#VVD2pIno1Y}w;7?s=6 zKJ92V6=Y`8_Ox&QUuDfL^3h!oxdzn)eO_>si3u^qQdw~CnCLZ_8Wrn7T5llQx051phU+@aH0Y8cK#6xq>)^|s{b*+m~ot>UvM6M5t&sWu;7m}si^rjJ`gbosEQ{=p4o zN4Z#h$M9al^b&w_O0@xJfOr@a7_J>H@vkzH8WVS$%MkUpKBi!Q{O>hU9y z)t$UaW4NPskiF%VYyxZSPw`%Q!s~<#FyV-Jy(yJU_vwB!RY$yxKM6}r$9JNV`H)!s zPm$tf2t>@M1-W`}y;fmla?*QKGkIy)_|6+)z6@1{XUpcW(SPJ{ZSrOP7gz^-7|g|R zwa;H)JWLngK^lz2f)D-lykZ+9`zpu5RaNBie|pOiy`%Ptn-M~GYSp`$&083-FPd%r zD=}q|kCr$3dEtSVKZSB1J(@-fxvX8OLLL$dss~x6CiZhgM}EUoYEcJ8$@pMn*tv@2*!C$dS2FE4~WN z!8}b+LoeZ$+FfvV3{^pEQ zzgj)?@Pet{@d9~v2pm~416%lTe21oGs%CY60oX(I+e6oR^0B;z#%x)VK(-J02$tk) z?<)5JlzOZcuLDC3g4rV;TY5T30;YPku$B6{1tCE*(z!+rzhZ$rKcd4DFSSnS9iU9;wzv*d&_#G(Jw zyKFPQ6G38*Tn6>DA)$PfYM+`fWh9Xa?;g4W22GXFwa-dvDZs}VfPmekz<9`|TG+ed{%_yZq#7saK+~SQcSFi4C5Dv9k z5RV*v%D5CkiBTR}IGFGBEzF(+CXj}~45n?{`06})1F~t;>Ba~NS7)*WgnWfw<4YH@ zBh7T*XYd?2`Vg@rPp+E-JBm9hRIxDz`ERNt(reu0&#+_`dUCagcDx)TdH#YGf4Pu}1Q-*{%yau?r(h_T{F9-9EuCV@af@tsN@oOOPhDiipT`;Dba@n)Z%4Ho}onBPrc?OGkl zXI@A`?II}s2nMuZ3`mdu5p4m0yhLuPPVZJL;eH#HQ?6X@IUOc!mj#ZVowc3ZTCI_# z`b7;YoH8~6O`g=3>87HEX5wWv&|qw7I9Y=I6Y-D^ zT&OydRpN|8)`#oJ*nkS5Fkxh@EXGWa-=ETvIkLbUHTWx?-{V6%9t}c6=v#yfniHVS zb)Y=CI7lOLU;GeY)tX2R6(lDC=-B#P>!&2(O7=R$_BwCn+hi`jJwZ%QWLZx<|Jrg2 z;c$vzEs_spLZbgr;Zh$}0pK+aSciO7#<4i|a21SePGK|khLByls(zo{Y~y-6pT;Cf z3WTyRPGg@m&$yof(LF%-^a+RG3D%HDlH=f$>4NLYQ2j!Lit}AvK9BPHnqSuKhCEJy zPOv^-ma%0#f|4(<{z+)9&YDt?w;$ip6>5VKC$||Mos~D(qJwUr(*0b}{^W3D;DTSN zGQ4jDAjyrD*6@r{>DYkhz^g79BO}B`WoU??2-UmT%-VH>L?WpM`P~7Tg4R zjWT~Q%2}FCV_NvXot06`@qoh^l)98U6OI2ftiw-oO?LX*LQ}ojK#FBEmA<9k|9cf` z1{f((1Vbn47y0O7fcJmD^=*oohQ-V12#3Pta4)jNZw^othhO5f-;g%kpL|RX_puxI zW}nsaAFmQGI}~oy;lnNki38uiz&$_XaTRQrdd{DihmBAz+s0JquhloUR!6wOr5A$} z4E#XyB>fh%(gpmzh2C;5Nj zU-RkpjewT5QiFg)@S%Y39p|d*8iMjQau2*RXTq2)C3GL7%2q%V}Gt1pn*5$l5&I)#2dZWb=vW`@>`pVFY? z{F;H9xqX1keR)IB8`xM$p0(^;3>Hm1)CIX&p{nk9X?i=rM(oMqub!T+iF?7AX!?b( z=$cm`g;JKjyG)^GEi%`OFOf(9M40L$&b|>2@5#bO$VLA-Xs!PDPDcuXYR^>tOp82D zF6H$j{eE^Li*2P!t}=mL`M9)*u(u(w)*;KGR9-c)Ml7qiU0AIPnGHeBWcIsEQ)W6cBc!>H2h$buyQ z0K4%T1O*w#M~ftlGz(o8SpJTmXW@J98U^!BT+($Ha_2kzIFXTh#a5&-66zUCPq<}R40l9L3 zv(8#5DHebTv{xq|1m!=m8FQ?hq@Jd=RlZcf3+}zcX9XRkN@@3oLzKcp%{YcA<1+^zv z^nL=^5J$W5A@>|Oii;t)wfcA%x9dkaW=mrQ;?6`kG&0j00Jp{DMI|K2sx7Dj^18e*r{1Xbj{V6pqREKz|Q{w$$dEgTcLjXM| z5>(moRV{K!ar!D=dzV_h^_JfeB00_UmMy!71^~D(i7b$9w!^>CVjR*F=MxiA`f)z1 zmCAyM@u3u!ri&HZ>vzl^8vxtjI=xGeO2*?uy+%-m033Lep8SnZgbslW>~NB;0!F?J ztKkquI!pFPq1V$)gM;*zafJV#>G(|guJ zo~{JGD*;NXQ7z+TzfGaXaCjjI3iMg%HTZ54pv1}*T#|p64}RAZB{jqcmo`{$MM?ngO_*C5;eeX!wGH_K%waG zx11iTaZMBA`ww1YMO*mVKyP_kybNHe14N@Cz9*+FTB(-8>uA&cVc-xdv*|u<`%vgI zf|y;N#-Bfo-2pyjA|1~J;BRzki9(oDUqcJlL28-FbDErQI#q(f9KR|1F?71u@hSdu zLQZ*5RcV?Z>Fbk*(r)liV0z17kzbh6@Nr_#g)~zYrLqqlXtgTO>6BLLi0#fI*(G<< z;iArFIuN)_QMi3ve!VR&)xsb~e33+~a%^KB<7`|~fti2MLDxBTDT zn(+|B=|=CH^(4J15#;-U_g%ykKr?w3-f_%+{%k~MUd9c}nXAhsfG2RQ2ZK@df&nt9 zh^!8%ARhWak5%&i^yj-c?obc)g%5W?>5mJ92wG5T&SZ5?0ky(=xTxYEqnzq>P!uR_ ztybOS9NIb9_(d8-?b!nwLVM|!@Zm$oISOvgnS3ND7ZNQ(eO$LnJY+;31BAHG)%9W^ zxVin}Qt!{)4hv*&`FadtT_Mz4PP~Q?gojwB`(%OXMjo#EX zT`D7sR%=SKi}RRE&IrGlfTo5&&q;NU7zGptSr>80Z> zRQ~MAC_j>oHu$YCJn*q~W*;cL7#Y-F65#@RX$BkBK^=Ka);aSViMQc!_L9pKp#gYu zVV2J_9Y>*a?*8J$eC$elc?IF9vp9v%8Q)0jTP6HK^QA0n>c9 zs?!SDf6mh^?)H^R*Bohpvt>V6kFaL{Xq!k_>> zL#Azi`%m_;MB&n5&G}kW{3K7Fc9{RLe8>04`4zs{zaN#byZ_dB61x$h(jv>0#RA(b z(|uHF4PfETlcg_v-3hDvyZvtiq&mQt{J=3M$X-#)^UmiHFB=xlms)m`?FHVXAGdZ1 z)i`+B(`f*zV%gpDnYAm9N#lkhy7;tnvbW`pmsh3!dJ&piww$CPlkRYo*Ml2Lv zR)+5iErxLK3g<7AW6+ZWSNxmWA{!?R)S!5p?mn3Syu78`%8~np&tVLSgV|RmBHUB!lFRjl5Q5@yN}^$@3#_ zGCx;WPJQdmiIXMYJg}YC!kgjNW>$Ksm<<0C?6GZB=a`9j+13aD8U#VCzP_FXXl@Jn z$X0GzD@yZ~?}6;^~~Q$+U0oS7D_e_}@4iVGz(Tujx)9exb8O0Wpr zw!jyl3jTv*Z$!LaeEyACgYtilKKvjSKmUL2UHdfTrE9jR-3RnR4~PG>WMuNAk?iqwegZ!w zEz&=a#X?8HMyy+>LyydBa24AP8TV@+npX>+-}@NUqw4SV;Fg(m|1~53db2-j3(6)A z_qWoDv;c{0)BdHM1F;Bjuk$uc3@Dxl-V17u3C52Zzv_8G$Z)Jgg|DlyYTo@!P*OAb z>zo^kI~yYx$c{QH(-RrbphX=oO26IC3Aq}PkypqhzB|)eGE`nS{P^u`j46b2>tx0a zql^h^ud4h*!vsJ1;w_jH zxP&(|Q#B5DiGmct$)e4Z6X>Xc(DT2~O7-U}vQy;MORc(R-pk^Gc=ssZIb~R<9#5i- zy%_GCZqAO#BQLaZz{?vyCu5>8Z)Z#ka=Xp|u3Rozx?ip{+H`9=xp;h=Ih$+pY~X`!ifaywpu~O z*^i+?UtDnuoZ-IER~Ju7n?B!}6+t8y>rB=)R>OO!*e=&8Gh$JE9*s+QP&ODT@JxPI z#0aPpud6THi)(gG+CKI&iw_YqqjMB=X2B*Z8NASHc8^DdE>qm|6+)-s$mb%9j9WRSY`E zwsC;N==G+ZJ1^mjPF;{3oQMS&^AGUTDkw@{^aC%SKjhY2I}@G{*oh`Ebvd%n{`UV6 z-l9=5N2wH%zt0#w)QY2j%w2_%+ZNunXU}|lc z*w#_wn*Z=dgg{#~Uyq1)aXC?0`s}6sB|nvjE$SV_cL(TPtJdPqI1LV!Mm!^^GF19) z$F<$QXmgqPgVJff)s#2;M|sF3xxB{`-DP)Edd=@e2-uoHCH=^YFU|7==&#<|!6VPH z(JJX;hs%g_#nT6%H3KDvzk|Zj2!SV^YvDf7{-uX=B9}D@-hK-$145*T$Uw<;wSC0Q zx+7AKWbKmIwBaXEf%VM+rzRr|rshe;m z&Ap>bdWo%qk3A}UhgcQ6JNHP42zEXG_&_?B%8QM`hlMwBQuw; zfM4GgC@o_|FzchKPx0h-5!5)M*R8YHvB_~$IuZWGCIKCrykd2mPnIT_@5H>O9mjMG zy6-*L1Il(qT=Q#MH6Zi(6`1O*h&0|`R7pK|l#RQh?*Q<o=2fP5dzE&vIUMR`QML|n4Vsf+;Mpe_)|K=|=5^ykds{wFOlg8hTR zwj9#yrWpgbTw9N~>{(5Y1((ek=fSHxm57Blxyunv`3&+@U~zU0Y5ltt=F_&@Lle9m zW?V(ZW2s}*oK3uwr}v1RMn4YdzH?D5xSW!h&Cwcldi%1tv*k_D;<9uRj)YyB?X-TE zyT|KW7s$%-Iy;gzJI_4VJ{{WFbs#8Ijt`u^SZg6#!1Vs$=d&yR<_+7%@Gwm9!)Vf} zJvSq|XA~+7K#FyYDN~ZKl*yYTDQaAVXR}p`vAXRk460%A)oj;H?wukDYl}sBlR0ju z;TL72RtuYQ%HMsbcqdW7oIjIui~ zOAvW|F?M5(N__e!|Fb)h>??Qg8)_JgR!>+h_@4|Mh@}galt>4YEXLJDcCT?8-)Arw z;+MCI4arK6wwc=Nj4FTc{jZK&5{YIiRgqK546mVTtuJDUotWK^98V9+jZe5uizoiI zUrJ83=!sFVNWR6Rnc?GvSV`WWeiY2tES@;|p77I(!3n+s)z5y$(OtbG*Ir>Bj=i;6 zriV(=QFnXxz&C4Gl6UyAne_-nqNWeTBXXH_u@&PrFJAr6bpNs`^00Q(01f2*^O|}6 z;;Y6^mtb2k04!HXo;p zubC~g5*#3TU$a=?)!mUIyRWCDhB0`MZr3>D=17*sK;v$~Nv-Ci=h^r`ejU`L{XtWi zKQad71n&WJv%dVn1J}Hdsf>Rqwb{eM(lQ~fEPLyVS{G;>Z#FTufR(0c?x{9CNW{h- z<84^Y&3i5)!0J0V+Zc#K#^$orr4u@qG+(xwp22AFT>ap+3#u;{Kev;E?*%6UL$@5$ z(MATOc;THlG}|B{0w5S1=?VfDEr)Lkk{WkrHSe32L4n$!S9mK)I0hhZp(%`u<&Tnp+!7)OhY{0I->x63uzmV^%2w?Hd%itufT*&tlo-P8Q$Jk zNkYMNqs1?{#nG^o^a@i47P~r8JG>w-?w>8)1Tz;dDE8(+v^62SHXbS<@`wMQjF9$} z^Y0IAUdm?ikBHL6DS&WQP0tf$13D_XX3~|uG`qadoP&>!B!#7{njpHaEMNE}GArj( z{*f1R-{O=*)Sj)*;wvJJ$7G?;m(%s+Ow+|9JxVY@kyik6GselUTtn1Ggtjc%VUFjr z;sNX{FkKruuI|efGI~u%e@?!0CqDBZ*J4(#T_7(IwNfpCI7$I(Y9%F>12+rD-mN0Q zH~^o%LIt*RCGGIsj7!XT;UZ-%220UCV?+Em;6}ud+jse|)!$ZC+;Z9*-2mDG<^HC# z16Zid5DyezbnbfX@{qBYYqk5?VTNF@U7iHOf}4}s%Kh*dTU4Iuz7)FcoQ-EMD0E*8 z_^dt}p?GYD5d5iiCv;yW8r?hovcpPuG8DJq3be@^+12$6QENn1TeNY*0`5>x22b|r zbG2=Re$ExxwqpR=G2O~`wY7Hg_FQU+!Rf8$kVs#CvQe)HUPKT; z(73R_#2c4zBk$cCp5SWT01d54KRhMVY?NXg=%cc3bQFqBY{+A!W--(8!PlMrzL3|3&1&ZV|NDQW1@yKoSSBBoI_xKnV=NX4 NX>I>o^?vUQ{{`s0G++P# literal 0 HcmV?d00001 diff --git a/assets/nf-core-plantpathsurveil_logo_light.png b/assets/nf-core-plantpathsurveil_logo_light.png deleted file mode 100644 index 25d0133ad13fb9704637569511347ed6ae074fce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86967 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 OD{ -Content-Disposition: inline; filename="nf-core-plantpathsurveil_logo_light.png" +Content-Disposition: inline; filename="nf-core-pathogensurveillance_logo_light.png" -<% out << new File("$projectDir/assets/nf-core-plantpathsurveil_logo_light.png"). +<% out << new File("$projectDir/assets/nf-core-pathogensurveillance_logo_light.png"). bytes. encodeBase64(). toString(). diff --git a/assets/slackreport.json b/assets/slackreport.json index 36662fa5..0cf2eb7c 100644 --- a/assets/slackreport.json +++ b/assets/slackreport.json @@ -3,7 +3,7 @@ { "fallback": "Plain-text summary of the attachment.", "color": "<% if (success) { %>good<% } else { %>danger<%} %>", - "author_name": "nf-core/plantpathsurveil ${version} - ${runName}", + "author_name": "nf-core/pathogensurveillance ${version} - ${runName}", "author_icon": "https://www.nextflow.io/docs/latest/_static/favicon.ico", "text": "<% if (success) { %>Pipeline completed successfully!<% } else { %>Pipeline completed with errors<% } %>", "fields": [ diff --git a/conf/base.config b/conf/base.config index ec9de2b8..bf12718f 100644 --- a/conf/base.config +++ b/conf/base.config @@ -1,6 +1,6 @@ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - nf-core/plantpathsurveil Nextflow base config file + nf-core/pathogensurveillance Nextflow base config file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A 'blank slate' config file, appropriate for general use on most high performance compute environments. Assumes that all software is installed and available on @@ -20,7 +20,7 @@ process { maxErrors = '-1' // Process-specific resource requirements - // NOTE - Please try and re-use the labels below as much as possible. + // NOTE - Please try and reuse the labels below as much as possible. // These labels are used and recognised by default in DSL2 files hosted on nf-core/modules. // If possible, it would be nice to keep the same label naming convention when // adding in your local modules too. diff --git a/conf/modules.config b/conf/modules.config index d266a387..d203d2b6 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -21,6 +21,7 @@ process { withName: FASTQC { ext.args = '--quiet' } + withName: 'MULTIQC' { ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' } publishDir = [ diff --git a/conf/test.config b/conf/test.config index ada7c20f..ccbea9da 100644 --- a/conf/test.config +++ b/conf/test.config @@ -5,7 +5,7 @@ Defines input files and everything required to run a fast and simple pipeline test. Use as follows: - nextflow run nf-core/plantpathsurveil -profile test, --outdir + nextflow run nf-core/pathogensurveillance -profile test, --outdir ---------------------------------------------------------------------------------------- */ diff --git a/conf/test_full.config b/conf/test_full.config index 398ea6c4..b831fbfc 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -5,7 +5,7 @@ Defines input files and everything required to run a full size pipeline test. Use as follows: - nextflow run nf-core/plantpathsurveil -profile test_full, --outdir + nextflow run nf-core/pathogensurveillance -profile test_full, --outdir ---------------------------------------------------------------------------------------- */ diff --git a/docs/README.md b/docs/README.md index ad216901..11bdf6ff 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,6 +1,6 @@ -# nf-core/plantpathsurveil: Documentation +# nf-core/pathogensurveillance: Documentation -The nf-core/plantpathsurveil documentation is split into the following pages: +The nf-core/pathogensurveillance documentation is split into the following pages: - [Usage](usage.md) - An overview of how the pipeline works, how to run it and a description of all of the different command-line flags. diff --git a/docs/images/nf-core-pathogensurveillance_logo_dark.png b/docs/images/nf-core-pathogensurveillance_logo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..cf9d2f052bfd4110b632e44adfecbc35baadfc78 GIT binary patch literal 22439 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 BN0|Ts literal 0 HcmV?d00001 diff --git a/docs/images/nf-core-pathogensurveillance_logo_light.png b/docs/images/nf-core-pathogensurveillance_logo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..f54396f19bd51a7ed2c91d17c1062d9007327336 GIT binary patch literal 18912 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 TgNE=ot5XY| literal 0 HcmV?d00001 diff --git a/docs/images/nf-core-plantpathsurveil_logo_dark.png b/docs/images/nf-core-plantpathsurveil_logo_dark.png deleted file mode 100644 index d584b6285dcd341a8b90894e3ba181b7ef78df80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24124 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 QTRh0p>>{f6yvJYv2UoHrB>(^b diff --git a/docs/output.md b/docs/output.md index 0f5ac723..bcb17788 100644 --- a/docs/output.md +++ b/docs/output.md @@ -1,4 +1,4 @@ -# nf-core/plantpathsurveil: Output +# nf-core/pathogensurveillance: Output ## Introduction diff --git a/docs/usage.md b/docs/usage.md index 631bdb65..746092b2 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -1,6 +1,6 @@ -# nf-core/plantpathsurveil: Usage +# nf-core/pathogensurveillance: Usage -## :warning: Please read this documentation on the nf-core website: [https://nf-co.re/plantpathsurveil/usage](https://nf-co.re/plantpathsurveil/usage) +## :warning: Please read this documentation on the nf-core website: [https://nf-co.re/pathogensurveillance/usage](https://nf-co.re/pathogensurveillance/usage) > _Documentation of pipeline parameters is generated automatically from the pipeline schema and can no longer be found in markdown files._ @@ -57,7 +57,7 @@ An [example samplesheet](../assets/samplesheet.csv) has been provided with the p The typical command for running the pipeline is as follows: ```bash -nextflow run nf-core/plantpathsurveil --input ./samplesheet.csv --outdir ./results --genome GRCh37 -profile docker +nextflow run nf-core/pathogensurveillance --input ./samplesheet.csv --outdir ./results --genome GRCh37 -profile docker ``` This will launch the pipeline with the `docker` configuration profile. See below for more information about profiles. @@ -75,14 +75,13 @@ If you wish to repeatedly use the same parameters for multiple runs, rather than Pipeline settings can be provided in a `yaml` or `json` file via `-params-file `. -:::warning -Do not use `-c ` to specify parameters as this will result in errors. Custom config files specified with `-c` must only be used for [tuning process resource specifications](https://nf-co.re/docs/usage/configuration#tuning-workflow-resources), other infrastructural tweaks (such as output directories), or module arguments (args). -::: +> [!WARNING] +> Do not use `-c ` to specify parameters as this will result in errors. Custom config files specified with `-c` must only be used for [tuning process resource specifications](https://nf-co.re/docs/usage/configuration#tuning-workflow-resources), other infrastructural tweaks (such as output directories), or module arguments (args). The above pipeline run specified with a params file in yaml format: ```bash -nextflow run nf-core/plantpathsurveil -profile docker -params-file params.yaml +nextflow run nf-core/pathogensurveillance -profile docker -params-file params.yaml ``` with: @@ -101,28 +100,26 @@ You can also generate such `YAML`/`JSON` files via [nf-core/launch](https://nf-c When you run the above command, Nextflow automatically pulls the pipeline code from GitHub and stores it as a cached version. When running the pipeline after this, it will always use the cached version if available - even if the pipeline has been updated since. To make sure that you're running the latest version of the pipeline, make sure that you regularly update the cached version of the pipeline: ```bash -nextflow pull nf-core/plantpathsurveil +nextflow pull nf-core/pathogensurveillance ``` ### Reproducibility -It is a good idea to specify a pipeline version when running the pipeline on your data. This ensures that a specific version of the pipeline code and software are used when you run your pipeline. If you keep using the same tag, you'll be running the same version of the pipeline, even if there have been changes to the code since. +It is a good idea to specify the pipeline version when running the pipeline on your data. This ensures that a specific version of the pipeline code and software are used when you run your pipeline. If you keep using the same tag, you'll be running the same version of the pipeline, even if there have been changes to the code since. -First, go to the [nf-core/plantpathsurveil releases page](https://github.com/nf-core/plantpathsurveil/releases) and find the latest pipeline version - numeric only (eg. `1.3.1`). Then specify this when running the pipeline with `-r` (one hyphen) - eg. `-r 1.3.1`. Of course, you can switch to another version by changing the number after the `-r` flag. +First, go to the [nf-core/pathogensurveillance releases page](https://github.com/nf-core/pathogensurveillance/releases) and find the latest pipeline version - numeric only (eg. `1.3.1`). Then specify this when running the pipeline with `-r` (one hyphen) - eg. `-r 1.3.1`. Of course, you can switch to another version by changing the number after the `-r` flag. This version number will be logged in reports when you run the pipeline, so that you'll know what you used when you look back in the future. For example, at the bottom of the MultiQC reports. -To further assist in reproducbility, you can use share and re-use [parameter files](#running-the-pipeline) to repeat pipeline runs with the same settings without having to write out a command with every single parameter. +To further assist in reproducibility, you can use share and reuse [parameter files](#running-the-pipeline) to repeat pipeline runs with the same settings without having to write out a command with every single parameter. -:::tip -If you wish to share such profile (such as upload as supplementary material for academic publications), make sure to NOT include cluster specific paths to files, nor institutional specific profiles. -::: +> [!TIP] +> If you wish to share such profile (such as upload as supplementary material for academic publications), make sure to NOT include cluster specific paths to files, nor institutional specific profiles. ## Core Nextflow arguments -:::note -These options are part of Nextflow and use a _single_ hyphen (pipeline parameters use a double-hyphen). -::: +> [!NOTE] +> These options are part of Nextflow and use a _single_ hyphen (pipeline parameters use a double-hyphen) ### `-profile` @@ -130,16 +127,15 @@ Use this parameter to choose a configuration profile. Profiles can give configur Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Shifter, Charliecloud, Apptainer, Conda) - see below. -:::info -We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported. -::: +> [!IMPORTANT] +> We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported. -The pipeline also dynamically loads configurations from [https://github.com/nf-core/configs](https://github.com/nf-core/configs) when it runs, making multiple config profiles for various institutional clusters available at run time. For more information and to see if your system is available in these configs please see the [nf-core/configs documentation](https://github.com/nf-core/configs#documentation). +The pipeline also dynamically loads configurations from [https://github.com/nf-core/configs](https://github.com/nf-core/configs) when it runs, making multiple config profiles for various institutional clusters available at run time. For more information and to check if your system is suported, please see the [nf-core/configs documentation](https://github.com/nf-core/configs#documentation). Note that multiple profiles can be loaded, for example: `-profile test,docker` - the order of arguments is important! They are loaded in sequence, so later profiles can overwrite earlier profiles. -If `-profile` is not specified, the pipeline will run locally and expect all software to be installed and available on the `PATH`. This is _not_ recommended, since it can lead to different results on different machines dependent on the computer enviroment. +If `-profile` is not specified, the pipeline will run locally and expect all software to be installed and available on the `PATH`. This is _not_ recommended, since it can lead to different results on different machines dependent on the computer environment. - `test` - A profile with a complete configuration for automated testing @@ -175,13 +171,13 @@ Specify the path to a specific config file (this is a core Nextflow command). Se ### Resource requests -Whilst the default requirements set within the pipeline will hopefully work for most people and with most input data, you may find that you want to customise the compute resources that the pipeline requests. Each step in the pipeline has a default set of requirements for number of CPUs, memory and time. For most of the steps in the pipeline, if the job exits with any of the error codes specified [here](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/base.config#L18) it will automatically be resubmitted with higher requests (2 x original, then 3 x original). If it still fails after the third attempt then the pipeline execution is stopped. +Whilst the default requirements set within the pipeline will hopefully work for most people and with most input data, you may find that you want to customise the compute resources that the pipeline requests. Each step in the pipeline has a default set of requirements for number of CPUs, memory and time. For most of the pipeline steps, if the job exits with any of the error codes specified [here](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/base.config#L18) it will automatically be resubmitted with higher resources request (2 x original, then 3 x original). If it still fails after the third attempt then the pipeline execution is stopped. To change the resource requests, please see the [max resources](https://nf-co.re/docs/usage/configuration#max-resources) and [tuning workflow resources](https://nf-co.re/docs/usage/configuration#tuning-workflow-resources) section of the nf-core website. ### Custom Containers -In some cases you may wish to change which container or conda environment a step of the pipeline uses for a particular tool. By default nf-core pipelines use containers and software from the [biocontainers](https://biocontainers.pro/) or [bioconda](https://bioconda.github.io/) projects. However in some cases the pipeline specified version maybe out of date. +In some cases, you may wish to change the container or conda environment used by a pipeline steps for a particular tool. By default, nf-core pipelines use containers and software from the [biocontainers](https://biocontainers.pro/) or [bioconda](https://bioconda.github.io/) projects. However, in some cases the pipeline specified version maybe out of date. To use a different container from the default container or conda environment specified in a pipeline, please see the [updating tool versions](https://nf-co.re/docs/usage/configuration#updating-tool-versions) section of the nf-core website. diff --git a/main.nf b/main.nf index 4030ec0b..ba4fcd96 100644 --- a/main.nf +++ b/main.nf @@ -1,11 +1,11 @@ #!/usr/bin/env nextflow /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - nf-core/plantpathsurveil + nf-core/pathogensurveillance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Github : https://github.com/nf-core/plantpathsurveil - Website: https://nf-co.re/plantpathsurveil - Slack : https://nfcore.slack.com/channels/plantpathsurveil + Github : https://github.com/nf-core/pathogensurveillance + Website: https://nf-co.re/pathogensurveillance + Slack : https://nfcore.slack.com/channels/pathogensurveillance ---------------------------------------------------------------------------------------- */ @@ -15,10 +15,10 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -include { PLANTPATHSURVEIL } from './workflows/plantpathsurveil' -include { PIPELINE_INITIALISATION } from './subworkflows/local/utils_nfcore_plantpathsurveil_pipeline' -include { PIPELINE_COMPLETION } from './subworkflows/local/utils_nfcore_plantpathsurveil_pipeline' -include { getGenomeAttribute } from './subworkflows/local/utils_nfcore_plantpathsurveil_pipeline' +include { PATHOGENSURVEILLANCE } from './workflows/pathogensurveillance' +include { PIPELINE_INITIALISATION } from './subworkflows/local/utils_nfcore_pathogensurveillance_pipeline' +include { PIPELINE_COMPLETION } from './subworkflows/local/utils_nfcore_pathogensurveillance_pipeline' +include { getGenomeAttribute } from './subworkflows/local/utils_nfcore_pathogensurveillance_pipeline' /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -40,7 +40,7 @@ params.fasta = getGenomeAttribute('fasta') // // WORKFLOW: Run main analysis pipeline depending on type of input // -workflow NFCORE_PLANTPATHSURVEIL { +workflow NFCORE_PATHOGENSURVEILLANCE { take: samplesheet // channel: samplesheet read in from --input @@ -50,11 +50,11 @@ workflow NFCORE_PLANTPATHSURVEIL { // // WORKFLOW: Run pipeline // - PLANTPATHSURVEIL ( + PATHOGENSURVEILLANCE ( samplesheet ) emit: - multiqc_report = PLANTPATHSURVEIL.out.multiqc_report // channel: /path/to/multiqc_report.html + multiqc_report = PATHOGENSURVEILLANCE.out.multiqc_report // channel: /path/to/multiqc_report.html } /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -80,7 +80,7 @@ workflow { // // WORKFLOW: Run main workflow // - NFCORE_PLANTPATHSURVEIL ( + NFCORE_PATHOGENSURVEILLANCE ( PIPELINE_INITIALISATION.out.samplesheet ) // @@ -93,7 +93,7 @@ workflow { params.outdir, params.monochrome_logs, params.hook_url, - NFCORE_PLANTPATHSURVEIL.out.multiqc_report + NFCORE_PATHOGENSURVEILLANCE.out.multiqc_report ) } diff --git a/modules.json b/modules.json index 1dcc6b64..a230e14c 100644 --- a/modules.json +++ b/modules.json @@ -1,13 +1,13 @@ { - "name": "nf-core/plantpathsurveil", - "homePage": "https://github.com/nf-core/plantpathsurveil", + "name": "nf-core/pathogensurveillance", + "homePage": "https://github.com/nf-core/pathogensurveillance", "repos": { "https://github.com/nf-core/modules.git": { "modules": { "nf-core": { "fastqc": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "dc94b6ee04a05ddb9f7ae050712ff30a13149164", "installed_by": ["modules"] }, "multiqc": { @@ -21,17 +21,17 @@ "nf-core": { "utils_nextflow_pipeline": { "branch": "master", - "git_sha": "3aa0aec1d52d492fe241919f0c6100ebf0074082", + "git_sha": "c2b22d85f30a706a3073387f30380704fcae013b", "installed_by": ["subworkflows"] }, "utils_nfcore_pipeline": { "branch": "master", - "git_sha": "1b6b9a3338d011367137808b49b923515080e3ba", + "git_sha": "51ae5406a030d4da1e49e4dab49756844fdd6c7a", "installed_by": ["subworkflows"] }, "utils_nfschema_plugin": { "branch": "master", - "git_sha": "bbd5a41f4535a8defafe6080e00ea74c45f4f96c", + "git_sha": "2fd2cd6d0e7b273747f32e465fdc6bcc3ae0814e", "installed_by": ["subworkflows"] } } diff --git a/modules/nf-core/fastqc/main.nf b/modules/nf-core/fastqc/main.nf index d8989f48..752c3a10 100644 --- a/modules/nf-core/fastqc/main.nf +++ b/modules/nf-core/fastqc/main.nf @@ -24,7 +24,7 @@ process FASTQC { // Make list of old name and new name pairs to use for renaming in the bash while loop def old_new_pairs = reads instanceof Path || reads.size() == 1 ? [[ reads, "${prefix}.${reads.extension}" ]] : reads.withIndex().collect { entry, index -> [ entry, "${prefix}_${index + 1}.${entry.extension}" ] } def rename_to = old_new_pairs*.join(' ').join(' ') - def renamed_files = old_new_pairs.collect{ old_name, new_name -> new_name }.join(' ') + def renamed_files = old_new_pairs.collect{ _old_name, new_name -> new_name }.join(' ') // The total amount of allocated RAM by FastQC is equal to the number of threads defined (--threads) time the amount of RAM defined (--memory) // https://github.com/s-andrews/FastQC/blob/1faeea0412093224d7f6a07f777fad60a5650795/fastqc#L211-L222 diff --git a/modules/nf-core/fastqc/meta.yml b/modules/nf-core/fastqc/meta.yml index 4827da7a..2b2e62b8 100644 --- a/modules/nf-core/fastqc/meta.yml +++ b/modules/nf-core/fastqc/meta.yml @@ -11,6 +11,7 @@ tools: FastQC gives general quality metrics about your reads. It provides information about the quality score distribution across your reads, the per base sequence content (%A/C/G/T). + You get information about adapter contamination and other overrepresented sequences. homepage: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/ diff --git a/nextflow.config b/nextflow.config index ba74ca7d..225ba432 100644 --- a/nextflow.config +++ b/nextflow.config @@ -1,6 +1,6 @@ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - nf-core/plantpathsurveil Nextflow config file + nf-core/pathogensurveillance Nextflow config file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Default config options for all compute environments ---------------------------------------------------------------------------------------- @@ -38,8 +38,7 @@ params { show_hidden = false version = false pipelines_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/' - - // Config options + trace_report_suffix = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss')// Config options config_profile_name = null config_profile_description = null @@ -153,6 +152,13 @@ profiles { executor.name = 'local' executor.cpus = 4 executor.memory = 8.GB + process { + resourceLimits = [ + memory: 8.GB, + cpus : 4, + time : 1.h + ] + } } test { includeConfig 'conf/test.config' } test_full { includeConfig 'conf/test_full.config' } @@ -161,9 +167,9 @@ profiles { // Load nf-core custom profiles from different Institutions includeConfig !System.getenv('NXF_OFFLINE') && params.custom_config_base ? "${params.custom_config_base}/nfcore_custom.config" : "/dev/null" -// Load nf-core/plantpathsurveil custom profiles from different institutions. +// Load nf-core/pathogensurveillance custom profiles from different institutions. // TODO nf-core: Optionally, you can add a pipeline-specific nf-core config at https://github.com/nf-core/configs -// includeConfig !System.getenv('NXF_OFFLINE') && params.custom_config_base ? "${params.custom_config_base}/pipeline/plantpathsurveil.config" : "/dev/null" +// includeConfig !System.getenv('NXF_OFFLINE') && params.custom_config_base ? "${params.custom_config_base}/pipeline/pathogensurveillance.config" : "/dev/null" // Set default registry for Apptainer, Docker, Podman, Charliecloud and Singularity independent of -profile // Will not be used unless Apptainer / Docker / Podman / Charliecloud / Singularity are enabled @@ -201,30 +207,89 @@ set -C # No clobber - prevent output redirection from overwriting files. // Disable process selector warnings by default. Use debug profile to enable warnings. nextflow.enable.configProcessNamesValidation = false -def trace_timestamp = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss') timeline { enabled = true - file = "${params.outdir}/pipeline_info/execution_timeline_${trace_timestamp}.html" + file = "${params.outdir}/pipeline_info/execution_timeline_${params.trace_report_suffix}.html" } report { enabled = true - file = "${params.outdir}/pipeline_info/execution_report_${trace_timestamp}.html" + file = "${params.outdir}/pipeline_info/execution_report_${params.trace_report_suffix}.html" } trace { enabled = true - file = "${params.outdir}/pipeline_info/execution_trace_${trace_timestamp}.txt" + file = "${params.outdir}/pipeline_info/execution_trace_${params.trace_report_suffix}.txt" } dag { enabled = true - file = "${params.outdir}/pipeline_info/pipeline_dag_${trace_timestamp}.html" + file = "${params.outdir}/pipeline_info/pipeline_dag_${params.trace_report_suffix}.html" } manifest { - name = 'nf-core/plantpathsurveil' - author = """Zachary S.L. Foster, Martha Sudermann, Nicholas C. Cauldron, Fernanda I. Bocardo, Hung Phan, Jeff H. Chang, Niklaus J. Grünwald""" - homePage = 'https://github.com/nf-core/plantpathsurveil' + name = 'nf-core/pathogensurveillance' + author = """Zachary S.L. Foster, Martha Sudermann, Nicholas C. Cauldron, Fernanda I. Bocardo, Hung Phan, Jeff H. Chang, Niklaus J. Grünwald""" // The author field is deprecated from Nextflow version 24.10.0, use contributors instead + contributors = [ + // TODO nf-core: Update the field with the details of the contributors to your pipeline. New with Nextflow version 24.10.0 + [ + name: 'Zachary S.L. Foster', + affiliation: '', + email: '', + github: '', + contribution: [], // List of contribution types ('author', 'maintainer' or 'contributor') + orcid: '' + ], + [ + name: ' Martha Sudermann', + affiliation: '', + email: '', + github: '', + contribution: [], // List of contribution types ('author', 'maintainer' or 'contributor') + orcid: '' + ], + [ + name: ' Nicholas C. Cauldron', + affiliation: '', + email: '', + github: '', + contribution: [], // List of contribution types ('author', 'maintainer' or 'contributor') + orcid: '' + ], + [ + name: ' Fernanda I. Bocardo', + affiliation: '', + email: '', + github: '', + contribution: [], // List of contribution types ('author', 'maintainer' or 'contributor') + orcid: '' + ], + [ + name: ' Hung Phan', + affiliation: '', + email: '', + github: '', + contribution: [], // List of contribution types ('author', 'maintainer' or 'contributor') + orcid: '' + ], + [ + name: ' Jeff H. Chang', + affiliation: '', + email: '', + github: '', + contribution: [], // List of contribution types ('author', 'maintainer' or 'contributor') + orcid: '' + ], + [ + name: ' Niklaus J. Grünwald', + affiliation: '', + email: '', + github: '', + contribution: [], // List of contribution types ('author', 'maintainer' or 'contributor') + orcid: '' + ], + ] + homePage = 'https://github.com/nf-core/pathogensurveillance' description = """Surveillance of plant pathogens using high-throughput sequencing""" mainScript = 'main.nf' + defaultBranch = 'master' nextflowVersion = '!>=24.04.2' version = '1.0dev' doi = '' @@ -237,9 +302,10 @@ plugins { validation { defaultIgnoreParams = ["genomes"] + monochromeLogs = params.monochrome_logs help { enabled = true - command = "nextflow run $manifest.name -profile --input samplesheet.csv --outdir " + command = "nextflow run nf-core/pathogensurveillance -profile --input samplesheet.csv --outdir " fullParameter = "help_full" showHiddenParameter = "show_hidden" beforeText = """ @@ -249,15 +315,15 @@ validation { \033[0;34m |\\ | |__ __ / ` / \\ |__) |__ \033[0;33m} {\033[0m \033[0;34m | \\| | \\__, \\__/ | \\ |___ \033[0;32m\\`-._,-`-,\033[0m \033[0;32m`._,._,\'\033[0m -\033[0;35m ${manifest.name} ${manifest.version}\033[0m +\033[0;35m nf-core/pathogensurveillance ${manifest.version}\033[0m -\033[2m----------------------------------------------------\033[0m- """ - afterText = """${manifest.doi ? "* The pipeline\n" : ""}${manifest.doi.tokenize(",").collect { " https://doi.org/${it.trim().replace('https://doi.org/','')}"}.join("\n")}${manifest.doi ? "\n" : ""} + afterText = """${manifest.doi ? "\n* The pipeline\n" : ""}${manifest.doi.tokenize(",").collect { " https://doi.org/${it.trim().replace('https://doi.org/','')}"}.join("\n")}${manifest.doi ? "\n" : ""} * The nf-core framework https://doi.org/10.1038/s41587-020-0439-x * Software dependencies - https://github.com/${manifest.name}/blob/master/CITATIONS.md + https://github.com/nf-core/pathogensurveillance/blob/master/CITATIONS.md """ } summary { @@ -265,6 +331,3 @@ validation { afterText = validation.help.afterText } } - -// Load modules.config for DSL2 module specific options -includeConfig 'conf/modules.config' diff --git a/nextflow_schema.json b/nextflow_schema.json index 035b5e96..00e2b68f 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/nf-core/plantpathsurveil/master/nextflow_schema.json", - "title": "nf-core/plantpathsurveil pipeline parameters", + "$id": "https://raw.githubusercontent.com/nf-core/pathogensurveillance/master/nextflow_schema.json", + "title": "nf-core/pathogensurveillance pipeline parameters", "description": "Surveillance of plant pathogens using high-throughput sequencing", "type": "object", "$defs": { @@ -20,7 +20,7 @@ "mimetype": "text/csv", "pattern": "^\\S+\\.csv$", "description": "Path to comma-separated file containing information about the samples in the experiment.", - "help_text": "You will need to create a design file with information about the samples in your experiment before running the pipeline. Use this parameter to specify its location. It has to be a comma-separated file with 3 columns, and a header row. See [usage docs](https://nf-co.re/plantpathsurveil/usage#samplesheet-input).", + "help_text": "You will need to create a design file with information about the samples in your experiment before running the pipeline. Use this parameter to specify its location. It has to be a comma-separated file with 3 columns, and a header row. See [usage docs](https://nf-co.re/pathogensurveillance/usage#samplesheet-input).", "fa_icon": "fas fa-file-csv" }, "outdir": { @@ -218,6 +218,12 @@ "description": "Base URL or local path to location of pipeline test dataset files", "default": "https://raw.githubusercontent.com/nf-core/test-datasets/", "hidden": true + }, + "trace_report_suffix": { + "type": "string", + "fa_icon": "far calendar", + "description": "Suffix to add to the trace report filename. Default is the date and time in the format yyyy-MM-dd_HH-mm-ss.", + "hidden": true } } } diff --git a/ro-crate-metadata.json b/ro-crate-metadata.json new file mode 100644 index 00000000..0db2f9a4 --- /dev/null +++ b/ro-crate-metadata.json @@ -0,0 +1,311 @@ +{ + "@context": [ + "https://w3id.org/ro/crate/1.1/context", + { + "GithubService": "https://w3id.org/ro/terms/test#GithubService", + "JenkinsService": "https://w3id.org/ro/terms/test#JenkinsService", + "PlanemoEngine": "https://w3id.org/ro/terms/test#PlanemoEngine", + "TestDefinition": "https://w3id.org/ro/terms/test#TestDefinition", + "TestInstance": "https://w3id.org/ro/terms/test#TestInstance", + "TestService": "https://w3id.org/ro/terms/test#TestService", + "TestSuite": "https://w3id.org/ro/terms/test#TestSuite", + "TravisService": "https://w3id.org/ro/terms/test#TravisService", + "definition": "https://w3id.org/ro/terms/test#definition", + "engineVersion": "https://w3id.org/ro/terms/test#engineVersion", + "instance": "https://w3id.org/ro/terms/test#instance", + "resource": "https://w3id.org/ro/terms/test#resource", + "runsOn": "https://w3id.org/ro/terms/test#runsOn" + } + ], + "@graph": [ + { + "@id": "./", + "@type": "Dataset", + "creativeWorkStatus": "InProgress", + "datePublished": "2024-12-12T11:24:09+00:00", + "description": "

\n \n \n \"nf-core/pathogensurveillance\"\n \n

\n\n[![GitHub Actions CI Status](https://github.com/nf-core/pathogensurveillance/actions/workflows/ci.yml/badge.svg)](https://github.com/nf-core/pathogensurveillance/actions/workflows/ci.yml)\n[![GitHub Actions Linting Status](https://github.com/nf-core/pathogensurveillance/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/pathogensurveillance/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/pathogensurveillance/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)\n[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)\n\n[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A524.04.2-23aa62.svg)](https://www.nextflow.io/)\n[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)\n[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)\n[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)\n[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/pathogensurveillance)\n\n[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23pathogensurveillance-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/pathogensurveillance)[![Follow on Twitter](http://img.shields.io/badge/twitter-%40nf__core-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/nf_core)[![Follow on Mastodon](https://img.shields.io/badge/mastodon-nf__core-6364ff?labelColor=FFFFFF&logo=mastodon)](https://mstdn.science/@nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)\n\n## Introduction\n\n**nf-core/pathogensurveillance** is a bioinformatics pipeline that ...\n\n\n\n\n\n\n1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))\n2. Present QC for raw reads ([`MultiQC`](http://multiqc.info/))\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.\n\n\n\nNow, you can run the pipeline using:\n\n\n\n```bash\nnextflow run nf-core/pathogensurveillance \\\n -profile \\\n --input samplesheet.csv \\\n --outdir \n```\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files).\n\nFor more details and further functionality, please refer to the [usage documentation](https://nf-co.re/pathogensurveillance/usage) and the [parameter documentation](https://nf-co.re/pathogensurveillance/parameters).\n\n## Pipeline output\n\nTo see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/pathogensurveillance/results) tab on the nf-core website pipeline page.\nFor more details about the output files and reports, please refer to the\n[output documentation](https://nf-co.re/pathogensurveillance/output).\n\n## Credits\n\nnf-core/pathogensurveillance was originally written by Zachary S.L. Foster, Martha Sudermann, Nicholas C. Cauldron, Fernanda I. Bocardo, Hung Phan, Je\ufb00 H. Chang, Niklaus J. Gr\u00fcnwald.\n\nWe thank the following people for their extensive assistance in the development of this pipeline:\n\n\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).\n\nFor further information or help, don't hesitate to get in touch on the [Slack `#pathogensurveillance` channel](https://nfcore.slack.com/channels/pathogensurveillance) (you can join with [this invite](https://nf-co.re/join/slack)).\n\n## Citations\n\n\n\n\n\n\nAn extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.\n\nYou can cite the `nf-core` publication as follows:\n\n> **The nf-core framework for community-curated bioinformatics pipelines.**\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).\n", + "hasPart": [ + { + "@id": "main.nf" + }, + { + "@id": "assets/" + }, + { + "@id": "conf/" + }, + { + "@id": "docs/" + }, + { + "@id": "docs/images/" + }, + { + "@id": "modules/" + }, + { + "@id": "modules/nf-core/" + }, + { + "@id": "workflows/" + }, + { + "@id": "subworkflows/" + }, + { + "@id": "nextflow.config" + }, + { + "@id": "README.md" + }, + { + "@id": "nextflow_schema.json" + }, + { + "@id": "CHANGELOG.md" + }, + { + "@id": "LICENSE" + }, + { + "@id": "CODE_OF_CONDUCT.md" + }, + { + "@id": "CITATIONS.md" + }, + { + "@id": "modules.json" + }, + { + "@id": "docs/usage.md" + }, + { + "@id": "docs/output.md" + }, + { + "@id": ".nf-core.yml" + }, + { + "@id": ".pre-commit-config.yaml" + }, + { + "@id": ".prettierignore" + } + ], + "isBasedOn": "https://github.com/nf-core/pathogensurveillance", + "license": "MIT", + "mainEntity": { + "@id": "main.nf" + }, + "mentions": [ + { + "@id": "#598ddf3a-acab-4cd9-8387-3326bcf18888" + } + ], + "name": "nf-core/pathogensurveillance" + }, + { + "@id": "ro-crate-metadata.json", + "@type": "CreativeWork", + "about": { + "@id": "./" + }, + "conformsTo": [ + { + "@id": "https://w3id.org/ro/crate/1.1" + }, + { + "@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0" + } + ] + }, + { + "@id": "main.nf", + "@type": ["File", "SoftwareSourceCode", "ComputationalWorkflow"], + "creator": [ + { + "@id": "#zacharyfoster1989@gmail.com" + } + ], + "dateCreated": "", + "dateModified": "2024-12-12T11:24:09Z", + "dct:conformsTo": "https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE/", + "keywords": ["nf-core", "nextflow"], + "license": ["MIT"], + "maintainer": [ + { + "@id": "#zacharyfoster1989@gmail.com" + } + ], + "name": ["nf-core/pathogensurveillance"], + "programmingLanguage": { + "@id": "https://w3id.org/workflowhub/workflow-ro-crate#nextflow" + }, + "sdPublisher": { + "@id": "https://nf-co.re/" + }, + "url": ["https://github.com/nf-core/pathogensurveillance", "https://nf-co.re/pathogensurveillance/dev/"], + "version": ["1.0dev"] + }, + { + "@id": "https://w3id.org/workflowhub/workflow-ro-crate#nextflow", + "@type": "ComputerLanguage", + "identifier": { + "@id": "https://www.nextflow.io/" + }, + "name": "Nextflow", + "url": { + "@id": "https://www.nextflow.io/" + }, + "version": "!>=24.04.2" + }, + { + "@id": "#598ddf3a-acab-4cd9-8387-3326bcf18888", + "@type": "TestSuite", + "instance": [ + { + "@id": "#f7231363-0b1e-473e-9b23-6a0c6398dc8e" + } + ], + "mainEntity": { + "@id": "main.nf" + }, + "name": "Test suite for nf-core/pathogensurveillance" + }, + { + "@id": "#f7231363-0b1e-473e-9b23-6a0c6398dc8e", + "@type": "TestInstance", + "name": "GitHub Actions workflow for testing nf-core/pathogensurveillance", + "resource": "repos/nf-core/pathogensurveillance/actions/workflows/ci.yml", + "runsOn": { + "@id": "https://w3id.org/ro/terms/test#GithubService" + }, + "url": "https://api.github.com" + }, + { + "@id": "https://w3id.org/ro/terms/test#GithubService", + "@type": "TestService", + "name": "Github Actions", + "url": { + "@id": "https://github.com" + } + }, + { + "@id": "assets/", + "@type": "Dataset", + "description": "Additional files" + }, + { + "@id": "conf/", + "@type": "Dataset", + "description": "Configuration files" + }, + { + "@id": "docs/", + "@type": "Dataset", + "description": "Markdown files for documenting the pipeline" + }, + { + "@id": "docs/images/", + "@type": "Dataset", + "description": "Images for the documentation files" + }, + { + "@id": "modules/", + "@type": "Dataset", + "description": "Modules used by the pipeline" + }, + { + "@id": "modules/nf-core/", + "@type": "Dataset", + "description": "nf-core modules" + }, + { + "@id": "workflows/", + "@type": "Dataset", + "description": "Main pipeline workflows to be executed in main.nf" + }, + { + "@id": "subworkflows/", + "@type": "Dataset", + "description": "Smaller subworkflows" + }, + { + "@id": "nextflow.config", + "@type": "File", + "description": "Main Nextflow configuration file" + }, + { + "@id": "README.md", + "@type": "File", + "description": "Basic pipeline usage information" + }, + { + "@id": "nextflow_schema.json", + "@type": "File", + "description": "JSON schema for pipeline parameter specification" + }, + { + "@id": "CHANGELOG.md", + "@type": "File", + "description": "Information on changes made to the pipeline" + }, + { + "@id": "LICENSE", + "@type": "File", + "description": "The license - should be MIT" + }, + { + "@id": "CODE_OF_CONDUCT.md", + "@type": "File", + "description": "The nf-core code of conduct" + }, + { + "@id": "CITATIONS.md", + "@type": "File", + "description": "Citations needed when using the pipeline" + }, + { + "@id": "modules.json", + "@type": "File", + "description": "Version information for modules from nf-core/modules" + }, + { + "@id": "docs/usage.md", + "@type": "File", + "description": "Usage documentation" + }, + { + "@id": "docs/output.md", + "@type": "File", + "description": "Output documentation" + }, + { + "@id": ".nf-core.yml", + "@type": "File", + "description": "nf-core configuration file, configuring template features and linting rules" + }, + { + "@id": ".pre-commit-config.yaml", + "@type": "File", + "description": "Configuration file for pre-commit hooks" + }, + { + "@id": ".prettierignore", + "@type": "File", + "description": "Ignore file for prettier" + }, + { + "@id": "https://nf-co.re/", + "@type": "Organization", + "name": "nf-core", + "url": "https://nf-co.re/" + }, + { + "@id": "#zacharyfoster1989@gmail.com", + "@type": "Person", + "email": "zacharyfoster1989@gmail.com", + "name": "Zachary S.L. Foster" + } + ] +} diff --git a/subworkflows/local/utils_nfcore_plantpathsurveil_pipeline/main.nf b/subworkflows/local/utils_nfcore_pathogensurveillance_pipeline/main.nf similarity index 96% rename from subworkflows/local/utils_nfcore_plantpathsurveil_pipeline/main.nf rename to subworkflows/local/utils_nfcore_pathogensurveillance_pipeline/main.nf index 40d60da8..7697902a 100644 --- a/subworkflows/local/utils_nfcore_plantpathsurveil_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_pathogensurveillance_pipeline/main.nf @@ -1,5 +1,5 @@ // -// Subworkflow with functionality specific to the nf-core/plantpathsurveil pipeline +// Subworkflow with functionality specific to the nf-core/pathogensurveillance pipeline // /* @@ -116,7 +116,8 @@ workflow PIPELINE_COMPLETION { main: summary_params = paramsSummaryMap(workflow, parameters_schema: "nextflow_schema.json") - + def multiqc_reports = multiqc_report.toList() + // // Completion email and summary // @@ -129,7 +130,7 @@ workflow PIPELINE_COMPLETION { plaintext_email, outdir, monochrome_logs, - multiqc_report.toList() + multiqc_reports.getVal(), ) } @@ -225,7 +226,7 @@ def toolBibliographyText() { } def methodsDescriptionText(mqc_methods_yaml) { - // Convert to a named map so can be used as with familar NXF ${workflow} variable syntax in the MultiQC YML file + // Convert to a named map so can be used as with familiar NXF ${workflow} variable syntax in the MultiQC YML file def meta = [:] meta.workflow = workflow.toMap() meta["manifest_map"] = workflow.manifest.toMap() diff --git a/subworkflows/nf-core/utils_nextflow_pipeline/main.nf b/subworkflows/nf-core/utils_nextflow_pipeline/main.nf index 0fcbf7b3..d6e593e8 100644 --- a/subworkflows/nf-core/utils_nextflow_pipeline/main.nf +++ b/subworkflows/nf-core/utils_nextflow_pipeline/main.nf @@ -92,10 +92,12 @@ def checkCondaChannels() { channels = config.channels } catch (NullPointerException e) { + log.debug(e) log.warn("Could not verify conda channel configuration.") return null } catch (IOException e) { + log.debug(e) log.warn("Could not verify conda channel configuration.") return null } diff --git a/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.workflow.nf.test b/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.workflow.nf.test index ca964ce8..02dbf094 100644 --- a/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.workflow.nf.test +++ b/subworkflows/nf-core/utils_nextflow_pipeline/tests/main.workflow.nf.test @@ -52,10 +52,12 @@ nextflow_workflow { } then { - assertAll( - { assert workflow.success }, - { assert workflow.stdout.contains("nextflow_workflow v9.9.9") } - ) + expect { + with(workflow) { + assert success + assert "nextflow_workflow v9.9.9" in stdout + } + } } } diff --git a/subworkflows/nf-core/utils_nfcore_pipeline/main.nf b/subworkflows/nf-core/utils_nfcore_pipeline/main.nf index 5cb7bafe..bfd25876 100644 --- a/subworkflows/nf-core/utils_nfcore_pipeline/main.nf +++ b/subworkflows/nf-core/utils_nfcore_pipeline/main.nf @@ -56,21 +56,6 @@ def checkProfileProvided(nextflow_cli_args) { } } -// -// Citation string for pipeline -// -def workflowCitation() { - def temp_doi_ref = "" - def manifest_doi = workflow.manifest.doi.tokenize(",") - // Handling multiple DOIs - // Removing `https://doi.org/` to handle pipelines using DOIs vs DOI resolvers - // Removing ` ` since the manifest.doi is a string and not a proper list - manifest_doi.each { doi_ref -> - temp_doi_ref += " https://doi.org/${doi_ref.replace('https://doi.org/', '').replace(' ', '')}\n" - } - return "If you use ${workflow.manifest.name} for your analysis please cite:\n\n" + "* The pipeline\n" + temp_doi_ref + "\n" + "* The nf-core framework\n" + " https://doi.org/10.1038/s41587-020-0439-x\n\n" + "* Software dependencies\n" + " https://github.com/${workflow.manifest.name}/blob/master/CITATIONS.md" -} - // // Generate workflow version string // @@ -150,33 +135,6 @@ def paramsSummaryMultiqc(summary_params) { return yaml_file_text } -// -// nf-core logo -// -def nfCoreLogo(monochrome_logs=true) { - def colors = logColours(monochrome_logs) as Map - String.format( - """\n - ${dashedLine(monochrome_logs)} - ${colors.green},--.${colors.black}/${colors.green},-.${colors.reset} - ${colors.blue} ___ __ __ __ ___ ${colors.green}/,-._.--~\'${colors.reset} - ${colors.blue} |\\ | |__ __ / ` / \\ |__) |__ ${colors.yellow}} {${colors.reset} - ${colors.blue} | \\| | \\__, \\__/ | \\ |___ ${colors.green}\\`-._,-`-,${colors.reset} - ${colors.green}`._,._,\'${colors.reset} - ${colors.purple} ${workflow.manifest.name} ${getWorkflowVersion()}${colors.reset} - ${dashedLine(monochrome_logs)} - """.stripIndent() - ) -} - -// -// Return dashed line -// -def dashedLine(monochrome_logs=true) { - def colors = logColours(monochrome_logs) as Map - return "-${colors.dim}----------------------------------------------------${colors.reset}-" -} - // // ANSII colours used for terminal logging // @@ -245,28 +203,24 @@ def logColours(monochrome_logs=true) { return colorcodes } -// -// Attach the multiqc report to email -// -def attachMultiqcReport(multiqc_report) { - def mqc_report = null - try { - if (workflow.success) { - mqc_report = multiqc_report.getVal() - if (mqc_report.getClass() == ArrayList && mqc_report.size() >= 1) { - if (mqc_report.size() > 1) { - log.warn("[${workflow.manifest.name}] Found multiple reports from process 'MULTIQC', will use only one") - } - mqc_report = mqc_report[0] - } +// Return a single report from an object that may be a Path or List +// +def getSingleReport(multiqc_reports) { + if (multiqc_reports instanceof Path) { + return multiqc_reports + } else if (multiqc_reports instanceof List) { + if (multiqc_reports.size() == 0) { + log.warn("[${workflow.manifest.name}] No reports found from process 'MULTIQC'") + return null + } else if (multiqc_reports.size() == 1) { + return multiqc_reports.first() + } else { + log.warn("[${workflow.manifest.name}] Found multiple reports from process 'MULTIQC', will use only one") + return multiqc_reports.first() } + } else { + return null } - catch (Exception all) { - if (multiqc_report) { - log.warn("[${workflow.manifest.name}] Could not attach MultiQC report to summary email") - } - } - return mqc_report } // @@ -320,7 +274,7 @@ def completionEmail(summary_params, email, email_on_fail, plaintext_email, outdi email_fields['summary'] = summary << misc_fields // On success try attach the multiqc report - def mqc_report = attachMultiqcReport(multiqc_report) + def mqc_report = getSingleReport(multiqc_report) // Check if we are only sending emails on failure def email_address = email @@ -340,7 +294,7 @@ def completionEmail(summary_params, email, email_on_fail, plaintext_email, outdi def email_html = html_template.toString() // Render the sendmail template - def max_multiqc_email_size = (params.containsKey('max_multiqc_email_size') ? params.max_multiqc_email_size : 0) as nextflow.util.MemoryUnit + def max_multiqc_email_size = (params.containsKey('max_multiqc_email_size') ? params.max_multiqc_email_size : 0) as MemoryUnit def smail_fields = [email: email_address, subject: subject, email_txt: email_txt, email_html: email_html, projectDir: "${workflow.projectDir}", mqcFile: mqc_report, mqcMaxSize: max_multiqc_email_size.toBytes()] def sf = new File("${workflow.projectDir}/assets/sendmail_template.txt") def sendmail_template = engine.createTemplate(sf).make(smail_fields) @@ -351,14 +305,17 @@ def completionEmail(summary_params, email, email_on_fail, plaintext_email, outdi if (email_address) { try { if (plaintext_email) { -new org.codehaus.groovy.GroovyException('Send plaintext e-mail, not HTML') } + new org.codehaus.groovy.GroovyException('Send plaintext e-mail, not HTML') + } // Try to send HTML e-mail using sendmail def sendmail_tf = new File(workflow.launchDir.toString(), ".sendmail_tmp.html") sendmail_tf.withWriter { w -> w << sendmail_html } ['sendmail', '-t'].execute() << sendmail_html log.info("-${colors.purple}[${workflow.manifest.name}]${colors.green} Sent summary e-mail to ${email_address} (sendmail)-") } - catch (Exception all) { + catch (Exception msg) { + log.debug(msg.toString()) + log.debug("Trying with mail instead of sendmail") // Catch failures and try with plaintext def mail_cmd = ['mail', '-s', subject, '--content-type=text/html', email_address] mail_cmd.execute() << email_html diff --git a/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test b/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test index 1dc317f8..f117040c 100644 --- a/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test +++ b/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test @@ -41,26 +41,14 @@ nextflow_function { } } - test("Test Function workflowCitation") { - - function "workflowCitation" - - then { - assertAll( - { assert function.success }, - { assert snapshot(function.result).match() } - ) - } - } - - test("Test Function nfCoreLogo") { + test("Test Function without logColours") { - function "nfCoreLogo" + function "logColours" when { function { """ - input[0] = false + input[0] = true """ } } @@ -73,9 +61,8 @@ nextflow_function { } } - test("Test Function dashedLine") { - - function "dashedLine" + test("Test Function with logColours") { + function "logColours" when { function { @@ -93,14 +80,13 @@ nextflow_function { } } - test("Test Function without logColours") { - - function "logColours" + test("Test Function getSingleReport with a single file") { + function "getSingleReport" when { function { """ - input[0] = true + input[0] = file(params.modules_testdata_base_path + '/generic/tsv/test.tsv', checkIfExists: true) """ } } @@ -108,18 +94,22 @@ nextflow_function { then { assertAll( { assert function.success }, - { assert snapshot(function.result).match() } + { assert function.result.contains("test.tsv") } ) } } - test("Test Function with logColours") { - function "logColours" + test("Test Function getSingleReport with multiple files") { + function "getSingleReport" when { function { """ - input[0] = false + input[0] = [ + file(params.modules_testdata_base_path + '/generic/tsv/test.tsv', checkIfExists: true), + file(params.modules_testdata_base_path + '/generic/tsv/network.tsv', checkIfExists: true), + file(params.modules_testdata_base_path + '/generic/tsv/expression.tsv', checkIfExists: true) + ] """ } } @@ -127,7 +117,9 @@ nextflow_function { then { assertAll( { assert function.success }, - { assert snapshot(function.result).match() } + { assert function.result.contains("test.tsv") }, + { assert !function.result.contains("network.tsv") }, + { assert !function.result.contains("expression.tsv") } ) } } diff --git a/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test.snap b/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test.snap index 1037232c..02c67014 100644 --- a/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test.snap +++ b/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.function.nf.test.snap @@ -17,26 +17,6 @@ }, "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" - ], - "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" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-02-28T12:03:07.019761" - }, "Test Function without logColours": { "content": [ { @@ -95,16 +75,6 @@ }, "timestamp": "2024-02-28T12:03:17.969323" }, - "Test Function dashedLine": { - "content": [ - "-\u001b[2m----------------------------------------------------\u001b[0m-" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-02-28T12:03:14.366181" - }, "Test Function with logColours": { "content": [ { diff --git a/subworkflows/nf-core/utils_nfschema_plugin/tests/main.nf.test b/subworkflows/nf-core/utils_nfschema_plugin/tests/main.nf.test index 842dc432..8fb30164 100644 --- a/subworkflows/nf-core/utils_nfschema_plugin/tests/main.nf.test +++ b/subworkflows/nf-core/utils_nfschema_plugin/tests/main.nf.test @@ -42,7 +42,7 @@ nextflow_workflow { params { test_data = '' - outdir = 1 + outdir = null } workflow { @@ -94,7 +94,7 @@ nextflow_workflow { params { test_data = '' - outdir = 1 + outdir = null } workflow { diff --git a/workflows/plantpathsurveil.nf b/workflows/pathogensurveillance.nf similarity index 95% rename from workflows/plantpathsurveil.nf rename to workflows/pathogensurveillance.nf index 84973af7..d6d60e83 100644 --- a/workflows/plantpathsurveil.nf +++ b/workflows/pathogensurveillance.nf @@ -8,7 +8,7 @@ include { MULTIQC } from '../modules/nf-core/multiqc/main' include { paramsSummaryMap } from 'plugin/nf-schema' include { paramsSummaryMultiqc } from '../subworkflows/nf-core/utils_nfcore_pipeline' include { softwareVersionsToYAML } from '../subworkflows/nf-core/utils_nfcore_pipeline' -include { methodsDescriptionText } from '../subworkflows/local/utils_nfcore_plantpathsurveil_pipeline' +include { methodsDescriptionText } from '../subworkflows/local/utils_nfcore_pathogensurveillance_pipeline' /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -16,7 +16,7 @@ include { methodsDescriptionText } from '../subworkflows/local/utils_nfcore_plan ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -workflow PLANTPATHSURVEIL { +workflow PATHOGENSURVEILLANCE { take: ch_samplesheet // channel: samplesheet read in from --input @@ -39,7 +39,7 @@ workflow PLANTPATHSURVEIL { softwareVersionsToYAML(ch_versions) .collectFile( storeDir: "${params.outdir}/pipeline_info", - name: 'nf_core_' + 'pipeline_software_' + 'mqc_' + 'versions.yml', + name: 'nf_core_' + 'pathogensurveillance_software_' + 'mqc_' + 'versions.yml', sort: true, newLine: true ).set { ch_collated_versions }