From 3709103a3eb31ee52439e32ec878301d2800c633 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Fri, 24 Jul 2026 12:36:32 +0000 Subject: [PATCH] Template update for nf-core/tools version 4.0.3 --- .devcontainer/setup.sh | 2 +- .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/actions/nf-test/action.yml | 2 +- .github/workflows/awsfulltest.yml | 12 +- .github/workflows/awstest.yml | 6 +- .github/workflows/branch.yml | 62 ++- .github/workflows/fix_linting.yml | 4 +- .github/workflows/linting.yml | 18 + .github/workflows/linting_comment.yml | 28 -- .github/workflows/nf-test.yml | 57 +++ .github/workflows/pr-comment.yml | 82 ++++ .github/workflows/release-announcements.yml | 2 +- .../workflows/template-version-comment.yml | 56 ++- .nf-core.yml | 16 +- CHANGELOG.md | 6 +- CITATIONS.md | 2 +- LICENSE | 2 +- README.md | 32 +- assets/email_template.html | 14 +- assets/email_template.txt | 10 +- assets/methods_description_template.yml | 8 +- assets/multiqc_config.yml | 8 +- assets/nf-core-spatialaxe_logo_light.png | Bin 0 -> 81976 bytes assets/nf-core-spatialxe_logo_light.png | Bin 80727 -> 0 bytes assets/schema_input.json | 4 +- assets/sendmail_template.txt | 6 +- conf/base.config | 2 +- conf/igenomes.config | 440 ------------------ conf/igenomes_ignored.config | 9 - conf/test.config | 5 +- conf/test_full.config | 6 +- docs/CONTRIBUTING.md | 22 +- docs/README.md | 4 +- docs/images/nf-core-spatialaxe_logo_dark.png | Bin 0 -> 32349 bytes docs/images/nf-core-spatialaxe_logo_light.png | Bin 0 -> 27228 bytes docs/images/nf-core-spatialxe_logo_dark.png | Bin 30543 -> 0 bytes docs/images/nf-core-spatialxe_logo_light.png | Bin 25890 -> 0 bytes docs/output.md | 2 +- docs/usage.md | 13 +- main.nf | 37 +- modules.json | 4 +- nextflow.config | 30 +- nextflow_schema.json | 47 +- ro-crate-metadata.json | 41 +- .../main.nf | 42 +- tests/default.nf.test | 2 +- tests/nextflow.config | 2 +- workflows/{spatialxe.nf => spatialaxe.nf} | 8 +- 51 files changed, 404 insertions(+), 773 deletions(-) delete mode 100644 .github/workflows/linting_comment.yml create mode 100644 .github/workflows/pr-comment.yml create mode 100644 assets/nf-core-spatialaxe_logo_light.png delete mode 100644 assets/nf-core-spatialxe_logo_light.png delete mode 100644 conf/igenomes.config delete mode 100644 conf/igenomes_ignored.config create mode 100644 docs/images/nf-core-spatialaxe_logo_dark.png create mode 100644 docs/images/nf-core-spatialaxe_logo_light.png delete mode 100644 docs/images/nf-core-spatialxe_logo_dark.png delete mode 100644 docs/images/nf-core-spatialxe_logo_light.png rename subworkflows/local/{utils_nfcore_spatialxe_pipeline => utils_nfcore_spatialaxe_pipeline}/main.nf (88%) rename workflows/{spatialxe.nf => spatialaxe.nf} (95%) diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh index b16c2e73..033278f7 100755 --- a/.devcontainer/setup.sh +++ b/.devcontainer/setup.sh @@ -10,4 +10,4 @@ export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] ' nextflow self-update # Update welcome message -echo "Welcome to the nf-core/spatialxe devcontainer!" > /usr/local/etc/vscode-dev-containers/first-run-notice.txt +echo "Welcome to the nf-core/spatialaxe devcontainer!" > /usr/local/etc/vscode-dev-containers/first-run-notice.txt diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 08eca313..b08b451d 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/spatialxe pipeline documentation](https://nf-co.re/spatialxe/usage) + - [nf-core/spatialaxe pipeline documentation](https://nf-co.re/spatialaxe/usage) - type: textarea id: description attributes: @@ -46,4 +46,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/spatialxe _(eg. 1.1, 1.5, 1.8.2)_ + * Version of nf-core/spatialaxe _(eg. 1.1, 1.5, 1.8.2)_ diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 6192b81d..881458ad 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 #spatialxe channel" - url: https://nfcore.slack.com/channels/spatialxe - about: Discussion about the nf-core/spatialxe pipeline + - name: "Slack #spatialaxe channel" + url: https://nfcore.slack.com/channels/spatialaxe + about: Discussion about the nf-core/spatialaxe pipeline diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 9276baef..23ffd0c9 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/spatialxe pipeline +description: Suggest an idea for the nf-core/spatialaxe pipeline labels: enhancement body: - type: textarea diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 6a378da4..4ae42831 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/spatialxe/tree/master/docs/CONTRIBUTING.md) -- [ ] If necessary, also make a PR on the nf-core/spatialxe _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/spatialaxe/tree/master/docs/CONTRIBUTING.md) +- [ ] If necessary, also make a PR on the nf-core/spatialaxe _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/actions/nf-test/action.yml b/.github/actions/nf-test/action.yml index ad686e8e..945c56f0 100644 --- a/.github/actions/nf-test/action.yml +++ b/.github/actions/nf-test/action.yml @@ -37,7 +37,7 @@ runs: - name: Setup apptainer if: contains(inputs.profile, 'singularity') - uses: eWaterCycle/setup-apptainer@3f706d898c9db585b1d741b4692e66755f3a1b40 # v2 + uses: eWaterCycle/setup-apptainer@4bb22c52d4f63406c49e94c804632975787312b3 # v2.0.0 - name: Set up Singularity if: contains(inputs.profile, 'singularity') diff --git a/.github/workflows/awsfulltest.yml b/.github/workflows/awsfulltest.yml index 5eb53aee..b9841346 100644 --- a/.github/workflows/awsfulltest.yml +++ b/.github/workflows/awsfulltest.yml @@ -14,7 +14,7 @@ jobs: run-platform: name: Run AWS full tests # run only if the PR is approved by at least 2 reviewers and against the master/main branch or manually triggered - if: github.repository == 'nf-core/spatialxe' && github.event.review.state == 'approved' && (github.event.pull_request.base.ref == 'master' || github.event.pull_request.base.ref == 'main') || github.event_name == 'workflow_dispatch' || github.event_name == 'release' + if: github.repository == 'nf-core/spatialaxe' && github.event.review.state == 'approved' && (github.event.pull_request.base.ref == 'master' || github.event.pull_request.base.ref == 'main') || github.event_name == 'workflow_dispatch' || github.event_name == 'release' runs-on: ubuntu-latest steps: - name: Set revision variable @@ -32,7 +32,7 @@ jobs: access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} compute_env: ${{ vars.TOWER_COMPUTE_ENV }} revision: ${{ steps.revision.outputs.revision }} - workdir: s3://${{ vars.AWS_S3_BUCKET }}/work/spatialxe/work-${{ steps.revision.outputs.revision }} + workdir: s3://${{ vars.AWS_S3_BUCKET }}/work/spatialaxe/work-${{ steps.revision.outputs.revision }} nextflow_config: | plugins { id 'nf-slack@0.5.0' @@ -41,21 +41,21 @@ jobs: enabled = true bot { token = '${{ secrets.NFSLACK_BOT_TOKEN }}' - channel = 'spatialxe' + channel = 'spatialaxe' } onStart { enabled = false } onComplete { - message = ':white_check_mark: *spatialxe/test_full* completed successfully! :tada:' + message = ':white_check_mark: *spatialaxe/test_full* completed successfully! :tada:' } onError { - message = ':x: *spatialxe/test_full* failed :crying_cat_face:' + message = ':x: *spatialaxe/test_full* failed :crying_cat_face:' } } parameters: | { - "outdir": "s3://${{ vars.AWS_S3_BUCKET }}/spatialxe/results-${{ steps.revision.outputs.revision }}" + "outdir": "s3://${{ vars.AWS_S3_BUCKET }}/spatialaxe/results-${{ steps.revision.outputs.revision }}" } profiles: test_full diff --git a/.github/workflows/awstest.yml b/.github/workflows/awstest.yml index 632a6a5e..06202157 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/spatialxe' + if: github.repository == 'nf-core/spatialaxe' 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: ${{ vars.TOWER_COMPUTE_ENV }} revision: ${{ github.sha }} - workdir: s3://${{ vars.AWS_S3_BUCKET }}/work/spatialxe/work-${{ github.sha }} + workdir: s3://${{ vars.AWS_S3_BUCKET }}/work/spatialaxe/work-${{ github.sha }} parameters: | { - "outdir": "s3://${{ vars.AWS_S3_BUCKET }}/spatialxe/results-test-${{ github.sha }}" + "outdir": "s3://${{ vars.AWS_S3_BUCKET }}/spatialaxe/results-test-${{ github.sha }}" } profiles: test diff --git a/.github/workflows/branch.yml b/.github/workflows/branch.yml index 873c6700..b1fcf88e 100644 --- a/.github/workflows/branch.yml +++ b/.github/workflows/branch.yml @@ -2,45 +2,61 @@ name: nf-core branch protection # 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: + pull_request: branches: - main - master +permissions: {} + jobs: test: runs-on: ubuntu-latest steps: # 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/spatialxe' + if: github.repository == 'nf-core/spatialaxe' + env: + HEAD_REPO: ${{ github.event.pull_request.head.repo.full_name }} run: | - { [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/spatialxe ]] && [[ $GITHUB_HEAD_REF == "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]] + { [[ "$HEAD_REPO" == nf-core/spatialaxe ]] && [[ $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 - - name: Post PR comment + # If the above check failed, build a comment to be posted by the shared poster workflow + - name: Build PR comment if: failure() - uses: mshick/add-pr-comment@8e4927817251f1ff60c001f04568532b38e0b4a0 # v3 - with: - message: | - ## This PR is against the `${{github.event.pull_request.base.ref}}` branch :x: + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + BASE_REF: ${{ github.event.pull_request.base.ref }} + HEAD_REPO: ${{ github.event.pull_request.head.repo.full_name }} + PR_USER: ${{ github.event.pull_request.user.login }} + run: | + mkdir -p pr-comment + echo "$PR_NUMBER" > pr-comment/pr_number.txt + echo "branch" > pr-comment/header.txt + cat > pr-comment/comment.md < contains(github.event.comment.html_url, '/pull/') && contains(github.event.comment.body, '@nf-core-bot fix linting') && - github.repository == 'nf-core/spatialxe' + github.repository == 'nf-core/spatialaxe' runs-on: ubuntu-latest steps: # Use the @nf-core-bot token to check out so we can push later @@ -82,4 +82,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/spatialxe/actions/runs/${{ github.run_id }}) for more details. + See [CI log](https://github.com/nf-core/spatialaxe/actions/runs/${{ github.run_id }}) for more details. diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 8738ffc9..bc32219b 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -74,3 +74,21 @@ jobs: lint_log.txt lint_results.md PR_number.txt + + # Build a comment for the shared pr-comment.yml poster to publish on the PR + - name: Prepare PR comment + if: ${{ always() }} + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + mkdir -p pr-comment + echo "$PR_NUMBER" > pr-comment/pr_number.txt + echo "lint" > pr-comment/header.txt + [ -f lint_results.md ] && cp lint_results.md pr-comment/comment.md || true + + - name: Upload PR comment artifact + if: ${{ always() }} + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + with: + name: pr-comment + path: pr-comment/ diff --git a/.github/workflows/linting_comment.yml b/.github/workflows/linting_comment.yml deleted file mode 100644 index 5b0c24f7..00000000 --- a/.github/workflows/linting_comment.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: nf-core linting comment -# This workflow is triggered after the linting action is complete -# It posts an automated comment to the PR, even if the PR is coming from a fork - -on: - workflow_run: - workflows: ["nf-core linting"] - -jobs: - test: - runs-on: ubuntu-latest - steps: - - name: Download lint results - uses: dawidd6/action-download-artifact@b6e2e70617bc3265edd6dab6c906732b2f1ae151 # v21 - with: - workflow: linting.yml - workflow_conclusion: completed - - - name: Get PR number - id: pr_number - run: echo "pr_number=$(cat linting-logs/PR_number.txt)" >> $GITHUB_OUTPUT - - - name: Post PR comment - uses: marocchino/sticky-pull-request-comment@70d2764d1a7d5d9560b100cbea0077fc8f633987 # v3 - with: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - number: ${{ steps.pr_number.outputs.pr_number }} - path: linting-logs/lint_results.md diff --git a/.github/workflows/nf-test.yml b/.github/workflows/nf-test.yml index efd72d65..4de681ad 100644 --- a/.github/workflows/nf-test.yml +++ b/.github/workflows/nf-test.yml @@ -116,6 +116,22 @@ jobs: fi fi + # continue-on-error keeps latest-everything from failing the job, so it never shows up in + # `needs.nf-test.result` downstream and CI stays green. Surface it via a PR comment instead; + # other NXF_VER failures already fail the job/CI directly, so no comment is needed for those. + - name: Prepare PR comment fragment + if: ${{ always() && steps.run_nf_test.outcome == 'failure' && matrix.NXF_VER == 'latest-everything' }} + run: | + mkdir -p pr-comment-fragment + echo "* ❌ \`${{ matrix.profile }}\` | \`${{ matrix.NXF_VER }}\` | Shard ${{ matrix.shard }}/${{ env.TOTAL_SHARDS }}" > pr-comment-fragment/fragment.md + + - name: Upload PR comment fragment + if: ${{ always() && steps.run_nf_test.outcome == 'failure' && matrix.NXF_VER == 'latest-everything' }} + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + with: + name: pr-comment-fragment-${{ strategy.job-index }} + path: pr-comment-fragment/ + confirm-pass: needs: [nf-test] if: always() @@ -142,3 +158,44 @@ jobs: echo "DEBUG: toJSON(needs) = ${{ toJSON(needs) }}" echo "DEBUG: toJSON(needs.*.result) = ${{ toJSON(needs.*.result) }}" echo "::endgroup::" + + - name: Download PR comment fragments + if: ${{ always() }} + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + continue-on-error: true + with: + pattern: pr-comment-fragment-* + path: pr-comment-fragments + merge-multiple: true + + # Build a comment for the shared pr-comment.yml poster to publish on the PR. + # Based on the fragments above (not needs.*.result) so non-blocking failures are still reported. + - name: Prepare PR comment + if: ${{ always() }} + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + run: | + mkdir -p pr-comment + echo "$PR_NUMBER" > pr-comment/pr_number.txt + echo "nf-test" > pr-comment/header.txt + if [ -d pr-comment-fragments ] && [ -n "$(ls -A pr-comment-fragments)" ]; then + { + echo "## ❌ nf-test failed with latest Nextflow version" + echo "" + echo "> [!NOTE]" + echo "> Tests with Nextflow's latest version failed but it will not cause a CI workflow failure." + echo "> Please check if the failure is expected with newer (edge-)releases of Nextflow or if it needs fixing." + echo "" + cat pr-comment-fragments/*.md + echo "" + echo "See the [full run](${RUN_URL}) for details." + } > pr-comment/comment.md + fi + + - name: Upload PR comment artifact + if: ${{ always() }} + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + with: + name: pr-comment + path: pr-comment/ diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml new file mode 100644 index 00000000..ab7b59dd --- /dev/null +++ b/.github/workflows/pr-comment.yml @@ -0,0 +1,82 @@ +name: Post PR comment +# Shared, privileged comment poster. +# +# This is the single workflow that runs with a write token. It is triggered +# after any of the listed "producer" workflows complete on a pull request. +# Each producer runs untrusted PR code (if any) with a read-only token and +# uploads a `pr-comment` artifact describing the comment to post; this workflow +# only ever reads that plain-text artifact, so no PR code is executed here. +# +# Artifact contract (uploaded by producers under the name `pr-comment`): +# pr_number.txt - the pull request number +# header.txt - sticky-comment identifier (keeps comment types separate) +# comment.md - the Markdown body (omit the file to post nothing) + +on: + workflow_run: + workflows: + - "nf-core linting" + - "nf-core template version comment" + - "nf-core branch protection" + - "Run nf-test" + +permissions: + actions: read + contents: read + pull-requests: write + +jobs: + post-comment: + runs-on: ubuntu-latest + if: github.event.workflow_run.event == 'pull_request' + steps: + - name: Download PR comment artifact + uses: dawidd6/action-download-artifact@b6e2e70617bc3265edd6dab6c906732b2f1ae151 # v21 + with: + run_id: ${{ github.event.workflow_run.id }} + name: pr-comment + path: pr-comment + if_no_artifact_found: ignore + + - name: Read comment metadata + id: meta + run: | + echo "::group::Downloaded pr-comment contents" + ls -la pr-comment 2>/dev/null || echo "No pr-comment/ directory was downloaded." + echo "::endgroup::" + + if [ ! -d pr-comment ]; then + echo "No pr-comment artifact found; nothing to post." + exit 0 + fi + + if [ ! -f pr-comment/comment.md ]; then + echo "Artifact present but no comment.md; nothing to post." + exit 0 + fi + + pr_number=$(cat pr-comment/pr_number.txt) + header=$(cat pr-comment/header.txt) + echo "Found comment.md (header='$header', pr_number='$pr_number')." + + # Guard against anything unexpected ending up in the PR number. + case "$pr_number" in + ''|*[!0-9]*) + echo "Invalid PR number: '$pr_number'" + exit 1 + ;; + esac + + echo "pr_number=$pr_number" >> "$GITHUB_OUTPUT" + echo "header=$header" >> "$GITHUB_OUTPUT" + echo "post=true" >> "$GITHUB_OUTPUT" + echo "Will post comment to PR #${pr_number}." + + - name: Post PR comment + if: steps.meta.outputs.post == 'true' + uses: marocchino/sticky-pull-request-comment@5770ad5eb8f42dd2c4f34da00c94c5381e49af88 # v3.0.5 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + number: ${{ steps.meta.outputs.pr_number }} + header: ${{ steps.meta.outputs.header }} + path: pr-comment/comment.md diff --git a/.github/workflows/release-announcements.yml b/.github/workflows/release-announcements.yml index 78d5dbe0..4974f44f 100644 --- a/.github/workflows/release-announcements.yml +++ b/.github/workflows/release-announcements.yml @@ -18,7 +18,7 @@ jobs: id: get_description run: | echo "description=$(curl -s https://nf-co.re/pipelines.json | jq -r '.remote_workflows[] | select(.full_name == "${{ github.repository }}") | .description')" >> $GITHUB_OUTPUT - - uses: rzr/fediverse-action@563159eb8d45f70ab6aaba36ed55cd037e51f441 # master + - uses: rzr/fediverse-action@66c2cbb5b1997666b0e28d597631b6a4f09a2719 # v0.0.6 with: access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }} host: "mstdn.science" # custom host if not "mastodon.social" (default) diff --git a/.github/workflows/template-version-comment.yml b/.github/workflows/template-version-comment.yml index ea30827e..ee102f71 100644 --- a/.github/workflows/template-version-comment.yml +++ b/.github/workflows/template-version-comment.yml @@ -2,10 +2,13 @@ name: nf-core template version comment # This workflow is triggered on PRs to check if the pipeline template version matches the latest nf-core version. # It posts a comment to the PR, even if it comes from a fork. -on: pull_request_target +on: + pull_request: + +permissions: {} jobs: - template_version: + check_template_version: runs-on: ubuntu-latest steps: - name: Check out pipeline code @@ -22,25 +25,36 @@ jobs: - name: Install nf-core run: | python -m pip install --upgrade pip - pip install nf-core==${{ steps.read_yml.outputs['nf_core_version'] }} + pip install nf-core + + - name: Build PR comment if template is outdated + # The fork-controlled version is passed via the environment and only ever + # used as quoted shell data (never interpolated into a command), so it + # cannot be used for script injection. + env: + PR_VERSION: ${{ steps.read_yml.outputs['nf_core_version'] }} + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + mkdir -p pr-comment + echo "$PR_NUMBER" > pr-comment/pr_number.txt + echo "template-version" > pr-comment/header.txt + + latest_version=$(nf-core --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -n1) - - name: Check nf-core outdated - id: nf_core_outdated - run: echo "OUTPUT=$(pip list --outdated | grep nf-core)" >> ${GITHUB_ENV} + if [ -n "$PR_VERSION" ] && [ -n "$latest_version" ] && [ "$PR_VERSION" != "$latest_version" ]; then + cat > pr-comment/comment.md < [!WARNING] + > Newer version of the nf-core template is available. + > + > Your pipeline is using an old version of the nf-core template: ${PR_VERSION}. + > Please update your pipeline to the latest version. + > + > For more documentation on how to update your pipeline, please see the [Synchronisation documentation](https://nf-co.re/docs/developing/template-syncs/overview). + EOF + fi - - name: Post nf-core template version comment - uses: mshick/add-pr-comment@8e4927817251f1ff60c001f04568532b38e0b4a0 # v3 - if: | - contains(env.OUTPUT, 'nf-core') + - name: Upload PR comment artifact + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 with: - repo-token: ${{ secrets.NF_CORE_BOT_AUTH_TOKEN }} - allow-repeats: false - message: | - > [!WARNING] - > Newer version of the nf-core template is available. - > - > Your pipeline is using an old version of the nf-core template: ${{ steps.read_yml.outputs['nf_core_version'] }}. - > Please update your pipeline to the latest version. - > - > For more documentation on how to update your pipeline, please see the [Synchronisation documentation](https://nf-co.re/docs/developing/template-syncs/overview). - # + name: pr-comment + path: pr-comment/ diff --git a/.nf-core.yml b/.nf-core.yml index ae563bd5..cf2d3bae 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -4,18 +4,20 @@ lint: - .github/workflows/awstest.yml files_unchanged: - .gitignore - - assets/nf-core-spatialxe_logo_light.png - - docs/images/nf-core-spatialxe_logo_dark.png - - docs/images/nf-core-spatialxe_logo_light.png + - assets/nf-core-spatialaxe_logo_light.png + - docs/images/nf-core-spatialaxe_logo_dark.png + - docs/images/nf-core-spatialaxe_logo_light.png - .github/PULL_REQUEST_TEMPLATE.md -nf_core_version: 4.0.2 +nf_core_version: 4.0.3 repository_type: pipeline template: - author: Sameesh Kher, Florian Heyl + author: Sameesh Kher, Dongze He, Florian Heyl description: A pipeline for spatialomics Xenium In Situ data. force: false is_nfcore: true - name: spatialxe + name: spatialaxe org: nf-core outdir: . - version: 1.0.0 + skip_features: + - igenomes + version: 1.0.0dev diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f0d1258..34db66a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,11 @@ -# nf-core/spatialxe: Changelog +# nf-core/spatialaxe: 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.0.0 - [date] +## v1.0.0dev - [date] -Initial release of nf-core/spatialxe, created with the [nf-core](https://nf-co.re/) template. +Initial release of nf-core/spatialaxe, created with the [nf-core](https://nf-co.re/) template. ### `Added` diff --git a/CITATIONS.md b/CITATIONS.md index e8c14658..6095d5bb 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -1,4 +1,4 @@ -# nf-core/spatialxe: Citations +# nf-core/spatialaxe: Citations ## [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/) diff --git a/LICENSE b/LICENSE index df908d32..cf21b558 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) The nf-core/spatialxe team +Copyright (c) The nf-core/spatialaxe team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index f3f2cbde..5333adcc 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,27 @@

- - nf-core/spatialxe + + nf-core/spatialaxe

-[![Open in GitHub Codespaces](https://img.shields.io/badge/Open_In_GitHub_Codespaces-black?labelColor=grey&logo=github)](https://github.com/codespaces/new/nf-core/spatialxe) -[![GitHub Actions CI Status](https://github.com/nf-core/spatialxe/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/spatialxe/actions/workflows/nf-test.yml) -[![GitHub Actions Linting Status](https://github.com/nf-core/spatialxe/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/spatialxe/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/spatialxe/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX) +[![Open in GitHub Codespaces](https://img.shields.io/badge/Open_In_GitHub_Codespaces-black?labelColor=grey&logo=github)](https://github.com/codespaces/new/nf-core/spatialaxe) +[![GitHub Actions CI Status](https://github.com/nf-core/spatialaxe/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/spatialaxe/actions/workflows/nf-test.yml) +[![GitHub Actions Linting Status](https://github.com/nf-core/spatialaxe/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/spatialaxe/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/spatialaxe/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/version-%E2%89%A525.10.4-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/) -[![nf-core template version](https://img.shields.io/badge/nf--core_template-4.0.2-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/4.0.2) +[![nf-core template version](https://img.shields.io/badge/nf--core_template-4.0.3-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/4.0.3) [![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/spatialxe) +[![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/spatialaxe) -[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23spatialxe-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/spatialxe)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![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%23spatialaxe-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/spatialaxe)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![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/spatialxe** is a bioinformatics pipeline that ... +**nf-core/spatialaxe** is a bioinformatics pipeline that ... ```bash -nextflow run nf-core/spatialxe \ +nextflow run nf-core/spatialaxe \ -profile \ --input samplesheet.csv \ --outdir @@ -68,17 +68,17 @@ nextflow run nf-core/spatialxe \ > [!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/running/run-pipelines#using-parameter-files). -For more details and further functionality, please refer to the [usage documentation](https://nf-co.re/spatialxe/usage) and the [parameter documentation](https://nf-co.re/spatialxe/parameters). +For more details and further functionality, please refer to the [usage documentation](https://nf-co.re/spatialaxe/usage) and the [parameter documentation](https://nf-co.re/spatialaxe/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/spatialxe/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/spatialaxe/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/spatialxe/output). +[output documentation](https://nf-co.re/spatialaxe/output). ## Credits -nf-core/spatialxe was originally written by Sameesh Kher, Florian Heyl. +nf-core/spatialaxe was originally written by Sameesh Kher, Dongze He, Florian Heyl. We thank the following people for their extensive assistance in the development of this pipeline: @@ -88,12 +88,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](docs/CONTRIBUTING.md). -For further information or help, don't hesitate to get in touch on the [Slack `#spatialxe` channel](https://nfcore.slack.com/channels/spatialxe) (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 `#spatialaxe` channel](https://nfcore.slack.com/channels/spatialaxe) (you can join with [this invite](https://nf-co.re/join/slack)). ## Citations - + diff --git a/assets/email_template.html b/assets/email_template.html index 819a2f90..b3dd2884 100644 --- a/assets/email_template.html +++ b/assets/email_template.html @@ -4,21 +4,21 @@ - - nf-core/spatialxe Pipeline Report + + nf-core/spatialaxe Pipeline Report
-

nf-core/spatialxe ${version}

+

nf-core/spatialaxe ${version}

Run Name: $runName

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

nf-core/spatialxe execution completed unsuccessfully!

+

nf-core/spatialaxe 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/spatialxe execution completed } else { out << """
- nf-core/spatialxe execution completed successfully! + nf-core/spatialaxe execution completed successfully!
""" } @@ -44,8 +44,8 @@

Pipeline Configuration:

-

nf-core/spatialxe

-

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

+

nf-core/spatialaxe

+

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

diff --git a/assets/email_template.txt b/assets/email_template.txt index f92d5849..9447a493 100644 --- a/assets/email_template.txt +++ b/assets/email_template.txt @@ -4,15 +4,15 @@ |\\ | |__ __ / ` / \\ |__) |__ } { | \\| | \\__, \\__/ | \\ |___ \\`-._,-`-, `._,._,' - nf-core/spatialxe ${version} + nf-core/spatialaxe ${version} ---------------------------------------------------- Run Name: $runName <% if (success){ - out << "## nf-core/spatialxe execution completed successfully! ##" + out << "## nf-core/spatialaxe execution completed successfully! ##" } else { out << """#################################################### -## nf-core/spatialxe execution completed unsuccessfully! ## +## nf-core/spatialaxe 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/spatialxe -https://github.com/nf-core/spatialxe +nf-core/spatialaxe +https://github.com/nf-core/spatialaxe diff --git a/assets/methods_description_template.yml b/assets/methods_description_template.yml index 1ac4277b..aedfd24f 100644 --- a/assets/methods_description_template.yml +++ b/assets/methods_description_template.yml @@ -1,13 +1,13 @@ -id: "nf-core-spatialxe-methods-description" +id: "nf-core-spatialaxe-methods-description" description: "Suggested text and references to use when describing pipeline usage within the methods section of a publication." -section_name: "nf-core/spatialxe Methods Description" -section_href: "https://github.com/nf-core/spatialxe" +section_name: "nf-core/spatialaxe Methods Description" +section_href: "https://github.com/nf-core/spatialaxe" 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/spatialxe 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/spatialaxe 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 a11d3d7f..0470d87c 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/spatialxe + This report has been generated by the nf-core/spatialaxe analysis pipeline. For information about how to interpret these results, please see the - documentation. + documentation. report_section_order: - "nf-core-spatialxe-methods-description": + "nf-core-spatialaxe-methods-description": order: -1000 software_versions: order: -1001 - "nf-core-spatialxe-summary": + "nf-core-spatialaxe-summary": order: -1002 export_plots: true diff --git a/assets/nf-core-spatialaxe_logo_light.png b/assets/nf-core-spatialaxe_logo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..933ee0ee14bae8f4dd665bdb9c36349a017ba377 GIT binary patch literal 81976 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

_4=>WZJt25A-(P5W=Oi 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%0DD{(9V)@jgd=haxHyt=>c<>qF~ z{UhMkEwF~;d?^>ftMCLr@FnPkqc?zNr;)?u7H7=b#wp4?-8u~Kd&cQi{XKtJdhnVe zNe_=^y{7oXinI>H`}E{y%3$@I^^nt&PGtNy<)orN4kPbv-tU*T#y@opC1T@(Q-T}r zn&cSGY~T#TYHm$|)g(jh*+1_%5AV=N9YQ&omA%<7_n`((6&b7&VFb=4P0Wl+fN4Nt zN!|i~wa^Stb;S5Aw7&p_@Si1mEzrJp3N@2cZBU^iwXXv2wYorFMnNQI=Ws*=!+ zf=4cnHg1HBrWZ;>pj+VE`;=z9dkkueKrL?$iGwnP{@>^6k~F2jkcbJzKp}{*G-?_= z<64RJd8yz+E!=Rwm2Vbo`EpLdVH^A~>(~4R09a*_I=)7<{=_ftp|@o?q39T0IHNmk z2|oW-Z#X$}(eVJ0Jm+N%zJlI;l82dN(5?bgE39!Bxs*oU?weny$V;8bu|g0Z>iczy z1?PZ_fr*NMDfE~%T5JY>+dsOzxdQNdPq!7<6}z^Zbf9=)qjhkCitnRt&dXoabh9#n zU#gsQJi8(D9-YkN&dtd+Z_XoO)F;%SS5uz2yvqN~`vuH_-lOK8r^ts`>T*FFgic1$OQCn zul&yv``&{|J*2SFg#uzLm>=a`(PBJ*BW>{VM=-r!d?|vNVg{lgo;Hi0*5-^nO)kK4 zu1Nmo^8eY*!`biz3~bJ7h>CPQcP?Ob{XmuaTh`z50crmeWXx05PkhI1^?djxlXrv< z1>IBe-Ttqpfi>fcaI&gdrn};UhOVc{_JD6N$(* z7(R77pmWdeA6C?#k;vX&%I3647A$Px8#piYaHtVccsZ zq?;4=4ND7L9Ux!i1*4YQEt;BR^&giB7?gt#=bnfc#KkJ0PieE_p_*?U=faZ8b36#C zLNER`6HuB+g%JqI^L_Sz=uy=)_pSqNEMSeUfq&I(>GRG1 zuR+0{+w;FKEZLs_$ze%t{-+PWw@==lKSX1YN`5V^^*i$9u72Ft*LXG*sPQC~^Yj0r zB9ieXG-j{4$jidtAtzySAkF1Jn~*>{4|V@bS{6zoDheiF8j~rda~*=u{#e_!}5 zI;rg%z{$>`k@!mou}+Vs`qU}jZimMmDnB)fy=CGxE_$W?Bg7q7NwVltp_|BDh&-OG+# z4XX7`Sj2;GVpu(3Ns1*KT~o<>TeYG4T5k=tE21$YQZejKxyvJi(xa<;ge`E#SrM$b z?#2-)D=MI<9r{HMXU@L2S`bgoN#up(B?oYfE=m={XCWsLh1dI0mg0Gluz$`5;{$Io_9v(2uI@7g;&__=;


gijG40X;L3Fo^?@ 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 diff --git a/assets/schema_input.json b/assets/schema_input.json index 7435ad64..c75133c8 100644 --- a/assets/schema_input.json +++ b/assets/schema_input.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/nf-core/spatialxe/master/assets/schema_input.json", - "title": "nf-core/spatialxe pipeline - params.input schema", + "$id": "https://raw.githubusercontent.com/nf-core/spatialaxe/master/assets/schema_input.json", + "title": "nf-core/spatialaxe pipeline - params.input schema", "description": "Schema for the file provided with params.input", "type": "array", "items": { diff --git a/assets/sendmail_template.txt b/assets/sendmail_template.txt index cd864042..dd49eb59 100644 --- a/assets/sendmail_template.txt +++ b/assets/sendmail_template.txt @@ -9,12 +9,12 @@ Content-Type: text/html; charset=utf-8 $email_html --nfcoremimeboundary -Content-Type: image/png;name="nf-core-spatialxe_logo.png" +Content-Type: image/png;name="nf-core-spatialaxe_logo.png" Content-Transfer-Encoding: base64 Content-ID: -Content-Disposition: inline; filename="nf-core-spatialxe_logo_light.png" +Content-Disposition: inline; filename="nf-core-spatialaxe_logo_light.png" -<% out << new File("$projectDir/assets/nf-core-spatialxe_logo_light.png"). +<% out << new File("$projectDir/assets/nf-core-spatialaxe_logo_light.png"). bytes. encodeBase64(). toString(). diff --git a/conf/base.config b/conf/base.config index 187a154e..bb65f5e2 100644 --- a/conf/base.config +++ b/conf/base.config @@ -1,6 +1,6 @@ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - nf-core/spatialxe Nextflow base config file + nf-core/spatialaxe 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 diff --git a/conf/igenomes.config b/conf/igenomes.config deleted file mode 100644 index 3f114377..00000000 --- a/conf/igenomes.config +++ /dev/null @@ -1,440 +0,0 @@ -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Nextflow config file for iGenomes paths -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Defines reference genomes using iGenome paths. - Can be used by any config that customises the base path using: - $params.igenomes_base / --igenomes_base ----------------------------------------------------------------------------------------- -*/ - -params { - // illumina iGenomes reference file paths - genomes { - 'GRCh37' { - fasta = "${params.igenomes_base}/Homo_sapiens/Ensembl/GRCh37/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Homo_sapiens/Ensembl/GRCh37/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Homo_sapiens/Ensembl/GRCh37/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Homo_sapiens/Ensembl/GRCh37/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Homo_sapiens/Ensembl/GRCh37/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Homo_sapiens/Ensembl/GRCh37/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Homo_sapiens/Ensembl/GRCh37/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Homo_sapiens/Ensembl/GRCh37/Annotation/README.txt" - mito_name = "MT" - macs_gsize = "2.7e9" - blacklist = "${projectDir}/assets/blacklists/GRCh37-blacklist.bed" - } - 'GRCh38' { - fasta = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Annotation/Genes/genes.bed" - mito_name = "chrM" - macs_gsize = "2.7e9" - blacklist = "${projectDir}/assets/blacklists/hg38-blacklist.bed" - } - 'CHM13' { - fasta = "${params.igenomes_base}/Homo_sapiens/UCSC/CHM13/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Homo_sapiens/UCSC/CHM13/Sequence/BWAIndex/" - bwamem2 = "${params.igenomes_base}/Homo_sapiens/UCSC/CHM13/Sequence/BWAmem2Index/" - gtf = "${params.igenomes_base}/Homo_sapiens/NCBI/CHM13/Annotation/Genes/genes.gtf" - gff = "ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/009/914/755/GCF_009914755.1_T2T-CHM13v2.0/GCF_009914755.1_T2T-CHM13v2.0_genomic.gff.gz" - mito_name = "chrM" - } - 'GRCm38' { - fasta = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Annotation/README.txt" - mito_name = "MT" - macs_gsize = "1.87e9" - blacklist = "${projectDir}/assets/blacklists/GRCm38-blacklist.bed" - } - 'TAIR10' { - fasta = "${params.igenomes_base}/Arabidopsis_thaliana/Ensembl/TAIR10/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Arabidopsis_thaliana/Ensembl/TAIR10/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Arabidopsis_thaliana/Ensembl/TAIR10/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Arabidopsis_thaliana/Ensembl/TAIR10/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Arabidopsis_thaliana/Ensembl/TAIR10/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Arabidopsis_thaliana/Ensembl/TAIR10/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Arabidopsis_thaliana/Ensembl/TAIR10/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Arabidopsis_thaliana/Ensembl/TAIR10/Annotation/README.txt" - mito_name = "Mt" - } - 'EB2' { - fasta = "${params.igenomes_base}/Bacillus_subtilis_168/Ensembl/EB2/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Bacillus_subtilis_168/Ensembl/EB2/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Bacillus_subtilis_168/Ensembl/EB2/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Bacillus_subtilis_168/Ensembl/EB2/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Bacillus_subtilis_168/Ensembl/EB2/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Bacillus_subtilis_168/Ensembl/EB2/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Bacillus_subtilis_168/Ensembl/EB2/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Bacillus_subtilis_168/Ensembl/EB2/Annotation/README.txt" - } - 'UMD3.1' { - fasta = "${params.igenomes_base}/Bos_taurus/Ensembl/UMD3.1/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Bos_taurus/Ensembl/UMD3.1/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Bos_taurus/Ensembl/UMD3.1/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Bos_taurus/Ensembl/UMD3.1/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Bos_taurus/Ensembl/UMD3.1/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Bos_taurus/Ensembl/UMD3.1/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Bos_taurus/Ensembl/UMD3.1/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Bos_taurus/Ensembl/UMD3.1/Annotation/README.txt" - mito_name = "MT" - } - 'WBcel235' { - fasta = "${params.igenomes_base}/Caenorhabditis_elegans/Ensembl/WBcel235/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Caenorhabditis_elegans/Ensembl/WBcel235/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Caenorhabditis_elegans/Ensembl/WBcel235/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Caenorhabditis_elegans/Ensembl/WBcel235/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Caenorhabditis_elegans/Ensembl/WBcel235/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Caenorhabditis_elegans/Ensembl/WBcel235/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Caenorhabditis_elegans/Ensembl/WBcel235/Annotation/Genes/genes.bed" - mito_name = "MtDNA" - macs_gsize = "9e7" - } - 'CanFam3.1' { - fasta = "${params.igenomes_base}/Canis_familiaris/Ensembl/CanFam3.1/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Canis_familiaris/Ensembl/CanFam3.1/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Canis_familiaris/Ensembl/CanFam3.1/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Canis_familiaris/Ensembl/CanFam3.1/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Canis_familiaris/Ensembl/CanFam3.1/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Canis_familiaris/Ensembl/CanFam3.1/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Canis_familiaris/Ensembl/CanFam3.1/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Canis_familiaris/Ensembl/CanFam3.1/Annotation/README.txt" - mito_name = "MT" - } - 'GRCz10' { - fasta = "${params.igenomes_base}/Danio_rerio/Ensembl/GRCz10/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Danio_rerio/Ensembl/GRCz10/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Danio_rerio/Ensembl/GRCz10/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Danio_rerio/Ensembl/GRCz10/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Danio_rerio/Ensembl/GRCz10/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Danio_rerio/Ensembl/GRCz10/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Danio_rerio/Ensembl/GRCz10/Annotation/Genes/genes.bed" - mito_name = "MT" - } - 'BDGP6' { - fasta = "${params.igenomes_base}/Drosophila_melanogaster/Ensembl/BDGP6/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Drosophila_melanogaster/Ensembl/BDGP6/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Drosophila_melanogaster/Ensembl/BDGP6/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Drosophila_melanogaster/Ensembl/BDGP6/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Drosophila_melanogaster/Ensembl/BDGP6/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Drosophila_melanogaster/Ensembl/BDGP6/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Drosophila_melanogaster/Ensembl/BDGP6/Annotation/Genes/genes.bed" - mito_name = "M" - macs_gsize = "1.2e8" - } - 'EquCab2' { - fasta = "${params.igenomes_base}/Equus_caballus/Ensembl/EquCab2/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Equus_caballus/Ensembl/EquCab2/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Equus_caballus/Ensembl/EquCab2/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Equus_caballus/Ensembl/EquCab2/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Equus_caballus/Ensembl/EquCab2/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Equus_caballus/Ensembl/EquCab2/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Equus_caballus/Ensembl/EquCab2/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Equus_caballus/Ensembl/EquCab2/Annotation/README.txt" - mito_name = "MT" - } - 'EB1' { - fasta = "${params.igenomes_base}/Escherichia_coli_K_12_DH10B/Ensembl/EB1/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Escherichia_coli_K_12_DH10B/Ensembl/EB1/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Escherichia_coli_K_12_DH10B/Ensembl/EB1/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Escherichia_coli_K_12_DH10B/Ensembl/EB1/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Escherichia_coli_K_12_DH10B/Ensembl/EB1/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Escherichia_coli_K_12_DH10B/Ensembl/EB1/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Escherichia_coli_K_12_DH10B/Ensembl/EB1/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Escherichia_coli_K_12_DH10B/Ensembl/EB1/Annotation/README.txt" - } - 'Galgal4' { - fasta = "${params.igenomes_base}/Gallus_gallus/Ensembl/Galgal4/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Gallus_gallus/Ensembl/Galgal4/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Gallus_gallus/Ensembl/Galgal4/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Gallus_gallus/Ensembl/Galgal4/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Gallus_gallus/Ensembl/Galgal4/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Gallus_gallus/Ensembl/Galgal4/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Gallus_gallus/Ensembl/Galgal4/Annotation/Genes/genes.bed" - mito_name = "MT" - } - 'Gm01' { - fasta = "${params.igenomes_base}/Glycine_max/Ensembl/Gm01/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Glycine_max/Ensembl/Gm01/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Glycine_max/Ensembl/Gm01/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Glycine_max/Ensembl/Gm01/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Glycine_max/Ensembl/Gm01/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Glycine_max/Ensembl/Gm01/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Glycine_max/Ensembl/Gm01/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Glycine_max/Ensembl/Gm01/Annotation/README.txt" - } - 'Mmul_1' { - fasta = "${params.igenomes_base}/Macaca_mulatta/Ensembl/Mmul_1/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Macaca_mulatta/Ensembl/Mmul_1/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Macaca_mulatta/Ensembl/Mmul_1/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Macaca_mulatta/Ensembl/Mmul_1/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Macaca_mulatta/Ensembl/Mmul_1/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Macaca_mulatta/Ensembl/Mmul_1/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Macaca_mulatta/Ensembl/Mmul_1/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Macaca_mulatta/Ensembl/Mmul_1/Annotation/README.txt" - mito_name = "MT" - } - 'IRGSP-1.0' { - fasta = "${params.igenomes_base}/Oryza_sativa_japonica/Ensembl/IRGSP-1.0/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Oryza_sativa_japonica/Ensembl/IRGSP-1.0/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Oryza_sativa_japonica/Ensembl/IRGSP-1.0/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Oryza_sativa_japonica/Ensembl/IRGSP-1.0/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Oryza_sativa_japonica/Ensembl/IRGSP-1.0/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Oryza_sativa_japonica/Ensembl/IRGSP-1.0/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Oryza_sativa_japonica/Ensembl/IRGSP-1.0/Annotation/Genes/genes.bed" - mito_name = "Mt" - } - 'CHIMP2.1.4' { - fasta = "${params.igenomes_base}/Pan_troglodytes/Ensembl/CHIMP2.1.4/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Pan_troglodytes/Ensembl/CHIMP2.1.4/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Pan_troglodytes/Ensembl/CHIMP2.1.4/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Pan_troglodytes/Ensembl/CHIMP2.1.4/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Pan_troglodytes/Ensembl/CHIMP2.1.4/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Pan_troglodytes/Ensembl/CHIMP2.1.4/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Pan_troglodytes/Ensembl/CHIMP2.1.4/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Pan_troglodytes/Ensembl/CHIMP2.1.4/Annotation/README.txt" - mito_name = "MT" - } - 'Rnor_5.0' { - fasta = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_5.0/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_5.0/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_5.0/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_5.0/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_5.0/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_5.0/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_5.0/Annotation/Genes/genes.bed" - mito_name = "MT" - } - 'Rnor_6.0' { - fasta = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_6.0/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_6.0/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_6.0/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_6.0/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_6.0/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_6.0/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Rattus_norvegicus/Ensembl/Rnor_6.0/Annotation/Genes/genes.bed" - mito_name = "MT" - } - 'R64-1-1' { - fasta = "${params.igenomes_base}/Saccharomyces_cerevisiae/Ensembl/R64-1-1/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Saccharomyces_cerevisiae/Ensembl/R64-1-1/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Saccharomyces_cerevisiae/Ensembl/R64-1-1/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Saccharomyces_cerevisiae/Ensembl/R64-1-1/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Saccharomyces_cerevisiae/Ensembl/R64-1-1/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Saccharomyces_cerevisiae/Ensembl/R64-1-1/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Saccharomyces_cerevisiae/Ensembl/R64-1-1/Annotation/Genes/genes.bed" - mito_name = "MT" - macs_gsize = "1.2e7" - } - 'EF2' { - fasta = "${params.igenomes_base}/Schizosaccharomyces_pombe/Ensembl/EF2/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Schizosaccharomyces_pombe/Ensembl/EF2/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Schizosaccharomyces_pombe/Ensembl/EF2/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Schizosaccharomyces_pombe/Ensembl/EF2/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Schizosaccharomyces_pombe/Ensembl/EF2/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Schizosaccharomyces_pombe/Ensembl/EF2/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Schizosaccharomyces_pombe/Ensembl/EF2/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Schizosaccharomyces_pombe/Ensembl/EF2/Annotation/README.txt" - mito_name = "MT" - macs_gsize = "1.21e7" - } - 'Sbi1' { - fasta = "${params.igenomes_base}/Sorghum_bicolor/Ensembl/Sbi1/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Sorghum_bicolor/Ensembl/Sbi1/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Sorghum_bicolor/Ensembl/Sbi1/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Sorghum_bicolor/Ensembl/Sbi1/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Sorghum_bicolor/Ensembl/Sbi1/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Sorghum_bicolor/Ensembl/Sbi1/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Sorghum_bicolor/Ensembl/Sbi1/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Sorghum_bicolor/Ensembl/Sbi1/Annotation/README.txt" - } - 'Sscrofa10.2' { - fasta = "${params.igenomes_base}/Sus_scrofa/Ensembl/Sscrofa10.2/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Sus_scrofa/Ensembl/Sscrofa10.2/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Sus_scrofa/Ensembl/Sscrofa10.2/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Sus_scrofa/Ensembl/Sscrofa10.2/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Sus_scrofa/Ensembl/Sscrofa10.2/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Sus_scrofa/Ensembl/Sscrofa10.2/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Sus_scrofa/Ensembl/Sscrofa10.2/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Sus_scrofa/Ensembl/Sscrofa10.2/Annotation/README.txt" - mito_name = "MT" - } - 'AGPv3' { - fasta = "${params.igenomes_base}/Zea_mays/Ensembl/AGPv3/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Zea_mays/Ensembl/AGPv3/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Zea_mays/Ensembl/AGPv3/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Zea_mays/Ensembl/AGPv3/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Zea_mays/Ensembl/AGPv3/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Zea_mays/Ensembl/AGPv3/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Zea_mays/Ensembl/AGPv3/Annotation/Genes/genes.bed" - mito_name = "Mt" - } - 'hg38' { - fasta = "${params.igenomes_base}/Homo_sapiens/UCSC/hg38/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Homo_sapiens/UCSC/hg38/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Homo_sapiens/UCSC/hg38/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Homo_sapiens/UCSC/hg38/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Homo_sapiens/UCSC/hg38/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Homo_sapiens/UCSC/hg38/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Homo_sapiens/UCSC/hg38/Annotation/Genes/genes.bed" - mito_name = "chrM" - macs_gsize = "2.7e9" - blacklist = "${projectDir}/assets/blacklists/hg38-blacklist.bed" - } - 'hg19' { - fasta = "${params.igenomes_base}/Homo_sapiens/UCSC/hg19/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Homo_sapiens/UCSC/hg19/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Homo_sapiens/UCSC/hg19/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Homo_sapiens/UCSC/hg19/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Homo_sapiens/UCSC/hg19/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Homo_sapiens/UCSC/hg19/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Homo_sapiens/UCSC/hg19/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Homo_sapiens/UCSC/hg19/Annotation/README.txt" - mito_name = "chrM" - macs_gsize = "2.7e9" - blacklist = "${projectDir}/assets/blacklists/hg19-blacklist.bed" - } - 'mm10' { - fasta = "${params.igenomes_base}/Mus_musculus/UCSC/mm10/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Mus_musculus/UCSC/mm10/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Mus_musculus/UCSC/mm10/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Mus_musculus/UCSC/mm10/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Mus_musculus/UCSC/mm10/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Mus_musculus/UCSC/mm10/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Mus_musculus/UCSC/mm10/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Mus_musculus/UCSC/mm10/Annotation/README.txt" - mito_name = "chrM" - macs_gsize = "1.87e9" - blacklist = "${projectDir}/assets/blacklists/mm10-blacklist.bed" - } - 'bosTau8' { - fasta = "${params.igenomes_base}/Bos_taurus/UCSC/bosTau8/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Bos_taurus/UCSC/bosTau8/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Bos_taurus/UCSC/bosTau8/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Bos_taurus/UCSC/bosTau8/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Bos_taurus/UCSC/bosTau8/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Bos_taurus/UCSC/bosTau8/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Bos_taurus/UCSC/bosTau8/Annotation/Genes/genes.bed" - mito_name = "chrM" - } - 'ce10' { - fasta = "${params.igenomes_base}/Caenorhabditis_elegans/UCSC/ce10/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Caenorhabditis_elegans/UCSC/ce10/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Caenorhabditis_elegans/UCSC/ce10/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Caenorhabditis_elegans/UCSC/ce10/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Caenorhabditis_elegans/UCSC/ce10/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Caenorhabditis_elegans/UCSC/ce10/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Caenorhabditis_elegans/UCSC/ce10/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Caenorhabditis_elegans/UCSC/ce10/Annotation/README.txt" - mito_name = "chrM" - macs_gsize = "9e7" - } - 'canFam3' { - fasta = "${params.igenomes_base}/Canis_familiaris/UCSC/canFam3/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Canis_familiaris/UCSC/canFam3/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Canis_familiaris/UCSC/canFam3/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Canis_familiaris/UCSC/canFam3/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Canis_familiaris/UCSC/canFam3/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Canis_familiaris/UCSC/canFam3/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Canis_familiaris/UCSC/canFam3/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Canis_familiaris/UCSC/canFam3/Annotation/README.txt" - mito_name = "chrM" - } - 'danRer10' { - fasta = "${params.igenomes_base}/Danio_rerio/UCSC/danRer10/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Danio_rerio/UCSC/danRer10/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Danio_rerio/UCSC/danRer10/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Danio_rerio/UCSC/danRer10/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Danio_rerio/UCSC/danRer10/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Danio_rerio/UCSC/danRer10/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Danio_rerio/UCSC/danRer10/Annotation/Genes/genes.bed" - mito_name = "chrM" - macs_gsize = "1.37e9" - } - 'dm6' { - fasta = "${params.igenomes_base}/Drosophila_melanogaster/UCSC/dm6/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Drosophila_melanogaster/UCSC/dm6/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Drosophila_melanogaster/UCSC/dm6/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Drosophila_melanogaster/UCSC/dm6/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Drosophila_melanogaster/UCSC/dm6/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Drosophila_melanogaster/UCSC/dm6/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Drosophila_melanogaster/UCSC/dm6/Annotation/Genes/genes.bed" - mito_name = "chrM" - macs_gsize = "1.2e8" - } - 'equCab2' { - fasta = "${params.igenomes_base}/Equus_caballus/UCSC/equCab2/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Equus_caballus/UCSC/equCab2/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Equus_caballus/UCSC/equCab2/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Equus_caballus/UCSC/equCab2/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Equus_caballus/UCSC/equCab2/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Equus_caballus/UCSC/equCab2/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Equus_caballus/UCSC/equCab2/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Equus_caballus/UCSC/equCab2/Annotation/README.txt" - mito_name = "chrM" - } - 'galGal4' { - fasta = "${params.igenomes_base}/Gallus_gallus/UCSC/galGal4/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Gallus_gallus/UCSC/galGal4/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Gallus_gallus/UCSC/galGal4/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Gallus_gallus/UCSC/galGal4/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Gallus_gallus/UCSC/galGal4/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Gallus_gallus/UCSC/galGal4/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Gallus_gallus/UCSC/galGal4/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Gallus_gallus/UCSC/galGal4/Annotation/README.txt" - mito_name = "chrM" - } - 'panTro4' { - fasta = "${params.igenomes_base}/Pan_troglodytes/UCSC/panTro4/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Pan_troglodytes/UCSC/panTro4/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Pan_troglodytes/UCSC/panTro4/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Pan_troglodytes/UCSC/panTro4/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Pan_troglodytes/UCSC/panTro4/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Pan_troglodytes/UCSC/panTro4/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Pan_troglodytes/UCSC/panTro4/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Pan_troglodytes/UCSC/panTro4/Annotation/README.txt" - mito_name = "chrM" - } - 'rn6' { - fasta = "${params.igenomes_base}/Rattus_norvegicus/UCSC/rn6/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Rattus_norvegicus/UCSC/rn6/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Rattus_norvegicus/UCSC/rn6/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Rattus_norvegicus/UCSC/rn6/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Rattus_norvegicus/UCSC/rn6/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Rattus_norvegicus/UCSC/rn6/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Rattus_norvegicus/UCSC/rn6/Annotation/Genes/genes.bed" - mito_name = "chrM" - } - 'sacCer3' { - fasta = "${params.igenomes_base}/Saccharomyces_cerevisiae/UCSC/sacCer3/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Saccharomyces_cerevisiae/UCSC/sacCer3/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Saccharomyces_cerevisiae/UCSC/sacCer3/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Saccharomyces_cerevisiae/UCSC/sacCer3/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Saccharomyces_cerevisiae/UCSC/sacCer3/Sequence/BismarkIndex/" - readme = "${params.igenomes_base}/Saccharomyces_cerevisiae/UCSC/sacCer3/Annotation/README.txt" - mito_name = "chrM" - macs_gsize = "1.2e7" - } - 'susScr3' { - fasta = "${params.igenomes_base}/Sus_scrofa/UCSC/susScr3/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Sus_scrofa/UCSC/susScr3/Sequence/BWAIndex/version0.6.0/" - bowtie2 = "${params.igenomes_base}/Sus_scrofa/UCSC/susScr3/Sequence/Bowtie2Index/" - star = "${params.igenomes_base}/Sus_scrofa/UCSC/susScr3/Sequence/STARIndex/" - bismark = "${params.igenomes_base}/Sus_scrofa/UCSC/susScr3/Sequence/BismarkIndex/" - gtf = "${params.igenomes_base}/Sus_scrofa/UCSC/susScr3/Annotation/Genes/genes.gtf" - bed12 = "${params.igenomes_base}/Sus_scrofa/UCSC/susScr3/Annotation/Genes/genes.bed" - readme = "${params.igenomes_base}/Sus_scrofa/UCSC/susScr3/Annotation/README.txt" - mito_name = "chrM" - } - } -} diff --git a/conf/igenomes_ignored.config b/conf/igenomes_ignored.config deleted file mode 100644 index b4034d82..00000000 --- a/conf/igenomes_ignored.config +++ /dev/null @@ -1,9 +0,0 @@ -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Nextflow config file for iGenomes paths -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Empty genomes dictionary to use when igenomes is ignored. ----------------------------------------------------------------------------------------- -*/ - -params.genomes = [:] diff --git a/conf/test.config b/conf/test.config index bfcc3864..119ad583 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/spatialxe -profile test, --outdir + nextflow run nf-core/spatialaxe -profile test, --outdir ---------------------------------------------------------------------------------------- */ @@ -25,6 +25,5 @@ params { // Input data // TODO nf-core: Specify the paths to your test data on nf-core/test-datasets // TODO nf-core: Give any required params for the test so that command line flags are not needed - input = params.pipelines_testdata_base_path + 'viralrecon/samplesheet/samplesheet_test_illumina_amplicon.csv'// Genome references - genome = 'R64-1-1' + input = params.pipelines_testdata_base_path + 'viralrecon/samplesheet/samplesheet_test_illumina_amplicon.csv' } diff --git a/conf/test_full.config b/conf/test_full.config index 4ddba9a2..783f993a 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/spatialxe -profile test_full, --outdir + nextflow run nf-core/spatialaxe -profile test_full, --outdir ---------------------------------------------------------------------------------------- */ @@ -19,6 +19,6 @@ params { // TODO nf-core: Give any required params for the test so that command line flags are not needed input = params.pipelines_testdata_base_path + 'viralrecon/samplesheet/samplesheet_full_illumina_amplicon.csv' - // Genome references - genome = 'R64-1-1' + // Fasta references + fasta = params.pipelines_testdata_base_path + 'viralrecon/genome/NC_045512.2/GCF_009858895.2_ASM985889v3_genomic.200409.fna.gz' } diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index f87187c8..3ee77c83 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -3,18 +3,18 @@ title: Contributing markdownPlugin: checklist --- -# `nf-core/spatialxe`: Contributing guidelines +# `nf-core/spatialaxe`: Contributing guidelines Hi there! -Thanks for taking an interest in improving nf-core/spatialxe. +Thanks for taking an interest in improving nf-core/spatialaxe. -This page describes the recommended nf-core way to contribute to both nf-core/spatialxe and nf-core pipelines in general, including: +This page describes the recommended nf-core way to contribute to both nf-core/spatialaxe and nf-core pipelines in general, including: - [General contribution guidelines](#general-contribution-guidelines): common procedures or guides across all nf-core pipelines. -- [Pipeline-specific contribution guidelines](#pipeline-specific-contribution-guidelines): procedures or guides specific to the development conventions of nf-core/spatialxe. +- [Pipeline-specific contribution guidelines](#pipeline-specific-contribution-guidelines): procedures or guides specific to the development conventions of nf-core/spatialaxe. > [!NOTE] -> If you need help using or modifying nf-core/spatialxe, ask on the nf-core Slack [#spatialxe](https://nfcore.slack.com/channels/spatialxe) channel ([join our Slack here](https://nf-co.re/join/slack)). +> If you need help using or modifying nf-core/spatialaxe, ask on the nf-core Slack [#spatialaxe](https://nfcore.slack.com/channels/spatialaxe) channel ([join our Slack here](https://nf-co.re/join/slack)). ## General contribution guidelines @@ -23,8 +23,8 @@ This page describes the recommended nf-core way to contribute to both nf-core/sp To contribute code to any nf-core pipeline: - [ ] Ensure you have Nextflow, nf-core tools, and nf-test installed. See the [nf-core/tools repository](https://github.com/nf-core/tools) for instructions. -- [ ] Check whether a GitHub [issue](https://github.com/nf-core/spatialxe/issues) about your idea already exists. If an issue does not exist, create one so that others are aware you are working on it. -- [ ] [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/spatialxe repository](https://github.com/nf-core/spatialxe) to your GitHub account. +- [ ] Check whether a GitHub [issue](https://github.com/nf-core/spatialaxe/issues) about your idea already exists. If an issue does not exist, create one so that others are aware you are working on it. +- [ ] [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/spatialaxe repository](https://github.com/nf-core/spatialaxe) to your GitHub account. - [ ] Create a branch on your forked repository and make your changes following [pipeline conventions](#pipeline-contribution-conventions) (if applicable). - [ ] To fix major bugs, name your branch `patch` and follow the [patch release](#patch-release) process. - [ ] Update relevant documentation within the `docs/` folder, use nf-core/tools to update `nextflow_schema.json`, and update `CITATIONS.md`. @@ -49,17 +49,17 @@ For more detail, see the the [blog post](https://nf-co.re/blog/2026/statement-on ### Getting help -For further information and help, see the [nf-core/spatialxe documentation](https://nf-co.re/spatialxe/usage) or ask on the nf-core [#spatialxe](https://nfcore.slack.com/channels/spatialxe) Slack channel ([join our Slack here](https://nf-co.re/join/slack)). +For further information and help, see the [nf-core/spatialaxe documentation](https://nf-co.re/spatialaxe/usage) or ask on the nf-core [#spatialaxe](https://nfcore.slack.com/channels/spatialaxe) Slack channel ([join our Slack here](https://nf-co.re/join/slack)). ### GitHub Codespaces -You can contribute to nf-core/spatialxe without installing a local development environment on your machine by using [GitHub Codespaces](https://github.com/codespaces). +You can contribute to nf-core/spatialaxe without installing a local development environment on your machine by using [GitHub Codespaces](https://github.com/codespaces). [GitHub Codespaces](https://github.com/codespaces) is an online developer environment that runs in your browser, complete with VS Code and a terminal. Most nf-core repositories include a devcontainer configuration, which creates a GitHub Codespaces environment specifically for Nextflow development. The environment includes pre-installed nf-core tools, Nextflow, and a few other helpful utilities via a Docker container. -To get started, open the repository in [Codespaces](https://github.com/nf-core/spatialxe/codespaces). +To get started, open the repository in [Codespaces](https://github.com/nf-core/spatialaxe/codespaces). ### Testing @@ -112,7 +112,7 @@ These tests are run with the latest available version of Nextflow and the minimu ### Pipeline contribution conventions -nf-core semi-standardises how you write code and other contributions to make the nf-core/spatialxe code and processing logic more understandable for new contributors and to ensure quality. +nf-core semi-standardises how you write code and other contributions to make the nf-core/spatialaxe code and processing logic more understandable for new contributors and to ensure quality. #### Add a new pipeline step diff --git a/docs/README.md b/docs/README.md index 2f7c904b..c7b0845a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,6 +1,6 @@ -# nf-core/spatialxe: Documentation +# nf-core/spatialaxe: Documentation -The nf-core/spatialxe documentation is split into the following pages: +The nf-core/spatialaxe 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-spatialaxe_logo_dark.png b/docs/images/nf-core-spatialaxe_logo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..9eea0195def9214568d174e8e232587cfc39aa00 GIT binary patch literal 32349 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�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 literal 0 HcmV?d00001 diff --git a/docs/images/nf-core-spatialxe_logo_dark.png b/docs/images/nf-core-spatialxe_logo_dark.png deleted file mode 100644 index 6a6a051e61ced495a082297fde51a19c3da6a749..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30543 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%0A>XT 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�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 diff --git a/docs/output.md b/docs/output.md index 2a27145d..c04a4c25 100644 --- a/docs/output.md +++ b/docs/output.md @@ -1,4 +1,4 @@ -# nf-core/spatialxe: Output +# nf-core/spatialaxe: Output ## Introduction diff --git a/docs/usage.md b/docs/usage.md index 9050ce93..8bafa8a8 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -1,6 +1,6 @@ -# nf-core/spatialxe: Usage +# nf-core/spatialaxe: Usage -## :warning: Please read this documentation on the nf-core website: [https://nf-co.re/spatialxe/usage](https://nf-co.re/spatialxe/usage) +## :warning: Please read this documentation on the nf-core website: [https://nf-co.re/spatialaxe/usage](https://nf-co.re/spatialaxe/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/spatialxe --input ./samplesheet.csv --outdir ./results --genome GRCh37 -profile docker +nextflow run nf-core/spatialaxe --input ./samplesheet.csv --outdir ./results -profile docker ``` This will launch the pipeline with the `docker` configuration profile. See below for more information about profiles. @@ -81,7 +81,7 @@ Pipeline settings can be provided in a `yaml` or `json` file via `-params-file < The above pipeline run specified with a params file in yaml format: ```bash -nextflow run nf-core/spatialxe -profile docker -params-file params.yaml +nextflow run nf-core/spatialaxe -profile docker -params-file params.yaml ``` with: @@ -89,7 +89,6 @@ with: ```yaml title="params.yaml" input: './samplesheet.csv' outdir: './results/' -genome: 'GRCh37' <...> ``` @@ -100,14 +99,14 @@ 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/spatialxe +nextflow pull nf-core/spatialaxe ``` ### Reproducibility 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/spatialxe releases page](https://github.com/nf-core/spatialxe/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/spatialaxe releases page](https://github.com/nf-core/spatialaxe/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. diff --git a/main.nf b/main.nf index 0ed1167a..60581bcf 100644 --- a/main.nf +++ b/main.nf @@ -1,11 +1,11 @@ #!/usr/bin/env nextflow /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - nf-core/spatialxe + nf-core/spatialaxe ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Github : https://github.com/nf-core/spatialxe - Website: https://nf-co.re/spatialxe - Slack : https://nfcore.slack.com/channels/spatialxe + Github : https://github.com/nf-core/spatialaxe + Website: https://nf-co.re/spatialaxe + Slack : https://nfcore.slack.com/channels/spatialaxe ---------------------------------------------------------------------------------------- */ @@ -15,22 +15,9 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -include { SPATIALXE } from './workflows/spatialxe' -include { PIPELINE_INITIALISATION } from './subworkflows/local/utils_nfcore_spatialxe_pipeline' -include { PIPELINE_COMPLETION } from './subworkflows/local/utils_nfcore_spatialxe_pipeline' -include { getGenomeAttribute } from './subworkflows/local/utils_nfcore_spatialxe_pipeline' - -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - GENOME PARAMETER VALUES -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -*/ - -// TODO nf-core: Remove this line if you don't need a FASTA file -// This is an example of how to use getGenomeAttribute() to fetch parameters -// from igenomes.config using `--genome` -params.fasta = getGenomeAttribute('fasta') - +include { SPATIALAXE } from './workflows/spatialaxe' +include { PIPELINE_INITIALISATION } from './subworkflows/local/utils_nfcore_spatialaxe_pipeline' +include { PIPELINE_COMPLETION } from './subworkflows/local/utils_nfcore_spatialaxe_pipeline' /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NAMED WORKFLOWS FOR PIPELINE @@ -40,7 +27,7 @@ params.fasta = getGenomeAttribute('fasta') // // WORKFLOW: Run main analysis pipeline depending on type of input // -workflow NFCORE_SPATIALXE { +workflow NFCORE_SPATIALAXE { take: samplesheet // channel: samplesheet read in from --input @@ -50,7 +37,7 @@ workflow NFCORE_SPATIALXE { // // WORKFLOW: Run pipeline // - SPATIALXE ( + SPATIALAXE ( samplesheet, params.multiqc_config, params.multiqc_logo, @@ -58,7 +45,7 @@ workflow NFCORE_SPATIALXE { params.outdir, ) emit: - multiqc_report = SPATIALXE.out.multiqc_report // channel: /path/to/multiqc_report.html + multiqc_report = SPATIALAXE.out.multiqc_report // channel: /path/to/multiqc_report.html } /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -87,7 +74,7 @@ workflow { // // WORKFLOW: Run main workflow // - NFCORE_SPATIALXE ( + NFCORE_SPATIALAXE ( PIPELINE_INITIALISATION.out.samplesheet ) // @@ -99,7 +86,7 @@ workflow { params.plaintext_email, params.outdir, params.monochrome_logs, - NFCORE_SPATIALXE.out.multiqc_report + NFCORE_SPATIALAXE.out.multiqc_report ) } diff --git a/modules.json b/modules.json index 09082eaf..05b79b8f 100644 --- a/modules.json +++ b/modules.json @@ -1,6 +1,6 @@ { - "name": "nf-core/spatialxe", - "homePage": "https://github.com/nf-core/spatialxe", + "name": "nf-core/spatialaxe", + "homePage": "https://github.com/nf-core/spatialaxe", "repos": { "https://github.com/nf-core/modules.git": { "modules": { diff --git a/nextflow.config b/nextflow.config index e081c0c2..2d30f7ca 100644 --- a/nextflow.config +++ b/nextflow.config @@ -1,6 +1,6 @@ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - nf-core/spatialxe Nextflow config file + nf-core/spatialaxe Nextflow config file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Default config options for all compute environments ---------------------------------------------------------------------------------------- @@ -13,11 +13,6 @@ params { // Input options input = null - // References - genome = null - igenomes_base = 's3://ngi-igenomes/igenomes/' - igenomes_ignore = false - // MultiQC options multiqc_config = null multiqc_title = null @@ -176,13 +171,13 @@ profiles { // Load nf-core custom profiles from different institutions // If params.custom_config_base is set AND either the NXF_OFFLINE environment variable is not set or params.custom_config_base is a local path, the nfcore_custom.config file from the specified base path is included. -// Load nf-core/spatialxe custom profiles from different institutions. +// Load nf-core/spatialaxe custom profiles from different institutions. includeConfig params.custom_config_base && (!System.getenv('NXF_OFFLINE') || !params.custom_config_base.startsWith('http')) ? "${params.custom_config_base}/nfcore_custom.config" : "/dev/null" -// Load nf-core/spatialxe custom profiles from different institutions. +// Load nf-core/spatialaxe 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 params.custom_config_base && (!System.getenv('NXF_OFFLINE') || !params.custom_config_base.startsWith('http')) ? "${params.custom_config_base}/pipeline/spatialxe.config" : "/dev/null" +// includeConfig params.custom_config_base && (!System.getenv('NXF_OFFLINE') || !params.custom_config_base.startsWith('http')) ? "${params.custom_config_base}/pipeline/spatialaxe.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 @@ -193,8 +188,7 @@ podman.registry = 'quay.io' singularity.registry = 'quay.io' charliecloud.registry = 'quay.io' -// Load igenomes.config if required -includeConfig !params.igenomes_ignore ? 'conf/igenomes.config' : 'conf/igenomes_ignored.config' + // Export these variables to prevent local Python/R libraries from conflicting with those in the container // The JULIA depot path has been adjusted to a fixed path `/usr/local/share/julia` that needs to be used for packages in the container. @@ -238,7 +232,7 @@ dag { } manifest { - name = 'nf-core/spatialxe' + name = 'nf-core/spatialaxe' contributors = [ // TODO nf-core: Update the field with the details of the contributors to your pipeline. New with Nextflow version 24.10.0 [ @@ -249,6 +243,14 @@ manifest { contribution: [], // List of contribution types ('author', 'maintainer' or 'contributor') orcid: '' ], + [ + name: ' Dongze He', + affiliation: '', + email: '', + github: '', + contribution: [], // List of contribution types ('author', 'maintainer' or 'contributor') + orcid: '' + ], [ name: ' Florian Heyl', affiliation: '', @@ -258,12 +260,12 @@ manifest { orcid: '' ], ] - homePage = 'https://github.com/nf-core/spatialxe' + homePage = 'https://github.com/nf-core/spatialaxe' description = """A pipeline for spatialomics Xenium In Situ data.""" mainScript = 'main.nf' defaultBranch = 'master' nextflowVersion = '!>=25.10.4' - version = '1.0.0' + version = '1.0.0dev' doi = '' } diff --git a/nextflow_schema.json b/nextflow_schema.json index 5d9dff39..b0a502ca 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/spatialxe/master/nextflow_schema.json", - "title": "nf-core/spatialxe pipeline parameters", + "$id": "https://raw.githubusercontent.com/nf-core/spatialaxe/master/nextflow_schema.json", + "title": "nf-core/spatialaxe pipeline parameters", "description": "A pipeline for spatialomics Xenium In Situ data.", "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/spatialxe/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/spatialaxe/usage#samplesheet-input).", "fa_icon": "fas fa-file-csv" }, "outdir": { @@ -43,44 +43,6 @@ } } }, - "reference_genome_options": { - "title": "Reference genome options", - "type": "object", - "fa_icon": "fas fa-dna", - "description": "Reference genome related files and options required for the workflow.", - "properties": { - "genome": { - "type": "string", - "description": "Name of iGenomes reference.", - "fa_icon": "fas fa-book", - "help_text": "If using a reference genome configured in the pipeline using iGenomes, use this parameter to give the ID for the reference. This is then used to build the full paths for all required reference genome files e.g. `--genome GRCh38`. \n\nSee the [nf-core website docs](https://nf-co.re/usage/reference_genomes) for more details." - }, - "fasta": { - "type": "string", - "format": "file-path", - "exists": true, - "mimetype": "text/plain", - "pattern": "^\\S+\\.fn?a(sta)?(\\.gz)?$", - "description": "Path to FASTA genome file.", - "help_text": "This parameter is *mandatory* if `--genome` is not specified. If you don't have a BWA index available this will be generated for you automatically. Combine with `--save_reference` to save BWA index for future runs.", - "fa_icon": "far fa-file-code" - }, - "igenomes_ignore": { - "type": "boolean", - "description": "Do not load the iGenomes reference config.", - "fa_icon": "fas fa-ban", - "hidden": true, - "help_text": "Do not load `igenomes.config` when running the pipeline. You may choose this option if you observe clashes between custom parameters and those supplied in `igenomes.config`." - }, - "igenomes_base": { - "type": "string", - "description": "The base path to the igenomes reference files", - "fa_icon": "fas fa-ban", - "hidden": true, - "default": "s3://ngi-igenomes/igenomes/" - } - } - }, "institutional_config_options": { "title": "Institutional config options", "type": "object", @@ -236,9 +198,6 @@ { "$ref": "#/$defs/input_output_options" }, - { - "$ref": "#/$defs/reference_genome_options" - }, { "$ref": "#/$defs/institutional_config_options" }, diff --git a/ro-crate-metadata.json b/ro-crate-metadata.json index 2d0ac5c2..89b15d09 100644 --- a/ro-crate-metadata.json +++ b/ro-crate-metadata.json @@ -21,9 +21,9 @@ { "@id": "./", "@type": "Dataset", - "creativeWorkStatus": "Stable", - "datePublished": "2026-04-30T13:33:23+00:00", - "description": "

\n \n \n \"nf-core/spatialxe\"\n \n

\n\n[![Open in GitHub Codespaces](https://img.shields.io/badge/Open_In_GitHub_Codespaces-black?labelColor=grey&logo=github)](https://github.com/codespaces/new/nf-core/spatialxe)\n[![GitHub Actions CI Status](https://github.com/nf-core/spatialxe/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/spatialxe/actions/workflows/nf-test.yml)\n[![GitHub Actions Linting Status](https://github.com/nf-core/spatialxe/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/spatialxe/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/spatialxe/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/version-%E2%89%A525.10.4-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-4.0.2-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/4.0.2)\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/spatialxe)\n\n[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23spatialxe-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/spatialxe)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![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/spatialxe** is a bioinformatics pipeline that ...\n\n\n\n\n1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))2. 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/get_started/environment_setup/overview) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/get_started/run-your-first-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/spatialxe \\\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/running/run-pipelines#using-parameter-files).\n\nFor more details and further functionality, please refer to the [usage documentation](https://nf-co.re/spatialxe/usage) and the [parameter documentation](https://nf-co.re/spatialxe/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/spatialxe/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/spatialxe/output).\n\n## Credits\n\nnf-core/spatialxe was originally written by Sameesh Kher, Florian Heyl.\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](docs/CONTRIBUTING.md).\n\nFor further information or help, don't hesitate to get in touch on the [Slack `#spatialxe` channel](https://nfcore.slack.com/channels/spatialxe) (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", + "creativeWorkStatus": "InProgress", + "datePublished": "2026-07-24T12:36:24+00:00", + "description": "

\n \n \n \"nf-core/spatialaxe\"\n \n

\n\n[![Open in GitHub Codespaces](https://img.shields.io/badge/Open_In_GitHub_Codespaces-black?labelColor=grey&logo=github)](https://github.com/codespaces/new/nf-core/spatialaxe)\n[![GitHub Actions CI Status](https://github.com/nf-core/spatialaxe/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/spatialaxe/actions/workflows/nf-test.yml)\n[![GitHub Actions Linting Status](https://github.com/nf-core/spatialaxe/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/spatialaxe/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/spatialaxe/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/version-%E2%89%A525.10.4-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-4.0.3-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/4.0.3)\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/spatialaxe)\n\n[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23spatialaxe-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/spatialaxe)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![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/spatialaxe** is a bioinformatics pipeline that ...\n\n\n\n\n1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))2. 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/get_started/environment_setup/overview) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/get_started/run-your-first-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/spatialaxe \\\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/running/run-pipelines#using-parameter-files).\n\nFor more details and further functionality, please refer to the [usage documentation](https://nf-co.re/spatialaxe/usage) and the [parameter documentation](https://nf-co.re/spatialaxe/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/spatialaxe/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/spatialaxe/output).\n\n## Credits\n\nnf-core/spatialaxe was originally written by Sameesh Kher, Dongze He, Florian Heyl.\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](docs/CONTRIBUTING.md).\n\nFor further information or help, don't hesitate to get in touch on the [Slack `#spatialaxe` channel](https://nfcore.slack.com/channels/spatialaxe) (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" @@ -92,17 +92,17 @@ "@id": ".prettierignore" } ], - "isBasedOn": "https://github.com/nf-core/spatialxe", + "isBasedOn": "https://github.com/nf-core/spatialaxe", "license": "MIT", "mainEntity": { "@id": "main.nf" }, "mentions": [ { - "@id": "#1c52c7cb-def3-43c9-9e10-865c2cf0ba78" + "@id": "#6f860541-0c19-4200-aae7-36804aab52e2" } ], - "name": "nf-core/spatialxe" + "name": "nf-core/spatialaxe" }, { "@id": "ro-crate-metadata.json", @@ -126,17 +126,21 @@ { "@id": "https://orcid.org/0009-0008-2420-6464" }, + { + "@id": "#5fd4466e-7ce2-4d27-924e-ee46d6d24240" + }, { "@id": "https://orcid.org/0000-0002-3651-5685" } ], "dateCreated": "", - "dateModified": "2026-04-30T13:33:23Z", + "dateModified": "2026-07-24T12:36:24Z", "dct:conformsTo": "https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE/", "keywords": [ "nf-core", "nextflow", "10x-genomics", + "atera", "image-processing", "spatial", "spatial-data-analysis", @@ -145,15 +149,15 @@ "xenium" ], "license": ["MIT"], - "name": ["nf-core/spatialxe"], + "name": ["nf-core/spatialaxe"], "programmingLanguage": { "@id": "https://w3id.org/workflowhub/workflow-ro-crate#nextflow" }, "sdPublisher": { "@id": "https://nf-co.re/" }, - "url": ["https://github.com/nf-core/spatialxe", "https://nf-co.re/spatialxe/1.0.0/"], - "version": ["1.0.0"] + "url": ["https://github.com/nf-core/spatialaxe", "https://nf-co.re/spatialaxe/dev/"], + "version": ["1.0.0dev"] }, { "@id": "https://w3id.org/workflowhub/workflow-ro-crate#nextflow", @@ -168,23 +172,23 @@ "version": "!>=25.10.4" }, { - "@id": "#1c52c7cb-def3-43c9-9e10-865c2cf0ba78", + "@id": "#6f860541-0c19-4200-aae7-36804aab52e2", "@type": "TestSuite", "instance": [ { - "@id": "#162edd3a-9c52-463a-94f5-78ed109f8513" + "@id": "#aa0d9bf7-3ee3-439e-a67e-6f47b5f81a12" } ], "mainEntity": { "@id": "main.nf" }, - "name": "Test suite for nf-core/spatialxe" + "name": "Test suite for nf-core/spatialaxe" }, { - "@id": "#162edd3a-9c52-463a-94f5-78ed109f8513", + "@id": "#aa0d9bf7-3ee3-439e-a67e-6f47b5f81a12", "@type": "TestInstance", - "name": "GitHub Actions workflow for testing nf-core/spatialxe", - "resource": "repos/nf-core/spatialxe/actions/workflows/nf-test.yml", + "name": "GitHub Actions workflow for testing nf-core/spatialaxe", + "resource": "repos/nf-core/spatialaxe/actions/workflows/nf-test.yml", "runsOn": { "@id": "https://w3id.org/ro/terms/test#GithubService" }, @@ -314,6 +318,11 @@ "@type": "Person", "name": "Sameesh Kher" }, + { + "@id": "#5fd4466e-7ce2-4d27-924e-ee46d6d24240", + "@type": "Person", + "name": "Dongze He" + }, { "@id": "https://orcid.org/0000-0002-3651-5685", "@type": "Person", diff --git a/subworkflows/local/utils_nfcore_spatialxe_pipeline/main.nf b/subworkflows/local/utils_nfcore_spatialaxe_pipeline/main.nf similarity index 88% rename from subworkflows/local/utils_nfcore_spatialxe_pipeline/main.nf rename to subworkflows/local/utils_nfcore_spatialaxe_pipeline/main.nf index c60249c8..cb82e1c6 100644 --- a/subworkflows/local/utils_nfcore_spatialxe_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_spatialaxe_pipeline/main.nf @@ -1,5 +1,5 @@ // -// Subworkflow with functionality specific to the nf-core/spatialxe pipeline +// Subworkflow with functionality specific to the nf-core/spatialaxe pipeline // /* @@ -63,7 +63,7 @@ workflow PIPELINE_INITIALISATION { \033[0;34m |\\ | |__ __ / ` / \\ |__) |__ \033[0;33m} {\033[0m \033[0;34m | \\| | \\__, \\__/ | \\ |___ \033[0;32m\\`-._,-`-,\033[0m \033[0;32m`._,._,\'\033[0m -\033[0;35m nf-core/spatialxe ${workflow.manifest.version}\033[0m +\033[0;35m nf-core/spatialaxe ${workflow.manifest.version}\033[0m -\033[2m----------------------------------------------------\033[0m- """ after_text = """${workflow.manifest.doi ? "\n* The pipeline\n" : ""}${workflow.manifest.doi.tokenize(",").collect { doi -> " https://doi.org/${doi.trim().replace('https://doi.org/','')}"}.join("\n")}${workflow.manifest.doi ? "\n" : ""} @@ -71,7 +71,7 @@ workflow PIPELINE_INITIALISATION { https://doi.org/10.1038/s41587-020-0439-x * Software dependencies - https://github.com/nf-core/spatialxe/blob/master/CITATIONS.md + https://github.com/nf-core/spatialaxe/blob/master/CITATIONS.md """ if (monochrome_logs) { before_text = before_text.replaceAll(/\033\[[0-9;]*m/, '') @@ -98,11 +98,6 @@ workflow PIPELINE_INITIALISATION { nextflow_cli_args ) - // - // Custom validation for pipeline parameters - // - validateInputParameters() - // // Create channel from input file provided through params.input // @@ -182,12 +177,6 @@ workflow PIPELINE_COMPLETION { FUNCTIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -// -// Check and validate pipeline parameters -// -def validateInputParameters() { - genomeExistsError() -} // // Validate channels from input samplesheet @@ -204,31 +193,6 @@ def validateInputSamplesheet(input) { return [ metas[0], fastqs ] } // -// Get attribute from genome config file e.g. fasta -// -def getGenomeAttribute(attribute) { - if (params.genomes && params.genome && params.genomes.containsKey(params.genome)) { - if (params.genomes[ params.genome ].containsKey(attribute)) { - return params.genomes[ params.genome ][ attribute ] - } - } - return null -} - -// -// Exit pipeline if incorrect --genome key provided -// -def genomeExistsError() { - if (params.genomes && params.genome && !params.genomes.containsKey(params.genome)) { - def error_string = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" + - " Genome '${params.genome}' not found in any config files provided to the pipeline.\n" + - " Currently, the available genome keys are:\n" + - " ${params.genomes.keySet().join(", ")}\n" + - "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" - error(error_string) - } -} -// // Generate methods description for MultiQC // def toolCitationText() { diff --git a/tests/default.nf.test b/tests/default.nf.test index d5000f57..4af70f63 100644 --- a/tests/default.nf.test +++ b/tests/default.nf.test @@ -21,7 +21,7 @@ nextflow_pipeline { assertAll( { assert snapshot( // pipeline versions.yml file for multiqc from which Nextflow version is removed because we test pipelines on multiple Nextflow versions - removeNextflowVersion("$outputDir/pipeline_info/nf_core_spatialxe_software_mqc_versions.yml"), + removeNextflowVersion("$outputDir/pipeline_info/nf_core_spatialaxe_software_mqc_versions.yml"), // All stable path name, with a relative path stable_path, // All files with stable contents diff --git a/tests/nextflow.config b/tests/nextflow.config index caf25a7b..5c78fcc3 100644 --- a/tests/nextflow.config +++ b/tests/nextflow.config @@ -8,7 +8,7 @@ // Or any resources requirements params { modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' - pipelines_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/refs/heads/spatialxe/' + pipelines_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/refs/heads/spatialaxe/' } aws.client.anonymous = true // fixes S3 access issues on self-hosted runners diff --git a/workflows/spatialxe.nf b/workflows/spatialaxe.nf similarity index 95% rename from workflows/spatialxe.nf rename to workflows/spatialaxe.nf index d9a6a306..51e72fc1 100644 --- a/workflows/spatialxe.nf +++ b/workflows/spatialaxe.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_spatialxe_pipeline' +include { methodsDescriptionText } from '../subworkflows/local/utils_nfcore_spatialaxe_pipeline' /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -16,7 +16,7 @@ include { methodsDescriptionText } from '../subworkflows/local/utils_nfcore_spat ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -workflow SPATIALXE { +workflow SPATIALAXE { take: ch_samplesheet // channel: samplesheet read in from --input @@ -59,7 +59,7 @@ workflow SPATIALXE { .mix(topic_versions_string) .collectFile( storeDir: "${outdir}/pipeline_info", - name: 'nf_core_' + 'spatialxe_software_' + 'mqc_' + 'versions.yml', + name: 'nf_core_' + 'spatialaxe_software_' + 'mqc_' + 'versions.yml', sort: true, newLine: true ) @@ -79,7 +79,7 @@ workflow SPATIALXE { MULTIQC( ch_multiqc_files.flatten().collect().map { files -> [ - [id: 'spatialxe'], + [id: 'spatialaxe'], files, multiqc_config ? file(multiqc_config, checkIfExists: true)

c%7fbNgtNUD8s^%K9t~n&AJR`lb%n_L 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 LHMwNB=imPyB)f7V literal 0 HcmV?d00001 diff --git a/assets/nf-core-spatialxe_logo_light.png b/assets/nf-core-spatialxe_logo_light.png deleted file mode 100644 index 8a8ca75bbb8c67fe1521e272cbd6ab71fce03182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80727 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 Zr0LVfWv z0@dXRQ&Yjb#;_BhOLzfJD(5uHX3O0K?ZoB;ZVVX0uMj=|`W1;9pTeZ1O*drr$~q7K zF);YQFRVkSKCQ=YyF7=(n>(L=CKuNH&e^WPtFoP(Q)j{N&k8$!&tT!9!N$5OTg$G( zJth{Dj;-;FlPolXARhl zDA1t-TC2q-p5xfQoFWHpXL1Qw)cUIU=H{>~gVH%@*=+w<+;#<8#2HE5X`ZJ%-0dMN zLRpG~oIwob?tVquZzEFo--EdYQ{~Rgt={-b(coL-Z%k?d)bK-lfC?jYN+q!P%FS1_ z^W7DNIbM5JhS25}yV8LWAZD1d4*Hg3D?vWimyg0fkJi2yFkHH!Gd^kc;ZN1!j=nO7 zIyWIvf&3)l6XILy>PG6>(Xgq65W3J&&rr7pLGezE%1}+~*6pmD~*yyx> z3W-m%bvChe4hY<%V!`KzKvUSNgo z?0inadU*}dL47i$2_HiJWC;{n&V|ult45U8Qi%1v$LI2V>Avt zg)Q#W&aNLibsHhkwZi`j+VaoqHZ8w-t*Kou5zvx9xbc2?I;2m?^3n=lQgU&eEfsVh zQDEpo2c89?jeLp?&^1oM_6MW&7(_FBrxJqbh_O&Q+}u^;vG5La&d_I}&9qG_H6;+g zRBW^l4Yjf1$mVI!3*3IcNVht-rH zplSO2g4}EMemft2k>=kGF2Fa|VX6Wq?rZxDD9j!)#i*U3NI<$d3z1r6B%KrV;RFWD zvYrZpo%EF}b0x>Tb*O)w|uOvpNK zXT7v^ltNP$^owi7(l2Qh4De09*#BMfr%(-XDBhOX*)~|3I>dgJI2BzmJ<0K;ldRmJ zudeVry-V8+$4=MGal)~yxGhq3?)1CxxK%G(FOr?wqxLm8Z@o;g0mLUEUHc2|e8uTt zs3^9qCXV6YEMen$`CM`;Ku;d&Z-C~x=~iiIxo^^7-?h{9%^c|!0pY~>Yw9c|CZX4BuB^HU zvyIVdvMT-*Y70$$jB~2Ibw1#ZtoIH%?l3Ps_woC;&Z-EX)|`b?WLhBn4LxZ0+hsu$ z64$Mvi7~b}J||7_h#Z_uNri5!U)Y~xj>Z)Ko!V=5dkgJ{J&)o^7#B ziiRhTE6y=De17?Ht3Q8sA9rHvXxFw+np3`6?-mAs-MHQK>W(5__1Uw4&TB@v_4hV4 z)Gw(z1{(`1qL$yTCfQNC=$iYrY|EZ%F5F2v8wED%m1Rk{xB9!4 zFJvI*{1?DL(48k6&|FGYp$2Zn!@<-{;pc}{zyO0?l`w!UixXs3$2oDIup?@ZzJ+g6 zL9=x_b2-%<0+Af#h<3_{P{5S=4tn$(E1+{rq@giV@$Sc{XPycL`n|r4uck{p;t$uv z-Ko5oI<%^7=FM`Ee5-KO6Td%Ev^jraa>zT4qJ%u|E=kM|=$|dcSG29_?WC2HP&ejh)pae#T7rY6x0Nj2JU;cxX<{R}Mw<1$YneWCo|f*%_7X*5i+l?H#9yLYHD z3wr)LKk6DMh-6Zy-Yg(>U9ELhGkoFrALFtf`Gwv4?rrOH=Y{d#;u1o~1UJ~|JfEY+ z9xEYGjti@Zy2uur)L~uQCww9)X*ZDVq9=8Ra80mK#m`bq>G9zQfY_Yiq-!28gs9yw zP}MdF^qp!wdAShU^>U(kRETdcx;`X1kl z5h_G&wFd316N%z%!fb-GZol!^-{79lyO8qX%tkVj7Fy&bt__3vm3_bzb0-z?#uY$| zuFG71O$i(Pgfmea=S<_RXm#lYQF6x)gG)$duy&;Oa9sZQdF7EdYV9Mk4XnYzXr+?Y z<)PTG1_`s%I!9BWOi`;d$F;6Z+hscx1+k;hax;5C`mD}dOuu1&KY2UwQI6BK)~$`V zIhS6wbN8@%xhu#U`lK5!tdGjjlj#a)2P(ot_e*!At7X)4yH0__`kD97h=0+3tt#K5=Y*iM8{VNk)fGQ^DUX(u=O)<|~6|L$^;gk0*=qv2$EcV(>vCjwx(ZC{r4A zU}x06cBxsI7noIrUi+0<0~ke-c&4_$1kB!9Dq3VZfL@VP^p&iPP$?|t^fGede_kCl|}*9A=7O*L1CjUe^-BkLTzaZS-v@VX_J-85MmrnxZNx59JH*; zxpX}>C;La2$(wNhY;q>=RK+QtDc_non+M#B|nAGn+4NxdZ&}ltT&%-R=N-b%`&zIJA%)rDTa7J zc!b=Cg;MFb?eC4gn;(Hw!MO#~we^32QDT$s&++DVO2O~)NW`-A)1Sl-flDVvDOiSd zU5Gg{ZNNfl#Tjhk032wKG4@4(;q=y-#1;pQ+y`3GW zH}N7#tgHEXfd5=IJDq~Gx0?w=QkA7o@g*NBBiS))=bZCw7pD`OXi7r&(}k|<8GW7} zR8Pa#abR;BET`VnT!Dx!ET|YlZCHLW6a+t~$OE-~R|xPU0_-?R-~|f+gXcSWK(~!a zD`}ojqQ&@D5dTC=IoMq8r<2^?%&Iv6f*B;>q!9GFyTl!gH#|mM2aS?Vp@{O*6h_NVD!~b#* zo-8N65EIn@PHe0KDI(OX(q0;Crf7m#NTS|{xu+0_{jLkn(jZpo@M zNJPa6b_l1|anM0v$p2zKj(q@EjzI1GvruuD&~R#7s)dbMEs)8OrvVaMzME+vcDU#)>ygEXrRP!+G<2Q5MRM$fKK7910!FkzJ@ z(vkqDG+f2z;h^)GJQVPry(YdOal`)Eg4vn{)l2Y|q`o3;t6>&veX^h|Y`8eJM~P?8 zFml60F*sK#M5+^LZXW9Ow}Eb5ff?ke-UbF_z#O?=_w@B{dRnWMaBtiEZkvH_viMZy z+)|HSI)<^w^gDjPdYk$yyo$_#Ni&(v-^|fVL5V1RwPvcMQ{;k)QCn%M+l%b%Z(ZUH z7nR0m#lt@(1e%=fFkzruLH-3I$MlQ1ER_y;oSZ7o;%$5GW9K zMaIBXl^~Z~IE?IR&cTP~E96>c?y+4Z^DRo@OqbHilPRhTf0&5Z7?t9@6UEvv+2aDe zGxB#T1@qd)xh|4F^H$DfryA-iOqma<;lHh8p9xWBt7b(Z5a+L`a> z&+BP!eNLKJgLRCAY%cWRD!`179tT$F(=^8ig>|lmPw2G{ej7j`D)FujDgyKxt$vQn z0)3H7Q2c-A&M)3?r#yF^zrlq$3;G;kP6-OiuXOh+s)S&oO_F+?+|O|c5Cxol5VTGD z-19#3Sl^vbf--=%=ww=m;o=g4VjGkf^NO$)od(ZrBP$LlYx_9`iyBxmO>(%M2%ESh zEFe}wM;<+v$osvkDmKrG(C2J-<(6BJIa)f$MEIZ=+B3O&Opt!L^u9M+r?f4mHz20A z&H8HYB`qP8c%pS_S83YKyGhEq$Qi*qdPsqQcOo3OU}o*{u?-7!hiafTOQh0D<6FFK z=V{PwKFBY6K54grQ?McAh+FI+gj3f!f@wx1&dWm(vPHS34w*%%eF}gPR4^Cus1-6l z#(3;@UD`#L{Wrjf9Pc7?xcRH_#&GzJ(MwXJG3l9FlHK^1tQQ;DQY*@dQ<~)#_qr82 zvIAn>ocDJw+iHJU*H(4z%Z@9czJI;a5La3hH)Jb>|54)LMl@dtH}DU@@7L<}^{R|} z%<(KRt5em;{o8@0S(FD7A&rSOzrSLz)^U7`?t>j9n4guWzbq|`WahU23@x-JKBo~3f;`U1WXVm^TFz zi!`P+(@?@Cr?ze$ltHG@Kx4d(=SKX(tT*Ik9$OUjo5KOXVUjY8j!0wt4(Y^9z8BC) z&2>)TX?{aMghs5u@2^FT%AVdOjV`kep+n~`6>q#z=yP)WWpK6j9V`2o`CYGGC;gbg zu|c-f6lZ1i>FUP3=s=G*PTS@_`d89~H2IVq*e+ZZUH@!qNiiwD(yXyK^$9{iwpeKg zvOHa=+Y1qSpGWJzI`<_69S;djoRlZk_@ljevQ1qtR}IQf|~i!Ee- z{wexBS(z6S63Dr+w%WPy(A0dyX`R&@>w;<7&cANg-SLeJO21j#+=ch(65q^xt|K^= zc`^}`)B4iDG9ldmvApx2EH!nhc)|K-!+*Q6)WN9_rYj#L^0DrefF`&^CqE~_+C>!{Ito0GoAiRMfPAv z93)xOrXlF~O@I-*8WX*s*+ql;Yj^J5FVzKsh9TbAx8R`jV}+0sNhsSpuB|2&9?ENe zR_A{b&yY8bYR+$usN}z^CA8YSd@H>Ir+}aR4R$wNk=SiV_VRC(FbSQ#5jXHMd0Mi( zRxD{#k*xlTYB8@Ct-v1mV|_#^4(C7IYAC1^q0%lcdGacn=&bJCkZmHo^pby@xzofu zsl7qj#!qz18j{bjh%~*%E(~wcyrdprXvrbD<50HA06`9d{MUahe(Q;A+J&@z2vSqY zXp|5vI46eWCws1|*uaH?g00ql*-C45C6##vmDG5qjz9}1psQu1c9XmjpAOwQqvF{& z3QE~kRC!e$d0mot(8!;Y96@xUDY1rZMv0S=43jec{t?RLI(p*WOW%{v$os^K;MZ7B zPE}Ms=hFd$oDR1ni8dQj-picss+lohljs)bZmChJxPJgCN%ByiIL42;3Z~#Kn1Wzd z2q3BseE?Wt@yvgYL4br_<#Fr| zR37XIr}HEx%nINQ+C&R0!qMdKFDs_H@Izgm^0AciCB$51;05c()7PmEEh?qubiGKPUdiFnsz+dQRMQH9keY-06;%44qrq|Pw*;U12;{Ra+r12l`-7{D%CWgyq#)W7# z$%MKYJzBSrAkT1gHlaMbz%mca*u;06th`V;?Aa9=XK-LLlQkk;Dj@q( zV$-1bCdNPFB3@Wz6O+DPY&ds4Rlt?+j3?is*;>UZ48;vI#LFp}m$dfVoC~lAuL0@Z zJ2_gYB|6g>4r1Tl2U$Uw?JrK)M2_b8l0R>HSs{Uf5;AQo_G^DxvSn%AT|WGZ$4=R# z&6jTOxi~hLD`)=*y-12SIA(x+$<>~ zG4+QDB#hX-=t6JSj+#tVSS2`;4gQE^#$nM$>Sy{ujW#mu z6WShh-FUyu5uHV+ouAW=7gc}u=(4R1_@0mJ=`5e%O;KQb6kU ze2cXus5YR_jWXxpMGTj0sIW~gdyC-;^u4r;V9r$8-!{KmklzK;V%0=#((#e%kb+%Z zRq)&F=`N+!$dqoohR^BOpZ2<1u8?bjS0VDhc1tv=?oMah_|(uZ39vsuq!BB+V0Psu z#AQDh%yJs7t{U{i_}tFw%OEG;9%FN%SbQGNu!FP_Ij1UEip^wc>NSCj6+~Feh84Gp z4SjSB&V9)~Up|N;rsx@0Yb!s~>m~;WzES9S1S2K}EelGQOcHgPq%z}tDp~#f1s5-A zHJ!&B7_Wr;7j)sNq{^Az`p_9k$zIJ-@XJv%{F8lF<>JlRA=@;k6PJ7%FZon5BXZN5 z^s%9Rqdxgib z8lREtRj%po4Tzn5zda_CyyGKvBXyKlq41~9&ba{^sRXrE;Xx&*AUuwFqIe&MumieqzVya$gM!U@c zGp*jJ*X4CxUg-0d4Dt4;`+ ze!BvFD*S)vU8l2>FDh6r4G~1>*4;oQp8xjv}iV;^qX#% zd#wKm+5GMn!912^;Z9FEr$6@$pAxP_d~cx;Z0@Mb3(@HDVrGbuS1zXrZn?q$g4!ha4^UzEJ9(J3 z6K*I7SUpc#LK+w}sE^}bf zN-pnXr~g)2S|j(0U-WFN414&YK&yV{l$?u6NwCFgBT_^qZ>>>s}B2Z;7`oxC-j(x zE`TS!v9yAW`~n+&G)?=|)-#aJfAD*+-`g{}$NcmIKG1Z7DRM3EYwA>dkK6Lw>d6G3 zO7|*OTxFN%n2wzDV_}`g=+N13Kus0T!xO>5v(^m*Ve2Oh=a%qp+R(vAZkMc}P1Ha0 z{8>;ZGe>21@)_xt8;-#zE@dACJev?XJHsaT9Hebi(9p28OqKQ;J= z{z^x2l@kp198I)-jzkIfl0cHvn_gzb3OY;3kBM1Hx zr+1jXj%!Pi%*pS!MusKkGto7qQBqxxCSK;*_uHH&Rf#fN-^rHz`HU(;nZJ*%RRlcJ zq}A&(@5j%oWbg|(V`Z+&)s+q0{dvz%IZ80M^cbSod>q4pT;(ZujD{ZtVHF-;%i^qX z;AiIN*UOh%q7q}?X-?`MnC{y2^O<1W^vLF~n&l+C@XCIAL5%57vn84HtcC_>+Ug&3 z&i$5mblZ!w6nKBXFD<`1(W<7_^awjErB^z=YTxsA$T4*&y7N?GlG4X#cI>J(GFz@k zxnJpUeHEHFtH-78c#<^Vl%s>TPv(cCRPs7*$;d!&5m7?FUY!;a35+9mY%eJ~R9(hA z5Xg@_GXqu%CnmGG6!OEVPb1}5YK6mor#|nO3XXRY82e5Q{E{r5Ud#LaNm-0(hs_G> z&vno7DcgNTrIJKT<$aiX=E%W6Z6*G^F1O4io|L#oJDIsBI<1ph7jQggYwu!WZdmz8 z{KVg=e?oZ*FFh4`Tg}8L@TG+hgOt8Fm)vB~Rv-Ua>47t}l$I@D_b>bZ*MQ^AXO`W% zDJVbB-<_Pw+IcrwllIvUF`OCZv(#24k(|QH&8Ll$c~b8uKJv~sR;P&_?o!H4t=+%1 z(yAi2**WE%T+^*FP}Hpvv`HxOSCcnkyD#4K&~buseDIy$cx1l(sog&@LlV|v4E=1o zgIuvkEOr*NUX|Z?r0_6Q1K35l={y%=m|uF}=6X9*&3`Gs)#Sg_TcXcBK6z^Qif#aJ zo!n&J1oHE1em2eUr)>59Ek|%MF%~tu1;2WmEv^Q%n-=I$R?6cM=}|m>?Ut&sc3E#y4BTtZEVH#JVdE<-gR5E2!+2%p5z|)(!*c{ zs5yHWRn886(u);s6-t8C!myt5c!@cM`QUFm#Yd@(wHlRHUj4Hr&4PsG4wg5W1L-K5 zoFm+qP?syMLIg1xsLa?qBu&d!TiD~M!&*W%2|N_Wh8-U_I>cLouG@Bi1*K}or{dLj?^+4Ejp8sV498C76;VpS*6 z=S5j$x8A<$c6Fsb#tACG`JOxOeO}Dc> z-}|JeY}^u~lQQ!oF}9tJu;BzxlGBaC*Ov7=_@P zHXNFiT^b=o^<2i&1QQ%;HuBw2Dqfqw;mk-Yj@R8s#t!RbzwUNzrnWu&Pa}Sj;}Ta<3~W9c60aHE^le z2t$bW{1j#C?zR?VW;W$e1Itjt9li+5Feb6?EyLX24fB}-1kqUJuaL0clAZ6mB{Mny z;ECfg6ikg~0AJo}SMG?uz0b!5@C(>7a})74_PoQ3V=X8iAcUFEPKkJhA_>0kD1L2@~fvuVZKo zh)gj$c>DeS4=2#7ucZ%hA580ZeL|tB?xWZB4j3Y}DrC;lHpC*|f#bo2Uth@e&D zO|u6$G)01Pw!`x{5=ygtsfU`>B`Q-1$RSP-H!0jO@Y=!)))!D>IU(eR)Q6iqWQ^ED_t zXq@SXgNYH5`$?erp(qtgy8%@4MNNhu(jAn>+BTfr2T3uYGA!JD7hR;exKM@Rvx!*_ z87P5V29DE-vWI;^RHJwgo4vC)>-SbhOTh({NQB+#)bB}~bA^f~?Yo6l8YRzK^DH>mP{xuoAk{*Okf3zV{eG^ejJ(junFg`si|cgKF!5_@YR9o zgJ8AA{sOIKK>=LjlNrhN7hRt0ajx^O7x$Ww?H0nkJA;XnyGlWfCV?DxdNyRpUx&ew8FJ%z#=V9ffk5Ot|}4F0aZl*Vd!t@ zIqG1!z!b)G$*WX>$b}QjP@r)woWSxe2)tt9marcO!kt`wK7l=67{L^MuUZ0apJXr@ zv@NDBs;G=Uj>wnJKYh=JoH2C=_XQ?bX)b<1k7t#)KliJk?Zc|&(8mdWASDfml#I&5 z&dVqEJ4XXQI0#MY3R&b4(00>vhG9(m5o2WxP=#o{1@R$gLLc`JA=vuDIA~9RdS2fL zO^kXsm@Y=_yNO7Oz2%wrGOF+sVmeqlu{AU|5wqbuV^AJh->1__^t*;Re;jl_KH@Ju z8z<58sQEF_1RcN;4eYqOCIc>;Dp^BwpPUN7TSX<)7DaV2*isNYM%BE&L{v3jr9)EW zQ?RM$EI!x|t$Yud_{{?#o;R{u8mrUzSNv{x@vQk7!SW0-4@5J-Bv7cIgd%p#cgkME7Aff!O$TTbw} zk!$vMFrTqX?_gCt+(wsyerl5yC&^nNG*a;7lA-Z$7dyCdL+uI+myUYxIWhkOKb@>r z@FGi`z|#`{tHq`Fyt4yP9yc(WukKs5e1+9C781#hldHd`kC9$73nxZv|DO&W`^aR%49UcO*Va$8^c2(OS;1c5L-Y5pkj>p-gE9ejqwE4M* zHW>2|Ac42m9Fw)PJ|N*@saZ+KlgON;p}D>t5VKbBazuXxbWr{`%lrgTbG!YPOc}N9 zAy}U-)({c-14?}8R|0@GrbqXD7i}Lef6VzJ3&J0upaCXKrx3uJ(Y|gXjLsijWQ0-2 zz9vw^;@CkGny_{1KKnK?pm~C5)yey6IPjGihj02+dMS@t#3I|GTeSso7zF-N{dGt# z%X58DMxXdGMBqy2H}&@-KK%X8w#!Eg5T!(sNj)i{(tW*;X6>bBfOBFgBEg>!+5a&? zp)HymN{`Mf(BGR1`h8l-=f%Z|7!()ch6!9U#D0Frwl73sk(rz zQ>63N!DvSFf*D|6Bu-!t`3iP(MMlrIKE{a#5tjl;ZxQ)QBVq$IG@pgl`)i9*|68nr zI5;LURLaA*WUNizR(WcGwWgWhP3IRKwdtV59pj15f{VQYTy#jEfL?8&u|dmam$_LG zm#$2Kn2S7^uYB|Eo`nFT0PtCQD;uTUK_5k{e26>EIB$f&Oqc>0QYe z|C=i5<;4D69e*nh?#hRZIFkTPKJCjZ!X!RWh6PkY=KGO?4Q&;63Xp`7G#GBx?G9G3? zVSYd>vksP%-p9Wr6jg3q#b8a1RH!&KHJ^R9f?ve}2zw!Rm@0(}B(NNn8V;|D?Wg~N zMyFq2x$?o@_J!NmSW}a~l9=an3v)ianYy<7mdr{dQ*Or4tF~-x9jXx3=>1vKCTh8# zVeJw|{RjYEKF%Rs;oi0|`uv-8&|KE}#}kpUoRqah_~v7#n4bTpaD52nz6>RpYj@fx z0b3u)pvvI&0)IK(4MO{zs_x0GaEv%E6`okH@#y+`*X2{Y>fO}j14x_xxTyFAY{S^Sa@QI|Ix9l&&^e08s@%$R_+) zh%%>~qxGh570tMhZOH)lU>qD5LqvKs0G$UIeAO|U+A}=hoc`1PxhcYJ*jx$USzwec z2lqKwSV}9r&X?p);CmL*P76Ls73Z1-KqC>ms;>F$0_=>P_T+yM57dApP!j-VPfAh+ zzUg+|G6xSTJTf=gtmIA`h>IQJHCsr%3U4B-)n$VkmDD{KR06SU*9_AwHKmvka(w*j z*b$#1j6BOiG*b1%wv{J6je~^GFRjIXx^w z&wonXi^cdTwz@2@fDa;2CxKjs-7`H3fDs_?5e$4a#b~huRRiF|iq*yTUYb$(Qg`6g z)5!fR72vh|VALN#*vog&jRl@xn5K}cgYQ$0Pw8Y8u1SQZ zE#+xjhM^{Sw}EfrFA-fhX9;Sze|~8q@(@HenI6Fz$nCfJeNiGQ^Sy6o7+&_>lG*7! zoYM0a}>kz5iG+>V}0gP_z7T$wI?+(8E-xVrH)Y#61(J4dd!FV5tDKh^Q zo~y9`LlHn?J%4SF9a!#x&5h|tY+QD52d9lDCPiBqxI{7@*AOrH$M(Fxua7r^ z;xr&OlP!NuIpdz|o&lVerT0~sFNbY|=!&Wk&LM2l0$L&BE8xL6?-lVgtnb|o$=SsY z%9BN?`8Xg{5a!$QrO0RN0v^{rbS$>Ah-6z%@FZfGL4^ie*)-dN>$+X1Ig*W)0B5}6 zVXp8nPLGpcdYv{YnJ(p5eae8K)w72GwJGf)% z{tC3qxF>-T47P`11i#!4Bq40SbJ67F{}V_v(iynpa|$bdEpOu%)dzWW`o3BEEs)$n zF?43C|NS5#%16}M&l(PNPQf_a{u^b+*t4OsICrlZf`U*M~rnc+Tghk8EPzK!%22Y6*e$^-hpqyN(0 zwwa}{$f5EU_!r=s@^lP3VPyqm1*>5z1muUi5z!e{Xw=NQH5DKw(?Bjk^deqTy0J44i zN)UlxJg&(&Et9km!ceX;PRj}D_3KGJSCDB?^|1FtW=9f$`%4@+oUWGCQ@_rA09LBn2 z@QdEk1>OeJZoQYqD6!dxVe1wiMTPa{P>r5XD|10bv`|u9x z1NDdPS=+a;n-US4CuM0LrUJa8W`u1IdVaXd{T>`;*odKsZCIC$633bssNm^&Ws=Vg zE)K9`t5i&=A?znNm%AvByO;;2s8pIE8mSDmho2n+n6Zf4DTlc)NmNM+?8%lmT&c9~@~3Nc#{FsL z`@bQBls-_D7f5xVu&ZAFT^;qKYW0H^;4F*B0G7ZPD2()kKQAd-+0 zC4GU&s6@fT5%YQDD4w%Uc3zycl`Trkti0ifdQBC60ss*x4vbcx}s^NbCBpd$Eh zF;P^7pTq<2M_*YaET@Bg80UL+!#!L0VHp>j)r+HIiZWT8D}Q$DCj-QbF2ET?U=3I; zb|f)>WD(ZmptrG~()Mf(!xt>PIh9@`KsrERJ3*A`6yXbgc)?9j{cRbCX$ z09^&wc8GfGY~^cJM@mDo5=B1{u@_8|3NFNmA@Ni|Kv%z;835sdAJjkcS3mI1?<3ht zuJc|}n}g(5IRtQC9gu_ug%zSIjC5nU#9-mx9gySbUtdsj8i~lmAtI;qsA^jRAFrrD z0}=6Z<72Y5r>)-cVo@r_!hhXgFP}pma`Uf9Ou27^_iZt?dD)qZ+t&>_T)qp@`r^TM zwj!gs-qQh9)Mq1-*&N~4MJEV$kD?=f$$h?^u9le;Kv@)ooXZpt$vdYJ?h$aQP9#z(y7b;qLh3GM@Im6a%tJ+L zb7}tt_<(RJ0cVoIcL~btle_op8>RN0$S@{InWduymWKg+bg@lB^<%p-m9HZJlUC11 zJQYt$u{nG?vHZ7L70>qEMD%-UunS`I;yt^&bB(-Cf|v0=s{pRrQ)#f)19Ip}HPLrn zB9WP~4;zMYZD6XUSJ+9V5PTJY)O^bAp{dWqxkDs>G^_@j8foxEMFE|ezQd1xm97C9 zGtIa89pQhrh23mlhW|VbNk{vCte)c}2|<{A1a>JxvgzRNWZ0Yo$5|NmlQ;Aprtao< zh#TwggR;r9)(z|>&~Kt2e~ z-vbT%z$mATR_!EAe-BWgUpqTr0S{)R3V1WxLYRgyKcEqEwmJ&-GC((xFA2@eXG<0- zt)3b@ahJY7XV@wA*FA56Fd%>(a@&tgHEQ%3=AO((JAPxSxnQXMM>!Jpy7N^HQz9#5 z1MI+2p$BAQY&P)O7%qGz_seAfo6rcc-jEr=1&p$r5J|a%CGQ+s0_IG&;eQ`vi8$j4jmk(V8O10o-H*jMG6Bd*Ce7sc^TLNjTb(${EsULgK5V zPhd;(gq6HC^Qe70XJI3~*tj>N`y(>iOM@XGywU-p^Ai5XhpKL$#^zeu%EZWKLMhE( z-bqe*kQP7yGMVZ#=1gs#Q|&^U%lQVpQ!#>H0pyO7kbne}U~2;|U>;=R`ck^m6Pj9F&LmGhX+h5Z{1LBd4drrx- zdV;83)wL}&pEbec%&kXR2xOa?IH;YsbUGqUQ9B46R}EpA^QH|*v_vxr`6{9XY7Oyq z>p^N{kE&nlLo)aeeuaH!r2X?J;bXV#Da)-#F)=Y$Ygld?l1LL_u(-oU$9^tPPzGti zS=Ik2Tm%%>C2ermN{Lpqux z&A4^SQ*M47o+z{=nRVhT)@fFlW$T{q-1=yp?YlP5ox2trE}LbN zB5rRvW#*9hhK7aL7s$~CUvHzdqmd^%)4{xc@6@Pr1)K5$o#o;Yso>eu1VgakQ4j(Qf3Ul7qYTnz93HN9 zL%YU_TkCc1@{3;%>kn;A*V(LpD=e#GzS7AxS8=zY^C?sHbW(lr+Cs>VpNMsL;ltw! zl#duT?t`XBQ68o$JhoI%GYb&Hb8b`s&ZGf3a?e1Hgof#38V&h0$mDOi^J%xP=-hc` zE`(O^w3I&vq45JLBxy@&q=ushcBP`bB-rQOvSbC`%W&BF zY^D$MNczq2uGWw`J7n!Vi4ME9z74l_L*$neT2b|_IlOcPl+Xo!Q zfhdC~At-1y+di&5CfZEn&9w2uc;>ItEF+R6_Jwt%T(ey3F880d^qlCg-k} zv%$4cj5BuC(}i)e$}_QIyupnv<+JZG;>=T({tcaDi-)bZC)%v<5P9uK?IgR|TwO>G zfMZhw?>&LvJs_+uB4rzjg?7A7M{oV9;E#{l%YGR1f)=Dwo!OV5UaoZm{Kn@LgDGKf`3@$(9WM-#_E?9fSA#@}JDtdR z0;a&nowO)9U*KkyczAdAgV>H&tHYTOn9Wax8@(et#Wx$!%t6OOpv1a*ExoDhefgQA z30$Xb4^-#!&LOht6Oo^gN+~l_Uw?(x3LILm-+NH|-3bJ+itrzsp|b8Igo7X-;j__Z zR}cND1Iy0AeZqMIB;qx}(<8?;=|G|Vww*dJ^uz2hMVqQjRsM9k$VIuUEwQ#Z1Pe_& zdJRcmm}tb`X#fXch=Ax!;v>_?72FBPmyTA?+6b6 z~2C!mBF~m#c%O?qvj=*mE0c55SvrXgc2Uvas{4kC$cWf`;b;V#a&q~U_{6RIO z0ZX2RCAT=u2R)kLKI3(4p5VOG*$QOam}%Hs^IFplMMNTYI;PzH*HjWt-Cp5i#YS0& zbn!FQPAq)cL!;oJCzMAhYfC{jHw)Voj^H^{yA*1t+zAReM#mFw4;g37PUTMjTXQCn z%)@+)oyZs8KCpL$M7Ty;ubDB46@}FXhyFUs?@UzW{vnROc64Xo7I<*RiNUV?1DtDT zNX4+$-P|=&8yD_*ev9F;BS*+viz^qMf_5fD>jJ*oolahUqFWHS_O5q$Y2M|zf%L|p z@1wd?mc`4#hwa|AjTcnTP7gdc*!H@_Th44r@Il;(E=~9K>0)&{EYVPT5bR#VNG&NJY?;+g?j27skHpuA_X=XVIF#b7v=j}hdv!^5) zje}Y~$JpkTh`ylKzhWMzpAIq|H0W+PsjI_`E4(n!-;$#OGit4R>`*>0-epRXrmSNt!k#(GA*a`+6 zj=C~nhgd@9c}bX`mJ&3Xgrxi~{0rBlm+aVlQZC6+V{VNlUfl|6`8F;3#yc^fI&3ab8b=- zfgIv%wN-bN#dj0M7h2de}sqb(H^W4%v_09T|Cazp2eya(3 z|NW6A7PmRM*M>g7-H9HTULCx3pV6t!ve2OzCOB*b!fpzOZuMr=6}?G?Eh$qe9`L0v z8a_Vah`6)||GKo4Q#JD#fiH1JXP8@KbTWu!gR-Qj;zdnck?8C<=X!9UcptV zN7Ka5MhqK@a;M#EeBVT~L45@n8T{aLh z*s8s|yW!WNWNZO(?=WQP?vNHc#NRxX#F?)|Cd5f)0`4#ZZ^(owEHOPG^Bf#6TTz^O z42ispggf9WeQaUc`jJdoIH}|YCQ^lVjYt79WHI%Wx0H3QXEg4;{Wq^bxwCR zi4@>^XHkiZOVQ)jtvBpMFIjXiv39~x#nyLG#;%r}K#z08v@<|dN%z;eW&^7^1Z!j3 z*GdCTLfp>A&cFZ%utNHT10RlBZr`DspY+bQityTur2!$^se;^U=(Yc2@6Y3*ZofZp zd=^V(ODV!omNX<4VyqQ~QIah$aeCB2kE}uadMdqAX>b76ug~ zd$!-1-0%1O{{8;^{q=o3zMscK_oG`guh(^*>s;qL=XsvzT&&-UuvQ;ooe0Qxa031$ zuo&<7o?MMTdd-`jXbsy?V9he1O*S+~g&#=DAOY%k?;)7&amaJ|kENJ~pp7 zu+KoqVt$7JXOQREx!hza+!ur2Tn6(!F79({0UrmU@$)^!)Yu zg4A7{o6zL%J?HB;^mZ?w{}iCLr}q5YLXqm=;ScisGmne_G~`{0)RiHLKYs;41TBuH zi^SOU^}B^&U2;HZQnMS|bsY8&1ZZ%meZ`F2j1i%QnnD0t)`UqqyC)_upK95_yXZqahn@gD!MQFdGwTd01{w?TfzKC@zkE^-yh5Y5k&_=uG_Edg2T>Fh< zOqJ`v7u4h&WrafYOfjN9Ng}9Q>O@USP4%bR`VP}c{3ATLjTyrFfS`uYryCV`c4F{zXjQIYLgjxIh zQGZCPj+%)%2ZrOdO(ZX-p}M)&EdhRci7Rb(2k^XJK7^Fh$O=#5{(ktUzpCDcujWWV z8dwJJ0234o(%?iOpM{~>YaT3VIjCPd%xD>s-6E*W)yFsW%1;?VwhbK*$(uivqLd`5 zh+K)~8`3w&4xazVOCj;Xu$<8%Iodv7vYrtn9|-t$c`8B_Z4JvO8KfLx@S)w1at};g zIVgiPPTr#e{{EgaZ!Nv$o8SHD<{WAbmt?e#6~i4m1Vs3k17Pg`A!FIua!)H=pDzZ8 z9&5TwZtCME&>Z6$5`-Pfai^Y`&(|zZVgiP@s z8v@MW3qX2&dNK)nrS=$Nr$M>Yd;=@(4>X$QXZ2YpjbUY0E$C^R?Apya%;FWpy4X#H ze8xk`tBB_1)q2CBL<-F}Jc4fSn6EhFl)o!6t2PN?L*7m}_EJ~WS*W{cPs3=~?{RRw*0q?znj3TXKjr;O+9^UQR%Ypqe ze)?aT0RW;aqsY`NRRmJ_J(P3p@b5uJQWvW@*op1Zr`hiGep&}d$`mwI4eSf zxptKNHbLWP-7V>xk$`R4aw!P_;2Av({LmSR(Y5j-%mw%XD@~MR%X$Vcr-5@Va54PD zsDBmw-=bKSK#Y~3!~N3qUKwg^Ja8id5{r^lbl|1HP@>=<@a3;v6$b1hJ(RYf zwuJko==K%@Qcm%OrMi-RY6Sd?XeQLInLRq6g*B$ z@)`AU6V&J;z9rdW8?Tg(=bA_w#fEAqJa_QvJya;yZpc!d0rt(mXbz@0gX^fQtdFe` z47dgP4xWi46^oCKl#y`MEKRlYQcg$J_QHuKSlEgSQTw(i`6mGpDW>*DX3Y-?$s?BH z&=k~S+Emx9J{x=;j5K6`3|3dKofTm{yJKBh5{d24mH0Jx8g}-&9`$W2#3>^KilWCL zSa3=Dcd8**OW1$3#P(E;c(wsV4+hvDLVDOB$znAbbhUvFB7%<&tL=wjBs8~XfReza zgOI{n#%7wG`_`F!?z^R78C4e5h&3F)q-R#2AE@y8KDaC9Nb2i}JPA229(?Tx$&(D>t_ns-Z(is*%HK#mj7o&K)h6ZH7ZGGDFHu5S}x zVUJvEZmk5XafREu9YO^u8|mQj?Q!B~$}f9Kt+OYEWrm5*29M?KOKCZV@aM?$y}ENq z$aw5~p*lq!mclCz{e6+@hMl?QCFL4!b|zKBc=NY)8a5q+U*PKQ~G*7HQzLlu&A1 zuP6_QY?u8-=s#?b;3B>YdHDQPZOO zDRA5^W8I!i{RxC^Y9=adQZ70u+DTy%|y*u;Z zu7wGImy%bR>#8=)3cckIWBLSE-s;Ld4`GTg2GXdzgp|s4d(*h9n97abdHZCzz~g&} zPz==}q43A>Cw15qd^ANKBAH@0DXBHRSa;sLg$4MyQ!z`z$4z&2k@xrk^mRgV)7|qU z-p@YCbV&uhTH{-u@Ix}u6VLaVd2G4^Eo+v+?k&ti^wNtr zScA@r0b&wgftFXeENf}IET+=10X6*qDGdk^XxQ8mXQcmjX>LtS$Qg*YgLZJ5!NHuh z1FLliOydX_L=jpL=#r~EAW0HO&)kILo{T1~UU3LLSby-cLFA>1o&(_T1@q%Vlx}ME z^X}?6*{V#}Jh#uc`j&vvJ&0a#BL=osRYmB!#8d_MtiJ&_Wq;qc$FXqq93ZhLG+0~B z+B6`Z5yD3o*h^z7#f#0x9_@;fT2*=L%d5f-vRc?Qa;LZc@`a$%Wq4-`e$N5B1_4ky zEfAC4dw@;ubNNcSTLOk)f3|?hP;P?c6zICGAxL;*T-8&C100yz++L?Az|XCrQF%FhEaYAiNM7WwL%o4LsvpR0wjTE&75YJ>6U$|2LRAd+d^ZDH zF&DOZ_)}lOEJL(LRp)K=`K3+toM$1YAp0HOlhdP6cn=aqiZYjluSYj6Tf{eyaligB z&P~Uh`+fMy)r2=WV)=ntZ^S?A1?zJb)*}+?@E6Pc=8IXRr~s*~1-HxS5`X>c0}7=>Lxk z%^ibAm=mf;9#F9eI8D`Hx*8fx-iJUgibmvE%ZKBev%vZP|N4S4tk){PzqnNj>*2vc zhXCSO)08j@-)IH&W*PEG9_{}#=n6gQAa`!IZ^NuLO!1Do?9p|&Ep}ZZlms}L9H55i zpXr%N?)VSSwlinHLUSI>${yPvH=3wCB8#YmbU*%2fyf{E2?2rP5q2d-C92KEqu>3u zh4^5f4YH3rjtw}u;n9^H$CY*)CkVGw7bZFgmIL^-3POchSaDdA4HLESBExI(iKS;& zT!lY!;rV08ykVN#(FVZ4_Xy$&1Jk#ucZ=OC5y~=%sPw}BOjBEW74VyZ&kEkWJv>%2 zWIX~TLK5$SSkMyaa6{{sqz(uT{)`<4WXCNR_{aT*s6nU>5}M@)0)ZK>;<5|_>IIkG zv*jOU0}17itwt8Plssvc7Py=vT*GTg$ufp-1nl87!8ghe#+YWv{437gMv&{dyucSU z0+W!+Hc}{*`kya7SxE_KgIhTWUnzq-d;1~RyG~m;=sA4;JNNTda87BRA^tOQ+XG-v z*Rzy?5S>~^qvE)1d-zm4ch8@qsKcJ$yeX)cyXj#%4v|o-^N)JmuXNfM5FL)P27yf+uYzQBh4(2g?0K9WGI6dGL38b(wosbW~`U!Hr!Mi%SvOOjbL3XRqe^$^V z19n0JRf+3TkYO6eK!8&PTG7&9EdS$4w?9w1u@d2{ZU;P%0kZqTo zekwTY179h0hn3ufL>>$@Reyk$K5*`08cb*HP1sy3UocC$`;*Js_-)K}s(?aJz}e!W z<)Wu!oPqA=@7oEh^b3?_k^QG!X5}3~sq0!-v8HQh?mVbH%)WdIIKD9Mzl zD4X1X03psn)=k(dI8@@<=R*H#=3DLdP19)Y*C%DoPVWH+e;AggfFeW@KQLq4mO*#NJ=qbWLgj-eL`(=T93^fX7 z4&3bYQ=}8>1j=ojTv^5}0b~qB-d|gpr45L)Y6GjKR!l18f|TiJ&Qr|nX3kTP;w=b{ zcm2EF?#qGfuTYA>bk@&+>`TBJdU!)xLy4u$vTIe{a88bs313S)JR{D{&7l%7kgk#F za*ytgZoP!?Q`BHLJB#7u@u~l_C7~8#R+IAzwm{HX0OBFLsc_iDckRG7NO-C$URdw< z4)k)Y`GqcEqP}P~Y@e`~;rcQ1s|Dd3{9%ExjBPN=ffe5NpVi&~q|0e^ge*8L;+Po- z?rPU=xu3+%>6x56WG4@twk6C}7|HVdp}Mai7Cuf0%iZNldc^XEN%^>aS_fwFBl4W@!%xC!1=Y%;ln7P*EL=<3#z8JXacm2B& zcBAqg6{;H683O#}d)#5JRWM39Q-N})wjBO-Hr9F@A%6x{g_&wg&=rWHcQ5A!%BU{ z${-=u*~9Y?^(5Zsn7KLS7Ch7rbXwy*JfWO7o_{*QXVdL|Yr***F&sEwwd#IioU@x7 zIvyk+Ksd*-Cc{osaW!7)gzg$s^J$l z{>NB8a0eNOvQ&{fd*!v=4(~ukVCZQ2u_yiJX6^qgN*LwzZJq9L)Dk#yTq=OsB2Xg? z#Nme69WHNK^oUs@&g5>9Jnq^EEf}(dkeAO0Z;zYp>LK%S-owH(B~2|c&d4{1-o>$-NM79wEaNDg{@oOL$bOLmB|A@fK-=HwBd_(50 z+*SXsCLEuFT&mJG*qi25p(yg*ukwgBn2t2#mIgdqEpe%29{Z{8|S}o-8v53+MPpR7mHG`$o|Jn#R2+-i~ z_VWbE6+4eTGPiouj94QJ@KEz8NnrG>kShKe)|z+S3neOVVwiwt0tGm_*ac;@nEM!;JqGx&ic5`lVpWHFAXqNQ%zitP7OR>Eh zQ@S1`2c4Wz-IFri(|vokMTey7KOECvTD2fJTLOEh&F|k6>5sbSCmsXt#-G3b^WTol z{~ZJrMqXO++W(mWxD+e7#s7Zk|30uHivN?t|I6j@>L1_@#L%8b(vb{`fV$Z*dA1(c z+k-7;>-=9+m$5nrfjVvMub36Aj#Lwz%SBfI`(wN1AD6VvZ2 zpVFm&{hvQy`oB%NB0RhQEP_J{t?dpZnQ@}$nezYjrgMLtujiJ#{rAUq%YWBo<(C^) zQmp^?f&WL!febM$cl9Jo=@WO5J5W)xvQVWv{%=2U8MLxtNW|4$w`aQiE=BgC zZeTXf$Xq!R)Q$c`U^j?1|0Cl!Dhv&bm!JmqX+aR`uQ;}(cp;~y{2RRrE0PN6)K;!1 z_`Oi8m~837?;_wbv7yhWHg36Q(_8+~bvqx+$W{sTJbwOFhvkfv)s!z|me9wA5B+Yg z^tZ<|geZscnW*l(nF}9t_Kjrz1@b1pU7WPO zuf9G4ZN;W|O?))xiR0&U34Ps#M}sAN$#E@rBBpyxcU=r*H!3u+KQ|EAH-CTJY}U5( zSB9EdQnVe>gUot{V5z;7`N_Ufo+e3SOarR*iRWyvxeYN54YHe6_lsZ#TSu-}H2Z^V z_g8W6%54nzg?;x{E;;_!Ahq2)#FSp|y%;cd#bqgD$4ZM(<-8d2H9G(5fR?KWyo- zu}AYG5&L~5#=i7@EvhMJ57L(j6a#=7UwhUnnB_;&+72S}lyGVcDimFH@nB)iG2~%Q zW66=(@oo|^k|)AsT<>cUnQ6~639j!JNc5alWoV?idcF=nR$KFzNn91rg}!&SDeTQh)!pHL4Mx8$B>S_Zt<5uI|N;p7ng0GS%?-WOZZVY!seh z#@fy*hnWn}Cs-2-W+Spib50YAX8FmqwwK7MZM8B%+lxi&XF}Se#f%Om9G%A2+!Trw zT!{S={PJehCx|){CDJo8;(QYM?$ed2X|5vvy3#IZ5<#9=FLJ>4n-J1=Lq;#7L)LfN2Z-QOf)7N79tQHjKsZ*&nr z33KyJ@x51EvCNWfeBmQYJ>OheX@F+YS8$RiPFcrx2U_0oS8{+8XSg@yzOUj*v}AtRpFb_B`U_Rw17o&<5~ zQtfaRuXfZI@;F#k&1d=<``}EJ_dbeEPxpj7B@5H6b8cy1PB_bxz@CV5j3)Zdo_QyO zm0rs^_m)-6Eh$oGhn<9MD-4c*P_KG04WQ0PB%%n9%qA$wEk|dy5ax|%1`c&=45PZY!7K3L5JAWyNk;VyZXGnl2<(`LbWGNlX$+rx!?(tCKqaM}cR*ctz;uDLWxF}3NRouNTW z-K@oQ*HvR5=o9Tw4V*^$CB@%+tNuJQ3$Sjvpk_7RqB+ISh~3;Di!xibt$pK&iR{eV$d>IRinFPZ{X8^$~@1nNFf6v(9Xp1kmeqgw~hEqc)D^-}h|1dvMXV{R~5~2OghF2Vul`FC2 zVbYjaM!IJZF8JIHoS0T&r1eFG+f~RZ^Ri<1n7#?BFyJMc}Mg zV@yi0*t20DZ}kfQ_Dvk6T-7r-Y?*u|6f>0+j3&J*WLZI-Ie)0ki5X{%~iNnuS z!8{vF&srwddl!7!QG zqs+On)?FC{Jfmitfk`9W;rP2&QR=QQ@ppZ^y+HS zuI(CkoqX;S~)8KM5ic_>oj>C8$qA$st~DM70m z?Tx#9rpoM4jQn4Wkq5N$3-dkuWq@YF>d4f6YxSfwRjKMS>2o!v0 zL}o&1W8S)=Iiq^dC5kr3Mi|c^AZpYYsJ?%9j==6bU}9@c^stYU|GFp6XSLrR&J8*_ zUidPMW=+ughSn2O{Ok`Or;t#JI`cqGJ|(D@KxP}>fNDYTH8{qs9iECLx_Gz zKPLPkzmx6Eoj5ow@Qmds!$Nq*m2IO2;W7;_vC*BYIAN>=JR{kLsC$s# zqn$)du)yEizw2U%U~!<=_1`XmaYC~8xwO6%(kBHSxJ&Ra1)bYX)q|aX!;lX$=SZw6 zs6d|jNNdxFmKcNESkPYveU}nNW+u08u_h5qNW`MsLA6VDaGpH=xMB7zaX1FgxRrAX z4gwYdh75*Ro-w(J^%oWQ-)CS#*;rRol>f$$GedhRnRv@qWe z3w%wBIPT3BhK3fy-;X$KDOSJ{!R!%al9s*A9yNS^Olz}-Y5FHB+^>USrou4yGv@>l z@f=;Ey9#RpugHJ0bHA_p_%bvuNlzmisOrcOiNm6ZEM+~AcFF!T(>YyRmzGJy+EFDl z(zT$^_IZ8D1)aCk9RXjp*DX${U@wl}( z8~d6q)sPD%Jy40<>zCx}g$|>*4owB%73&PHYitiYS<>iP8&W-3AnasvF8TVAX))Ge zX#9~z`b7B>jfnNGW4Vdd-ziHbon_Dr_!ic5sZ^SHddsuq5nmf()gL?h47Sio644U7 z>FPE-G{Zob*Iejdc(SAALw4*WIb6t!$^x8S!d>6Df|h`0^$-aXpr2AqvJcVsAm zZA)SbmIoHmG4Zp1}{DJ9 z0v7&0fhG~b`@9E*FkZ5~Ih)GFIp8~W+7NS~lRz@*Q_7dsWiu!#U~E;&2rS?klWjwZ zTgd2QXXtU{w$V?5BhK%nXlHdoYayt)vyzihbf-->V`ww$C5yIOM}aX(ABs(y+cwo> zv3Po%kzpdMUK-*A#VPr z$8u>vb;eE$S+x3fiD_#x{9TE!KR-(UJeJeZIE^IO5M@pA&D`^`SG8!)K^AmI<2*B& z8y|A*K#~?7gJ-yL%VJjf5jel-6SmOmA(yu25I+3+m%R5v*`Xf-9no&NG$$FzM+Ol!&lJtBVFD@PLW2IlkEfA1*PAX$XGZb|{3G^On{Y52=A0ywV583Bd`F z?QjqX=!LdyYDIIBk_2{JlLmVcVlw12Nqv*|B!m`Zl7@X`xB#lID9!i97{X~W7!Dc&vcmlm?3uBVxf^p}$ zm#5da>QAAzLLtfT+NaIEn4 zTsw}ilgA*a@6K5iXJROJ-6x#(RvlNX5Gex-o;?BC=1-ya3Z!O$4Ft9l(r&c@;P^n zKiE4>*m)4x4CEQKMpaeR$Rve8OGrvJI_Nws8ic!QSL27^HICb!RLnXg9$|w3;S_@m zOYiJ~%nrvfi6URLWvtJ23>~Eh^o@~V(FOrw;YHK&GiV54Wq_1mrs7whpfLePz3n{H z9{m-zLI5mLW~=BTjr8f3>wBACX*g=2#YKO}&2R&W-aEuuQ{wP#NS!8WgbOdY*W}U$ zQO>;6S3r2Gj7ezX`cwI48b&FkI?Z;C6sF${-wU;cU}aM}!|WWGb2r7bG(1i_S_w`H z4a{`bumddlBwJOn7lgT;seZ!~&a;wRarsw8S#bBSd6KQZ(Oh#J-v|$j0EK|J!F=x5 zAES^or3J&FZPz-hYE#ZF8c7A-0Q2}@2?7f+L5Xt}d_A??*ktl`HzkJK!%zqjIL|CM ziJ7z+%X{7Or86QU^C_Z5BI*J$J1Mse7=Rteh{Nuz0ia0To{E1oueVdF@<63j(eR?a zD!y+Nxd$W-=v^D!Y=3%yt}EtvmF#c6deN8Y0m=IG4^`KH;-D4e9^Ps_c37~#sUg?S z(=kCkRUHjakaAEkNZG@Cz%7US28M%?P%gE=7dr|G)51$L;0i%+!POM34Y3HQ9JZl- z1FBP5Ah09Mx#O&#uqYbhV9(%Gcy(x~CNXkNL!|w!1!v}5)yg_;xPjWU%EG$rXVlGl z2xx&zsNv1^k!$gjuU*?Md>O;mFfRv5w1ow}-TOef?UBa2vA$oqs0D7Mg zs8(QCD?q*t+%2lFm9#3pnP!B~V$_Z$Nvq0 zg%drtWy+3L(zi}Du-g-O4}v}Uaf`stI$$zsLxk()LBNs@2|Q3pxy3B$NKst>jct30 z9ww~!Kv<#movJD^>~=`HL!^ z;SJn__INcuv#1rZjAGPyeG+`|cLMLxrZ2}I1)Et&{mN|uxlUV~t+xT!rdD$*wRZob z0OH6!p0KTqZ!_zX{`3`f$f31;-4>0@)zRIlvo~W)6?P2TuNVt-y27^PUolOFXy0q2 z+wMF??&BHPvW+^PkBdn)j>uuv-VmH+acyqCyfQMlJD-BK!`gu6aH(5EK2xJ&+IuRE z;=sU22OS4?SyW#JsWKAy4Nl3VUp|M-qQ0GYN)jxZ%dbp88^*?OyVJWZ!k4JRm?XMv zuRMkH(a8qTW+e+`iCWUFG%A~jthsh_C7^80xQZ2lzEywgi{8NDwlv>!O zjKRPWhn>Wr=z~T;_(2!U+RmT;z13K;txDjVD(GS& z9AOhE1)CHrM4+?C#SbPXfSST!&yL=YkRc}73V@yj6WHBUEX4;5W(_RjyH}LHYo7P4 zitZ%N5!ldIk8Aa}vyQ=-5*z^>R$k2?QL1Bd5c-lnvhk;Ua8qT~fqluiX*8aFSz+oX zRE8V{*G=p^GxAw8t6(?RGJaU&6{J)g$ZC`=HN^O?oQiy6-Ql^9gMx^|+_ugN_k*(c zIhYYW#QYS${{D{ALY1R89p%}6cXrTls&5aTId>uIQ1H*S&~FSWupy4UCOAvsk05f869QUoZ5 zSaDJq_8c$3(&5bD)=#xLeJ3Pu+Jvb;l5a?S{ZOni|EJlb(=V4TUA@G)qm4#xQn+k8 z&1neMHv()5UWAZl-Mz#w+yxEZz)^}5e^b_@LLwTzB1A%6@J_}Dl*L`AmYF&^cJ*dB z*}1M`(Y}WPQ{n&~9z%{1*mZ^9bpe0j9kqO<>M6@QC)V=b^K=5Z;L7ZU?_A$xoW;8jjK@rxKI|U;#PWwMbEpbZoqy_ zvUMxT#@g<{Gh$HCRd-wZ1hmTPrcb;lGi93zS-Lj$2A=ZlFmvYIJpy}%O>f**`#O}T z;b{+BBtPe_B=k?CcnMZ-fePrSZlIQuA+-`JDNzteU87GVP!o&;Y46S;cs!%la2Z^* z-3`|*1I9gBaKQq&oTVEY4xUlf;tk^u0*vYzJf8_fqY=PoQ^`wy%sEl9n~@fn5kGoQ zhMqpdzm97rN1B8TD@)i1`Dw3wsX1h(VS@0}68gltxY~Zq7&uf?L81-H11IFWqu=qh zqK(eRecAp~*iXezx0vT>PpEFgFZI$ieaTrlySf_id8xzFW_iRL+1dq58{@nKp3Ynl zZAhPz>KXpIbym}rrew@-nxx$984&&^2kxC8N=ypg-e7%b>}MxG0AhS})9_5S zr@}$!n8D}#Ur`qL8-yH`!}zt80f+nxfV1PQ6g(pkHHH{)ZXE%bQV^RGmgEe)DKUk-aQ z%<lPgKgJ0iw!OkADc3>rPbS353{Ed@nVRTO zl~}z&?@(eo9O^e*zqVXQ^!dkkk(ovlhYtfYL98xP`8a=Avg@VM^cpms1o51(o@@}F z6XbHl-Ky+|XpKxTM1rT64H27W#89KBkXJavofW{58>xDD{~_@WgMn&_^Rn#@I}+v2+t1F=j^`S7Fjn1 z*Ci5l3&(T;5yrOAshP@0jUQbPKM7_BCxcr%be8qVPI~&-R`!A?>$2EQ>F?iITyD(B zE2WJ*d&kV~&L0TmA(WP{&fR#PX-;N3^Fe;ib*{QgF6F~vG0VIk;6B;-HywIS=+7iC ziTU|LxzWwPli!?`ic{LEF|o9!S_HBy)nw+}EBeInX@e^f;ed+0Ce&rPvL?;N9P3L% z4zs{_M$^fJJ?hRpCaJG)?k_pZ}|J~yPP#Ev*tE(GQ`Xj&5TjKseYPDi5 z-5srllt!@plDNmU=b3Db8d^Dc;+sy$Nuo#nAA9+dDyv!|^)5Dk6$k9SN2@5XQfvrp zUo@CX0o&<^tD7s{QewW*>m<2u`!)M4j0|c)yYgPHlO%4Z@k5NkD!rZTYB%QGPXe2q zox`UJ=Q}$L)evy+h-KHqsCg4Oyc~RHhXHvCYR=jU_|us&o(Nf-_5K8O-;*76#ewyM zY--2VjVYa-WM(6`XS#yUW>fy43(UF4u(^}S2DsUTp?LHsu`Z~CPWscs?ycTVoz1WK zbFkS{e34tvGez!n&3?6Zo|+b6LFU37AkHo9FvVioh9_B$QRFv+Pw@;fob^c@q)yBb zcjjCky(F>@1DU*SncoZ~Up>-fl$rQb6g&!po1Gz#@7VyT)e&Z}s2}QGJU5QHOOvS; zt{YVqi!ADR)(<$PiJ$|~!v=cp;n1lVe!;J|{h4z)2n3j@n(aD!{~6?mb1Zg9&yPn* zeJ`{4t-Yozw4s(&ctq&ghl9RDKW&g4O60*A+N(3jd+04Wq!)*N{FBTqY9cIau&XsH z?)!r_oo9~mPu~fWvsaP2CY-2I+QU&NGa+9i2?Lb}S)K*I2@5xg(B4V2u0TB0IW3+` z8x^UpiZo-i@j4}vYY93E2vy9)prd*IJQK=!hH^U5T5!+7s|c|8TxUIhJ@~$daAV5z z*4(4k_~T@>Y^`9ANRXmmu-A3Ip(=!A%#C0u$%FE}Oet^Rwz6 zN@}t!PtPffyE}{%qjInqdVQiu3D|#hHNNuH-a!=TG5D$$;H&P|HRk7;J>|bQeQNZD z-s-MfUwpP}WeL`mg=Bl&7@&(=dHufseZ6_$bSW+AChEvo2x}49L11IaOg9sLJDAuO zjxkFYhW4d*Dd~5^_urM{8HQLGAUB!Ra0l7IZBPvf5{BpaL?5qSMT_d`@u&0&=vyrc z$w}1r^B){j0`O0+sl@@v)|d6&&^S==)lrzGSpek!Qa>8NZ3NK8!!A)E3w43F?_hXG zLdRh~=GFLZQS=Ez>OEHSbyT;NblvTg69NnT#Wu{jA#Of)pIsUmqGg`5Ri}SgT!0Eo z1vKQg>75HzfK)pG7Q0HCXZvake9l)Au>iLO&hXz~9Bld7SYOz$lSxAq)L1iNSyRWA z(g)X}Y@TP(B)M@%JJ6@I%WFQ%fO`5|70ye7^ebC0!F7PcPwoCYS)=6PsQ%oJ&Flp= z)>E-S$@X6LY%KAcB+E3eYTl5>O}o0m`K{it>%6#eIStubQ?>{+^Bzvgh3dhX>zxZJ z03vvUQ?j~Rtup809^Tp;q>ONOBmf4hv^Q0}t&`fXg;jenN4D`S`RQ@vI66#Q$2IXh z^Bxu&hD%Vkaz6aAJkZz>?IqL%-Jq@5zMDIbG3TP`6V`|i;x<0|;N&?Y|GgiUAGLSjfm0^hfXb-fOZP85+0cW5#=fI61(ba<@u`6S{RV}5h0sw~$ zZ*}+v!=){(KCI8>UnBGhD9yi4)Fy zOrNlWB&b!G`tMsqGKJ;$hbX(@7+XDi)Ze5yoJ53JfajQCm~@vWd%?+hQtB#wA_WRn zaf;AQo05CyTXdG)M20Nlxr76tbI*C`osY%yZ7+KqI2}KR+02;KV7)^!_vyf)GBp(I zatf~2xnRMZdkYt5Fj3IkS^}jv+S|D&^lnffL_1U1X8WRGJ>GAl;@JR>d#HP2)eeG0+(9RrjBw+e0!aYcdA9-x1(whm6eXX6!=e?^2%PXi+d zF6yc<7y&AC-G5%3Hx`{`@?h?sX&Wvc1+DpcKB_Q2#DN*TNwpuOXT1-7W;QUskJT|0 zyBV*ux6LYlJ{m|q17P&>)4>%Ht5*$JG^iR~(qe~&_#2z)sq45#d<~m+EcHq5NuEkik~~Qw%3k1r{fagZ?ZN^ zEIBuQK(p>e^`Q9_jcgzg6zCtrH!29-Geu7)k|fcYV!gZeI=2uy1CSY}#i`kZsk3M< ze@DTi3+VZIGrxzTfU{`#M(_5+Mgzd=Z;M#)$Xq8ch5E;ib^y|}ue#frWcVSVKB05r zEGI*){rx-zYU$lw9`Xt2&0n`rsZc8pfa{`eiQ%jO0}$pc!YK_s-@zzyCxeDY@Oynt z@$CWi*K<7}7UBt0hnpIlTG8sN?1g+fS*y}05d1?E)^kWbadj2aHxZga&1oZecJ;+C z(bZB>HXkCdP{n7SRNm)QfUqhBwbkL~1B)xd5|op@5 zUAl_y)@i z$Dci?BJ1QHkewf>7+eO&hATu)CzET}NleSTm7C*#a$&%>oxtc}A(oihWK#b7;MYkV zE$kfZ-xUKU)=aQZ@e(_o7m`1S_{>^=yv5xtOkuZK=Y@wkyogG+{F|+eQmJC7#-#MD zTG*|VojX!Izy{YjNkK@RKY|A?nEA1W4%7@~9b=MWm?%`3io(4omtGOn(9F2eKaU2C z7M|L7p6Sg(xmf#OIn(5g2#}dt2V!XNj9?cHP0}a6KsxmIG1$y{f83apKpKJ8w5Oqj z3sPz7@a(6+Zee6L3h8au*;_VvCGrp7J4czT9stoO z6a6Pnf>p_|y`jT+S0C8P$?rpy$6zr~KCz=iCHw~fOVDVNo)raqh=z+8IA~Tit*rz| z6Db|TAI5x+^GApcw}JK)boZ+z@zo0%=3|QHNX-NEGz>o$Y8>5foj^%%#91G~GmZg3 zio-tM$zJFLLFj7f+-})(82=M0dd=F3&$A#9ubLH_%VW7XhZ2&woCaRGCXjFA&WWW*Ew51OO}C!1>1A(cCiK{wWSr{5rUsam zfn#Nn^YjtQ#!v-L9kN<QmuIjBd$*ajU2G~8w(?vk z)481^qxt)XlxPgByyIa(K<6;dl-S*{&TBF<1M&hC>r~-6Bf`LkFn5CBZ z4Qvy?&(Uw{A{ATI=l!S)l_M1V$b5r=SsO`vg1$#yH>i^%0%8GK|N1;(<1hE-kHwVtcs7w^N*jB5O@;gswy-sN}UzhlyQqI28i2*1k^Yxe1)kO;9hZ3(*?F!`Y{uLFg zeOo76KH9IwTi`fUK70H)J}Zh!4?bs1H?J#yrSbry7e4tha&jcA{$Q4~+hFr0@1&Ps zD_}*c+>D!EH#z1TRc@9WM2TSFVxWvcjl3r4n}WIW4-B0=X}%SdECK`b5+79cFLG{$lZENNqLR$=`+Iym+h_8!O}y zpAosHSUx#2F4E!1ou`-QZd{6#mt*EW-88GhGD#m!cKG_W+0g7P!L9b?3s9)2riBRO zur)#60aq$eT_5@XPW||@9ZeEVs{=YaN<5-8?-bR|9)h?}2-!qd?u!~?NzHn<9d*Jf zZL7!K-4lbc+Pp!20dK{;V+9P$MMZC7T4cjzoapL@Z(cK~!oZGs%u%RXe%mA^&|T?c zTD1GRhJGeT-JBWbw#1`7!8kp$k#!Ei<{R<-*vM)~54H|4<%ey4r_wS2PWSL{pt)1s zBNS?t2q&)9Ey8#qelYfJJ@r(W!@;vb`rOyAO=+ptXP8%FZ&CZvD)uviA2QQ}Z3B!= zxbOXx#|^3t93JWHEj%yg=N)j7GU!Q$j#L@)@73aCqvTxKu@&at8MzJG1v)NoMvvgE z@N!SC#x7C?s4btb)hQkm3gRnP^Yby578NbJ8XIt>s`B|i%b!YBk9<3%@iuUtorL z5Ka#&QH%<7`3AjQ%9|!z9uBbEqN30Kj6GVyg*$4`eKskdSsX#Bwo9`fAqL1M(Q~fG z)rN9U@S{o5P3t2*3nM} zK2JBiz+6a&Em$%^Vr7rSQY%D*_MLG$hHE=FlP8?G<|zkgFgHNn-Sb;^*6Hkj`;Ce? zA>*Rw9E`(|0a=fc=nKzVHgAlOb4`xb=9$$jwh6GbEL>eJtWA)MkQ8mX97|}oR{ac$ zoUzVr$yR$JttnltdH)%wLnV`6JKMh1Y*9~uz5Y1%=mtyS55<23`{#8Mi-}=}0%B6T zHzK+osgV{}W6Mo0j$KOKI#$$9uvL0NZ^Kbu@3Z}tla zxcKr6FYBDfmE&Mt(4ynFzihpqu%kfuMz&@F_NA)ak+@h9Y#r*!gHh3U+fx_Co4<@W z@>P_MfEbf^&aRK3&lP@aO4IO650;0vTSb)&w};rwtn^O1n8}Mu3+_XI%w!X2D(