From 2b760e8f1a822f468141e89d14af9959dd78ba34 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Tue, 27 Oct 2020 09:25:12 +0000 Subject: [PATCH 001/137] Template update for nf-core/tools version 1.11 --- .github/CONTRIBUTING.md | 2 +- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/workflows/awsfulltest.yml | 4 +++- .github/workflows/awstest.yml | 9 ++++----- CHANGELOG.md | 2 +- Dockerfile | 6 +++--- README.md | 10 +++++----- docs/README.md | 2 -- docs/output.md | 8 +++++++- docs/usage.md | 13 ++++++++++--- environment.yml | 2 +- nextflow.config | 5 ++++- nextflow_schema.json | 4 ++-- 13 files changed, 42 insertions(+), 27 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 46a82ca..7d21171 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -54,4 +54,4 @@ These tests are run both with the latest available version of `Nextflow` and als ## Getting help -For further information/help, please consult the [nf-core/epitopeprediction documentation](https://nf-co.re/epitopeprediction/docs) and don't hesitate to get in touch on the nf-core Slack [#epitopeprediction](https://nfcore.slack.com/channels/epitopeprediction) channel ([join our Slack here](https://nf-co.re/join/slack)). +For further information/help, please consult the [nf-core/epitopeprediction documentation](https://nf-co.re/epitopeprediction/usage) and don't hesitate to get in touch on the nf-core Slack [#epitopeprediction](https://nfcore.slack.com/channels/epitopeprediction) channel ([join our Slack here](https://nf-co.re/join/slack)). diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index e0e0236..5c6d249 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -36,7 +36,7 @@ Steps to reproduce the behaviour: ## Container engine -- Engine: +- Engine: - version: - Image tag: diff --git a/.github/workflows/awsfulltest.yml b/.github/workflows/awsfulltest.yml index 546458a..c3ed4cb 100644 --- a/.github/workflows/awsfulltest.yml +++ b/.github/workflows/awsfulltest.yml @@ -1,10 +1,12 @@ name: nf-core AWS full size tests -# This workflow is triggered on push to the master branch. +# This workflow is triggered on published releases. +# It can be additionally triggered manually with GitHub actions workflow dispatch. # It runs the -profile 'test_full' on AWS batch on: release: types: [published] + workflow_dispatch: jobs: run-awstest: diff --git a/.github/workflows/awstest.yml b/.github/workflows/awstest.yml index 35b8245..aa34393 100644 --- a/.github/workflows/awstest.yml +++ b/.github/workflows/awstest.yml @@ -1,11 +1,10 @@ name: nf-core AWS test # This workflow is triggered on push to the master branch. -# It runs the -profile 'test' on AWS batch +# It can be additionally triggered manually with GitHub actions workflow dispatch. +# It runs the -profile 'test' on AWS batch. on: - push: - branches: - - master + workflow_dispatch: jobs: run-awstest: @@ -37,4 +36,4 @@ jobs: --job-name nf-core-epitopeprediction \ --job-queue $AWS_JOB_QUEUE \ --job-definition $AWS_JOB_DEFINITION \ - --container-overrides '{"command": ["nf-core/epitopeprediction", "-r '"${GITHUB_SHA}"' -profile test --outdir s3://'"${AWS_S3_BUCKET}"'/epitopeprediction/results-'"${GITHUB_SHA}"' -w s3://'"${AWS_S3_BUCKET}"'/epitopeprediction/work-'"${GITHUB_SHA}"' -with-tower"], "environment": [{"name": "TOWER_ACCESS_TOKEN", "value": "'"$TOWER_ACCESS_TOKEN"'"}]}'epitopeprediction/work-'"${GITHUB_SHA}"' -with-tower"], "environment": [{"name": "TOWER_ACCESS_TOKEN", "value": "'"$TOWER_ACCESS_TOKEN"'"}]}' + --container-overrides '{"command": ["nf-core/epitopeprediction", "-r '"${GITHUB_SHA}"' -profile test --outdir s3://'"${AWS_S3_BUCKET}"'/epitopeprediction/results-'"${GITHUB_SHA}"' -w s3://'"${AWS_S3_BUCKET}"'/epitopeprediction/work-'"${GITHUB_SHA}"' -with-tower"], "environment": [{"name": "TOWER_ACCESS_TOKEN", "value": "'"$TOWER_ACCESS_TOKEN"'"}]}' diff --git a/CHANGELOG.md b/CHANGELOG.md index 7be1b04..9b3ca18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ 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.1.0dev - [date] +## v1.1.0 - [date] Initial release of nf-core/epitopeprediction, created with the [nf-core](https://nf-co.re/) template. diff --git a/Dockerfile b/Dockerfile index ba0b984..4e86e03 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM nfcore/base:1.10.2 +FROM nfcore/base:1.11 LABEL authors="Christopher Mohr, Alexander Peltzer" \ description="Docker image containing all software requirements for the nf-core/epitopeprediction pipeline" @@ -7,10 +7,10 @@ COPY environment.yml / RUN conda env create --quiet -f /environment.yml && conda clean -a # Add conda installation dir to PATH (instead of doing 'conda activate') -ENV PATH /opt/conda/envs/nf-core-epitopeprediction-1.1.0dev/bin:$PATH +ENV PATH /opt/conda/envs/nf-core-epitopeprediction-1.1.0/bin:$PATH # Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-epitopeprediction-1.1.0dev > nf-core-epitopeprediction-1.1.0dev.yml +RUN conda env export --name nf-core-epitopeprediction-1.1.0 > nf-core-epitopeprediction-1.1.0.yml # Instruct R processes to use these empty files instead of clashing with a local version RUN touch .Rprofile diff --git a/README.md b/README.md index 604735f..496aefd 100644 --- a/README.md +++ b/README.md @@ -18,12 +18,12 @@ The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool 1. Install [`nextflow`](https://nf-co.re/usage/installation) -2. Install either [`Docker`](https://docs.docker.com/engine/installation/) or [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/) for full pipeline reproducibility _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_ +2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/) or [`Podman`](https://podman.io/) for full pipeline reproducibility _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_ 3. Download the pipeline and test it on a minimal dataset with a single command: ```bash - nextflow run nf-core/epitopeprediction -profile test, + nextflow run nf-core/epitopeprediction -profile test, ``` > Please check [nf-core/configs](https://github.com/nf-core/configs#documentation) to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use `-profile ` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment. @@ -33,14 +33,14 @@ The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool ```bash - nextflow run nf-core/epitopeprediction -profile --input '*_R{1,2}.fastq.gz' --genome GRCh37 + nextflow run nf-core/epitopeprediction -profile --input '*_R{1,2}.fastq.gz' --genome GRCh37 ``` -See [usage docs](docs/usage.md) for all of the available options when running the pipeline. +See [usage docs](https://nf-co.re/epitopeprediction/usage) for all of the available options when running the pipeline. ## Documentation -The nf-core/epitopeprediction pipeline comes with documentation about the pipeline which you can read at [https://nf-core/epitopeprediction/docs](https://nf-core/epitopeprediction/docs) or find in the [`docs/` directory](docs). +The nf-core/epitopeprediction pipeline comes with documentation about the pipeline: [usage](https://nf-co.re/epitopeprediction/usage) and [output](https://nf-co.re/epitopeprediction/output). diff --git a/docs/README.md b/docs/README.md index f18cde4..17729af 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,8 +2,6 @@ The nf-core/epitopeprediction 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. * [Output](output.md) diff --git a/docs/output.md b/docs/output.md index bcdd404..4b951ec 100644 --- a/docs/output.md +++ b/docs/output.md @@ -1,5 +1,11 @@ # nf-core/epitopeprediction: Output +## :warning: Please read this documentation on the nf-core website: [https://nf-co.re/epitopeprediction/output](https://nf-co.re/epitopeprediction/output) + +> _Documentation of pipeline parameters is generated automatically from the pipeline schema and can no longer be found in markdown files._ + +## Introduction + This document describes the output produced by the pipeline. Most of the plots are taken from the MultiQC report, which summarises results at the end of the pipeline. The directories listed below will be created in the results directory after the pipeline has finished. All paths are relative to the top-level results directory. @@ -40,7 +46,7 @@ For more information about how to use MultiQC reports, see [https://multiqc.info **Output files:** -* `multiqc/` +* `multiqc/` * `multiqc_report.html`: a standalone HTML file that can be viewed in your web browser. * `multiqc_data/`: directory containing parsed statistics from the different tools used in the pipeline. * `multiqc_plots/`: directory containing static images from the report in various formats. diff --git a/docs/usage.md b/docs/usage.md index 6a0fe87..9faad7b 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -1,5 +1,9 @@ # nf-core/epitopeprediction: Usage +## :warning: Please read this documentation on the nf-core website: [https://nf-co.re/epitopeprediction/usage](https://nf-co.re/epitopeprediction/usage) + +> _Documentation of pipeline parameters is generated automatically from the pipeline schema and can no longer be found in markdown files._ + ## Introduction @@ -47,7 +51,7 @@ This version number will be logged in reports when you run the pipeline, so that Use this parameter to choose a configuration profile. Profiles can give configuration presets for different compute environments. -Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Conda) - see below. +Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Conda) - see below. > We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported. @@ -64,8 +68,11 @@ If `-profile` is not specified, the pipeline will run locally and expect all sof * `singularity` * A generic configuration profile to be used with [Singularity](https://sylabs.io/docs/) * Pulls software from Docker Hub: [`nfcore/epitopeprediction`](https://hub.docker.com/r/nfcore/epitopeprediction/) +* `podman` + * A generic configuration profile to be used with [Podman](https://podman.io/) + * Pulls software from Docker Hub: [`nfcore/epitopeprediction`](https://hub.docker.com/r/nfcore/epitopeprediction/) * `conda` - * Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker or Singularity. + * Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker, Singularity or Podman. * A generic configuration profile to be used with [Conda](https://conda.io/docs/) * Pulls most software from [Bioconda](https://bioconda.github.io/) * `test` @@ -98,7 +105,7 @@ process { See the main [Nextflow documentation](https://www.nextflow.io/docs/latest/config.html) for more information. -If you are likely to be running `nf-core` pipelines regularly it may be a good idea to request that your custom config file is uploaded to the `nf-core/configs` git repository. Before you do this please can you test that the config file works with your pipeline of choice using the `-c` parameter (see definition below). You can then create a pull request to the `nf-core/configs` repository with the addition of your config file, associated documentation file (see examples in [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs)), and amending [`nfcore_custom.config`](https://github.com/nf-core/configs/blob/master/nfcore_custom.config) to include your custom profile. +If you are likely to be running `nf-core` pipelines regularly it may be a good idea to request that your custom config file is uploaded to the `nf-core/configs` git repository. Before you do this please can you test that the config file works with your pipeline of choice using the `-c` parameter (see definition above). You can then create a pull request to the `nf-core/configs` repository with the addition of your config file, associated documentation file (see examples in [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs)), and amending [`nfcore_custom.config`](https://github.com/nf-core/configs/blob/master/nfcore_custom.config) to include your custom profile. If you have any questions or issues please send us a message on [Slack](https://nf-co.re/join/slack) on the [`#configs` channel](https://nfcore.slack.com/channels/configs). diff --git a/environment.yml b/environment.yml index 07cf0ab..342131a 100644 --- a/environment.yml +++ b/environment.yml @@ -1,6 +1,6 @@ # You can use this file to create a conda environment for this pipeline: # conda env create -f environment.yml -name: nf-core-epitopeprediction-1.1.0dev +name: nf-core-epitopeprediction-1.1.0 channels: - conda-forge - bioconda diff --git a/nextflow.config b/nextflow.config index a4a30d6..aaf82e9 100644 --- a/nextflow.config +++ b/nextflow.config @@ -71,6 +71,9 @@ profiles { singularity.enabled = true singularity.autoMounts = true } + podman { + podman.enabled = true + } test { includeConfig 'conf/test.config' } } @@ -113,7 +116,7 @@ manifest { description = 'A fully reproducible and state of the art epitope prediction pipeline.' mainScript = 'main.nf' nextflowVersion = '>=19.10.0' - version = '1.1.0dev' + version = '1.1.0' } // Function to ensure that resource requirements don't go beyond diff --git a/nextflow_schema.json b/nextflow_schema.json index 3e84de8..2a1f42e 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -1,5 +1,5 @@ { - "$schema": "https://json-schema.org/draft-07/schema", + "$schema": "http://json-schema.org/draft-07/schema", "$id": "https://raw.githubusercontent.com/nf-core/epitopeprediction/master/nextflow_schema.json", "title": "nf-core/epitopeprediction pipeline parameters", "description": "A fully reproducible and state of the art epitope prediction pipeline.", @@ -101,7 +101,7 @@ "link", "copy", "copyNoFollow", - "mov" + "move" ] }, "name": { From 4b9d74a6d6b2b3bae80ad5b7682a20446c0faa00 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Thu, 19 Nov 2020 13:47:25 +0000 Subject: [PATCH 002/137] Template update for nf-core/tools version 1.12 --- .github/ISSUE_TEMPLATE/bug_report.md | 7 ++++- .github/ISSUE_TEMPLATE/config.yml | 8 +++++ .github/ISSUE_TEMPLATE/feature_request.md | 6 ++++ .github/workflows/awsfulltest.yml | 7 +++-- .github/workflows/awstest.yml | 2 +- .github/workflows/branch.yml | 2 +- .github/workflows/ci.yml | 12 ++++---- .github/workflows/linting.yml | 13 +++++++-- .github/workflows/linting_comment.yml | 29 +++++++++++++++++++ .github/workflows/push_dockerhub_dev.yml | 28 ++++++++++++++++++ ...ckerhub.yml => push_dockerhub_release.yml} | 15 ++-------- Dockerfile | 2 +- README.md | 2 +- assets/sendmail_template.txt | 2 +- main.nf | 14 ++++----- nextflow.config | 5 ++-- 16 files changed, 116 insertions(+), 38 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/workflows/linting_comment.yml create mode 100644 .github/workflows/push_dockerhub_dev.yml rename .github/workflows/{push_dockerhub.yml => push_dockerhub_release.yml} (68%) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 5c6d249..bfeebc5 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,10 +1,15 @@ +--- +name: Bug report +about: Report something that is broken or incorrect +labels: bug +--- + diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..aa737b1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: Join nf-core + url: https://nf-co.re/join + about: Please join the nf-core community here + - name: "Slack #epitopeprediction channel" + url: https://nfcore.slack.com/channels/epitopeprediction + about: Discussion about the nf-core/epitopeprediction pipeline diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 64053a2..84a2c39 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,3 +1,9 @@ +--- +name: Feature request +about: Suggest an idea for the nf-core website +labels: enhancement +--- + +## Check Documentation + +I have checked the following places for your error: + +- [ ] [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting) +- [ ] [nf-core/epitopeprediction pipeline documentation](https://nf-co.re/nf-core/epitopeprediction/usage) + ## Description of the bug @@ -28,6 +35,13 @@ Steps to reproduce the behaviour: +## Log files + +Have you provided the following extra information/files: + +- [ ] The command used to run the pipeline +- [ ] The `.nextflow.log` file + ## System - Hardware: diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 0fd08bb..e2b6299 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -13,8 +13,14 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/epit ## PR checklist -- [ ] This comment contains a description of changes (with reason) -- [ ] `CHANGELOG.md` is updated +- [ ] This comment contains a description of changes (with reason). - [ ] If you've fixed a bug or added code that should be tested, add tests! -- [ ] Documentation in `docs` is updated -- [ ] If necessary, also make a PR on the [nf-core/epitopeprediction branch on the nf-core/test-datasets repo](https://github.com/nf-core/test-datasets/pull/new/nf-core/epitopeprediction) + - [ ] If you've added a new tool - add to the software_versions process and a regex to `scrape_software_versions.py` + - [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/epitopeprediction/tree/master/.github/CONTRIBUTING.md) + - [ ] If necessary, also make a PR on the nf-core/epitopeprediction _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. +- [ ] Make sure your code lints (`nf-core lint .`). +- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker`). +- [ ] Usage Documentation in `docs/usage.md` is updated. +- [ ] Output Documentation in `docs/output.md` is updated. +- [ ] `CHANGELOG.md` is updated. +- [ ] `README.md` is updated (including new tool citations and authors/contributors). diff --git a/.github/markdownlint.yml b/.github/markdownlint.yml index 96b12a7..8d7eb53 100644 --- a/.github/markdownlint.yml +++ b/.github/markdownlint.yml @@ -1,5 +1,12 @@ # Markdownlint configuration file -default: true, +default: true line-length: false no-duplicate-header: siblings_only: true +no-inline-html: + allowed_elements: + - img + - p + - kbd + - details + - summary diff --git a/Dockerfile b/Dockerfile index 48241f9..9f196a2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM nfcore/base:1.12 +FROM nfcore/base:1.12.1 LABEL authors="Christopher Mohr, Alexander Peltzer" \ description="Docker image containing all software requirements for the nf-core/epitopeprediction pipeline" diff --git a/README.md b/README.md index a4ecb96..5ab7378 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,9 @@ ## Introduction + +**nf-core/epitopeprediction** is a bioinformatics best-practise analysis pipeline for + The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible. ## Quick Start @@ -38,6 +41,15 @@ The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool See [usage docs](https://nf-co.re/epitopeprediction/usage) for all of the available options when running the pipeline. +## Pipeline Summary + +By default, the pipeline currently performs the following: + + + +* Sequencing quality control (`FastQC`) +* Overall pipeline run summaries (`MultiQC`) + ## Documentation The nf-core/epitopeprediction pipeline comes with documentation about the pipeline: [usage](https://nf-co.re/epitopeprediction/usage) and [output](https://nf-co.re/epitopeprediction/output). @@ -48,13 +60,18 @@ The nf-core/epitopeprediction pipeline comes with documentation about the pipeli nf-core/epitopeprediction was originally written by Christopher Mohr, Alexander Peltzer. +We thank the following people for their extensive assistance in the development +of this pipeline: + + + ## Contributions and Support If you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md). For further information or help, don't hesitate to get in touch on the [Slack `#epitopeprediction` channel](https://nfcore.slack.com/channels/epitopeprediction) (you can join with [this invite](https://nf-co.re/join/slack)). -## Citation +## Citations @@ -67,3 +84,7 @@ You can cite the `nf-core` publication as follows: > > _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x). > ReadCube: [Full Access Link](https://rdcu.be/b1GjZ) + +In addition, references of tools and data used in this pipeline are as follows: + + diff --git a/assets/nf-core-epitopeprediction_logo.png b/assets/nf-core-epitopeprediction_logo.png index 496a677aea5b3eccd6cfb1b8c04ffcb00398f292..aa30901c87c4abae6ee8026d2c07783644379017 100644 GIT binary patch literal 126628 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%0AF#r7f>x#M<28MRVa z_G>CsiM;Tx*?djih?ktf+=^%yJUaTB5*9nc7d~kdo1R)3Jua3(%nD2^ zPaMrdOIWgCFPSd;l1##`r94*`lf`A-ZkZ%*N7QNUT z2G-0WjZ;pF3ji<{`*{xFW>xfgNTmcHhuViJRwM&SkzY)#aK_L@nOAQOjAyZ|#5%iV zzpyIlIDxp3z!z#e=?J!Gj6M@x$1@}*p2~>WGtn3q5S{8h<^pLPfCU#(Kxw~W{p(s} z4Y8ajRP1BdvOzeUVQpg{W+>@;yeCULJpS{Qx7B{x4A=%KSM%XTYRc&x(xhOESnf;w z;hu&ITt@bbGQQ$Grwi2jA=3Me=Jb!4{QTkq8O6$u(E6E?AMOmqbKi&TO+gg}t@1nL z(?=iVAt`C6~< zn3@RKpFTYaEOOJ+)0=K!edy8Wrl1+{I1{hhsmbU@IlJ<(B_tCFg8urW%PwMh8wA!` zPi89AnI3ean!@G;Dl(`C!7DS%iaeL@(ocLZGPbLJM1FjACCr`8)T=Q=e!vXd`~hkZ zS|&WVi+l!L)C^}To|O&-EUfTLXHbs8*W6?R_S-A<$UjH=Y>571m=q6O8J;*83yi)s zAE#fv^}WF&TKE|3MB}uUY7gfGDkIIk&B#AtEPxPBtqZ|Wdz^W+L z3EX{Wzpdvl)QS!yhF|B~4J(tauyPgrT#9`~pnK7w^XgCdhVbm3hs6B>jJS-9aUdi7 zjLYe8kA_u-Lmoi;XNNn#Ee9Q{qG3{px_m_FYzoHA;NN09lduRlQ$8VYVr$keC0(N+ z?lJ)a_a;AYU-RJ8_ZfrPSJTdIJL1bw^?xXOD2cgsz1uwY2~wU*G=R)R-*)=qB}o1u zTc;+KkPpIy`_HSg*V-t|K?9g1(JURY$QEDr+p4tkTce;ObJpu)!^!D<6fZm2f9s+P z=1ixfF!_o8WPw->V`%!Z30AB!9MB)b?sQ+`09JM|g$8&NWS8^+g7reH)ggZ)A!Bv4 za9SN|@X1D0M7nQi|3%H(HXTx<&*EM5ziQ>X&Yz8MlV4$`eQIKQkM<$kK2XV5u<&Cgf!KqJ$f zPq$Fa^v|)$GyWAgN?)H*ytiE5wAr!17JSj^O*YGXjO^xZ3J=;zPL*?pm?Qd^jP(hB zq+azT$Z+t3j6)yhrJSCRTfqu$LR2}9Y?wY@t(mrGpkY)e3t^bgIDuF59WNOMFf6yc zCtkQ+2F|Ql)zsGJ4xt}Q7hMSO?(Y}6_}u}{nw0qWa6Q@uHE40<51y2^A^Bbp9OEWL zBgRUE_S%E=wTg3@efru`@5v93-qf<1O#{Og~Z}&0C6~w=X7DpZ)KrCOkL28_(Wh4a6axl z$B1mBL0y5nZA!A^rT+|)Nm~(mqe;i73gal0ckxP7WYgEp%ELBx0ei0NEG$%(DuwW? zcBX@o+4anper{W}aE-t298Ee&ufi|5F2d=ijRhL?Ngkou7p#QAImP(eWZVy^-NG@T~W4Thr9YGY+_T1Z`JS$ z(jgLB{J3!V9e}rkU+I;j^g%{B>iM6uvlT{TsRp6h3IB{oMX<{~qHHzx1JYi+ue&)4 z`i&mCifd_l5W20A2a|`xhM~xnVitjTgG`d|z=bUo?*jM_l$8nK%0DLpL8BIpblMuw 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%0AF#r7f>x#M<28MRVa z_G>CsiM;Tx*?djih?ktf+=^%yJUaTB5*9nc7d~kdo1R)3Jua3(%nD2^ zPaMrdOIWgCFPSd;l1##`r94*`lf`A-ZkZ%*N7QNUT z2G-0WjZ;pF3ji<{`*{xFW>xfgNTmcHhuViJRwM&SkzY)#aK_L@nOAQOjAyZ|#5%iV zzpyIlIDxp3z!z#e=?J!Gj6M@x$1@}*p2~>WGtn3q5S{8h<^pLPfCU#(Kxw~W{p(s} z4Y8ajRP1BdvOzeUVQpg{W+>@;yeCULJpS{Qx7B{x4A=%KSM%XTYRc&x(xhOESnf;w z;hu&ITt@bbGQQ$Grwi2jA=3Me=Jb!4{QTkq8O6$u(E6E?AMOmqbKi&TO+gg}t@1nL z(?=iVAt`C6~< zn3@RKpFTYaEOOJ+)0=K!edy8Wrl1+{I1{hhsmbU@IlJ<(B_tCFg8urW%PwMh8wA!` zPi89AnI3ean!@G;Dl(`C!7DS%iaeL@(ocLZGPbLJM1FjACCr`8)T=Q=e!vXd`~hkZ zS|&WVi+l!L)C^}To|O&-EUfTLXHbs8*W6?R_S-A<$UjH=Y>571m=q6O8J;*83yi)s zAE#fv^}WF&TKE|3MB}uUY7gfGDkIIk&B#AtEPxPBtqZ|Wdz^W+L z3EX{Wzpdvl)QS!yhF|B~4J(tauyPgrT#9`~pnK7w^XgCdhVbm3hs6B>jJS-9aUdi7 zjLYe8kA_u-Lmoi;XNNn#Ee9Q{qG3{px_m_FYzoHA;NN09lduRlQ$8VYVr$keC0(N+ z?lJ)a_a;AYU-RJ8_ZfrPSJTdIJL1bw^?xXOD2cgsz1uwY2~wU*G=R)R-*)=qB}o1u zTc;+KkPpIy`_HSg*V-t|K?9g1(JURY$QEDr+p4tkTce;ObJpu)!^!D<6fZm2f9s+P z=1ixfF!_o8WPw->V`%!Z30AB!9MB)b?sQ+`09JM|g$8&NWS8^+g7reH)ggZ)A!Bv4 za9SN|@X1D0M7nQi|3%H(HXTx<&*EM5ziQ>X&Yz8MlV4$`eQIKQkM<$kK2XV5u<&Cgf!KqJ$f zPq$Fa^v|)$GyWAgN?)H*ytiE5wAr!17JSj^O*YGXjO^xZ3J=;zPL*?pm?Qd^jP(hB zq+azT$Z+t3j6)yhrJSCRTfqu$LR2}9Y?wY@t(mrGpkY)e3t^bgIDuF59WNOMFf6yc zCtkQ+2F|Ql)zsGJ4xt}Q7hMSO?(Y}6_}u}{nw0qWa6Q@uHE40<51y2^A^Bbp9OEWL zBgRUE_S%E=wTg3@efru`@5v93-qf<1O#{Og~Z}&0C6~w=X7DpZ)KrCOkL28_(Wh4a6axl z$B1mBL0y5nZA!A^rT+|)Nm~(mqe;i73gal0ckxP7WYgEp%ELBx0ei0NEG$%(DuwW? zcBX@o+4anper{W}aE-t298Ee&ufi|5F2d=ijRhL?Ngkou7p#QAImP(eWZVy^-NG@T~W4Thr9YGY+_T1Z`JS$ z(jgLB{J3!V9e}rkU+I;j^g%{B>iM6uvlT{TsRp6h3IB{oMX<{~qHHzx1JYi+ue&)4 z`i&mCifd_l5W20A2a|`xhM~xnVitjTgG`d|z=bUo?*jM_l$8nK%0DLpL8BIpblMuw z!=cVei#q@p#l0qE?An^EhUo6w)o+Wxl`1wZA#Iq0G0kDi0L4+Wk%9?6`vhr|#A$S9 zHE*jUUi|{6)9Ep|W754Be@@O;7><2Kl2xI~_Sxs4y&0Vf-y27ro0|JMQ=4~vO@oGaqu0lg}KWRwlYEUBFp_E*$Z4ca+U4olQo6i>R%mCx0Y~p==#p@%6#TnDdSTve zdNA$RY=ZqibYSCD>oht(X6tVrz+BV;(#xG89^XRhN&6!|Jf>>HfdcA z8%ViyPGxkb-o?hXn#u&=lAi4EP0>OlHx)JI{u;p}sfumx?x$UiIfp;|zF za&_WB%zxHsfAj{p@=gwdjku{z7|WWxe`h}2j~$AiFbX;H4+5KgFnTVtD416#}{GI4<}h&;dDS| z-G&G+C#VqAXX?H96|j){R`~nM>l=WL#+}1X-;C2DS$cGg{po?cmAR2)Oag;ilS>1r zuI(_?SB;>4Ct@!_1=jC#y$F2$TLII}zESFTTJNv(mY;qmzdZDY(+QM(h4Ss+>>sVF&QV49ELOAbHy~LcjSM%HgZzga!sEL2vDA)4DEvfq_klGEoCS3yGl~R*L;gD8jC*C zndn|Hd1eXe+`gvVAZ=Y4)_F~YWyMRPa*d{qRdVV3xLUEeZs!Nq3zVlRo_)Ub?m9e` z^NjMPm51z%cMI8tlFrMVSLVpQFTlV_^%|;{{LG;(Ri{ccZ>a&MJ?&$MjHF2KmkwYY zD2Fp;27K#U& z8TYYrKcONB6JM~hO`RmnA@1EOIZg-EOK@l&t6r%3Tbotm`Eu%=I$VR=6Sl zGViIIHJ>c2*S1hzOm@nLnf<|TgX3SH@ldrD)iC%f*YdwEr5<|-ZQ_3RX6R<- zwSr;g1fQOoZ)bdxLN)u8R?nQ#<6hR(PM%6>{70TTD{Of;kn>)Qm&%7z9H*3N=%3xo zKF29`&Wa(_MCBZPq0fTIJ!ZAE_-C_i2Ew?h&djqhDn}AqdBR&yc&_RM^1NP-^=cXK z0I{0~lW z=$^*4hw`VETo{W5GhW9xhRmnB)@2WK2tEz2X6}e#rI-zq7i<;n=oj+!D7J)(w9=QX zV5o%QqE2rWcd{DyTQVR%#r61zh*5d`4&BCQ9aq*`c;e0oJyXo9OAc)>w=A#H(oBE1 z6kzagpkfRnn(mub+y?S8|~VF_nA~ zR&4cD`jP&n_1Dgs!^|bl`J;nVM<$g=Nw#(fD{4{KvF4*$K$)gc5@6up1tg_(^XYpX z)WO(D1@xWkb)_#+bGRBy6Z7hnPf9PAkC0ESTJQKhjr?Fdb;;4{Y-nR*_g>l1W-6O> z1-gL7f?Aju!4z2{e>Fu=o1aEYJL*9@x8Sz_Ux%A1o?sZ`sMEvtLeSZ?)MFdrsee3c zhbgajPl=E-!Jg|*KBX-B^ybfE+}cyEk}q?OXVceR%0DG~$y=Kp`rESL1k;7|ec|0Vgg|DZ7oYPfsHr<7RY&m%>bTYQgI?C6kGfp)%)p z4uz%<+SezWGklAATa&0>kBjw~s_$ZGGd17piHe!~B_H}W=r}G**tm>q<_XiQd=p-X z%;CjL*yFw-ElLWc^QOAKgAi)ZPMv!&#q`ck67J{g;;WFjB+KKXxQ{ByZ6fOR?4pTl z`*|_K3jW8wlk1ze*j=wn{q?xyYZZEEb|j1`GD;`6iuLGwq6p2Am8qlEWZmHZc-Y_|%lgj+5(M{%}W`Dbs#buH2`CoC%ZySRv!3Jk!YK#pM4h001 z)ZQ~#AGEBQuRHO&oVPAcXQ1@DY!#H=w?$th={&#A594K_YK`Yy99Do%|w^r5znx99IQ--AOFf}^&0wcB(lQr|8z2TnzS9%h+H!L2H%2L#p+Z}S3SPyzv z5TQEA*YcXt;A+5b5*w3Cl9dMH986|6&4lTVtj9B1&U)b{1CNR309(f{5*p47t(2BY zJbguf4(?z?9r|c39Pm73=I~{c`Q{7d&2XFyvj;c8x-6#V;>Ecbn4Y^&vG~@`xW`t` zV8O>U{xdfH5_5V*HyblKT;G%y8z2;#0%V9ArBb^i)EqXKcWc^e>XiEEsr;uo+>3h; zUD>j>dv;T&y{XGfkeY1ym%df(trgQQ-(g=8`Oxiip5mF^Q1~j25*NNw!{|z))%SGw zk65aXa!RzqY|h7>r-ZPNTd*F_V7ah-f6SI$I9ftA3e8?j%rxW_jM!s zyoPJiamy-b#AWK1rsVslc3z@WH06AYWlnY0;Lki-VD+SVP!m-8(E@3Sy$E}=YwbwT z;u);H$aDL6od%BXp--2gUb|V}@Nnj-(yb@xS|O)%k6xvQ(0+J{+MG1KZJj^dsd5@# z?i@~BkR3u+C#+0X4YHZ5t{+D^{`1U&LZ4nts~_Ig`l!S?T7?Qfs0ksK^EBdzC+Xz3 zp7JL(Zg1d%v8|}HbnyTPcl)YpJNIOv*z3Rb*ZdZ(xEeHZDdy>e%;fY@{C;kV#3!{!(Dl$E~v7D%?{q}!Wo`#Yr%Ub&om#o zcuZ;0Ksb=+r!K6&SvwP+|3H~W-}>vp{dDyEZf$RYgO|I#6rBjqz7M;o1&xUKq))f~ zxIDODaGdhshdNNmybTrgq-pSzxEO@<`ou1K!x5>VB{%TyJ!*tvCz0~qs=)5~B~jFq zf6EK)d}n0hca-eDcQLYO(q>*TNKdte;G3OphUBibAEX50 z_;CB&6{~-)sa(o5=v_H?SJ)yeuG4x|>$1Hs&$}z9-sNO){5m3A{~t!7`q*Py#^wVK z)G7VyN4h$m6=MgvX>ErX(G}9$@OD=_!(#Ol7W%Hie8N+a*C~UO-y_eYP1CzZw_t9z zK0STD`@Tz3cKL3BiB&1kmLs)M%IxQi$n-fYTQk_gRvrQRTjBe)j|DQH;(4MdjoFKUdu|WM@sTb6st)z zjLKJU_9TmmsW~M%?Z;&e1#KDRx*}>W$mPPXiS!JQQDlpWj&eV4#Zc9~-Db~OscDoX zbyzwb*rQu|xB#qFQ(woXBddwxpiRJlQuQAyP`hB$l<;>BMT&#j?f6y72Og0SzbY(Rk8Bbn~dE47`1Kapfl> z!;Zc1@H{}4Zo0~ogVFWY5<6+EbEC`mb!aI+?J%dc$G3$VsFkdfV`|9w(&IMzQlyaDc$Y24C)r0caZdfx$bT zyin~PnBxbOG4NjT;uYQS?f_z#$cHl*l+`~ImxPtSt?bb`MGAYOY%6^3|8p-yOcu$_ zF#o-Y)?wRFCYkPpXJ_qFVSwDzvDg|IPH9f2F|?^_#$|FVAIEaJ^l2(qN%7l zS~iHun>Ja>1Gd?sQ$DSjSHsApw_=9MeO$|Ut=FchEQuT87=sELPT$}+^lA?{I$XZC z9ncErhzSik&^35*U#xeNxyqxh@~tIPSV`c5?zh)o$t4M?nFd$y(|CH?WBFa@dWxNe zy$lW`aCg#>!4ve)SnpgompzWHdV4gVrHJ{NNAa-X=n>)Po@dT5DF}b}8wo-u6Y`wR zt06eK?H{NbJ9q2XQPu26z)k1-WuAsjcuG@3?>!b zvFR?9xd?vl@G#B4K~G<-Ug*1h6M0@@zi7nNho@_jT|usfQBPthW;uorns)x}e{Ya^ z(kn>OkY-eFE=Xjc9deT4V46ONvYL+dJikX^4W4*T#5n2z7|foHONTI~=uO5(Q-c7{uw+9~-@dY}Hn0KmLQEfk9xK>e}8xe?7R1elrZlNc9 z-i=9OeWq`ST6JKK?<^8CsVFHXE4!bmbnG`JT^k@am4` z)9;NGEfSB;HqcH{^*n2OG&cl@8{tIp2nHqIg>71_TivUC>o6U7#XdyryMS= zGLG7tzLh!+W++=%a?7vd`v7Wv)ap%@o$M3&p7`SjF7Pn;)g3X2A3Ag(nSvZ5P~gh5 z5eKe2paCwe2OMpzGi(uO)I>Mnh6tg!H?7q{rD}tojd98w!Qey0*#`ejG_1GthUzCw zS=arKntGb%X0w8}A6ZMd(@9*|^(eZ(my)>L?RTjT-uL5`~pei zw_yFOV*$bq0nH~U=dCBlWK z_?!JAWqryT-|MEDe9Le8Va@a$;b6Agm8sK}?%m@>EE7~!2rHjyoOZp`{(5Az)Zld+ zw-DCn-ZMupN3$lbQF5M=2-r;)BVr{7jU?$+c$h^#x2`ION#~49SaC=+D{Y`Ybl?c5 zxEkH|H>rXtXTyGvYJs4Ew$DYSq`A_!DR)oTkb{!f#;+Y-{O`k4h&MsnlW#bzgp!2Gs8`F>8%|f9o*FJ zr+qy1EJh=Mu%Id6&^m4~<+tZ2v#sKKlS#nzF6F{Oyhk#LtONnm(ui4;bQ}0KBDO)5 z$efw{F`p9NJ^ko!0$H$nlQ4ORw81}8&3s%Z+v~0FVa}4dr^&nuzgZ>wmg#up2QFxp z8c?$G55(mmcWl%CiwS}W-Mad&y9n(?+poH$-y%T%y#V#msi2|*LDoQY)^jn~cI|6c zGG=*Y?cD(!mozD^yR40dSe2L&S^eJZI`19D86??wf2cCQT6F?1+VX=3mLV4J*4BLA zd*~Mk#hnWrH#Cej=j}8GhABDqSB(S`y&ymPGx!_?`)M8zb;6&@+xnyyT*vS{pRzyu4KwTDN@j3MFkoN^9ZLO zBf#)gxnFkE9!0Wv@?h3l^VW)J;7=E{)uk8c0+taOL8))cI;*gz8Slaj?H4lSpC}%d zk;dN&J{DP(1=xd7SOgO3f7~-q+#qBGvDYv|;w;JZVaOMZYSwBp45`ci#5|Hz{+N+e z1PY>3cx<-nD*J&N7?fu z?b|mgPCo!L1fgWnguVHb9pB;wMoLz~7|+BBNk3U(uF0M>!i&^{XZ7B+0Oaaf`N@Y4 z=!5C>tLZ<{TPUuk;qhjl+&G_DsoCo@1^#O!Bz+BnYBr0&B0Lw0(F&JF=>i0b`8G8N zH@>h4+F;b_g(~E12r95wGFbI+|Zjri>UFzd}QKKDSqIPXFGRj zYoRH9M!Dh0wGPhFhPt<7dQj51+n{qJUqXxDq`GwZghHd^@YEq+4+eu-c6dUq zU6aTj75HR`pr5s^>y{u$bH_;`i#uw&&p0lp{$o({K~V8YMs1#vh(fYY@OG%#tq82V zG2dKpzB6lpYKnalsb7XE{kX{Jki5vm!R4?4?W+Y77A0NT!3Ud@diaYau!|c9BJnr! zA9$R5RQSUW+a@I>YnU5)of9Tf9|caauWGS${usI+j6B|NAOQ4mnhB(q6MZcBTf>3t zqp`2Xq1o0$WAGZ2FGBUwLzJJRyY5>%T_IIMNTua$Ql{kgi%<1a3>MT8XoW`uto$)i zI+Y~NRoOfIFO&Vp_f`N0j^qZhe@_G=+G){&*{3=~ zs}{b%#7(C!KT_gox`hlvHp*4n{_F2D2SVCuCoI^olERBVu}+w*MD3f-uwiQIPfg~H zXC%SP#|o;$E`^K^ZIk%Urn4 zOAtYRUs&R`6#Lb58;d9Uzr?*lsg>UlIbtN&=YL5kaQh@Eg#kPB^T z@zJJB#d*-23NA?+y~qsplQV4{w!l=Y{+=;w@?gF}A7 z#z5af(Wi=!dn)E;HEea)vqcy$X~vq*)V$}kPD$e_E+nd#Kv6^TdR#R%6CGjXcqv=Jb z&a3a9gf?5O&FCcgeI6RcD%3Pei71Q*oiJvFoe>gPMVwVkkxdpe#40x!@SC3Yp!vQ+ zuNPA^>O2PC*{GX88qwle?XdX7XuGT?On<~(C&K*Zic+%8WGm{hB#QNDi%6+t$BmEt zBdKHL$7!s5=3n>K;xyQ|=rv=wkCE>Er*JA3 zNzHqG*6BJ6Ozd?84gAc#^5l<9<#c~=yyBtMZ4Qu(E#WYkw9n?OcTa|S%$o@{avUi% zl|Aoxw`dV}6?dcE-Tcm=h`q`MjU z;sd5ey815$jp->fr#TtRg0S8!RZD93cpjTsJu)olOnVX@dR=YOp-bA{-w2}&Qorwc@^vS9f5-v0{KjVO_D=)zS>!vf;$WPk0sZU#%fURK1?5{|R zA~Cst6Re-z-Erq=>YQgkwqv@hKu2nK?)Po>J8A)Rxfi0oHX9ao7JVT#GA0^JM1F?n z?w_Rf{|~SX_kRU|bh%oF?8GnKVW{Ny^>nF!uT1lP_pSDwSc>}1f?7ida@87uPf#3b zlGcwZ+HXHOcZ9y(l<0qJzxeZXnzCrL+%YP)9lQ}&FwNVh~+gdBOOVfnvWm)im+=~hRsA5o$3K$OZ;d!A z2A?>E6f?grWi7h=ozK_0vpU5A_1Rn=Qoa}Ed>t)aa{Sur90jEy8*_$JTxc1HbbsKN z+iQ)_+W~OCXq+deSw-@TLUX?Er&th4*mKQ@Gbq-) zY3;FO7(5$^cairY+8W=o2+D7m>Ls5?`Yahv)d2+p9wxs7K!WfsCLw1WIV{yeQg=K7 znlbtm8o#6e8|J0feA7AoHzgJw=A;Wr_hu)jy#=dtu3GgkJSCh^3S4HOYd>e80?jqy zq%?`IZkb-MTIG-+QWpU~hccvy2_krNF+3-LqkeChNCtmN1t7h;uii=$kXBB`63Qu} zWKQUKORr54HB)bkA%6a?^~|@;ov+r;ZHt&scPZs2%)knoe9b3~hH5*{WF3z}h5V%; zdD>ygC4=#omg3?oXEbalg_w}CqzM?^pi^#|=-S5bK{OOtq)f}E0R`AOD=G@t^H z3d7X6mCx*~Drmpp_#6hz`Td@9nMahjeqBpitErG6O^$AFEpArMk*;zawzXWcT$pXh zh>1QVPWk&^`{$>*wDy1_cbv&CeM?|f;7aJ@5cxPZRq{zdkg?XGcj<{{j#`YDI1>Cd zm_E1FUn{oQl)FL}1|fr^YU!SS!?))evRt?3h+5Au_%aps+GfK4XG0q2mYVkYbIvcH z!v;iddn8Z5QQ%9u`&=GNoqpx=hpqXXDt}cve-;GU>|I#Yl_k?cZ z3}FwG;P?Kd#LA)Y$vuEaoiBLoNs)kwtG4v7nVefzgPt<jhD`yaCgGHA~?&-b@wQB?43%8gO79ROX;?FS>MbG}w zzyXKP*Q@@B_iG3Fo4n_APvLNk~0W1 zG`#bi-~Sw+cYm2Lb6v3aTKisW-Rs_Kpm?Fmj{rZ$M@|eOROo9TE%XQf0n}<0y+@l$ z@$<8fR(MM<7CDKYn2rT1iMy8Hd$Ull*{jrOY4(%m^*v&pNdDEyV7SYSt`eIYpZABeZfe_(G?`8{>dRxK4CU>m^m z0}&}BEIJ_yUwWZP?mvn;-T!wKx}q4-Gl`!ALnZ06B>N$sa##Wj5$8xzk=sX+vr~D2 zc2*0!4)5kI7V83UfZY>WL_<^6t@;04tY}v>bGK_TT6U3AqRs-#gQy&GEAlw#^8(Xy zzq@D$M#B1#tQeJ4uWBA3(_Vm@mYGBUMssxIH$5wNg|es{sAIQ`sdL*m-+Xh6P!;1v zANy*93YFiR_gXxsU5>{uL`CZh() zq)A5AD~wA7yfQL0W8Suw?mluI`<JTMgC_gHkU zJM@FYBdDNTK%aAZMT9ypeY1{I#l>}Zfe_E-<6{v+b*huC_+*lWhT1oidWnWAhs-Or zyLUWu@2lwvdaVL`d&i!r9_S2xNCZEtuo^DGTA^Z;6ZUQ8MP##wJvJv5RrU_D^V~Sy z#N10}>khuKyjkwI+DfA*FHW;|NAySBSDR+G)dg78W*5#8%(eQUXo9W9OH^3Fxw!M9 z;ezD6UxwBnrMX8}vqWF4S+BLZ1dnzVB)$|F@&bP4lj7dFJRm^K_+#u1iQq1D+Dc7}6wxK9A%G z5T?{XgfQO*5LI%=p=`ulUW0k)x$i$iPA=}l|1-9Pp6{@3GR(toZ2 zuNr;aOOe`S`p7&9-*oLFM&9axw&?AyRql_h)r8%Aa2Lr&Y%F1Op~rhMNPL`=UONbsUhp{-*i`7RV3yU0xZxRK2xkRiE=*ZmN2HdHr; zuq{I(EGo8iYad)Tg6a;vb%NWdsd&T~8G7`4MHS|#1MlvyPOM7H(fhk!!OKsMf1G%9 z1a2`qpJ34)=iE7NoPKMCaZ_GCE?Hji0kryLxI%C1ZRlzxlZ;*2=I(`8Or$lvb47`7 zvEYPmRe=xwJcQL3=hrzmMY@p@4l=zMZLOWv1sKs}e)xVtSu4yY5R?#5_&#g?pXL$i zB@V#)U8`mGw-7RbhcY+Si|=Lt;zzPV`3GA6FK)3abEc!o*%z)R1d`Av^B%iU?-0CP z#oXU5mqHbQo=p90>~tqtm%rhXvvk_@tMc5gEPK`8>k`KgF`P!W)xpm^gxcMteT0AT z{d~HOU8t*mJNAn_ODn#9*^7;-_SJ9}DxVMortLjyLVr=L6fgRdVLUf8uX+lCoQLJ( zCWl_?JnN=;$;-NV#_yX{swI*CE~MUcoBRP$DlH}Dt$7wva7qLIp3;WWc=|owRR5Ti zaQp(*JBdUQ-z{9ky3GdH>u<2;tS`8AK0#Z3U0tF5e1lXKc&CUH&w#!P$1Kss8(-zh zl^WAJH;d;*)Z>@ZK(`8CiRtbMp3_FI+bk;G7!S+apd@9*gTvhfn^TlTDsu^2x!cQdUZhUpQa zC_XBZ`l3;Za&=j8PQ(T4{?VRXfA`i3A5bQsda{yjGA1(cu7Mi=o@Xv}E%_~Cc26`^ z(zuLTw9EM8JCVtL*bt;wk7^nJ=o>!w@qP{L+cJrWyZ1(4amY}{wRF#~`l8=Gp|H04 zz_=j|?YqE(=Wszc%uA{{{wR;}jLOVPMrd}$I?}VP&No+F$$J&0*1TSx z%t9cnesTyeNK@h9KvE6QXm~zfYY7DzXwG`RpgJ{S!IAlsR0MlyuKnZoGQuk6f3T{9 zYDNj$n0s)Ygj??JBI;3U$|rdtHLQZO{ZBU<0cz-OD}4nkR38TC7nNIC|7g4mBIiF2 zYjaL&cjl|36gOfLjQu4?hKJG2A(QDT1W7-;S~Z{C{?%RZ@*5$V2fN%J$L=*2ZZl2i zVG2z&6RCrRm3Q&ax}wgi52V<`dGb!a!)N?axy#MqxX+@}sPu5lItk~JH||#F_pkiN zYNh$8{9P>go5a<(i>#wy4^+!6%jdMC^k8S>4o9U{1=Vw?_?3ejT0bgoRQ{|x86fk^ z1c@Hi>gHTn;W!LR|OevF%>JC%nl}Fg>eA-I(h839aD_=*K>9#^(t$I=R8`5=& z9LA@@&|0nIi_WrZxjTW{mB73v^QDzgYTnw5hlSZkWAWXgwb^!&2YcO)(~fyx@dch> z_2AKC_o!2{8gR&?BgwmwJk-0iCF0S?=qH#VAI~eNB-TP!2_)G^orE>PaJBOMLO$^o#n`0)#Jc8 zf{WH4>st$FG!4H3xe*~L6*7qHUlP=k_hJ=W10rD$n78~ufcwV%qJ#zw>aFn4o8D<* zsH=Btn(_U5*w{V=ynV+7IKZ$E% z2i0-fx)9YRYAmOlYd?1YG0QpwWXt-)UwjID-S>IKhIz{O5y*=Nm>FJY_s8@Z5d}mrMz|^_ip?A7_24gMF60GID=dw8Qkw7v(0wC_zo6a#)(k&H^1Fl@HUcdggUBlOD9Xe%Jr;fb2 z6ze&Jy`FIklIp<1W3dX-xzLjAr|SfaJj8fhgrr==*>*N)nO0T7X%p z_+UNMUlqtYU)c!vJPzI?!f?e2$vyD(Vh3h=zfcV(;qB_Cs@ZN!p<1J2;AP&s81Y4a zV1Y{l`R+Kuuy;>5sbYxM80V$}g8xYA3{m`k;7<>I1AN=$drDZ&E9B#>0Z@1z%1=D! z`)$ep>6@;G!e0dfAInR##D=f#I-emQ{>*OS_C+9)dg$yiox3>Y?Nd4C;xhw8@85z(XLm|JosL2hMp zY4aKyHY$Np@62*87X2gFOV<;)&f%Yc<=9e<~Ne*b}VHEeuS8oMPwS4_q+_ruejc84SNB_gUWbV zFz!oD-52UvSumaeIgXapy^pRfD#F}qXMX?SY7XTMO5SlRMyrh)gKPy(ElqcKlV9HG z^sPVO(tpMGQ|ApJx!Gj6B!g}#;g(~jcUQiQ|BRk`di{fvzVe8>5Wyl}C z=)G!`A$PvujIdgddrzZF1C_h4dfjz^f8Lb*NHcNTX>Q?z-`M#sIrjeY{f{mHzE)tj zj(Q%)!gR_c{`dlP{3Z38AqqD`rO|-!NK@c9wC&qC4K=HreqBKa+pfjJPyx*W4r@=8hjV!dcNPg3zB^HGSKHeay$1h_i#M-Fj$)H zFxpWB*0b62Fn5qeMrI#A5`oDkEBdnBo4A#w{b?5YNsrsy-mLZpZv`IZ z&aA8!E?Wb06j);<+hp7AOq%bz*D}_ToYnb^WPg|c0mVfM@}n-B(Y7 zz8gy$OV?uJfV3{}2O*8)Y1|6YE)I0`(-DTp0A22B$wJ`$$vvkua>zi!9uX9$WRz7Q z@Rp?T>*NkNKC7eTcp5uu%4f(kw~hLe8cGLxI(K2G6PtY`)g)68qRo8>1XF^?aMLEA z74=mQ!R&70aquWBrRB=>g_h2mO>pVkrOwIv!Mx0v_zMEwX=@s=0RipfDSEg9^bX{V z68760<*r(fy_YJiSfW%jz0$oK@zdr`riBBcx=@WlJ!9>h&${+5fvp&NpHL#1i5fKN z*O^lej_kbc_&Dbm<*!_nIx8ZT*S!jv#`kaY{LSDL+{6MNT@8tb9pU zfpI>@`dJ9QI*Pwm$#VYV=WUWgDo;o2M93!~N1PoYnC8}clCM6!C8M0KIG7jNJmsC# zZ1w(#Ud3>c(q}5`F#m zonI@1k7_g&9Z4=+*V`tHq&*)N!(AColhg2>o-`5WV=1DQv$tpc9IU>Xo0++qDu1|r zTEaKa`OfX!wVmXdDc~O zb?5Em<)PkUd=sXM%k+_2AOu>md_TfJCoopA&xIpg+zP`ez?LRB+8tSmYKfbiS@ogU zG=1R2E4<7gm5owm_a|{4(#~-bvtHRL-apppFHH>04kL0QgtkoSAY+$;v$;Jd@Iaxdfel1z zH)H+r2bCJCP@fB%R-%fC!dUvqSoWBg=@=PkwH86mEl2)&^EhgyM=HnUIEuvN{n2L3 zI(t_epmp0r^9J)o`c5Y?VKe?vO1OtCTLz{2tko~1?XvYvE{7YA8y#F|u=OGK^zhyL zj9ni-cd3kUArKfDkGpXhH}|!PsDPe->!ykX4aTgqbL{mA@nS4o51lUjzGUAanSJQ{ z&Lt@vO_r@?Xx9EyHFe59Qp5b^RgG!p6RSI3S@SLsdUUGxq01V@aaV|Hm&aj=w2@km z%iiaC6kh@4rLdQoL>>A$my>JIIjXm$4qJ>Ffz*-~noww0`s5)|2gp*T8Rqxv!^bHr_*h? z)%{T~cig_rE|6#Z`a~1!q`5DtUAM=E^TzdLJ>=Mo7Qf(jdWZ22l0?AC4>mBuQSHQ@ z`T(4+i{np^K-*$TsNa%xm`FaI|8_yX;!pMQj9e~it3dFiTcba>m2TxSROBT1tRdI> zv3k!qy8&-VzW{|q7X^I8&l`v_#49MmH zcTB$^-WKxxRTc~3OsIcAXO33=!5J8B5J$a9YMjB~VYaJVwoIUd;Zj|;&g~AgVB`EO zu)AgB6N^#O(wBP?GLExuhD(7wBmNqBJI|#aTQ)Z-H||19{)FDLu;s0h=^)9&FdOhq zxCjO#=6x<{$OICrgD+C8)agN_0G`E>ldeZagXW?cI$!^3dwvp2Q#4F=+C;6qZvII{ z`1QLKAM0SLK6xL74FCo>W6H3RbGbOIGxmQ=$!I!GJj)>M!?D?Ad~C?##ID~S!e|DK zSnd@r1yzE9Rh{FhB=uA~gD&-T2iG9fDu%IoD|*P1kYD2k zxyrQViplMo^}{03-HJ%aynpB+hF;L^i3we_1E2guo=BRHSx~%&_tof5 z%vD_+$`qDUQSA>^kE?q>yM;gc8{^3AU(y0tW?c`z9K%c=p&f-N7q_ekV&9yv`)ikL zF`DGDhII4aFG%i+`RT4eYToG<{!E-#CQgW|{E;&dNyZYSeFH>tJP@);Ue>c}45ltp zI4@1^2MFB^nL0X>@bd<^qBL$0~@GaR3W}WoakB}3L7P9{6_1BR*$R53)^GcX6V2wWL<0Webz)!Q8bzE#jjUuX`% zPI}!^9rUf(lgWc#H{@g);m6|<<6!PJ`R-fZ)%Wl-YQq0Z9?Ca3skEovv;ODEu}V2V zN5r!jdMs~x&*Mosx-Qd~PfA`-Pu;FItD3wMrCvR|Tm0>hcTcaKw7c>Sd?L$fOxY%B%@EPmdugo%(<(1y@nGV?`L zd{p~Ik1mFDi6ILXHmbo7Zz|X&b!oYuCyj_+05Afi=guXxga#zXWF3TP5ABHx`%gkK z@&_)DUlL%Kua7400xp~~fZXHPX^wbzqX*}EPGV)wEgCJFBT23}xYSgaFQF!27D4oe zycrjp0GlBQHE9K>ZLki54K>dd2mIJ8TUta(8px4O#N=g79_VjjswXC#4aPm-l7Uqf!-KU;*dGaal@5we1VG-_ZpSsQeG)IkK7V}9i*U8bOMT8=~9fSG` zT;aW0qLTw1lr5zoerz*MxE241zVQHbW)xH?Td2I=w(mMzMP@PcWh1=eWwC7X@duY} z=%S6S%lajR@or`I!Foz4&EY@b(7XLvUr&sZjO=l#m?Re50m}Vce{r&*u8@V0xaAdz zn|;6yaiPkTi=Z9Dpesf&cmf^Q(L@HugYe>GM`;>TIgc*CuXWb_Mh)nB~}FQzVZCABH+eS z_~-ytsWKl0dUdg~&m#7N)$T8_T1zfE_~Nz~CSGCbx~%<*QRYD)zRh{EGP6%!f43M@ z$VnK)0E-w&$ua+39zhg*pUH*Y^wDM2y=(3YHPoLI2&p>?Md9{`OQ9;9(`6VzX?(6+VcFErPbJ`T$ zk!5oqi)ddm4qOqO+_}27JJZ*bOuTB3t@G zm}m4z4wFH|FqvPzrPQm3t~_{a{CJ_~@J&YOZ79sRmrZwAOI}{wSQy-l&4mUbGFE5N z`2_49JN%+27DBeQ;41v8M;nL0cI+!Q7Z!x1t84#)|2jb;$L6N>{3RQk?2ii7Fd0Bg z$yB@@NZtCqHRVb6g*G)tEeq&%U`~EcwG2Wp6=&)GD|Rl)DteWAXz5l3G6iwBIjA^F@-*-eSW(vWEvRlzus`K$uSpLux(@}QaIIoyID+fA4QBvd-pS?Z_ z5;tT;wH|l(ln#Tm<6+GVj|u$s-(2h)_x2sAZCkzg5%vzvmQP8f@C~f(ed1{pXRdFr zGu+X+oo1tN2(QKvCwYK2=8P)-hZQhetHe4ME-LcQv&3Arguc5nbfuX(;Lxno^DaGR zQQYn^y$62rhghW;d*X3poGu*w&-X{!`7DikrM2r$VIm-W0mf&T&V~GoowFHlONaZN z43wP3;0s{Ya1j8G*05WNV2ls_Pn@o7(gQKyeovEGM=s{-g|31{!mgLWxy`nS7su>h z>uU{&f-u_fE@!%0O4G*5lZCj`u%*I+R~3fAwn{~m|@v!CXV#RN#4YV=)dK(F+QHvzg%-2uvl zG$syRp;-B66SPhmzcz!AvH}($x&SECt?_WccS8_s5t_uVx?w}Xx z+KU8s@;+SZg^~KGuN0x;CRaKUVPbd)lm+CV#V1|GB#YW`&Ds zQ5eugb!j;3d7ibgJ(lj+;*^20K#oqMnv-9uRk;23tbXntlsAm}TkjZ>-J$l_(Q+Mb zfyz7%?J?g_zRIv7Bdg%;YwS->dScQ~)S=uJ~xLU&M zJWIpc2R_eEY{avfdbtoTu@@d#HrL4Z7jc+}SZmpT6wd|yXz>2YKulS(0Y>o;#wd-$ z@=B5Ah75jpv5~W;JHU}y#Ml#+mlx18blS@)sb%D)k$=P{S}QbkQi)P1(Yow>*=lm} z>}k_jb>wmks=RfYGcF{6Dni#EGxGcb_+=eu%b{0>!vv&_%bZ_*nZ~x11wa{b=Z0Sa zhc!xekGT(X<^ipM&M+BfP;+)<%(5bzYj$$ADd8<0lQE6Ro$33SUGHFwLf1@9mRL3q z)^t)HOg|G&+ijZfuf&3HN6t;D^*;uw^3wh$%E+-qD}uHTb6EoDu`mV;2Fx*33K2KQ6hgrrdV>D?pn64)68y`c*??f1}y>;0)} zH@lL9s)Cs*L~|yxF@Ey`dKAiVYrJ{hXsf`?2&*(1_nKYDl7f41gF4e*GJB{6wMqO_ zCexTg2Q7zTNH%88M3&Pq14LEtQWGY$s?bCn`7gM%#}IdCN9CWLD2jxPE_yX-G>OK1 z=ZRhcYGUC+cdb6xtz%*9;Q$H{^K038#6)$^;>I{$ml2H+o{~W%L?n0d&jLbPLvIFG z04O#lZeguanVnrh-n!-aG!1J2f1%|{v0wzx$R+%)SZqTv*4w6C;o zcuZ>w3PYhcVXKm^R@CId^4DODW~21W9I%I2O+pO?Og=Y zNFc3heXN3dx0&`!(c5k~?@S;{IGalV93T8T?Wta0HxTr_py5%$u)@a}}nj z*8%+#&wnQ)Xu*ZN8x{4a4NoGBEW?1l#=iGisA^-Tqu;m4e`mc^M?aOmYJOFzTG8$$ z+b^GQLR{vb?uy(CYlDunR%+IgV)71KzyCv4JweQ&ZqAi1Ghqn!BH=A}VT1)GQCRw9 ziZf2S7SplG{&}XN(Bl-A5$Q(Va3EMDY|KsvI@@#pyTK+Ci%XY`WB&xRhUHut*#GC( z1xBi`L2m=iWgwKpYa?3YGlD=hyfcgd_xKf1&*p2@g9Ke0>al`{pn=RCFF0d%$YCng zRjw1jH-DebO^vo$RZ$o_{)pkwD&_^1$}@gPv|ULbr48S|r9+DF7xKxx$w0o1jS7hx ziHC7#I+?AmhmO33;Iud=F@MXZgP~L!H9Vrt&v4(c3gx>z1*WNK+^Q2;ZK+f{zU~ua)%KK3WTgNXaZEhj_!I zM2?T~xOda7xMQ_q`ud9NFO=`o@SOcAnRJ9-v3##VuJ|{E6ehbdCGUPL9F|`oO;Tnm zaQ=4Xw_6*I0lG>k4T@4?aH8=5K=`3sn19-XRUahITZgsuo z15c_OZH9MZ|1wpO|CXoU5B^D8$8ag`_99U$jR*cT?`wPiuXQx)S={j7mm2vMT*jD% z=w?(9T|2}G*H*>?CtmQ(dvhkH&*Vksg-yv-mTQJk#xSA%sfv!JrG}3dyjyb72jrN8 zjLD|y8e@(>in-`-`0BXxN_@Dkbj$U_Y+brtum%eb2Q9TaDYL5SAy$N(I2;)NTuE>e zL34NfU!2;`#s1}0=dHVV9p$W%R*U&FiT@*o|yGghaACOyjafYW==f@Qd zC#A@c9BD9C1{7{Dcc?P70F+bCoPEpHHqU6GlquwUZVZx~q4!6?cmM-!a7)knU%w<9 z5ev@Zg?qx`ZI$zH>$H{=evseP)3{CqPObW^QA+TvlG#R5qD<^D{;0x26q*R?n>fRZ zTn8Gw5m%O{AG>mP}p88Gd6Y`C~pPddk;-NcTd3XRka<7P?rKz<5GfjEL2KV zsorBPVs`NcAN^j1DK^vv#*ud1vN9dfiKtWCvoHCC5W`XFl(&JMiS<{3jW(+n8=~Jb zZm~zLuWb(Ret;a7kD-;|wS6lTG6tR1ZS||+X1Hu){&yanrg}5yNpD?b89xKNp%8=`J?HJ2|FNP>H%B9Qgl007MYS*aZ!e zC9V5|Vqegp4iD-H_7~*v`=FMw8+HLBmxU}%AwwSsnY{24@5{(DVwzgHntGzO z+TF z^_7oa4dpO5X120ImhzbgZ_+;M@*}GAdH>}^Vvq8`blMUW0_LvF!t*QEV!&rpZ0qVD%l9qKRqdmlmi;KM?Z0@ z)EV{OhO!>NAgJa=yHD4O(=PND(`A#r@#lw!dl|ALaq_qhZzj=rlo|J=>U??K-dyX? z5wKk#C9M=NKeC=k&Qc<-zlYl+jN^uz_^}Bm^)VolPiD@%bG&;r{z4V&)VV?r3bL^Y z+vJ2KL(VFudR?Rdjy}zPJ*Y2*oo@8^V%MlL+7?o!XrvNthET&DC>qkT7P>U=`P>w) zJ=sr^pYWwh&-*+-eojE0j+=_}zx`&0PTD(oC&%MWSb2c=SbiI2Lmc9{4s z7?W&G6B>j|_H>_p(ojD;5{nMct^=waylbA&_}h#QZ^F zXmiG21=M%F2PjZ0wbyEDdKag4XDeO!=qIzdi1qWCNoibT*`CTI<$Ig(xkpTX`3SND z^7pMr`sV^)3WD_JC#7XV82n-f>zkE&h=>e1C|fOW=FW&h(tNLR{Tc*uu;Rgzj{4Sw zX9e3a>J<|Ra%VK3-(9BFhep7V&fzSIQ@Xdl8}$a~%-A1jZ_C@<+&6=u2Z#2?^zy;|N3--C!Rq4N zury99*);W(mg)6Q)@7pR;gvb?J0PE=dlD%w7lvnIAAkjNRvU+r!DChcq1yrvnKO5_ zZqO?$QSr2-m(t0R(IE5XHbk!bRWyi`5%n0FX7mcGVNyHnRKNXH{^j^Xf^bFo_l$De zj>^?P^-Qym7y}95#L?K?g!|jYv9V44MBw-RG{Z!R$d{z<22nGUpSNHD_iYBLc5utk^Y)W#yRyatov<9Vve~Fo5q3e(8l*2$ z)=-!Wh(yF;I0gi7W&p-bnw#c4|6N*?dHcv2OK8!W?KVo`xIwrxw%2>9i|Wjg8=0H_0V2Jh{v=O^LxK zcr*y=Lpx-AousXi&eaBFKF3?fW+-_pq>ZYMr0<*egVSzxdB>Bq8xEq#9Fk|Ap>o1u zG@1ckIx9G&$Zg~F^c6a)n;S(UKGm&^PQ|l-;DO=Uu~s2wlRs_ZbEX6~JRFTji?OuO;oNXo}ill;8V@wU5`~;v#(X5cAR~L=p zQ{QGAUXL>8JtK%f@hv$Tv&g6ZpNW3)qA_C4qYZH9v5;kzwOcM!gE=U8KJUL}ZmLcL zPk<4imQv`|Q6qL6b8zm$)@)V4MmLyx)*b~;f$)42rz8tpnCJ?~xUhnlkp<%y-pC%? zApGOSs!{Fi6Uw#Ss9;H7)7qP2F`LdW6iW@<`pH9q$s#3^yYxJG78+LIK!9eUx#}90 zYH~Bz35TNNb-=3Y{9dPCvd&g$(B_xmm7Yjscz{!AGffK3;$e`BZ&GR?RjhiSVS)k0 zGa}JjVw;42$6FQlQ+aEuvy|F-v>Ky&!~vTGPt|v)C%-~8<>gC0u@NesU`5XaMwNfl z7Q%TAQK$J6C)c}6a0WaiIbwVX2`%{N!W9O!Fz?Gv_wXWbKFw;x z^)B@$EXY{lO`#@|c^T@B7$!VPBv;%7O@HT47loUv<5Fh}TH7V`iB0Jr(Wv*I9ZoKZ zr6lIBiIkpq?36C$*>ZWNMV)QJ2KgUSMKxNn-z;7|Cx14C>eekrB1+M;%0-3s{w%Mf znhF11UXsCayr{_DH#E5fndvXHuEqKtY8{8YfdV(LQS49%ah0M4$G+3j-h^tHqmdX3 z^H5-E_gxhrWUO zQb(NIW$h@Iz92@iz!|Ng`D6$D2$uWK;f)0@oj;kr6XC^oyoZyn8|Y@#NscX#Z>^zE zg_M=X5>;aT9IJ((a_sDmAzyR^{}ypl|0Xi?ydKTz+Srj0LRS%ICFo95XN&ZCtToZ$8eFd!;u4JJDauQxXAiw(gmZ~Y22a$ak06UeJk&0StM;s7PIsIC z(^UnW|eAh8`Y*I5M{EpYA&0 zaQ}8j$&wzmzjvRt^qdWq^Z3j!SU#uHJ(dw_Cp7=Tj?;K9b6kY}RK@-$}w8m`1XJlN2S=f~d>8#!K8b=QrdpCUc)dvMHc zR9dSEJL`~svf){R;o^wGOG&mJ2%AOV%a(NtZpaIBQA$nGwtb8qYWC07?!H`Rn-KrO zce)6lHU`3_Ejrn{y^3arGnoh6*n|M zdv4Xzgj!Flred`c1v=B7tuo89>nMeuI9!{!_j5Z0gtSn3^eSBa+zZhE^-ydk55SmW zwA<(U7Y8x?OOWP`{Ck9e<_yche?Il_wUwiC$Zq)}nPpF9E9D&X5XIx+=HF_`3Dk#Zu z*`P(UJ=TpZK@uk&rJwO~!ssc`&|dk}A^e5UzHxq>MJ#mDe0Z3ul@E#=%2hxuFhy)hrz z7mc!@C3?4UEV;|t=*NfN16DR)eBeDXM&d^Q%6$ZyyYeNe$;A96FFOVTW!wh$gpsf| zc+1*a0H;8$X)hYZhZ+;siyYg*XfU!!h zV^?puw3S~r|2gUWLgvM<8Gom%XsVgU^zRm5hCUwzgTvb^(^~>2|K2=#YkYi~55q^c z;32#g&TQDwW_&ow6LD{iv8mb*C>Z((6l~ArgX({qwZSM@0Jy4^mXCgJ>g2?|xst%! zQmU-Zdy5b4jmCqr9F>pI1!g63hw5r#N?bGeP;5*FHP_jX~gzFua*+ zDt=g708HFzHIS4!`pTLpen`*l&?&m^WwzB9(1zIoKebodDkHBM{ln;OyN;FZ8=gZs@8DVcazDYxf_dI^iLyA6(nMuYi%Ukn>7rLY3A zsVS3xayK~V+wJ@X;C8|ZPisdfJ@3JX(X&pKlh4mR<}IuF*&NmO;VS1F1%rPij7u7} z3qOk{4{S-&m$9F2Aq?$9rE1n>3_VGb64FkdRG!X>wmdv8EtIqR-I{*2fBWQ5K4_lt zxBuSh&n<@%cD1GHnXA8b2C9p@gTO@1OBk`L6Q!Tmhxy~d3#F(-zJ93HS5v^~mzUoz zAMKAq0b9werB?!XUUhqbMN4AY%;%;`EDCu$u-x|8gO#*%DJiGx0p-o6X{Y1(kS86bNz>B-jY)Z zsL>3t%{@Dhg4`$!`h!K`{%a@i<*9gb364A=QZz%Shc^LRBD^x(hWxFag1b+4PH=P5 zxxFUI*^>g+Ea3GxwtVw)-w8{E2?pJsYv}8LP&~oTRfENOvTKNiP#zS(7Sb%vdN!YIo3V@d|Ym#&{3UO#h=o*^~KmTf6>38 z1(vLJ#ZN?MXr*@9jpJBX>ZKr6>Z1_$qPhU)4h?x**=d$AceQ~UpmX^1`GctVVCw+Hes!|Kd`ojBz!5!iszp;9MoTGcv z6Euc#XLha7MCVYQFNM;ks-_RVnrg+c{RBg+V1CI&XWdKNCY)FDbT}@DhBmw$Cv&AF zP{JZRHxmsy2QI~3FaGTb8Xj*8cgrmXUw;y#9V#NzybFYsb1?r9yw0)vu;-OcyRo?Y z1gvT#$?FlsWpT%iDJ-ZyR#cTIg&QQDSHf4>lqVOns~=XTm0KX%xEMI4hQ0ZRga2n_ z94wKX@7Z#LrSd*-j5;IW0~Ydx4hvT4y~)84BLsbcCe`iP;Z&{@oBEw!+^|$v)zZ}s zo7t)^1e?maj|P>G^^}>fcUZ<%K3v+K7CaH9$TLg0EWe;A4W)XoMo1B^J^N){Mgj*_ zhb(HHcp&lg|oYvi}L zJ;9d!QS`5d^d~mYb>9cc7-2E6fl`rxWI!?+PFV21W44^iS-7b=8k1LZ)qV?zo%hUX zePQH~*$9#WI1CTef>)YYr#082r?>c-Ce4|VwOFMfo0wPI7rFXoGIaS5QLXTdQe@j{ zF?HU|7-CK81S@_Qrc68s3l?Q)ZO~ifVDkvz<rbLFk8BN0*KAMYVo_Ho8k5H{LorzucdCl9b&b z^F0UIonbRJ%zfRTqVvxA$r_)dCfD%^zlK>z)PbD)(QDO9cbcz*)D~N!|EU(e-eTCR zPX9K>ffB{@%iDwbl2_Ko`NE0}x!&v)B+j*q?>>Ysy`*{w_WpK%ck&W~gz|R{|xj{WRK*xn$~HF=4j5o#hey39NYW9UrD8@=u$Vr(h4YmoSIs z-|bQ8B>tLNNc_jNvUNW(O7-PN21I7fH(Y&v+c~Mmy&Z1?j`yWZybQ?wNt#(f_)I!4 zxH9*v3H?M#e$T>4CEvE|#O{voe@NhGojkqlAyeaq7&Z8;KXSat7jE@63uRjFyy$xq z_~6mha$nWHV*~L=wWHE&zSzs86HGv6Z3s&#s_#y{9$x?3f=s9gpX;P;dNqsjJ{9c^ zL?Zxe_Hjpq-5Y*UNh;Tcn$?bSSU6D{#^K2l#c`G0Qxp*`$)<;%QIag-9p-InjR9(u zUQ1nnJ%HhM2=~c znmG+Yx8$)%5X5k41YH3SXm{0!SxYbRzdiG1TIz8U?Us5)YyI?`We+Wboa16bv()yc zPeTGSdOgaC%QOxvx_=5ou^Jg@jwtwj^T|1*0H;U9B3sF5pOzR)wA&&s5&v?rxKznd z!i;;XjB5AuC<{yTke<;^$3@rgbZ40THNwOf`1MD8een!$>{o5#i)zlzsHEksBl_UQ zYO`K8Q@CncFqqhUsHdQ7FL=)IE^5x9tG<#mz}>f9AJXb7s3YAZKWi}YlXk!^*Db(T zZ$DIKt7%zA5^i>KGr43-#g#0k8HW_>2C@f*od`v{4&sRpRqmd*5tWW_9r=5%z9_cT z0USVH(z5%#f2Ol&4!@+O`M_qBy|O~-zvplH@Z0S;E``x=s~5+|wy&Y{B=t=Q!vbUQ z?p?1av{Tc4&sZOCh~3w?u}WCdC+lTb4~j|Kaztr1YNy*4r<>efjchT%l8!>@%aE_z z#0P$Q-TnW4g;w&phX*K}fnn$}{8$~MoiK9*+a&8q%@NrFXJCLY!f9RkOM)kdcQcd8 z!543Spvc6$yJR2l2V0@ zW$DhKmru+L6dpeG%XWlqLG$@Mg0i~xpjZ=W3aJrNy+Wsssr@1ggiNs{Pm zSTUwYv7DRqeX?=B{(6qwp_+_uiq3J9Idw-i=E40c?h38`@ZDO^mR$P_pEx#JRjR6+L}ETE5P807g2L26r>w=@Sz*(<-kU-&)mc4onpsbw|RGXDYcKVn_-xyFVf z#wVTKTZSvBW!sbh+ZVE|6R$TlOE2(iRRaHLK^nkl`UA6S)~5)}aSCdq+&hP;b`u*B zNguP+%)YgZ&?D2Zz>{_%!-cz-om+2L!LQh)4NWI*K17uo0IX_~_hhz?Z^EVm%$AUg zcP7-pN<=Gf=DKI!uw7mNcmDkS(zl1CXLyx+$j?1)*OnKl1(N+}Tl*NqDN|3J2T6Tu z6rh4ui~IEM^oL0XxZ0GXDzt!8XAiD}H^eYPN>VVMB6C z0AtN?j$fB2R1)Iv_K7u;FmpJ9e_kI0%W<~g)cp~JT>~B$GZ>aiDyj4Hx1WKTCSP&c z!d$9nIBeWVGJUTyEXMyOL(m)Iu8#?5UG9GCGy`?*X)jr4rW-=G9AsaWM)yattDZf* zJn|eJ!GCz7N@`U>pfEhG0CL_)16%%)u^pk9ZT^i7!KE+ zdvN?%yMyU2wav*a%#Z@Iz=9v-rbURwkIiR~;D)kbzV|^09ed4B&YYhR7{`wea=3Kn zdCu~&>~*Jct9%c9GnT~1IcmFe>efTL_QgI$p=qAO)aQM&9|m2Z4}ehYRlu$0mzcqO zKA7{7^~imJ-v39{TZc6rcK_pq64H{A5`xm*p&+58(jB82Egb`e(Irw+q6kQL!w4zq z?v0QZHW)Bq#BV;|>v=x@-hVK5UAuPe{l3qA&g;C+d7b;Ae6GU#_f`REu1W{twDlM` z!MS{U#L37LTi=jNl;?p(S|=C_^pD>A6w0=VWth3F|C%)ZhP@_eF-c;jGXqmvTLZMM zT%FCc7(%Qywmd*^9_r!Ig@OWe{@hzTIFIFG5a>+$0|^h}jfK=j4;w>1*5c0AwfuA>~Z z;K3Xp2~3>0+*66T#(KawJ^Xe1K(Gx9q9DywBBTe?j z)Rb zHFLpTR{6~*$9s)+fTT;&(!TQ|kl&jtztY%p+1UU9;M2k~OADpkkh$}5569Va^A4!tz-1vcm~F%GWc>%;b^piSs$uBFr^3+Y7rLAk zuhqI0H#}zpM_Vqeb+tPkh!qfdcOEf!)-%+H&l2S^LwvvmOB7JF8YhDl@qZL4mDN`3 zbVKxh)s1uhcV_NJ?nL&Hd(TW*WP;^}O4)svo>vz41nks+#fBR@zh5U`KKEIzAY0B2 zpr^_)C_)N;WMssJqb@T~>J!t|v@?s7f&_D?6N5KYBpEr}&Q=)12cGoK$_w^}anr@t ztIQdi-9Mc!v3;T{VXRhlc`RuCat0Mjj_ zu3ASi+&k8Xh>-MBy2ku+CPTsy4H|n;M0Lk)JULCUXa`Jv!ME;QuH3}BL^s2r(#zgsG z_O4b_35?ykOYL>9lQ4i8iPt+E934NH`}Z$1-?OOqL$N^ow6yogRLgu0a`GF!Rqq2z zq*dMZqATS>-W-~K)A#d}tAPMXdVg>7_-XG_v8};!@!!fE&-;sanchgAjS6*%Hgy*d@)t4i*vIs1M+@*!#`! z?`a)fqh(DnkD%b{)x5qPAXWSmZmV+a9Z$evkAs1hfWlKnCO|23WA3mrOqs{=+u)K1HO>QCCVF|56i9pZ1Z~`9y{=$i6gOjxWDl=ot*R=@sLuO z_W6oE;QM=?nFkbOvmXb~s2<8Yw8oa*7|E95mK9kYzw*Kwcc%`iFLoOUw27CQvm?~D zI3KN&nF`XlUQL->Uxz(<`ecr?h~_<^RC(*ODb~R7rotqLL-`Yq&)lCxiC2hLNUkY8 z$XI7QIdu8p?1yAY^@)tuVaM2O=)HY8RnFkQ6E;;ID8 zTM88N0643jjm#r0UlzgHTh^jCliWn>3W4!(W4!dDrYBtw)`)u|DGkU=Z}>Ix8N@p5 zIc*DC=fy^qxP}tB*c7{V{RjqBlgB4akV1L5@-HPD8QAU_%lv>yMj=*LXbBf1G1^&G zPR}O^fUI`rDhH$wegWv0;yjz{-rBSQwv6OX3o1iZ4n>)35c=frV2>tpd-Z zUM^I+t=dv>K6(7a^6no#4TbY=J9^Hv* z-<%P-+eI!?wpT6a6bP2X9z5T=cl#AvZJf`aOo`zSnZRA0T$c;F$=o};>I$`VwBa4R zQO=^i(kuukR5M#bP+_Kk{_h&9(0a7XDxBpZ++@XO%57BMozO2x13!iaQ(h}jJ-9u( zyFOe#3Yy~Kp>8{JA~Oy93)_fETY4Q>G`)8nN-o6~DLLDXC7&($LpiE6wNENcTe^;d z*9cJ)U@|?-k(;El?r_*`E76MMp_o5^-D;mQG$0$?TZ=57vchQRx)d!>dBWwk(uhvP zb;!b4ERJ`QD7o!NN^V^lT>3LT3U(HA-iX~Lb+jdY+-yC#zUypq4pjLzsg`a#VDRas zuPv_EpyF>5^2dYW&jmSZs6>-T!C0i?j0952mIOaNR=}FIWPg~WjUOsJ9TR!+{%6F` z>P4WeKhvg9VfkhQ6?>B1Ivs$~xKUMPN<;gs1ENrR^iErQ+>t|5+t4t?V&ITlAN3Bl zUs-(Antz2ur@GPKDdiO>4UQY!ix``RV41xyrOneS*_~a%c4EY+#u?Uz3#lKNMsCu~ z3j>)fOTXW0dYkqN&1^36z1wdk_kZH?1fkS5tfoXe3d*hz=wu^e%Ad!r8ZM%~!nt2O z$yn5!QGYUny9iP8;LI4v)l@_)1}SJQP2NDT=EXGyhJ~S8k*6U`58Ck-)Nd6GUu7&m zaLPo4)RSQ~@XtH6lI?GMS($>ZSHxBy=fc?+D^|UMoaT)JxVI#Gq3&|I`Aw28%j60B zk# zy7+&iWXy~V`@^+ur+?Mnq`rSZdzzhNJ4iRTesg`m&#$>5H>Wc9xs!l*Q7Y#umF}+k zLsa}aOM-~DRIhixziKYFANOLkr$GNQ=)CGvzXJ~eg(9In5uwF*mK-mtJG}&a<Y`=KVy zS#ou|t+bOP1%Mw3KFfGmG=NE;c0)?(sF-ihiJkVL)TjU_Xq3FzbqOuY|gcX zw+Y;Ch=B%w{H7;%Zz|)-4z6&!(dbZVttf`uMwv!F~$Uz2;!}(XVb5K@JG1dF6g2+v>WS%(qT6AP)oh5vANb;)^$H52mnG zkiqkg?~Hi&PagKz8>WEY{wiaeSIOM7iKu<@Mqup-XU?=2?zGhtfZU z3XfPxB-1hN6;PsUjy+!qsuno4b=w8`Ud`m)S4P%eUf+()|Mmiq3kH+yDXS$;5P)C% zMY^sWgu&gj(j^MaL8^hC57gmIGO;5JT(UPf>pS{Q><^Lc2H;9Q zq|9D8Rc;r>mfz4)E>ldi3}6h{gmdQNVx;sVeQd}R_5TG0ij<9~ zUif4w_ZMexYO-^BxX!AqM)J8t&IA~lE_eSB?j1^4GAMW(^FgbNJ~A$Zs(W=68fGxz zdU>*q(2+(Ya?X~nUj1^|xQ!{6ywD9|#&`4IV}kg*+!O{ibzjGtoBwDY%Br8feUyK} z!$HI;6!PYe)~Fe=U@Jhhz@(vt$hE>Mi1cVR7pr`+nO{hk3wb90&M3kY3!imQ#UV+g z34TgOk+LadBapKNy(0QduH9@`KwiANn!uEmIhAUV7Vu3M(r z7R9{F=^kc_!|Od(vGs>hYDpxw5(%YM$~UsT!RBi8w&*(kMrHcXNxHC)BuJBv>VTUI zBk}Ty>}9MJ;~_|1HP%?>i#Qhf58e+6*EB$8LTLmNLLpQ0`Y9k;Z}+`GZR<0v?554qJ4LRcJ2$I9d$>dK%XT044m3cpG7Vdv zBU?T>PSKpz7D`-y=b~`~LGabghz#@US&Bkm(3;Ay8fr|ckhQmCE+|Q8yLX@;iu&5% zf)A6qy?)jXAGuw`(e)Vszh=BUCmOE`IUZCn)bQ2f3n`Nxz!G_`Pz|NKEwI1`T&xkz zak&R~2a4-$T$&M- zcS?v@seap*YNA1+S-|jS*SJOCfEehI64mKg0#XmD#kdKLz*j0&<($vG>VqoGTAgPT>~ih-VQp=~QY}mJ zfoF%>Sn&4Wb&&d`p}jj>Llop!BqgX{&*(^f`kXlmnQUP$FNbXRv*W(MJy+mv+V$iv zu;)CN)~8L3jV*u@hhW~W_p5KRylH_*z%BvWY0Y4YG`Jg+6{=SGrn^=u&NFtEV3RpC zk>M<>l`ULzAh@lV_O7D_6opFF2MUpOk)lAnK2maCj(6n@TqL^jQ%2%}KF03U>F5`0 zPo3;awUfb>!}P+$!*}FP%@=|lrk9n#UybE?G1c-C_yS71)v2>gy~n*}uTa@`4>5g; zsYgnIQf71-DWOHERAw0%banfkS&1k{NXbP)H|J>fD{WbCQ$shT(F`(=? ztu=-5$BX+eQ=53>g5U)iGUny;r39z_5j)ln?6%URtC&4ciQM3R^i_o_^mOuOy}(<5 z*jSS^Ghl$$;=| z|9WIsK)g2kX)g)y`rQWN`s7=i{7K59N5S6heUgMno}qW6Ldn3Dz?-wbR#)qTu{y*G zve?;*JC^{Y-0x9(bdlGfbPQT;<`0-}%1@|@1|$Y(v*gBPKbrcGOwzA|eQV9RepYt1 zDkI_g8&+uwAXykHOzeC2#LSVHb!JaIr>XU1tYMwAN8yyg`YS>Tg znVFM;y?N9IQaTx&oz=EHmw*WGa~3IB*`Se}vD|LlSv@-4R%tB%;O1wf_ldv1l%*pY zYy0`xG8njXsErG3xuL}~sLFfyO{P>#BPrqmt%rxLC5hGF00Qj1yKBK5Z45`gdFyR!N8b^HVBExa#g3NBFPh%_$E%#h1eZBobfp(Zg zss-`m@nK7svmOhwM{!sa3ddAf;45-lT3NHF(`g1uao^T&!>?j~m1c$!K2u|KVfq;soiNj7h{Nv5;*K=FQnX%nWy;%%cWJH*%gDB2>IO- z2H{zB23FVFdDW&{Nh7l(P|Qh9ZTu^1M|Albq+=Y%%Kd_UJ#jrPnRphC#N&bExM$K5 zm6iv$t3(pDPG4+_KT5yKD5VJ`n|traLAPQPYG252>dF zSK$}{_5nMv&15}`!1{%wo;dOPFn;Yaez@UB1Fk^a>NFL>I@%B5bd|@ye*ujeeb@`$ z__%QOk@=(=J1oQi#nJ68iFPZ!))O%%a|L_z)uK@$Ss_aCcC(IFVl|h}0|t zkE#h4>?-R6tvg>Ebk)X%FJNNEU9aX7mRgr9iME(M`iozC01x|Lr22R(Ls?u2o-!-} z(}yT{a~XZoQP)<1mo<;~p8L!-U>3XXQcgPf+L1Of9w(p4E%uQ zr+xF5^)=_M19`SCmLsp=F~*(TVEML=LAp+pst;m+R)fRayf&q;DjHHnoVME;))fVf zi2Of36+eCs8adwNfu({Ln!>l4_FlJSQe(%fWL$6wzRx>m- zR;eoXAip%{!jwxvV0~!NRe564Kjv{#NzCN?Qdr&`O7fDL64%zSov+AwmZ{_9n{Ebt z)f}5{`7$Mm4(@wZC~wF8=02tv8bTPn8h(86RdR`-db?J0)$JojWTjnV(VQhpg(n>f zZprPv6LGTpOwM1P+^MSjsSe;%Vw0K7uP_Q9SnX;HV|ms*d{69?bpRHIH3Lxzo7ZhaRJ?*SXLd{e!IQm<4<$jj>Q{=25<9n7TAs^^N&)<$oZXR?xC*5wS z7E8Y&M0EKyas0)-_T#x`9Xmw)iJ=pk8cCS0bRMgR*Iy3+d_=VJz|`NWEG<{(=q5Ns zocRVF3?_1LT{J*4kAe2i^0oGF>&gsK0Ks=fMUUwKC9?-+HEvID50P^mC@vrVYVeY9 z$5&joH5|ajzDAGsnc+p0y2Y*q>iwCxcz<5$yimVY8x_9>ZAkvlnuG))jhxR{v*i4z z_+@Ev0+rh`W(&4|O0%8+M$o?o+=v9IGIs=yYqtz7!EqLDn?LHaVMcZQ_exmQ}$++;;$tu)E=A*&^h>_P2_~qp5p1wB^NyL40|NJaJE-C z>DH+F^5x01cMqV-CMhrJ^_TPRSrD~H)r*vWpKOta@89YiPO2mQ#KO5NQ-|y^N8E-GC#A>wLRJKe+J z-i>*iDvynXzq4Y8jGY>{6LHzdKDRM6}Y!>T~!Ov@MiXW$8N*f@sA``r5ho<;r26OSCHt8r6=Vy3N?F}76sb=MrPUR z=eN~$Zu+oPij)?oKVCA?03VC(;MOD9X5aR^KyBt25JbEtt5@FO9?*?fJtwy#tCWMr z8^^uDjM3@LdIa@>lC!L|X2F@6Yo~n%;=Nz?zk4bj5ZE8)C%;$q^H}38*N=JFyIXY- zycY{<2=ESQKqbbgoVVc4LqGm?-o%2wXRddXGNCh?PqYiWS1xJANG@Nw5YO!{{GhLZG58+Vw~oVqgV(7@@NDGNn*Q3^M#s4!G29*G~W-;{qo^12hO z1yIN&$>zDDHouTP!Vj$*JryQo?e$z6?RrI@#yHGYK3v6C;mgCOPJ7N^8fNIQX}6T# z8TYQuc&0RTqQr&(5e}4mE`*|7_ckND))B9WMlSM%68qoZa}b``YUJhMW%0v`ax$w{ zEF_;ZYb3-&C|4iRe`#JvbYH)caW>2BE?5ZmhBZ0=<{3>?iiHQosA3ikjKrV|+^I9?c{xyBH z*`z_fn760TFP3tHv9^mVe2-v^R;_mbBhzPWT#>QkkF&VPuC(Recao_dd15o;>(Atz zsy$YMI#Xs^F25!m$(f3`B&21gzG{7Ts5RU3Nhl2U%F>cbdz^z54#jl3!EboGpdD=$ zLbK3SD1)R&A0J_mpJ}N+dbe`9vnL)6#Q1!a2ZHDGP;&#e?wz1QP+ zU#gP9rC-c)F$Day<>;+><8$*e@|=)pm9<*U?@2umkkSNy28+_30C~JBdwe%A`R%*7 z&f6KaCWd@266zNL=d384{Gt9h$?^35VDl`JY~1u(;U3?uj5_PQGNs7F)u`5`2Ps+z ztZ!I!@cHZo91dR}%RdK4wjnnA5(Bs34bDRPO&i@kH29UxPZm85#qj)X z=kxr~KeABE`XN@DtqBqfjwP_xn7#4%!xiKbK4^oI>#s8m#-QfBCb77abOk9PA-TzU z+VEqh3L8g6yL~Ta+#RFZ(JRIs2Je3Sdj+K1&bVY!0}8nLK|_((D@90GV&B%IYV&dv zg1zfNRh#k{SKDeR#BTFD1Qh_6gBl*HWn>`jL~6%9m1b-FnwS_`ZWb2C~Wb}0>{tXytZ$AANQXQ)R@mkWtZISu^YkzM7k2&N{_=2-1dfi=FKcB0zlru zx9YHa|{TZp@K=o-tJ*(W8=rFN`H++8~Hn6XdjzGqQH(4w%2HmOS zI~pLM5T_8HA*yFxml|81+dja+tiC0MbVwe%%Jo<6%TMaVkFGcvgqRo`n5%pRr(Bx4P`$KxB9vI>E z8}UjHYljGws2-mz>GiW}CVxuAefok5x6Zru1_-`UegbXB29+qzLv3tOrsl!WSRvB{ zBlBg5RgS3a+w^4X3({lfsT*)(5?e7XrcPW)O+5SjDxeZxWxJ`IgQ^x- zA#P`55ZDObUKLxcrd1p+2(*SSKl8FbKWzLqJ9)3ms*z({Lt4Tda)bfJ9p{6UreyAr z%OyH(U!k9j^ou(P{kW(a^CojRmje`DoN5vx+;W?O`6O-_hRDWHLwUFI{<{+pBP^He zC@l>QKzvQ^Rf<4`&8{aD8SA5T?Bin4hE9zjQ7^G^RD<{%hOq)JAR>f@Rr@=s0wF2r zJRhZV+qd~4X8isu0WSEGLQ*&DNP!SINS*75&!V|{aZo-ARqfXla=O1Pf5fNo$K{Oc z(8`h+x-OU3-;GG*7uWv>%hDKv6Th%Mg4IwKcG&-gLw^yh)CJfS<$kjw2C~QJfgEu< z6JB@$DX;(B3HFovHSn=1Z_5eX99S}Uw^+NlZsd-K6ie;wFNDjl{3cF?1$$++UMlZB zX$*gQ*eW8^a&zNdjBUjL0+_D1G4jm$8JNAxeon`8?s7sCy4djpiZwV z$nGN{r@QZlILoao>26M>w6~my7xXSKJ!O=)luCef@4;egb&Gt#oVu${OF6N+%XQYs z+PAjrB9}^2Smp~_YTQ6t=6koq7fipVjpavnXr@Z@ELDf2Fr^~bejX>iK%SFMj)FH0 zRZ=>7>3~v?@?oR_3dbfYb z5_qcFB!`W0#E6v1L3gW4WoSz|&)RK7?xF+(AoEAioJz`S z$Zf#TXlgM=6jAs26hG0|;fPoew;T^Ie!WYhr>cs{3v%|6=B%nc{+YS z`X5UOG_laGk5h|c8j)`2OuIsF4DIEM)U57OTGo%5$Egjw1#IHmbFE_Owaqf8;2bl@ zTMz6e98*H!F>_VSC)0#d`*5Lrp*6-gqG44soQbmCKWadIrvrP}Ifv6GL~~YbxN|n; zukPd=+C42llJtg%-pRba8#BdiO#HE21i@FLL(u^ciwA`u2YS~UDe< zI9wa-q(?jo`|H_+eeb}(yL{yI&c^kaW=ps5=tO3@d{-LSnOB8A|86|lFm7H4#{nB+ zd%eqq+ONz)apjnBC1qn!!KkI#cE3ZNliMAwpD@~ioRd(fb`1C(SL+-dch_xJgn|)d z&K$WxWJGDK#d&5HNp#E+a^tzxa;&RMgU;SohKQa0&1o@Njqd@@8*@)g^mhGAdBvOi zOmAkRj&9e(b$gpsT<~v0LV}$Id#LPJ|MAk#O55`sY4@;nzamy1#{cnNcJCCIN9Z=m zo=uILBi9}EVer|3Vx}Svc*?kRNPzg5*0Nu3c58KMoa$nmO9U zm5n2==Mx1(VRXl>teKhe2gN^)G(;s99KNcoxr@uvjgsAp6^Y$ch>t7RI$f+6^`~1`vN{H$H|TJo^ZVnu^rBGO9{}4DI@(kN!|-4~ox{Q;tUFc) z!{+KB#R)-e3u3dmLzVI`6NE=fg?-d|F(n<-8dLp@4 z@>!ZZo9EA8+oDJ3`+-pyR_s#~yk1?mLfS3t5M7m^TGjkL3=(6O-R0A4a+pX-$#@7) zYSPf=VnW~ACty?&Wt&esoi~?$-)wTNZjLP?6Rf}PDJwO5Q;Fu0XgUA8N|n9`5|a;6yRZ@E z(Rulc{Dih;F7$UEZR|jNIpk~ZYMQ-nmll4Ci-$}auL7SWx`L>dUsGkjmab2e><}1Z zretPunEnjrtgVw+o}WovuurO6Y)**L0M9#!=DzS&h==d>kh zAunUiaP?|!2-r>xH_U_^PAu5dIKiGy5oTZujQ7X23lN6K28Fe?Ehh83keY-FG0+GZ zQFHH+OkeQ7sSg;*uD-c&nnGd7b#VgN4|ye%M+_L}-Obc|l>Ym96+V*q^jem;i>?>b zV!uhmU!`R=0-Y`6&Lq9N1%!R}4j!2Ja`VAQ>BusNUEE%)*#j(Uw%f52-nzLRC*IoR zCZ8WGAtoiS!NmKr#KnY|ynA#vL5Jvn z-0TT=71y$|beBtjyMBeVZ2aN%0>v6~a{s}nC(qZgaGCMiR;f}HMf!_ouTKI-)(@B& zj7wztA-tY+zH@vIfs0Jcx-?mxPHm^{v3KCK=TU7e>Z+H4$!<>KOA)JN(JGK;{-%7^>CTdsYd@5alJnkjwjQE@k*Pu3#H z?P|2^6^FgjTb2RG`oelt+fwWa!SFCXjyiCNzj{RHepvykQ7D9gKbu48#QfqzOe zDHBWwzwZ|>SS3Ef0}dn_vrHKk z#;zdOLuZNgsoob#fntMB@Jp4Bu>tX1xUWS$^A4j3bVt~Xpn3KK^}f%YAFbIH6mr_> zjQaCvKC)F9gWf4ImBE{BmuVQ`$t7mY(*G_s&MK}IW!vv7$$8I@svhB!b^W&&z_Ut5 z3>op`rBEj#w~rzAQ8L9)QaiJg?Rt++3*u+^x0eTa(`M_7V4^J3km`o_)&$oLc(_7` zA0lkAf1cj9fFuNX9kbni-M&oCq77rz`$P zz4Qo=|G<~sK+OohlXL|(3O>z5bgrsO$xPfW1C8?jhI%(Sr;7(C=mcx2RT9~pgp93) zS|(L?4-}-FXViL7U6lNOcf3Fl~9k7-x+oNx(fpL6%PtZtLgM1`;HD9*D`FIDV%~Tvc5GS-~*i|Z* zey?UisVjG}zBYKADkab318%kaRomuxUU20Ut^O|JzAhUevs9)N;NNg_xGpwS$A6=F z?$I&UIZE3sVNpLhm&-on+DzWnR!|Tsd%YEz(Sf?X!NgR7j#Ezaa`k_lW?;IOt$K_< zAN-KczU)E@4nNt8Suskxd0Cj;KJZd=z2_!rvdQgC%8c z*4{bv(tYae9&iO}w6l_z^IcxxeWxgdj`7#sp5VJ@h{sM2=H|v`G_{Y6RFCJAwyg#o z|7P<1P2`2mlyq==rB*8#WlKvl_O1n32jb}KCMx)M-O0n%bODubJ{eUxF~4;iOq?yR>T#bW-bbsO(U%rQp! z;pPW&UYb`{G8IvyNz0+&*&S$FHt#84;hU+A2Z#>|4SoP0#m8!Nhs_+S{G(cp&Pi?0 zdqTG(%h}!?Kqu>WyW&t6o27G+TzQxS(IHb8$Pf{e)B-|{X6OY&kSp@e3H0kkn4>F z>o5;z1-~3tJ70GC{8^dG60|rRGE$^Z6WSa-_)Da}5R!zGB9yQGQJRJ_2(}1&s6^dc zq4ePxPEz$_^{NM%noH{%?NIAsod^0Qnp}=?WWB`#&8L1Wh|nsrB9q?$)Bo-v%Os*32fGdc&Xo3l28$grZNJ|+-*cEH=YHm<-wRwqqO6dny#5@7XQcHNR za_@Uztt};!4-wuL%Z>M_GvJ53B_3w&r2YZodGlJO!#`RA*L6ooOk(ei!WbYt3^XB9 zgvemBga^UO`8!)Q(&Klo;=IFfGU~NjHwi_K0dCR1Zrhvy>8p@HB)#jGuIKN5Ti|3e zd0xY6)k#8kWUusqyB%UU-F%^J5xI3ky5=EX=^7sWdm@3R3wx${^4qs%woj=R)rtmM_0B*fxDZ-T{QB7MR)3((x>IpORy|P7}^<@!SXjR)YRn;qD zJWu7Zeop%EFJGBm#0)Q8p-GqooPp&Y=l}B>s3(PKu6CD3Q~Qxv?xWzu;7S1Do^K`I zb%1!q`$V#r90TIOn+~q_9iB3L9;;Vl>$O028{(M`F5x2K&32#PXonHei(MC&DEyN7 z)eH%Xb0~UxkA11}pMjHV00APk8v5=ivI^^8wW#ROS;(E`Ol!A|o zQMK#Z_yiRVkWw6Yxh$nmq>Z{RGS`_L3piXv+dWfM{Q|#-H{{MWyQMb_&cDZu+4F@C zvI_HJbdl4d z|C-v;)96X;Uz<&`_r=2+M_r2Bx3bWKBANxqA~j*>=E6p_?ZxdfH`{l8A80XGMEsd$ zPUVv|ho%-LyRcRy-3b$a#A*E_W>Y^>VwTs%`VC36|7YhZiW9HMo>5><%bp;aT}1W! z-ww%;sVw7D?0Jp>Hi|sfZ`n^>=}gi+te5vc7_W`j6JGOC(TK8=FJS(1=60?jn~2!Q zZuz_|7_w1rQZ18aS$|G|3uXaD(Tq+zp(=A<_Dk*?}}H)G{z<4tmka9R(uW|g}*^b zsf(77wLk|4YU}SX|HIiAlE*FtD7_r}RPd%^qHW?*^Y3jNhgvivgs#RIdboxsV7>Jb zS0*?hBN;AU$*R%{8i2?jQ~EgY-p zlZYZ_EY8~FukMu6Pk6cRipwgD0%)g7&a(z4KB!5A7&b9fZ>$13LC&Tuu*Pz7I3z%dYrNY+Lp>p=|E$*|W@>n}J8z4g( zXmRmWJobkhIHtFCqXQn}QTWgP9en$#K(|D#-zC6OZx+YjC23uDq+*+cZAxT2f(Vix zNi<*4-?l|SE3820NZh}Wp1git8cC$jVJlv;uq~BNZ$n%#ATb_RtR}AB#6v(&;F`#a5p$+aN?!Hy z_i(8Xs9Sh0a?QIX*W8n{L(Rd}!{__S^~H=4m8Qe`F+*IS2G9R>jIli_q-0_HxP+Pg z?VJhgzm@^et8oTDOshy$b6!cT=Z` zu-hU)*bdjTJy@Q?rbkm!I2qxar6b5E8D z;6rbw_T7}l34o*hah)qw5iIx?DG57gUj^5_J3pMV5efB?OvS2o107_rFk;Q*@ZK_m zvvtJxTP?tpsjEK7EMWWMw|7W2Z5O&@Zr9J~|J)PBGjbni@)RlAGx`e?Uz_?Fu0-X+ zsEc~9f-0GQ6pP(;7vQH0{&Z>NFa^KaV>L;JT^CCF9FlwVsWg%1CBoMJiG8K?jfC7| zgzVywyqtt;2obfpLq9SVJ$i z!~Ng0_6EbW(nmMS3G=JC5ahRgqs zORQaa9r9M~<&wvwq~HtNDUo7KPvVXor}G2aBT#(jR=Js@V+58q?M1e(r$^{k&-Sk< zS0yk}1Vv3;hrMpwZ=fg(8OTta*JfwC3p)*XeGAN-|HblAfO_pcuze85-rLS}ALEzU z+$jyFx`9Tgu3APGdfhs#xgU&?p7uV&c219jFK-)s_dawqmq z)`3R9xA3Pf8@l?_L1oAvpNtG&=n!o-3>Xj`MAEWf9yS;-@0Qf z8zO-v)4KflA8Sp~(&@sSnej4E*QFWZqPlCU5K$#ynLj#L{l!UFd4f*H)Z7Ca(kK=& zm;*7DjhB=NTM&<5xNh>QoWsqoJr;hK8A#y&bvYq9PgspzP=CgU<6bw`?T>7dXPMQ2 z(42bi-{jt~gRe_!(p8jCt)4zizvIL3%m)gE1uYr*=WpJ=vo;n`I>T_O#F#uRZ{Af+ zvQvsUSUkHZtS0(2N6FZAJvG%0=#k7G5;8elTx7o@Z1$^yR_e>!Dw!O={I-jY{ZFvA z`JU)T_`j}3GC=N;z!Wz3Fc;ffI;fKE@t8zUB*Pr9OLKDL3rI^E!Onfc?B3|Qqi@MXO8yXa`DaFmm>g4IU1yHF^IhF@cU7)9?|_F!qT%hE-^cdiQt6s-0! znGPA1m}cY^wGSN>Z1-)$`pTPeR*230^hl`o+nes|>_r{w(XDqqR~|1g8Sqw1s_1(U z<^1_HQDydKV=&y_ZlNlgSJ~)x-l1vRN!k8YuX2rB9F&_XD1ZRjnCN9TQmBg;Zh7R( zuEicaFHIUOn_WcI60N2!jFB5ar0}Z2?laClfhRk z74|QzNuDYAd+iS4L9H^nFSw(YNj{al>IG4VGHVXDlS=FZHN+77aRZSUd!#AD3+j_!cy z&pnZravJTv)KEV6d{O{Vw`6>b1Y2C64@koJnU{Rws8fpdr*dz!Z+C1|(V087pqX2? z_FZxwtwH*xXlZl|?`%KN2%PwC029A-5--hPY1{V-U(>uPFgr*X+yk;fx*w-#)fKWX z3-YT|p6AauT+1Z&oFC3rHY&cf%~GZS_~*rbBM5FXt=m{B4VSlnC}B`@&Vyy@GN6r; z_~$pX$*D8Z7rtyy_oGO$*phvTVS5GXnSTbQH+ZYJ=~ymzSq|TfzECvjjXvaN=0Cr- zC)B5;=Km8xYu9T#sY>0uiLt6dKQ8m344=hn;^7g`sn_|n*SAs(G?#70nN4*1f>hxx z)WijhXo?hj>nzyJtifqs^~2!!svNn(iu znAYaAlY}+QS;?Y^&99fW11uZ<@btkkL#_XJy?v{EG{c1%OA3gJRulM4LQBudd_gk~ zI-~fy-d&#`WjXfF8m$A{2v?91P+Q<9mP9kwp_Zk_Vf1=A3^qBYZzxPlp|U)CJ<|$> zJCT69f$$$dvjNpwy&bLFNpM*K2%7u{#eV zm;ktw_p;TdL`={`C5%ZSo^!{!^3)3CTp~nyA@!2G@H+ z*Ppy9yMH#{rfCpmsdLaP(CDcyLGvsLNxDx2$cA1(9t>c%mab5WjHr zE-a&BdqzYIPGRy~%4t`_2*CH9A_iq=ZTWW52c{QUte5jZXM5ehuF{Q3#@EQC`bTL> z0?7~QR3JVv$~-bM_&vxGdMfvIRnycB{blvM|3cQxTeXQ{u^IW%ggJ83aL=Xo)6)K6 zW3`a-XDy{4F%<8yLKU<14Wy%$Y30Ib|MyUWQSLqh3K4=P0G?*&P z&5puf-}^$0Q8t*n;$cc19VJ67`F$WXEX-Yf%*QkegLd`SE(qtkVi?}FBsF+`eG7Rk zePH)q~v&j2iC)e4ZDH1i}GvYuGU-M6kt*3@3DdeLon^g*dQb6!SABd zGilfy^vBBC9VSz2x2m|^LM#_Gp$LdMg)&E2ct-f@!)&HCi`PoeHzW`ThVI0Y%{j?_NwT9M*N*m3vSJ*#16lq? z$EJmO7Y9P2%~*n8kK?T%%vII}`RKa{L+UsFmE;-W)a|N_Yt|j9PRhuh?W5BSs^HDd z2;_N1R1B+K$h2eC4D7#Nw7j-07`R`jn_w}ncPe*Vlpnc`>41MRP-5?WRv2>dkd8XI z!ZWD%O|2tkT<$r|NaaLwQZx4niD58O zx~c_Z1GVO|&Q2Y4%YS-VJbEIBp}CEB89F&yuwG3wR``SPik>KrUy$k%@JY6f&`Rbuc>X?Ls)<+d3iy})X;HpcdD&% z{MQ2?r7HnUWFvS|I7r@d27JfvbY^6Jf;)1O$XCsXC~J8@u?d5}8+@~QUsrn{6I zLKe(J?Q||~vsYQ|j;O-Y6rWCS(C}#NjwVQmn0p(tG60yRE3VrgT*NdGF`RWQx z1S4LL4Y;ihlfib_q`iU*OeLX!a>F)LsH2Hh_~^@sG^zxOUnvaDFi#E~-q$)ZX}y@K zyH3UO9w(y5GW~@g+UZRJbUe_e(Nm+xoNT>Z^MsB2bzhW)6UEF zUM7m|@_fqfDIP7*nC@$LZJ_i^2Kxi*+<^nmQPXd3p2wL3ZWSGC2XMXJ8yq`x5@7%i%rBzoMCf83cn^L${ptZ|Gc2Tz7a%K@T99*~AQFC% zY8kpE($55Ve9I4$CY2`3uv}2d<);6s)g@&Qk<2OvaO}9}$tF`i?p-e`(azkklI$!h zUSZF9u}`{pM9?M9#F;0Z%jwGpdRF@eFKT1k_Y1I|Vw*8CwUCBf4@sHE{CM zpXo9;i!>tkXrf|LDZjWiaY2nRKH%tUkMsOc%3J3PsP=A)uUGP2bWH4*cV+Z}oj?Tj z@XkFOx{&RuJmr|Tx-FWIdMyVOL6k3})90JZC*vtCw|@3eF_B57s`dK)GWl1ofo?Gd z1=_)Y8|SWGW8d)6db%~(<=0H|k3075(RX|^6}Mhob;V>HkxE&SPk#ATM=Y*%gm%qK zr?6^&p7l1zHPKSq+D8pT1Iws!mMHGIB?Tb8>1e<^QcejW5Hz0L-{GfE=|Tj3^#E3& zoe!{Udksy#yYBG5km8-PU1SNY8&hfwn*1xF* zfc}SI#C>vJU?XSTV1eGfvD)KeW8A18cl>g2qPW}d@4u`D5I!Pne3*{1#NN9wca=18 zJN57RgF3mVcS++$IL-qY`>!|QDc0A6n+@-FVS6J8in;vnlWh@UD&M`uW{^J82*`*BYh&nl8`Y(KN$9WC32Z$M2}1j}FbM2VAb=PC>5> z0{+@lytbOi&mf>ZS-<|#!q4;~kyb96@$Tbuew?kIPLEwHjab zr*9q>D$cKhty3Sz<%rJz30pcCqFgeMNOvCsndVqMoc_-wEX`!1k9;#y-OI$7nC5hf z&CF3SVOzT9wIA*qwNAqSA2xH0#{KQ8+WT7vNMd{)&%9z}I!Ih;`i#T<%kw^dscPna zU*&ulCo{I2PLDRT?#HJ+b^YgI;~OE`KaVf*wi_FYN&xS6a1Yc008lRV?du&1CJwRx zi5Qf;QJ-#%ryAPKTI(SwbSx$8Va)oc>ejbf9U{G7nHj0~eZ<+HGgQKu@!mb95s7y3bCwjbB9SnbEPgRyKOkKjm&w*_z@8u@}Z>_;PcPZpoJR-_Vb12L+XqwMfJ{pKYbnXT$pe_k2iYV}b$;j?f`A723d_pd(>H=h|S zxZ{XB+&(TFeGH>|2{lY*M@6mp8g-@O@O^NRDR1Je;z~epz13-7(^`YP+z;X!08i$>|9!zT{nF!)mryFm zrh!$CG_>my>yU%26mgoDK6s?X!24VB z-M{_tdO_{QKYagTTRgMSM>mRKU`PnX4VCYYrw6%Gnoq1j|;Qc|0F}svv4p$OK#h5d*Tu5 zS+RfH?q+etTa;~2io2OHdmVk&L+Ak>-A+8SoiuKGDH0!Q`4Qd0pkT*0>@)m!i;ErU z61k9;VrcJo=0YnMct)}QY`7sH?4j9Xt zeU4UAyTfOIq7dtL53xA+ku-@Q4IsUyA3y3x@ro40XgS-`5kN)4_D=Q#n==Vnuj{`P z6u^hn1PFt9g{4|=L;^?PVFIMw>wvc6z8WsR%VKS@sqkUc*CO;|(|XrYDT3T=^6lmO z*AqFdD$9|r*p#{HBK;tl@HABq2N+c#arjz0cOmD7BR#HvYQUVaLVWbjC%<}zjI!r4@iBWgQ8-a{}4{*YldDB;k2^#P2N~ER6uzmJuLGZ44y6BhVq5)mSqDSJa zM=5>Mk$HJ=t`*;jnKwz*M3c`;j~7LKV<+3-U2$h6&KRLRcTs6b!j7XIlFJw8?*2HJ z8)RDLT*#Nb)<)Md>6H}Hpe^n`FtWaa8mdL`24sAWp7gSI!0hIKM`AdYoSj%a`+<`f zSL4F|U%ve2M`}vlcI|#&`i2>5pM8cnF4Z_uTfQdj;0!g*IiD%c*<%>%*sN8D$mpUS z#hZ+M12P)PjjKZ*YCBNGWH-=(=pIf;MUUF9`(IyEmnaHwGk__hf0>%4Ve1}!RSC)y zGENC;#Hjyle4LSlXe4=8|7-NPf$2>wMHP->96hLhqp)b$>)F5bJYOGHWB~5gt+r+M zRKyus)m?Gx^Nl@)o~f#AlFSVq8e~5@*W`NZQmsjoCfY-8J) z`eoFwD^HaJ=z_#^1rMj{J!4Akxkt;Ntqpv+p;8p6$~hcaa5@%7XRDV5VVd4dsp5FB8K|X&SQS_c+L6H`Go(SdFS6Lg4q1AE(%1+m2 zfj+zw)I%9J!H9wP^Koa@n{bO+caIwa;@|&#B!X66?H~aph4VNO5Q&%(>|+AB;~(qR z3vmf-m|uD2A%%2-H8^Q@7eLPsO@$33k`m71U^Qzd(zXb)0$fTu`${H4(FjT_yh}>U zCm!pwZM2imO6&F{+47wl_kT>g1*~au$F8I8(-!EljFEJgBA(?wty&{OOfP%bkZT%7?Zvyr4{jO)$xpdq#iLOrc)1gJ#~+1Fdix4lKC zy#T{?F-f=+hY+5wVy&ISJ*p&1g(%ixLN+n6u0>dG4y>k=^rI6lzsC`jr-hIuq}M^g;}BjVFeuO_)JGWPT_&eX2Ku#@+v zpMJ9vKmDE{sE384Qhp;y=REpYzQ9(it)kBOsKBHJBwA*?<9f~h0LubC5AxPE5dJjR zb&Y{)SJRh|pI%o5Rq|F4rEWNY+l$xnm2YSeDjT3U`pXK}*ek2Cpoa;AEEYEResy_n z{zU9Vd5vXxoq9tJ^0KtJ2`+y7R}R10pL5Id(iK-f!a7dcG+D5*V_XGO9?5NRh=7K8 z`Z~J;8b-y2Fg%kt9qAv#@aq#EifY9t&IULW@tRrO{>t$E2S~w8kh-p=?S=%Xq26;& z!0c*ek73FDW=nxl-OqDuEB;~lLZ~5|GI9nDYX2!|0qpY6GkIpuo@!&8kn{q1se=&; zCWj`K0qU;0Ky2*vn#tns#OsGuMWc%7<*Pd@{MG^v>F!wJm?yFZG${Dd2@X1!TSi02#s*c=^L zjq#CPMn)~#vEu^+Ys*XNbx~-LHaonyX!ywSBYy1W{tEE4@5@fLrDA+z zvstCevY!z-g;twT_@5A|+dPf2QpZbXh90ozcYeDD=wXjgRG%H+MjG{2*4olMb^8te z%`?#?NhQH*lYx11C0Yq+E8{QN)lRd2meJV~rJV4t>m;YRZxt0Jp zw;;tDHsy)#6X?UOK0bd$-4^gV^-HUUV;nQr6OfaSRUih5d<9=0KZ8^w6Bb(~M811m z$b{x!F=7!D`(qCZJHL5>R<@@k?n!!Z%3wJ#f%OR0cMZ`a0T!XczpkvdM!EfYbUWEI zpW(CBlXx2@+%Yg;_ikt~o(_F-&_r`$2q?+`1b59X=Pu6BjVyQWysZ%S@2ye84c;CN zTiO!L&07_672up)W%!3^94h~ug#a<@jaFaui`w38 zTP0Vp_wmdBGCMI*id&;1H&+e+9#8#7yM|5KQ($M(K0YINo;?WdfPWN#({uKnk;}Tn1HkIg2=uAzR9%H0e&g9I zi_nSJSKC+~8q~yBY@IUT$7Y+_^M(({(34o^}6Dmj@W{SA&I%=2D!X*SJpkMj1Hl<+m> zg-%1w8p56Xzhn3=U$Bmu;FQyOo18Y60PyKR1J;R^!Fb)#^%`T8a` z$rX<=ceIdJSs3OcpI0(xG;b(Gkhx(-_;x^mU}n93c=E)?4Dfa)KyfN?uf$E90O#*N zeuI9qPc%t)4u+?BgPt!~De46=zA|+Lm9q6sXMB4h=3ii3D^xFUAJK9sGGmKB*aq^p zEm1X$8m?#}n3QkAvKdK5+b^lb&YzVq1Cta*> zBrKkKY@FZ<;NS2Q6|&hKCNP!!b!Q)Y0ul0>u({md>2CWfq2174eRk@%a-QLzr}|iH zX5Y6f5aH)CkPOq(;|DKT?hywHtu-J%=XhFx>+RGHvJtg=d100%q`Xtc9*BhGR*~ik zhafBV{BsB*4Oiq*%_*h zRJwM8b$~uC9Zj{9EB^-C?``2bScQ>}JFH-x0aV9vE~G#@As1_A!@%yU*7#^q!WzH% z9;S0yQb9bwt0Q>cI2q05x2S-m0Ag}$tAxAvYY4KrQWVZa#$Vf~FA!&hSaOv}ultQ0 z1V!|rYmd$gOt0|D0e8i+={_`~61_)!2jr9GNTd3bTydh3qVwcyBqx20ZBY68mnPzp zq5vS?`9EHc@;J8q;^7MZYai8_qbQC*#L1hm41aNEFm5J>KkYM(j1wo8_9TH1XSAKj zksykZi@nsrxWp9!oMaD^_m8d(&2V3(4>*vF31qjX*ZK&^r2Bdjzwz*!@j;;$pCR9rj=yTOMviH)RTX!*o8l zI4uW+pT;!Qm9g|xLzoV9HgB63{{SO@uZ@yH6TCkk)#ct(`qAiubWL+mwFGdPLMgA; z=>6XCb6?fj1zU_AoGa>+tbHN10PwoRPe3Ltrf?5k^ESETnTAo!7!r_uS=AX8P#mr7{+eDM3$`hnzria zZePfuLUgEJofT*KY~4eW^I_>{Plr{PWCJ>Dn+Fl{Fn@YvD7laEQrZjOV!_qpbe2Y3 zkTq}mn7w?rprc|^XItpqbB(4hc^uu#s}IJjhfOVUh>(Vrep*y|phyd2-;}r!`S+g=z21EP$HJjJ=9$Du>rJNseJe&6FpiyQc8EfrIJRCkFRK zFnKuorl*gidRIzxL@&X7KGF0H!sV&gn&2gmQSW*iOxIdWm+c9f{|VG^uiJk5|7m4A zIs8J1ai9+ONXL$}id-lKW*tbPfTf-0MLn;b%vdnE4zo=b!g+yXVP?)Zz-?sB7=_if+mRlY7l!c$wQQ2VZFtpwF-;$BA>6M%a| zlczk~Gt(-3l;Bfg>AL;?qC1Y#dGbYOGW0H)z}+c^w@8_YoD`vF_iwZk!p42y;t#g# z{!Ys#0%-R4zF4^r@!`_|axFaV=)-%&He#*|Sm)MGW{W<^GK}lY)COK0(rS-*Pm|t! zL2#>PGT|=`Gi9ms0cR`<64n_Fx`TUj@zQ?qmqGVBP+wbd404en67clC%GM05VXZS- z7r%!2<9-XfeqKz#_os&4imp;uoX)e$&~nZjVzlA7DC>X^(t~sJJ1y5Q(bfw&mb)QH z?eyYqOvKQZuSKm+c~l$%=N2PKgAF7fC$(PPBlLy@zq@gke)U_N0h|joRcaDYmvEyD zT1HkP{zR?AJx{25h(IEV*3p@teO-R=kYW+?aA)Vi(_3+<2W(}NqS)1R=rM{;u=X|}6G7&ql9`}3jCrl(yjRKR>m94n?ON$Ax4fzNWUn|n96~4(%Z#FyE0Pkc z8Y?M?!l>9}03#%&Qpn6Tn^gohs4W6831X_52&Py$jF0Q@xgtmy?)Sw+67Y-O2S0mq zv%t_AG_0UMF1+JDM!zSYelMl~rsr*et!CUwLkMC%P>lm zP|1A21s@+teimcxj#lg<$eX7kdrIyOuLvT0duI>v>KT5h#&Wp_G6(5Q(p5ZhI~bDJ zI}w@h6l-o2;IQs3k?q|Mc@c=5UkkI;Eq4So;SBA0`}wug01Ms>fZtZP4ahtQ`eS}> z;~6y^7qW*1y}cPD6t;x8g;w76P66EFI2M`(uzw@x=HZ({#V2GHwqaz^*HXI^NDT~I zm&1?-nyW%(CdCZsh?M&N?)~`73tpE`Y!cLLx~7g{=}xj zifep8j1luXLX}rk;=aUkcRl?3>CXA7w=qe#u*@zAjYS;k|IlmG#sE3x!k!Fez;n3E zp{5QqZE(N1c$T0;);PpsBYgf6(D;s$p0|(fi3(LV5~fCua^Rm;;HDsHm43YwOXS_9 zBQM5s7wN!9v%#xCz`@A+{$u$Lo+Zp&Tg}bh~)D|wY#D$mM9OaR+cGx`B$4u zcY@L)k~*7>!l&pzUQ%H=V>z)+%skhJ+9v_-1$~#rx2@qQj^l0DAE$=R<`CS=A;yVSY{E1AgVhuqpF-If$UY z3~)xU(EUP&CUS>*Y8J0Nhp2*9bk7!u;>U&;JnYu8susGwZSI~XDv%NRAKun`li&>l;Djl zUxO#1K~^TA%T%3I!}1L0jZSv27FNfOO@``aTLCgqt!c+};7k(SNvln3^u9V1)1?+v zhV`6a7JnA+f{KsQQE;t=T|wiipWuVMv(m)Z1siA+jf~lAW0V;36xk@&cHg>tegDx> zqK|!OYR`7s;rXnxT&Piy3~m73iEiP6dH)8Urg~SP_^Rox3+nQ;hvnr%*DA`{i)f?? zun;!F$WJ`NC`sI<$Gkrb!Fv6*?lz2;NmltcXV&jXgJ%`)s3vvl73EwP6deoQUlK-a zzh?rI1Q5SEAIj@}1KpNd_d0ACGQ?kR`p&#tSjma=yJjo^Mcn5ROz^;tGz-lMK(OyX z{=p89LEUx04*{> zLryF;J2$le+$l5O4yg9}qcd*YyW=^ISJ-@h-#fvZ!(jGU7f>^qHyz*Za;=z*^CtEH z`J-6O2MdZ2UhEmEd`wP|v?2G1bb|Z-u-M@_(kOg8W;Lag(yp1G0X&(hL7Nv4N_iM~ z-^FFnZ&O6$g^`R7{XtGZrSx5ibnnkGI~*x%{Ra|fqC`f}Ax5yLyx+02cxWls@6U~= z!OV6+p2>0^xYrA&Q`qKRTMlxdeTe*vTBklPEIbmMh#ipGP)pSKzv!D?4jShA!S~zW z$PtmFD!zj$Jr6)e5oeF~KIsW#bFZ-+pB?@Qi|va@?12Ux@|27Xw$?3N$xl2|`wL9MJT(^*KM z*N|#R>1de1TdN0Wh=%N!FiySeb6XPUU%PW1A8HTaguro>XMS6G$q{|v84pGEeiFdy>!{unGe0Rs|am7JA~W1J&KFAjb6{XHC;@W zcIHC))En;vXm!2o946v6sX^OU>i*%}KhPO#jB<;~BJ}Gv?Kx$t1kuR81hMz4hWT+m zxyFX}sE+<0Vt=q%#c;VdDR*56gIore)lDUQb{E@Q8iT%j8^=C%Ai${Pe`&dDt$3qa zM#&sANf@}W{$e27@vmJ2!cz%zvvO1kL>8_JHOT2Taqc~r9NJXs2;V2ZUG*g@j4Ec> z_7zA}8GQ-~qq>DLjz!bgWn*@)>snpVtMY2E_Tx}z2h3GqSIlBuT3}vExZG2q;_?KF zx{rJd=iv*K-KvPL2*G}x@vFrxu*(O@5hllGwAS2d*}~5PjtIC@|8cQV*(7nW0@hJn zCKIt-{7rQHz zgkY2L4>cz1PhXcY1cW*cK2ME~DC%1QVL=|)#pNDw&gg=ys5A^DXkB(ui+l#oPNhiz zcFiEM+}hGsc`M)uBX!W+H^;gAPsZ)*8&8zzLL(A>44hGvQiYF>Onc6!T&mV7X67oy>xM9tWL{Wqy zqxYYRu*?G|BNCC!G-0g_T?JXz`Qh*>@9wSaEGTd72tS>hG#BW)=G4A-FQP_)x(PS} zqh4=ZX}!K+0UL>uhZ-WJ{48d!(PbLMjKZuD#b8t6(iI_sWUco(;6M5vyw1U3L`8cj@Qv zgT2{Qj(fH^y1Avm_NqVzo0!HsC-^Qjd%;Ae#X%gd5*wZtE4XoP4m=(ce=OI}B zyJxzPHUO+1^Etq= zqy@!kPWI?W(V;@fN8`XiGYTq@c zJiy4>{k_V{Et2vWN-J-AKEJOrAl&ft)7E_t9KKi=g;T%Qs8q)n1iCJZxjq|DuV)+y zDPIJW@BYd5GTJD`C#&G&pLw9rNKeQ!QzCRLTY;^6R{C5+t7Ni87P=uQ*lsSs)}uRo z%{)CP;7l52X`S{ZB;NhD=kLf%uUA&hmfO=`sNT|1VL{}1UK1o}s+O80$nXoy-_4dO znA*63?3qg#Sl99&%M%%lBmv=DkE%}#oRNv#X%K+{OH;LWzmByfzVF1f1OWeyM|^`Cxc|m2f{An+ly$t&o`(rc$KgXhC9-S=A|7fub*Kq^@)2I0AB z8)jJyrF{wIV9fLbJiqCWEmK8WsAV)@KN`2+FlWBTy}C-NvvT=zU*K`K--#4|pII#) z_9XR{lP`ZCzgeT#`M>E?bOMFqU;fZ&t5si8p`;79sI;Jq zuq{GAOV(2opK!vNHz}n-ad5Sb9-GKDL*>%j79hPVV=Kci@5Q^vmo^p}Q>kT0GanuakF}Y*^Df4m1tb#el-D`@8pRDuv%Oj&G|V zvuuh0WX=eWS4zqRWEGUBu13gsgzLDCl|1HcTy8VaamGY~1X z2ureZ@2|b44hC{4A1{X*QpEtmYUc%}E#S6Z^2a+_58Y%!8;DcTW6wWNp2}A4V~tt} zpqy0oAgX;@xOrYMjqQBM1ZB-h&gCUo&`l;c7}tTlPb8H$bKQnZ63k%ycB)sp5lJXV zP6-({!kR>K9tbnEIKm7d81s->1zJmq23=UnU=Rs>m>&bOBHsZG>Znc}17Xo0=Z);LXMxYVJwYx%S`>e|RsWkS+K8&vxcvv|(F>+pvN|3jVQo_> z#H{&^G5<7~kncoqTPRmtX+bCXG?1*oXMI)@bn(bQxC3Qs$DVV*Zq4Jc>CIJxiyIV^ zVvRLzWC}GD!hdJ0N;E-YW(=N21C8us9p?fM4t0{%C|pVw2yQ|)b7reUZDv751)BzY<4HPb%dj_xmo^1~!^;)q+|smm$al zn$o^-glzX_I811g2+;ck$iqW-j96<)H%SSVyAytnlH72Y&Yxr~bwKwSKT{0>@f(B$ z0aRE&k%||adKAyhRVUbb^%O<4WMvWz8MC!Ct2DlbS{xN%*ko#*BUG!iu>-0&41+bZqv$(YMrUxp=)-kju&kFDP7&i0T>>m3_7TQgNZ`f875q@VDU1 z(ARS5*||27rjMT$SvaHx!s~Fe;K?Ghe=a4_HAFhIMT?b$s7+@CQ*UF;1L7y6Znp>4 zk!xD-WLx)Bok6sos-r?(TcXg32;KYG-IXT58FgY*Lm6pe^6;Qn?ie4st0F-&Anw+a z_k5}|J2wUrp?+Wy_7D8bVvJ=BrS+q!|0GRAiX~5n&D~Y3ZT}pf7dVoY!#Zudx>_93 zUq1nAGfbwc=H^mAGhHWuN312*KrfZ;}k zf6?Jx3z|GDY1x^gRT*?&`2W4!Ej}NpLWH8j%iHiSSjJ9fUWK38Ka%8W#cpm`Y|LL6 zuJ9JvJ*#vG!+0`me<;u)YmOC-2ho~fdc#`CW?cD9syV5i$~*;7Xh!u%#c ze_Y=q_w>!D{`m<%D)K5mq)VS@wiFh;Y3Cm8vD%Hgffi*@ECE7@SP{s@=l7@C^`o?6 z%K?=xU<71-X02D@Fjs}JG~;@+yX5=-e#KV8%}&7H0V)_;Y~bY5Ig57XbFl;R)^PW% z1w8)}|KEfd%UZe>Dp9IuA-sPqZnC~q z_bxt)?9Y4MP^@qoUWP{;tTjEjLG%n@D&Grekv={@C!B(`D&ALJrAxo9p`8QnL3^2* zqqY&$LC=<=a6$I~n#cTRU9!*f&hcg4u_~$e#^MjkW*h&+y?V247g@GR43}TAu$UWZ z-w@`x`$yaMl}Vc)^P7ph;>=>{P=RS@b6(*?@P70vJMK}QOduV-XQ3vsXNd|O4DDr$ z4P5s$sDm?cnv0E{&%NS#fb{U|wOVGb5DX;ha8H|+WxwR}56)O2;~e20*AJ9Lte{ph z)T|qohK7cpiOCJWJ(4NpNAG`G1|A3%&{>@*Af1yoeNF`mobi{$;xOfpEM&uyHChM* zNO!3u=MmgcST78Dz}u}Uo<**DavKPiQ@vZOf6Q)$Bvi{#YQ-Bm@61Q77-Q0uxNxr{qB(+qb+@{gvxWy&Ns2KjZ>R2t)av04K}gXRM#$R5_KUYgEIWWK8qFo z(O8TwN~vZ9NHZ7Y=Elt&6jU{ne4@Mcr{=kU3xDaEB&uWUSJeti{)j(qLA54wY29Z!xv$I&s*u3bjDbNfg1#@hm_S+ zK10lU(BD{pD`dTCm=I|)`Br5(zF~#Nw)04kVCY_P8p9iq)qq}M6n|(G zOLD*aiYayb=?zCb5-~#mA!VGsw~M6ymiOJ=wEYG$)YxP8&C$$`4>RdNAunFl_zQFV z!sTB?s0JhjFR$Fj=frRBs{P|febxtq`o~>=qK#hSEz$=smKphp4591<}@> z)?-yUPv}!@IA-K~zsT4X?9O00b?`MU>Qh81RlB><`QQo}CdJ%E=$CL)pycWQc%)Z# zWrF=QChZI09Mx#yhf-l4gBEa`n=aD+p-ZX*RSqOoHbrwM_7I@2jC{||4UiN0n32qA z4Qfk_3rQC-U6M*mPV^5dBnOa_2je58&smn#FgL8@5!x=ta~0b|M05?HNoi?*g0v}u zH428{Pk29n+J+2i5LZGbN2*?KHu3Z^E+sXN&qEQlzNQU_)S=8=aeF5;II>EUVnRZ+bW}qYM_-rm$QiLQ%{N;I zigD{bxnIjUoTaC30!8^^19=0MT^fw%*~%fd*KHvtfEm? z^ueMdGQAg#0ghaMVQIl&j?ql#?PjoA!Ng9bjZ+wS>x6shSsy^tCkDDrXU^<8bffG> z+c74PECgey4Bwt?Ij_8cYWVKpG2Hj-G-G1Ley3SotMTGFxT*?=YKkgPjZg$D!_R3X z$&gAyMn-BKawbI@)tlRc$o@IUNzn5f?@lgihppp0+S6g)DA`~ zy*CHn=NY)@mvLzAMufXG=z?f>4mqdu#VU*7GFkc>!v&X*?cA%6A1jo3An7cMR#dkC z?qzMI1KcsRks~VSIVj_?M}OVZjTsr)i>qZc0o0HwMQVi#3x59lB&SNC-b|94LDR}$ zMCfIOth6}43PW*TH;}{aOUt~L=@r?J9!w1kPq)K{4*_X2 zN>|b@q%JQ@`j_R0D@JEx7MN@4>z?8mPX*)`X$k+TrCVmdzo&qF40v$ky777?;gW&V zW=t}cg47DD9!tx;-7&OjD?s|PJrW3zcpB>#pKyI9F*~+C&9c>qsWZ9WI0)6wgIO;f z)}#zdpWvxly&>Vo_HMqcy3sY6KSTcVxn=lGCT%?cRJ-7~$bhMj6s3X}tbioOGx0%O z0N^CXaAsDQ)j03!*PhcS=Ijr;?66!ELNY=`ld4_Nko-E*U`SvMr+}t`Nj(3DY>j@i z)ZS^fs1<3Y{-4|cuSZ5k#Ab*)JcWm{JkHi%Qc-*i7{M9fVda(Ht`;I!JUOZ?#$yyT zEU>OPugu^KHkr6PbN#c1XE5z#=Av52mV!8@Q#P&y&{$jSAk(*eCbPKzXaZ(*21WEg zX0t>O4K;1Um87Z%Q$EF+j(o-BuTQQ+Ry=~ei-lYe)Xvl^z%_o3bzzE(S~(C5nwM>N zdXf!0yO5FZ-?A50f#zALjs;#ob|I+MecJ+)3e%?)(LsN9u^c7gj133^Wf*5|#=v0o zTX*{<`*I`B+oW5#`|5e$fPj4wtg+VQjIznE^!%kwT((Qq(NF&NxM@pNFy z3Rz%0AxrMN$I*$FE5!`h{9lg_u9x=NJxz>^-3Mr9eA_W^7OQ)_xCh1`J+e_Qxc3rI zQZ|G60)o=EK81_6(*KBpeuwF3;zZ?!8y;iruz(85TxL$x$sT@Bxi4pW3Qcp~uqWanhrp+0pAM)Au^raXoynmQ0q zSyIi@=?M``Q-?~X_)$ea`an_K?!3@7%(ZAG%Wmq@(T7h#Z)EYNYIo7=jGz>$hLX$m zPmb54MsMqk{RdJ(Gi7Z{u+zqxYrcN)*SM+a<6YTQLeLC-0DvB#Xxiicx4*_i)s`Fn z$J3SKV^ZIx!ZZc9W>Y#GH0-Y_WZ<<;lOrLzE?6CA4PM$fVq5JHN4Kc_BmG_*Z?zK1 zOx)j9V|J=z^Mqjrl7Vq2Vy31X^!GL?l!uuRW|idC8D}UN&g{GZYw&pzw@Q~><6`?+ zr9XX8zO<E!ieZV6(Tk4$0Tl zNMDfoU_CsNP;5#J6nwq>>S*LfPCX(iVt|@P3ZTkTOCNzu@7X^^Bi(}f3ity?S-+Nb z-ueOK&Bf2`be*V^~jz;BA_)|-`s zM(?AJ!>EkPu!%@zb`qyFE^h1#*9Tj5-aE%n1?2dq(2qjur)my>eXG}of$U8b1 z+eJA$(604ZZ(0Svm?`)9Ii;k`xy`%r)mENsQ&o9gprGBkb|Es&nilbB5{ABRVtTp+ z>#5E(3r`Nv0-#{tXMUPXS)s^mkXbl?eH>jI2sE!8R38iw4xIf-VACc<)+IrOC4WiC zNL*F*GvOs$Z;?K-2Oi%DhOT?kX9L?q=Yn>z(7EdZt3nGDFPxTL%OA;8zjbP z7#$KLMvSh}gAw~Ze(%M5f6pImXD@bk&L`fVe9m*vw=hSnR1o*)W;XLmnxrEpCACkq zWxtCuKmuuvEZy|8hKtJ;t_RmOy|`3nC#HzqE#wo@Qa(PvWOG^kH8BMY&Q5bjf|s{~ zPOpnV2qcfgzdUxkxotA56fRDxG>|^Qbd6YEDVdVt5~^d+Z+LYtCUa4#-$d|{N$@%C zHqWeFqvL056&Su$Ps2+I&g<&wN%=HwKOz`iJ~FYKi6NA@k)#z9$$V#GL-wTuU1TflJEdXxbSWP@feb zwm~}g9#OESI8CqX-7nkr3my(iG=)36U2g_yJnQ$1ycAj zzy@4^v9P8V3%PW6;nMKZZ%R5qKKJwqRYz2mE-N{ zA6*~sDxR1IV{)Q0*u)Knw*Z0HpaL|)Aj*wH;5p5gs0z8F<$$kO(7Cw}H7Ke& znt>QQ-NNJ5A-^GlaALhz-E9qUwQ%m+PYvF6V(;=o8ooYJZ*@!)I`EQsaQ!9bdeQX;ZAfxc z6*NH^9(kqpa7B3bx`EFw^X&0>aRqW}M;%u{a+jALPi4ng;@Wo-Scxrq_82lZ?3>)H zy7+16_MPG!9Pw%YH;{|B_p*M!-X?ooN|l`8wTByh<^FeIJ$|xx)H_V zQ5>#hWPi-%8@Irv9bNtfSFoAtvA(^|<%Tg^UUnrpJR7dUE?bV(3x^Ul&+UA+@N}~B z6YZh6IxbuqW8F$)bYT=SN$kr)aIK-qA<@whBd(02*S75hvnwpiemm5{?t9m$Q6$ohXlDR&?B7a1}&)lbiS7FVoS)8HwZe82IWCl3MK)F97R+<D5Htl zAhz_=ecyEqFL}0HiM~_zz5WQ|lxFmoLm4*-&=hI?2%i##vYfvApo)+?5OBQ31TF9^ zQVc8+G12R*+G04bo#h?IywN==y%V#--3+}%lvb6*s=7yy{hf%xdY7K;!v{Tqmp(O1 z%Yf-(a6f--Q8fCu5`U=kqidA)jlE3ixbNz3&x!= zCfitexq^?^7$FHzU~_oMTD(Jm9y|(A80W4$PMi_tW9|-Y+HP*^lFHEFY1SaDN^!Yv z?>XoVglvc+4x71zox}BFw}*bDOYd9c+L~HcJvDod9%kWae zvxYWWS*h+cK~Y@+x8{2pK~lhj1Q{ID#*YimuTyQER{8W`pEn^JC5&kZX|m(Q_^3^g z8Ot38{g~q}`6@YeX*zi)_CAes;NSvC9IcwyGQM9(MQ7UaKsqM$(I>U4j&^nV`O1od zv4`9S;LE!HVIQvFczB;^0n}QeQP%wm+O`RLepLGDHj2H}Q%?GF{-y5mf)6+0W)Jjf z8UI47x5u=XjjCEbT<1xU)yvE8LrUan@zO^W(dR-;P{qsU&I$*cll&@PGVc#^i>sL_ zS*ad#xuh>XP$1Zw-v9arz1+cc20n9$&&>Zu_sO#~oPKNIuPr^+@OyX7PCcI^FAd?f zGplgT?O=X}s~f))Z!RvEtQR4T%gZcgT`$O^ zqVM;x_s{^#u2mDg&zAG)c{`k=ATnBOFS_0rNx!Fbe)s^qd9cnTj9b1GKK2&fC2u^b z;sZQc2Z~}^y#)@5KpzW=OHoJUpg6%E>d3?K8L)>m63mdDsF2KD z>Z1YAhCD2pbw-t zLb0%KgQ++Ab|3vpp<(;y$g+z1lMZMPG8o(+QvtEFE6H`Hi;l$wGLOZhAfwYpmrv}k zsTSRXeI5&*%X{PIc4qS z3C6qE@^*rCNAE{13=jSVhCbAGQ^!lPP*su-nWCZi-ih;Ic{VZ;weme1ad$4;Z>@Dw z!my_z&giArZ!*#``!xa7Ppv!;b@~-rVKuzo5=fD%sqT(Kcj5^vyWO%;>8z@)ZQsn6 zbpnDO$6?YGo2%2*bkpL@t9OkFTkz0KSte%%_l;6rOL3v0u1B(>?~yz?xPHaqC&FctKj;1eW98$o>p!HSEqOvx zyNE5c#eyvyWhc1g508BWF)7%yu7Qbp8|#f~53A^v7#B|*gBFwdJ00`=_VB}%5k^CD zmdB5@-FQNs`&h(GD*^~5yC`Km(%?P=?lT|js00qR%m;24axfR;)^Ns^4`942J@BV= z5m_Mj$8#^i8m4bCI+z-oF;@)jICm{>>WvGVq2L9B_g?029umkiBv3Zo-@8gg-YrhR z_wmJW-KBzW`_y1drb0!EDvPlmlUp}??+IG)57&*-=9jB{FW8&TfIedri93_>n5!2V zI(@yKug=In{=>&=}AJaaO+ zMsi>a51JlxS7y(|?t=$mcYHHdXihS$ulVoO=+#t>U2l@;N@#n=&=qY73A>4^N3Y!` z%~h}PDyAuWWf^pYKU8$X7_T9!&stJ(?cd*6+fMnED3?lJyBx^UAsfvUB6915^xL@w z7}J4b1EVMlpK{!FJJ8J+&}OiKdB1uDUY(y7~`^_36|6AA*cUY*?6ut&YlyM#ukh`Enb+x)jGfNE`~{ zI`BpZvL3IF*Xz+kQ^S$r;Ww+T^}k+;%bq(>t#f-!w4Rxve%< ztoCHxgNY8-GP6VbTs)Cby#H6S3C<7q-coP^f_eXpvZFyQy8~OZu{co6EU}U=MAL z0rW{%?LB!6E%}HZ?_W)ms`pmgl3`03?WPNOA3?fo?})$z(HBj6BV1x#?cXZ9nl~ud z0w$G*MQG*e-e;p`)(mCP9@(2E8DShshw-T@&t|G*C-OF~l18kyO@F5;7I4T}AJH+~-Xtzp~&&u?^AC?$i z`O{w7A&lD~O4jCsfChN$curw|@zF{96+&5_z^wq5ZljYvt1P7`?0IFsxT1F1X>^-c zZ&7}_t>aT#YFaz3VurUK82H28ks*f1l&6$bh%hx%M@S=1^9fi?=3_b2ZPzdkiT3vw zdeW%NrTJ=8BFtft|bvIt~R3zyTKUpq*n3t5Imr06Vx-2Tg7HyV5Id22mfy$i-y zc~9SeFC4M!Aw{Dgf1u7Y40)E+`SX!6y7iJVTGlYs{iVhaJ5#TTx72fH&Fk^)&rTM* zYHv`kNmTFNylxw{e@SkXMBh)Vv=m+f(Jyg8i81_~2sDXONM5K1wJ{Sv(m<#UOVBnf z9nvu6V$W&5&jt0pRkn&Gao{kU*=7+)9h@F@HLIXa?ea~J1lQNs-|J#~Dmg0cLcc^6 z)fet5D6ZRJfjIWD!~Bwu>>YyOZx3#h3v@t#om4uJ`evW zwomg!?~x@X%w)R=Cz>Do)O**|oyWCxU48`Xs-;WGu@X~Hw?f*oV_B#_dOfClnp33K zagq{T*0`x_ypH7rD?B0cuu`ik3hmjh&(+yBDD@_2bb5b9IV?($uYs3l@{wNg3|w6! zXC(v#Q$qf9a5)=d%++CemQw$%bRo;-t(8?s80+NWM8-xY3I4lPC{iP}N)36$8`XXa z9VbZy8=ky|qSCEs>Qw3|pIy!k&YWBy)~q38@f~JOTIsYoatg4Lm#GJFQIQ>k!kFH? zP&-G%5=V8Qj!g#=HSj}57Mz5bP8JLYyM4e6Ij}pSeJ!jHiExsZsxMHaK{KzFS_jK`2JD&=rf1~O(CAOA`odWT*$30Q$Wy346NRfSTKO znjE)TCB${0>zctWJ^{6xg8!G2ZQB@F=lDqO{Dq~BhM^Me0e zVVVDc)LJo}tgt$qzF1Fk9UH;A9{N5{fr}1ZE`OWsnK&gO8>f|&);ZAe>4#g4d>la( z?aZhB9kG?t4T8PZxZ?^w8&W5{bs(FGz!#^!RqKmaUQ12SM5J}-8v9L(LA~=3v%n+G zM7}d}oxHyia8-<8wv~1jL=v`>{WSa3tjm#l@?AGSl|G)z7%hXoN*cEPp{@+GD%ogN z)ebxm{ncG#G}utv+{$q?e@yJVm9}}(_y>iv+EOnUKB);3L#>TY>OG6B%xZz^Z|FlT zlwMg?WbzIH2uw#uCJznm>85GoKuGK65oST1>hsdr@G%qW2j5Y0V_tS<);n6z3WvSQ z03AzA9$)Ec%sb4FSgT3ZP|rJ_Pn_iw+NRVP)mLD_$=DC3ruQfu(q#-s27`a@4!F&G zJ4te?8zjRy*E*%Lf-T-~iPro|T7(&e-IS8-hW7BExOm~3nb;(7M{)w>g-#xIW``)B zSA3`0iRcd*M<0uIU2QCSO+Qvm@rye<7>;~->y?t4V3!kBUvLVCe&f(P&u*`}alzfV zmK*nf!=xb9@D;V8p7dAdyJ_2!!$*wLN~ARI zm;S}KQ8Y92-e>c*MoFful5mUVwS(1@waS35m$XcBMLuD7qzye7K@RN0B5r*Z=T`{i z`*y+~hmo<07P80jtNgIqFjISG!}l?8I)T;@I2T$LwCKE0nwe+C9zS7TG+0w*Ul#aN zyzsl#Td>n9V3T;|VS=#j^7&T2CFErEwRc*TkaWHpT9gvpCW-ZG5l zw-mlIC*Q8AGu^=;v{|DoUT8Vmt@uYy&Yf$zc`@@jr1Gt#qCYVMD6JF;w^7*Q(cOTh z9Tr{pJ`8*+frcU#S!#uE*csO(lPPnAC#F~TJ=U%NAtr2Bvi|}sFy%J*j9g)IQkL!d z2~msMly+q1o`8;PVbt;KaUJ!Pa8=Ob7?rtu*NABN1reQ)Lgi93753VO#K4U^f9u_E zRxQ!u;&*ZBGJ% z1XEnxP!~FQf1XT;uY~T|3H7C3c`)FIId(Ot6pnM`{iW%pJk+mn9B+K-ImH9ojcV%q zPO!wHy8f!=VyCR1J7Q0x#y>sdQB12)K1qp&edy4#^-_nbT5m*D-6rPzxm`A+8rqX* zP;a}OqsI|@-l%Dq3|R&9GBWkazUT`So3_piRb$Fw5Yx-GslnD<*juuy(oD8O(IWRz%>8$4ROc z&HYd{TMY)AGn_-teDjKlI_Xd2nOx4Zm!?vva0TTEiUHAZN|pIAD=o-9itq2T2D{wM zGx_#cR$31yQ>Wnzqe_cB2)*%XiZ`*EY-Bmq4EfB(+{~Wt3LT5K5EENW<%tx2eknv% z95tPyr?)3wplVS#WsE&KDrj+Zbrq)-T99B|l~cm!YW3AuSd>Ui)SA3vH`XD7_2gKY zR`f($?vC(9syNBiQOM`MkyHggafgq`?8$<{);KY@Vu)B6vGkUBgAIDe|pgd|Z!pq1H#A zs76-1X2~d=>TCDQ;F`t+?FVY%3?-x9ZYNqc(@@yfDW+fvR^hykv+GT`jX0lE@T$sZ z!>3Aiu*sv;li#iNNbmN^b_MuZ+xF+GfM0^*#ObD;7TINBcUn>l4gE$lbCy#ziOO9T z7TI+%_>S}Ah4^5qBnc53UO{0RY6{?5yWvVUvTLcliguMo3+POZy{AvpZ+p$l^dZMK zJtqsbvPWQTx$e zc2Et-Q~GZ*JsoxS13hL)L2~52M=@X?D;0v)Epr{S)T_SMO=WEbEziKVc#BUboRfoE z0vgN|WP_@i$1C&I)yqv@mAQ7X%+N1w_&kZ8_bA#v5-%wh2qC_lad_D2QYrP!&fC_Q zyqs5RtqXu6a>eez2wY)naD4hGWD!UtTFtTHj` z=;p^d`i-y&6Jb0T4Mk=gm)}Dg-cc2!W(Fyc+MFfc^r2VmIU-}lu~Xp^^_>Mz+C^ME z&$A+0bd^fu!gdY@P{-JM{Hx%P43mc|77RIIcIhgPhkIJ7g7E`YT8W%C%_mp>p_%Xd zPreT?=;tWQ7*|^4t)sYp4wER*o6&@)?4{o&D9m=ML! zqjNkX2lJXgg^U)CwR^L@chc||PjwDRWckqYJMYpbl%tNswz6>XN$Pb5_(6X$CD@B{ zE1k7oM#;9{5BQLFSd}D9By_Zn`aLZ$pY!@Gd?N1KAp}3@OuPCDdi+Z+@paWWc>%9^C|LI?6b_)f(2x zd7qC8drMh3^5*7QA9C`tUt5HT=j|p zHwG69o14}O1A~OzbAN|nxNvR89{#b7@txz9Bu8;&Bs^n$Gn4DUi86+kx)9{C)1b!! z)zwgv)C;48TT>kKS`0WQ`K}-W4*=s^C;BiTJ-B^L1+6z zVXhmMbPE1p#*Eix8H)*ZAj|n&VWNYSFQ6^$B+hCH;~y5?PbXY_nf z{nOM{FcZvKj@xcUWBhXgktS+kylV9+Mb`N9~*K?U5{C^N~; zoeeB0Q*UH^Pg3!Rwiy#k+sJFxi9|Q-ev>Bdi1aXQ>!hc_UyQV)GBv6)w%$RpPAp?d zx#*WR60*GbikGMk8kYH5*WDJH(&u?J>-NTB%NFi~>UPCzD~!I& z$c9LH&C;E{4W&pP%=QoJqKP>?M;$;b3_ETQ9xu;$E`0q^YNn=lTrgd0(lWQWHC3!V zY3V=P0`+EFc{1))@CeKsAeq=9?I829$a6(z#|LFUVvU!B{_R!%rXe@BvXA5s4%)HH zYoyufoGq)KiTE%c{d_Z2y*_+{^0Hf`n`jwyq43u37d{aL4;!LZi6b)7N^0N29S@gb z!rNiQFz^vJ7#5L_nVP=gb^zp4>$*=izf}3S0GT4qXI3j-_B`503oPgLb>-VJ{)Dnj zTmibb_Ku$)dve|iRlLiR*M@L|{+za7a}iVff<3o0DsWnE8f=>>Y^Ovdg!FHjM{ug? zB3>7~%7}K;dp7fu4T-!#DWh@7{!Ou$b&6Lp3@@jj@iXU4&F4eMR?f_b>d)l}h?~KV?-^dbg?-RvbXKI=*NZi}6aL&mf&oYc|zdxaASRV_*7=co8SwT57 z$`wOX8`p1LNG4BV<@-OHP7D4~kT^I3nd*cFXl`GCi|7)h+71Rg&}}vFqirr_3bSO$wAbwx~f-;3zU$F z{&S@@@%=0*7ty02)0CY9=VCVv?03(jgst$?0Opdx&h)YZWkm`;D`a>e^Lo_^Gjm>1 zPR?d^D#Q5#lxevQ!=J70zLsn7VNs^d#4b^lbMv!{m(`Sm@u`a_kP$^}ISw679hI5lxJ)YE=Nwie_aqbv0lT0>$7=Bj|R z$n9_U{T1{Zb$P2Mn~+4jbRq}ydT89W+s4)ptD9dp`Mf1n@rLZj11GX1qI~r953mZ_ z&XbIj*RLCbCz#9+IM!RvT-(!CW!Ng&sMaQvI+M|iC1 z<6JD~!L2J9oib%PkKe4q?olBV6!&{x(-uEv4vlfqJKVW~j`cciT&b3*cG`hqyxX9* z&Y$LJD4fYTd4#kC-AX|2DsN%3hWXC?`_Q#Z(gHk6@&F{k9Pv>m$fg|egN8TDo>sAI z=$RsR_FNQ1!Y(q&Ct|^S+GR1ePEbWyGkDS1SXuD&dtnzfi=mNG3}4;73(|5!{)L1A z9Q8C2SJXZZSE0J8JAUKtd10p5aQ3Cf9;M`3vDhfTLTRXW7Dc{N6av{v;ZTeXhInb_ z(yhQC)2~o*a9(**<)K%kwshm~6k$Z`oZtyTeKp{0NtPHFb?};-cQc0$uAT-bpE?{S zAdE=T<{lcuQ_+^>lX8{?=|)yZ?}$|m)btdZi42pEQILUyCALi|W2N#jPw@K#(?J%i z8FlU5BLJ!EY(o|5H?&43ZV8RCSgPf5tTin3a5@Wese$>#Rpkz4ICpLpDw@gdx!i?- z+hv6wPhgUpUo9TZkUJ<=ig~nPHbjmRW{|G4lc~DD9PxE}rTdAdOOCOX%PrlLb(6O; zf@Hqrn``^TcgAhBX+8{Dh8cyH@(ck{=oC_Ag@%g5XSwlE!P{=<8XW8V+uJ-jxr?4D z{H0?pvM2j3Q${L3I5a8qhl;Q<{d+?`+fNTKM7Od2dE=db2=7~yF$f#T<-ZabocXa# zUQRDhAp`Qz*N|sdRoL3ER2u3z4`eUaKyR2CIG@$bhBd@A460d1f86xmuZN)EZ-z(< z1R_GiRjTk#vmsg58nL71ftfTR&@WZCdtd1$z5SkqkW5%C^DK7s|7so5QLW1i505UI zsL_Kuweza5fVC*;oQ9qt?z14QlMlUw*ujY*>4%v56$J+GwJ&*&r01ygosac!?Y>kF z%NVv>!g?daMVyBBm~-bXz6TG=@G$cWlLtz6okwauie6^A#(H9(As0ZWmbo(W+Rn_AE$=($8k$5x&O9n`oLs=UWCc5Qos z?=V_e51ho{YH|Of7oeCKs%ZATM88=-ER(+><~*=C3$3FwSX3l8wh1kba9h2JKB(B4 zAY(iEjvwy7hA{{U zPH-+84AYZy-nimS{a6|{q?y;{HbVCes$8a9raJsGfP?*;75f{BLT0d5(%Oi%A|Lg{ zn74QRenP**;V;J6MTb{DC02t{dZuUnSIdgIJ~b^Si&-nuvQX3HOLMOCJdW}@e18@R zD|_>6#P+Icmqz|`$x_!Xq>Ku_9;CuIB5@Z`J zU%Q}TA#h6Dsc&Wq^OytQ|EdbH2kVl6Z*_GN1V+V~n9LQt75lll=$RzUAOaTu#?Moe zHhlHaKtqQ;2XF>9uDaH(GnQIXP?)eOB0yL0p0&N~ie?_DM%DTkBBPaZ=&cLnvX?K9tQ>0Qny-VLisk~oyiOsV) zd99%(DT}KMb~uUv-!;~`RmfQ)Dc=shMapG*K_&u@|HMLtY~Pe4e?4AJJ}{RrL^hQS z!nPsMhUwpO$B(Krlvt@KL1xiQ%EI_pSEx`ba&p`{iXBjJDSL%K2F` zN;!N7GRaYn?|s<3yAFQ2rk*0NOTG}BH4nXapD`8(a_I{jQNq5>`bHcP+k%OR-E{39 z*=7M7WNiq+M)P_*v!Qv=P;8-~O{yRx8-}UatC#bS`1H_U4!odIMUf<7W3}v>wF8F~ znhy!vmW3Js701S#=7Xmy8R)5B_flPVbM0k@H##UqKUjRV%3hh-=k!=IYwBu;Fcdu` zn(fVzp6dw(y(e7(B*0$2rgcSyhsS!*A(p7<*aWJ(7oCF*UCCXpV!c6+lQx|bv6aYY z@qPp4T<;3t>Zj6qkW(I}reO9fxqBHnbV%cC`Hpydr|fQD_b=0YtP;oiC&4GnGSR;* z3t~bsMXhtZSu)Ep!C$78id=lSz%Shyy6(ez)L~CFmZk^cNf*PR;@uJab%e6p&(k z7w-nxs7mGRnA%v`TaGm;KiIH=O8Tg6WN@Ci$mx`L&Hhs=UhNw#m@^A;&#hRGT4=O& zz)OYuE-tUDGVZ9e#iy{|_&yK^#rCNt*Csn=@aOWV%2rh0wRHPlwwnqRV@XxfDGZsb zGFe3ra?=L#I%Fvc{Vuz=iPI#J_1<9+D|B4DmpBwZOcO?z;*AcIZ!>r=^T&HF_y0H4 zFMO;-!R-ml9Q&11Y0+3x3ZJt9_dm&x+>#^+&z-1Yubb=rkyLi7gr<(`V`wPL%>+3= ziBQvdP@_f_5KuJ*^=#OzwC8l&G+WzWbSMx>nZzudiPtz)*HcA4&EP?G#o4Ko7?F}YO*E6SfjO2hJa#>Mt)Y_vZBS07_~QG}7yb3riJeFeBJl)c9J+vDn-io0 zw|9CV+M#*&Yn~j=ehZhu%blN&St}IH`n%rDX`rZuEWdd?u7sAV?&^v=198hN%xZqY zGIw4xPqUXv1!MgLd8LcTrD~@^?sTfx#Hh>{h|i3_6d@Kb)WA3P2RZ5Mi;;f1<<))8 zZ%%K#G=CRsf9+d?CGuwE6O@U3YXBz=L+N5c#06%wVnuXG=f>W3k5vE$a6I}=Z@F!lnlI_&SUh}@OX$?21z%Rt?%s`Nz zB1?1f@yOjJXTdbq$CJT*N`hgLyndAp39aoGnaF>4iX8qz$at~SlCJ?>A0Z)3unchy zMN7OK{skC2YTMDvezj4%TnlF4_PRs9vnum!XS={s4GrU{7{cllY%G8b$x(Dvs*& zQw=~|&z8Sv3h1*MA53e)I6|tE z3%!UV{FjsintjpxeYj0k;F+eEuVH0@=7eM?uB&$QHb8MB-2h#;rGYR_9x^k!QE`{W z@TFQFINe%cqeWJ z5XeuQ`-Hy&^Nflw!qi5|!#+J6ka^4bH8ilhMn4B+ZW%>%F&#m9;D4vPv8nSoS4~5o z%R*O3YUIa3%u?(Mr6cC}AslhZL-2Jm@gFQT9jjHXiC<=*e?SLA9X> z(B^wf7cQp+;(I6|V`_qW(5o3lgKQw-*3?*?`LwR#<}ILo+W3;$jY4HPdin-jUk7l{ zxKg{%#f(d2|Dpz;8v4Q6B*@y#SU4@?-$XGs}3f&5IFGc=6=tUQuSBNWMZN z$+Y+RX5qq3ohx#NAew8tl}>8PyjYo`c%8rKLjOoZ(7)0^Kwws@LTOF3E&w;Y%od*= zbA{bWbyQ|(dh)uB#K7;ak5PV_fB&7E^soO_%KqNafRk)&kppxg>BL6!3)7+T<=*+X zW{WaAKX3bMF+G-O$U*X7{3ejbPjrlYf&2yyv+-$N@f9gNtmiyvQKubXIe2)s;V3z8&7YNP7BzUp{3zLU8s;hlr z+r<@t$VoU2#QxBop7D>I5)h;@?N9R=F(GIiQ#(j!o95~0r(LI~SLMk}FVobPuKh?l{sgj~ zcK>>Cp~JrJ;s1&bf$!)$TlJ%;YU^>sP^vO(A%t6P&ZQj9sx77}4i?)}xfa_xYuA}2 zgCBk`{?&vY$A1%21Oye~2Bi(8!=xSONREI*n1!jxm~JRT>w(5&o#-uZypj_?8%6ya(7V z>rp0*OH-JBHxM72sh*7_zqI$7f-_X^-o2q6nKmuFpAM!j|2xomlr0@c`Oo)!ul*-r z0%-4GIEa9l>kqgWi@-os0lU4N#BnV3cfpYe4fkT2z~b7o59A@LXa1jvF635S|NpU` zLvm==H#$@E-t>BVe#AsL>o>(LMD!)c)Yz!Zw7Lg+GUpwD5ZNdGc80#ovR*8oi1gng zJ^?{tj?Vx<3I)C6fWHu@?xV1QPtcW;>-G0k!2>!sh6i^ATu?bvT^)u6yH|?dC6?#!6nDH zv`&<}tLo0q8kSHqs{;l&EK0^2tBl3GKa{7g|Wb#{dBK zpD8OU<^+=CJ0Z8>o8b_qvr6-B@b1R?)$l$JuXxWzyj;+6%Wh|!)@8pq~kc6;zOk8&t?@e7WuqeJ+0uf7ivaPkzIi-#WiOh zU`?-XoE^~31&*@(W12Wx{~sR&>DdJIw8kqBi)4UOAKc{oY)Hcr2y>I_GS@ettRw>s ziNc>Q@VlN0fB`+t_j@t+tLtK6&%19X=v)kdSK5fky7R|_c^w;m)%b%5O8D7we`WG< zD%O6jEm-9eq8rgUS*1OjkNCWR+F8)T{N$}GHgn#=gS0Q?jX?Jkulv7yjiU)woEcJ4 zh3 zkQe#~u%}VB6kS+7Jpi~xU1@c8#=@F~(hUO}2}`#b5e(-Dxf*pYjVQ79F8E4moL4Z& zbkZR*RFOyZOn3H7Zn79S$Mx^VGV9-sWi^r)eCO^MH@N`6-=DE${m)@a2Q6A=V1QIH z=~W%Y7fQK^=w1fh($FVRuu&*~%>%w;ZXV$8sL@Gc@?Ce81@i80{+jvYHfd;*(GzCk z=CryyS&MG5Y$M*~?`Y1jlQS+I)r%o6zb!Q7+{=sKw!8bb{15g642dH;?%m3E!+T?T zj24;)jyj{ahY)Nr`~hhq#ryA!TV?T#4o#`}1#6l^X{G-m18H*n4|UM^A6m=b`Y+x( z>M|O+ZF#NtS5+?H0S*!kms+sDwCO1R%OWbtI^v}}ms*k7R+cT5>3NeTzM|Cob$k0R zXWqy!>nj{FPhq-CreWAv#0oSmf8Yj47#v&%v@c6cY0opot4k^lsJs)_w3j@8W_f^Q zDXKNB1DPAbb-e5%r#;RBGixd@B-FPi9QLPuALs-L_|pN8EtHsKM&PTG145?N`6Cqp zP+R)k`so>;;*W}ZJ_A5^j0jaN93&$SLN}$)z|Do zsnVzP;eE0^!38({!|R7izeG8y>G!6J0d?32KKha0Jx>SZWQT_r$m5G_A&|7e{2@1XV1wb%7OPt5WeD8IUZlvFJ0JZ!Uv^rsTL5XQ)8 zF;VA(tUc67=)>B`4!DeZc@s0<|Hg*U;FRtg;bKA|E3?h}tQLpGY zy~z0!5F~+IUi?`cL7Xe@8D&d)W!r10hX4%EOcocBIMAgM6+mT`7!UXYytczTYXWSQ zgVkH~_X`Rp#u=>F8AA1TQ40oxYm#8*^`B#PtFUF6IVsRtt#yR3S5oJgHlv^b+=oF| zzFiQZrC}&%X59R|=$`D*tKD-hw&3I4Ex$=p>8>Rm7rE+xl}_fr4mr03a5oCzgh8E9 z+0JS-#ah;;-oc4KWRxB~wzBZ*U0ldY6S0jdT{}}aKO(nPEd^{B{2_J2{F0mM41#iV z?RNjfZ`T*-HYqM#=a*-Q+PAD?{Nl+Jsi5o8j2Y`asogLO|6W;u^WKW06+@}=`y>xTqgn?;8j zZN1Jn*YEg!xSvUW|GEC1$dBJIQ{2(gx8R^^+|9pdCJT;=f?*ieY5TwlnaiM)jf1lt zZ@6y6$^D@P1nQ)2tbEK>%o289)rL1afussS_WDKbbPXT=Pn@`|ssC|IeETMGxb7tv zvDMpkQAQ^|XVJ?hNi*~|f+pydA_&w-0gBAKDc>uI(D$A$b>!W1-SEap^v&$VX?t#( zonXWq50~_`>Xw=p9JhINsAT* z{_}8AjoD$!?L^1D{!>&6@l@^KII?CJ`w!Nw1T3=bTl-+iNfDHgeX1{pR@ORygmc)zs;8Z z7ry^>K?7`om7-sXm^SQ$(F6(TdTyqKb{vu+%*5<1lZJKiV4;o3B0A>)sw8lqGIfA zI=LCBwrKEgOiabSh7ENcCwC=`ehXA0NWkaRZx31H$XB`XH=b_!U;hV8)AZUAhggne z6Sv*E)GA{>I5r-fQo42SNOL&tu25!MFXG>m%@!8uzoF~8F*VhI+3+3pE zh-dm58?<)&-U$zGE5#`3n3#h4QUq|`zF;zUMgZR1gqyc#HZGpnB#^2=0u3ea+R3A(^;w&l~C^AMR&6+xBn?hJ@*NV zq8r;xs@eKW1nz^I@<;7_<84QKDIoNZ7My7!;%PQfi90D?duSs;GqsF4R)pE~*|N!@ z7bLf4y9W+4SZW+Tq&D8+N7^rXUYD(|sD^Epm5<&YJv(*#DrNk&JW#^z?R9@6r+&|N zh!nz2RK}cIyPiy38|Tg~(+-?{L}kK#A5d+oo}zAj6CGg76p1%&71~q#9|+u*JRUa_ zJ?g1No@~~xKE>~h`Y(C(zG>lwANbCdve+X0j{nx`3cosBD&M6GP`7_&c{4eP!nh4d>~Ljhf=4Unob+wl}%$#~&L?)>ReFI8V;! z#$fx*le8iB<~(N`=JqmwWA1><1?Cb^gmoZP)NaQLgj?hL;Xm!`y|=A@+rQr<q8weRJgP%mo1X8A;%x55sRA5|B9zlcFM) z44Do@xW$2!9DX`!0>W;`%}YySV*1B|II%#oT3M;HootF+g%e_q0gw)1O2qI_S8BIxO}n=A`}|0r`^K)&1j! z=m)rXnl1MTG}xoJ+e3<{%TLD`_7A%is3JN@ySYgfc4tA8*RfjFAGqs^_^QLYZU&)` z6`@V1%}+f;au%brTUt`x1ZA#g7}f935MSqQF&t%D52W&P?PsOJBU$}pr*`*>Pxe4U zzfBlvPq{0_iSXYjEXZ1|^pDo4S}ym^9hSp|qCf(A+h5KSj^yi?zSkITx#Hgk`R{0; z6}=y|Bth+~Oq0-rj=U{%8?{5sg7hpI_U$JW@*=bx&*(@bPw>X*57((k0$Yqs;+lH6 zsfc+ROvV2PO}oof#4}EN0mWy-nS3vp5zZ0gLhwU{e<)y`-Skf{(5x9dA59;=F}bA> zDeR+fICF>+cFSe&oN43P$=U^Cw+S%FMXYc=YIcffH_GzvBcMj2x+sY z2I(SrC&W_!kG=PfYHI!3MT4m5mZGA7RMAMxR(fy2Eh2;xFsSt22{rVN4OA2`iS#O6 zdI?RMqF@3@4+07(y(=9;xo>pu{r&E}-~HpBamPL5jBy+Tjf<=`=R4;!pIP3Ote+!6 z8H`7LtQAHi)ez$3t&9ilyMrA{2MM4=DEghj@gpSxPY?WmuisGfpV?4T=CfaPI7q|{ zw6`nCdwZ^$m?d|97>Hb2r-ItTm)y?6T?K39R^onE#V9r;LH@Dz);!P{6b}k&VaS$o zM%=BIjAEF0RYx&bh`U>-+khZ@<5cAGfdN2m6(Vq8p@_$5)4F7JB;@a2nEU=e$uN|N zz1I9~PrKUg7g^g(cS|2i@$OJ5-*oz%l&G}dw2j>L`>pX>)W0V=4App4kAE9rYW(?} zkCT?GB5UUJ$0aQ1JmT>85^u=pg#6|NklR zw?e=Enc@GRXpR37MVhQlURZzW{rl8VM7b?^Y0vY&*ed>G<^SJ->pw0E`Crbj|EWBf z8Q!YBK&sC9omxuJ#AS@8IImdxG-K%0-wucU)4=>b@qb(Ke}uFobmi%0UN9jkuz0PS zjTj{XQp%$^vyD{~q_?)B?o4Vt)B`>+{)J8{3SHDTSqdY4g%8Z+UT=Ujb#qOPNbam~ zOm%rREfM6*gXawB8PILYJro_Syi5#C(1fEF~z$ih?uS;;edy%MBCP;dMti1Z3 zMOeWFRVGSuKM}>{F#!u(LSh4OuEOsZkqt=`8YiO6P%9sxZ`gu`*Sa;yL|;ps7JOhN z8_Ht5vASZWB%~3MZR_C)+Yu5fsI~g`bH45S6>yGL%}t*VUVlI^lMkUrx^wqf*}jLz z?A5_-(0Z*zBCNNdl)#nUt ziT5j=XCB#1;LPOKtbG_lIK&i71oL#`fVuc~VMIn|iGKs0V#JbC`7IYs#W z@he;P83f_jH|U~)gA{CXuoOwFlqwJT5{t(rB}@>Y2N%GK=ie1;TlV-8*|hy-gC8}9 z_^9)gR9{>2fO|DD!CAYzR2=>6VXGE8siJ3UZQ@q;yaLExyBP+x+0r@2y{&e$eN{*! zr>R=O$%HyD{suzUyoa7Tz35)r$OE}4bj$rk_`sJ3Y{3Y4R$fU9_w;2O&1xI|hLRt? z&DX0bkR@jU4PtwYjnYB+Rp<95fx2NIm_nGHPV!}akvAMU)3AHcc!eq*ChU5~?3u7C z56d;GK9$Z%y=ICnF`PXl*gS^wv9u7?PnqoHZ>|+of>&n`X`r4jtsWe#!UuYMoBklX zS}gRi=A=JHN1o0;ZXNjviS@>b>$(&;=O=V`4<}FHk^2IqR^09#^2BM04iWI|-2D&k zKc}CcT}_Blgh#waBx4JM1HakHuU@AbznJJJ;&b0`o)EAR0H3lqKn7cWo7P1OMAXhj z5{^%ILbq?I3%V&^tImfMvtpDC>rtH7EgJ8|?{>lmRyPQkdM2*MVA;tx zvv&Ah6I`Ro)}T+Xx9;*^Jc;O{s&MFb?1?B?&WOM%RZDHM%nuSY)zEi$ShLcUOZ!Ks zW39MuigFrH7<_%#QtKd%!0G7T8!Zr&G8)tKrG&#we`8e;PGs%1>403bSPUoft@Zwd z6IZ`y$19aBOn=bYOi(au2pn%WLGFuA22-ZT59`XIM72kq)mBQNQEFHh^;5$WbQm-u zb)pkjr$q9C%bUKH=*aw{BQHN0F>V0ImtctU9!87E?N{4+NJJdAe&m)ozq!hntD*hF z1ay?r1(LF^z)Q@6`hbK_&Q+OhUmVM&ZMD8beK|2^=ZFegwutsX4lfR6y%rAjL?=xL zHrXqrM#C*XqXc4??`iLxK;gYMC?9Iu#ql1tJa4lvpwHcsEV-$BA}WWXW!Lc~Sxg}C zJSla0hHDBGUs@uGD?xkD2-!ava-2AO9tGTqfL#|((WLsEh>}*xXf`afh0I*RC^3H; zVyT^Z$Q>vixj4HakWghe`@UyhSIV-MAElUi@yzO4Hw7AnTJeBCavEiKYtK28KOnF@ zPB1An@2SiQwAg)eRg1i_Hza==#8g5^3iiS7#ao2ytThIZO=ls}Mf|QS(mPZ0PakKx zDZ{uf*{x5Ca0(+N$YQbeMd`)^sllYOCp~#cl##E3Vpe*brTc38 z2d$lbv8ju6oQo4sy-PKsHunv=6*jWZzYY9Meiz7r zw`5F4aVW=U7s5xaMmY!8(=E+#ji_^~Z|bgi>E>g6Pfl?ksau_kbgYOJs$O%o>G5k5?CpTist z6)NAbTCrGU&=S#PtF^D*jc)%S2oD9V z^$i^_=ut&`PgyTIsppYGL?_qS}z~zfK*P*X3dimfEa1%D7qh&FD0jjF?tuNxV9O9^1k5nVx-JPn0 zhD1-il-+fx8lTPVJ%$o_I6D-LeYdItU$18pjchL>P_>t}x0y#;@cISk;)F0q(-I5z z;&?GiabXtZpu+I%K)oO}a^Ayvj6lD|8@zGsgfns^Wn$y?AY`pQlE5-npEnvb^0Hc# z)H`l_oH`s=c7;mCeZlW6>z1AwRbLq*@NA_mJDNqk8oV`bi{@(=@CzghjW|A(`&mz5 zl@faVB#0R$IQm7W%_GzMec>c4OYToeP%AT>&yDf*%*Dt4 zu081^;|)nkWxcyq=!3nXsn3bn)2-=q6+_!v;z{PmFs?!BtIhK0rI&pTOK;eyxWEgO z(2wCZlR5pAyHr2c4ra{Jv95x>Ts}&$2plHh=R`K%3fDz-6zuIUVHUJj?h)|j(%efb z^kW~L)oSQGt>!|0_{cWIOl+6t>!muY4O+Ctwrso~h4~pST)iIB-*8l=yt(5(Ne)hm zzz1GjH!~_dV}@MeL!)HUM*CJ4PY@M0KLmdE1Q>4V+IS>NXda9%6PeROHpK5N4+yn3 z5L!mZ@2-*EMCR&eANog4h9QMCSKju8xO$5sVz7okutbjpTYHg*L=O~h0JiNiXEq=7 zbU9PP!!*Wr08LDVbuX0ILY6v)qHM#6d>-j9=Ae6BDUDF^{uH| zt_4V1GU~0Dwx2^A*`zP$%tk^F%*d#tk)ulu@dPf1#^^HEr^&{{;JB;WAhx_?ggEoPszBd^b(9I@Mkqr-aHof-se3&sG&2 zWpeamwnh{%uUhO`GAnPam1Diic{W zR*aC96s;`w{i~!^T%g!qZIp*Cxv>WGg(WLS3n`?vLXc5>b9@83?TQ@1O_(5;iV{Bs z??_Ne{GCn2&3A1C^{L&=lwh~CbvT#H?rofhZo&!Yrq75}?V6&|XltLZw;@Azy5!if z<;>ts-_-F$xU_Uo{7kkW()7$5Jx{@n>;+$U^|-Jr=mW`ATM75+{-Mq%_THbL|Clk3 zE*tk;9Jp10*uOx!xV(q!;dk722{YtfwdgpuYVp;UanY7TnL3*Z?bN~s%{4NpJc;Gm zID7HdvgD<{fIYF;32+-7VQ0A>(L!YUXpzwUo@$RD3%=Z2DM-39Uhz(#)khaG&X;KG zG<2J~eX=96vgn-1z8I1cTp?YsH__UB=d z2tj#2jFKy@ag%m&8zrnhkp>>~{uGyxn+wdlTefTVh_BTjW!={FuBr%n~d%=D_fo@zF zZ@#GN^KK~0B@roGv+-R`(lce>M zp3Js1KwUMlmii}x61(IvV%ozu`h!t7$}JffIlNj&rX){X$vYT14;lz18}y*{d8X_NleEo83V`;mV!7YLkB zeIZIu_QQ@gy8yF?d-p#W_jr^4GYfivu!*$gbUX-90j9wmeb&f*9HX?u3Q*JOM1~WD zwO3g34tP&@LZ#kVWpxYLq{K&9@t38}3-ySZRD0-Xw&u8h2?#5)VK&!b% z*Y|VE4=mD0Fh04PL-VtxPj z#zFqZp`7UYv*KNGrg1AM0~sRY{EPSc0v0{gaZv((Hc5tzU7qF0lvJ!`8*7H?p-^PW zMn+@7o_%%)Jn?*xh>dc)G{_z81|`@i^}&Zf&kI85Q{q$Y1REX{2U$6@<6 z=F#5PSw+rBL^QU2Z-ZRZ6*!%9CcU#L`B>qr%7+_9sb!z1gwbrHU1m9%bu6Z*h=HuR zlLk!0Kx!PzJR4vaOGX>XXXzbaEi2HF)E*A(?7QN>xbik@Rq6+LW5Hv{*wBaYlfg4X z)#oRvpChc?B_W%(yC#YlC4K8f)u7fKiL=2nB&96l#OX`%dGTioEBPlAf|xH4s>-kg|ewYI;c5Wf4J><20FPI)m=j88I_ zKgH>QAxC<5<|V0)Iz2Z`$*8*MxGexYA2iiG_nFh`vZ|}Q;9}NaTU)iW zO*a5TXx9%YupkZeZ5SEs8&2Q@g-EOz*dYjyst{FgO(@oq%{g0(qZ6v9GPn{7$P z#aQ4*wN~cr?I$lgh-3obvhHf=6@n(BzkFkSCK*@u z_Onu!#HPPc-r`e&tp}GZ_Wc=?KI~m}3#|9zjohgZ$fBa;8w`coD=9MXl8D5ubHOf) zHy|>WEE+3M;=X+Um_)!n_})!qo#h}Z^rpoWw*_(l%|I(e>xe$Vks~oHfjg+b268ub zmbFGT)vdmTfYn1bX9wYlRZjWfrRQTJA2$<5DYCr=o;dwAZekV=dwgBjI2wCBPpewy z0w-hMw_VUVmSuTgxV?FwaM3URnHGo#?DMyV^86$QyzyOG7RcRY9HH~aIPh~ms1Dc3 z*Y`;}ZQ@#v+j5|2{}}k$`kZpSfYnSlpeYP~Hwf2y_tO!|eg7yGQ18WS4BCJHKJ*0Q zrq6|DGjF_#>VbqJ%QhYWy0Mz%eK{eFo`Uf41j$GY_`$WpJOIlC1(t|9$7Y_nQ2WYY zt$=Xxm8={r^GuQV2b%<2TpeQ4Ru;18=7*DRWil49ikrxSM;wyDI{G>4v}wm~i-4lc zN$gpApE;vReLUd<{2+QI*)!Wku0)_OfLpD;YC|gfYG%-FnxP8-Yq8~ghcsmxP~Sog zsP4XYSzn_3L&$mQT}P({{4~}gO4Ub1G<$nrrA>~dq)f~WAuB$&K>5_Lj*B;D3iI)G zuf0!8+#fofus8_MQK`NgUttIH^IC)&stam6J8ly}_o^%knj4^xEu%?%IX>`D8+URG zxu(hR*0THMxq4zbe6k|c!x4694Ht0rijOHy`@N43Br@fvPY5NrCZE9V8Uji7LX#Zh3BYVPCaS1@i-44rLZ+fvmhAfJ#6qtFJMqxD?^fmd5rlO#IS-|f)kUiy9Di7;$cgIPq1krU# zcx%`h3L#~Q_g>y=>xDXQlf?O2)Z6K5|FX&Iut`o`T<9iOozJY5JBo>2QI#I}yiXCD|Tc7zw5ZVqrpqFD7cEbU;8h9neJTQDsWcxUM&T z17Rg;tLwt-oR_TDocv-Ui--?Zu9hHSFtESQwglS8td2vO=6nqol6++x{Sq_* zK+~ZEzKU_vf67E5%fgQ=YA)We&*}i2iY$1v$`eFJ`^sV04 zS922q)3a-WArnBhM55u=;y?ESw1@KmE|U@oyS|yXDFfDjaWe_3U6gzn5-y?XAXJwL zq<8&A3D!vje&%5p@B_V&y%bYe!6Rq5wCWV#{`};#@(4bFwIeo*9BtR}8c>KlyM$m&l~; zI|Cvs-AsIyfNYKT>FBbE??$?87O!G*On^iyAQ6lZT!F;*Kw{>I6|OJfijO1ti9Ur0 zkr$4Yar>nxUyGp#U!{`OWoIkKM=rOP zOWFDYXp=3XXwG4YC~CTfY5YXl5E9aLB8WSra4*fFU@vs3T0)9EadJoBv(&o?g*9D- z&LllYj&P^yAuEX=)<>gj{)3P+LB4ayfBZgmQno zpPQ4TW!^*$oQXq52bwD?bvoW~&)9Fec$FEb!%!1#_lT|#SYP$Wf!L_|vU zqaJ=r)LI!DLf&560$*(hqf>Q|nzU_pTD+kz?x>MFejgf3K^?klZiTDL3>kl9m?EUp zw%i%W(QAol=TN7fQ%+Cr3((XUov(l37ev0v3eoDX+FqQLg8A76>M@w_?1=3fQvWhq z^IBx^>=<-^%FpoQ?Wb;k7xJk*5vFN@ngZ|BFL%+4ht02}kSp(i-#tGXlRuevv9V~a z6bvCX;|)`ablQXgY$U)w&W3o{b!zTrTsC4LfWiMJd6n+kDkG>Mvq&c)aS9kE`$R<1 zUZ~Jc$I$VvtDKCooH?!CxtgOIy^TCpQ4xs_o^2lZBtyU>k=0@($`G>YPm`AunLx}F zAm&zEB1;AsO>_mf=-9KY^GdFjj>vaWpu)f6e(n2K3Nr*l8e$pB)dozP&l_KMO90w! z{_#a3a-{`Y4wA4BXpvums}1_W2e>^yIN=5WPo~j>l`Q~Sr#?sTFEr%F#^jQSsu3()@UnCuG6R0-?<18xJbydI28G>?o+vsV*SPKNuGd zkU0W2BS}Pj+^Y~1c{+W1V62HDq=>ttMqE*B>wW2=`EDeynfwzth&q*^qREc%TX?XY z)QE^m?*bE1$2p_=sxOa_ymx>p&dv?*b#=hGMAjBZnXZ+425|$Hk(zI#iG{VuyuV+> zZc^~P5E=Z&`}Eq7CN8!QW%=||Q8J|91^cCVKsDDilG!6%>>FdVsI0dg{c2xF5qBwZ zEEz&zeM~{zV11Q0>s3vH@;BK!vfEG5b!irBmF3a6#R724ksz?wVp1te>ZE{xqb<=_ zRm!Cu;l+J+7Kov~O)*fnu`5o@B*W75Th z@hl>1+Jo#nD=fBLD zkjb(>@~Q(FoDUYm-4_EDE(T=nnMCCCM8<+(<4a1#;`kMF-bVMwX${u1CVWqV%7e?b zpk4#(l`hbnV7l;Zb1F?o9fgD;^2*#meVGz`h{G+mG zmFuf!9w8}!r_5jOV3pSHlwRWwotl~3!YneF^h|<8#83|B`q}Lv4rXz8Qc|pqXvM}7 z)J(Gs!{3lR@#aKhun#%>=MGe<05#3G#<)?kul^Co@$z*g+jIZ2!f zual3h10ZC9InCA(Qlc*hZ=5)h!2OkpNZ%p6JD7@EVK~uPsb~{h5`lL4^H!Y*sWC74 zJ*RA?_aTu>+8S6d9PsC%F7xS|OuiK^+F0Ef@6QMC-iT1q$$nUMjlNeYp#qyGbK9f@eEFsd(TjZ`1-Unzy#z)WJE;da3XqoLdR z@cnve*mel}_h-1i)ih_&npHA%XQSyR68`=XCa~5uSpXj z>SdQ~Qdaw*FwJ!{NJsx9H9b+6^9x;?L#-4@9HstXXr;;yVktF=iz%$$wkPJLuj#_a zk}q%2F8*I`%SM3>6*O)XHMscg$?OPwUcav`E`$c=uFb?8j13`+%hu=8AifNan?Y}MWY2rrBwus`m z-RrmrT~no{;bLG(^jrnVf5l)BBko1xok}Gzi?K#L>lX==(q(Veu|Kgsvfmfb(f7gM zRX5302I-U2jtrI~t%FTMYv-u}sjRCNiWf=Rmto=phBkpaHhZ0%N4& zqQbpUgr6^YT|?VJWTL@IO|~cwtGqaX->n*Y!aYWTHYQC>B2AOA63%>p*u=MrhMws3 z2jYy--nrYBIN>bgi&fbRh;k0q9fU#Z$|ZNvV9#$qpMmfEbLa^ior1E1y+#m35?#8z z%O7rUPDT<)Uk7sbuUD(2nm(Ssm=91}SMTYk)H^;8-9yB+<*TfAH1ilT@TbAAfyYFl3 z@~{0}pZFIK*6J@SUYzuJd{I0V>)0BAtCP-(ck}#wV2O3nUU~6otNxMMa13~ULKJf4 zqpx#%2TC0an8g44($yf>MoE&MZbMs$yhhFy!6?PS1H#~B;-Nh^94pJQ)DMsj+r`#z z2GnjQ+L-?<{Q0{o==RR_K<95iBMAvUr5j)IS=);rWS5@9H+6%3zqxzhblG_03&Q(R zp|y-IUt)7wmy(ey2?U-Cn|-JW5k&k%h}H@Y6nIG*Ok8M}vc3JFy_<4Yh)IsAM&#g& zRag9%Bx3y&Zy#Kz(EEE*SqpvJAU0UE;7$g~X3vk@fiQ6Xs%)6RT@2UDM>T4G4&4qZ zKdC3MT}T+{B`Gj$=8KZPFo3;+IkccFq5zCf0;igHS~-TaOgNRPOGSj6qbBf(hhQW2 zB|+tMRaRhly`at88@dUPY|Hwbs^Q>9mC~(M`tk~MD^Zjhwb*Oj6bx4ziuwb}XGfkq z>n(wihVgY5NvYWet7%nN-}7a*`yj+f<2VHb>aPctHDZg!KNDZKd(50zziaEL5OmV;pRW&46vc9f#7R`_?#Z!QDU)oN#gXD3~+NB2ij3 zdc=z;PDR7kED6_OFx=@A%}s_pm%>kkKnKzCFP<)`4?2Hu>_b_<1T{_J>}b*LRP7aE zN0_KZ@lzAeSgJqnAOTCicoBXgDPgXf03O8{jjkB-v$wg43|5%bP+>QIQT7IFwyT*? z)w{0z=WcS8#>)LaLR?vs4CL?K*|8+QYsh{hVzXdH3d9{;v2i!hWwR-2iGk|1c05qt zj)luZDw7R^Lmao4=GB3r+XMB7!2lIuWxwfV!>G06v$v1Jb!IJO2YZmO=QhajPZAOf zPedIkkTwX97+{lQ0|%o5+j_d>Ww*Y7x%$dkbiI!QPMU&xrQ(9DXX_&!#g~0713OdBjn2sZ0Pfpv6&smOf2`djg#C!J^UrB7dT-hL?IIeLsz`K^ zLuPN**mpE}8ig=9E%}{etbe4(Ywdmy_iS^VrsrTW%g;YT!UB_hCtbGq7c}IzAP36(02(Q^4 z5Yu7KQFVtOHRl(H4}W_|NZ9kr^C^CvpBjNYKybw}^mbQm>g%P3P= z$Upl{L=(~aM*3b`TZTh#e3z~XtnK8v7E@QuSEMctChinFvx55w@_Xu&vnVh>n>nRM zt*7$64O~ANGGg@FHbrZ703l)k`7hdm`))QwYem8Y_TB^=BzF*5_0vW$O6#Wb$q751 zR=wjM$lwjN)G;>wRP6U=rObT~lPk4DYQ0rdOOrQz{?~B}Ede9-_0OcH=ANayuKm^Y1{J*NO&vPpM$Xf$L{IxJe_v+F55%z{uH9p)Up2&PmBj3yh_PRRY_2P%x9SJ_K$rdhfb89+s1bVf77KUnFcUX~SyL zu|oI?7-<={T?#!ABJp_jIux*?BQG42Md`0eC;rO&yG>`~0X&&>p;=TK#wuT@9yn`wwO^iZo1isc5uWmyd@e}P(CEUaS zJ`hUEwMFlOhvo%UjM$k>Q#Z*ZGI_!iTZ@$=dO9)@W6&qBL>)PC8$P*>RJn@Qx$@_E zku1;k^Ua=gY}_e-rEqf;9@AGZ)c=EkRu|0DRew&@)p!zrQe0Hm64m}*6D0sER}3)@ zNUg^&v{LuKHZCvMHY^VqZvJuCCdA)vbaQ<#C}ebg2kH2@obORNUyTg)R#m{|y{CMy z*1i|z?4}IN*^W67cpWr0zX_ygJsLB>jQ%X7Yy#Oo@)-Q0MnNEu80}AB35cZ@mv`A6|OK+=Cwu zg+Ych9xyf?X$qS;X?P0b*O5z%sp6yXQY~IT!sOca)&5>w)Vir+%9Eg!44$JxISTdu zdTudlda4Z3xB%HnQ^HhL?8=$O@I%Y#OF6`6R?+T!PgHi2C zd%2zXdt4dHnxD`7K#aK)V1D!ZIVub~jM5yA2;qy7Yom0SLaXE9~ zYhC#>oDhHPo|&AGKif**8Oh9#d>fqdr8!GHXWliExu;x^aBrRwHYQ}tG%23uuiu8b zSxBtgE0G#x(Pc7Lmdv0?-hTaP-88Xab8ZYT7g_ND%}{?u?s4XtDHo4P=~IhJvU%!7KdtPi11Ow zIUZ~C!21?xfd6i(L(@0HX9nriGsfLKqj`;0YU1PGM!cf8|A08nV-Bf2q@BsAmzUI% zU#oAV{?&j!iJj*{*JMQy(D;kWIiXK($z{>Uu>giQ7>)Xc{DPDS@dKgJp78&iBJ3v3WZ-->Sg4bAbWH_j*U&toPQ~M zIFQZv&q-3)^1F_BT&>>f&OFWHpMqtm>2h^AtXA50{%*Q68B?z`@INDf0gaJGs;-T) za@Vv|kg}(Ay<{Hd#CLo?qQLZ-m&Y1{%1lbSj69djP!PdEPu&YZkQ zfw12Q@4^*K+8MNUzAmKU8$q?;yfDyZP?TQoNK+hGywl&c+LW8e{QOdeLXDf9=Sk$N zwGnZO>Iqr3a{>)<*utW2=X59N_5k7e85arxYNwR6cbR5#Wv^Yadg~-q{t2Ghot7k$^tC*LUJV^>r^0ZojD73n%t`uH z=CK%{Y6>gQHI1?uB^+_LAi>d(YOz?(m(7o5Qp90q3KA$fd2Ez`#qtrZ>^obYrk4}{ zNWG`+fs^1?I>F7yV|l((S1L3_Ois;;nSOvyn}L@(@XTkv1U1}uVA6A+g4Miyk4%m| zTR=T!PU8TuFt$4s^_020yzQgkPTz0_{n~^|H(iBOKn6Wymm;B8q-^ya8hzJ*L4EX) z0tb&}sF1*Nnir+>x>mttl#QTS9~wZntvNU@tVME7zbIWr5R-fR#C*L%!DiUB@s}p- zNnc(>jZROA@fn&`>3QkD@bF~1vp|aJcn{UZ7;6v4KtBdF4i83c%ToE7MiJ!R>T+4;~9+z3C06_@3dN_lJ$l{W*S_mcdP4mgbWgwtc@ber-@LaqC0 zx0{}iA)B{QBK@V6bb7QiE@bg`xdC@~8aAXDjs)xTZZu0s6s50vFcsP{y>zswj}2cR z`BCk_D|AFkB|N$>Z)iEZD5ogr8;Ts%q)q=O;{mjcZ%gEd2pJ#b+BEVwb28s+&uc?j zbvUe?56!f6WaKQ*g}BW;+-u@YkF|m@aQMhMp7WnoU(v6PS(8Z>=#G)Y3y+yk*`J+! zXoMtBz`N=0*PU~P3Qf^BQD#p5^(lh+{PT~74UshMgf^Np<*LIdrN7v=4fLz}WlG6o zN4a0Wlu+nALIEq9ntJCeeQRzl;MD`Qo`-;zwq>aN{oj%aT5k;sqkcQ|8B>#NH@|pIXT4ri13$X-6`j9CI1l0hsgQs8*1>5uF6cJ3+oao}qM~RU@zOpX;W}WDdLsw)5|%d=`Qy zJ{t|7Ot*Omx`hD8X+H%DyfqB|ybwNVrKI^f9Fv<>cO9 z3q;6WWBEjXS2a9Z?uS2lR`Q%;0=8Va+0GgMd|77f7BE<4a!+*kiZSqC)6b^CZvISB z{Wg}^y^^GbaOAoh(@P1V`T8V)YW~$;Uuk;2=gj;LmW~a4{&Y3P;z9zOZY9wEf)-ll z7W^>ClE=*VjQQkD^$cXr?72#;!1ylErIt_hWi_79e;D)dT=?jy zP=6E6I~~0&x5(Ob+w<{LW93i1ot-pv0FzV$lUV<45_f~;N$YxPM(roy@>-vl2@;x; z3Uoebgl0|S1ti)Gcmn;)6K6}LfmG~R-K159Uu(<(t;@z_V&X7I!27Cb0S9z~tm$v9w4e_( z@TY0e|LZ`#&(-;Q{rFVVtxq7gR)qFun+a{c5XG^bhR@|#W-hTJ~p6(;7C zqXkjS{Le{-!TP}Zw!r!k0Fbu;AZ_c}=iR}A7Y-MJLd4;_V?CdLuxIG`)T2vJfdM#; zp3l2hj--_HWw>uBzixg`fSt1~7my3x(X;B#TC$P*>j%hVN9`F(F3G)rn0(mj88g3^ zHLIH|h=H6#T(6WtU>DM(qL{lgnq?r;k)1afW(NOU`TFoy0Pw|!V11W=d;tm?7fL{B z8RGdEej;GyVWz)=BB)6AnkKvXp-4DjhnFBPaW*_?TI}XO1VWPkpvOyYa!UDV0LiDP z8T*x+CyinH21B&mS~ysbuLV5M%ML%!xhQ1r10Wc5FOXh?a>(%>aaZIs3+rbVyyH0M zpAMG_HV;z*UWgT$={CV=+Ftnd9FU3n*xQ+txJ&}TpE`|`-oi4jJkmV!Y$|qkt%-}I z_fT*^`X9eD2gP7lw53e-)g8ZH1Q}=HN;ln~Rb17;_no{T_sxa=cOq}0=um)4$L^Bx z;+GsAOW~$}JUSN;%5oz-8k#k^5PtU^E$l`CkFCFD3iCJi4CM_Hlxqt8$^({Z2g+2r ziWAjvxf`K;fG95+7^#o@>3fEzd<7YX&g>a;S9$p>dNrPs7`~%ai$hckw6n4DrNW2n zDNX*u>e);U9(zbn2(mu!XYh06xR@xS~V-!Q#&epF8Ccw%ThElDtA z{E2T35h;5j9W>D&ev5VpTQ@!6AJ(+=^ zTN^le&R@$WYM_PUQ6=<=?IyM2pg!Pb1NeRnM5j;8JlHGA8f3xG(ZUKIj}ZSYdmyi= zcIKqwuxbPBs>bWKUjY&ZNG@{?#8&Pvf4h1@9D2T(#|>WuA@z~VNn@B%Qw4M(n$j;{ zHuE&y1E*6>a@4hELa1rpiX<2Ut8T6OiZ9UPz<0GLFhWrDpV|?FJ zCs<{wrtC|{Kjj`ny{>{)$IL*Oc1(dX$xn0mUo%lw_J%pO%Bdh@0SEsr)e3}!!Lmb9 zdS5{NQHOM=xi4HaLUHHxQvB&)?6MOBWx7|+#|auQT&7NZ!ZEoX;1zUqIE}Zwm1=n3 z)N{(fa4l ztV+;=CY&u6w>%xlA#Vu@K23H?n! z0XJdeuw_-XM9}JWq5y4ry*EURcE*Ay3xn6~AX=~Q7F^B;;2q^nTA$}otW_7fV&LRo&fYf-$JjP&_N zZ%FHhV>MIH5nYXdJyix)Hkt`9_e6;HzyABX6ejeaoU0!XB?1LEzS2sMhoBPd%AkP? zccX~<`BSha=na4w0WV^XNuSF+w!f6GVg$0>FKL4(dD2wnGw3CpRDoIc@_{UdTgmfpcf%0U04dg7X5ri$rq(+eto5WJEt? zqHzVfbzg&q#yX^6o^yP|fSBZUY9%NIq5}OR3@rsmg{c-~a&VmC1mGD2C4lUBY~8da zxTEry`kKUU03jUoMSl47LhA&`-N--20rUWEpFcwGyK#qk5T&+0k?^gol5i8BN2?zZhD z&enb$j3R-$2zMqs2INV@6Wk!R{c$Gff!5p*&_|KhY+|Hnq_qTa-PYGs#ipZC3G#)( z#PmRLTp4JDDNew};uv!W2e1^O+L5-(yNidIL1CYH$=d(IGwoZrUud4YPjiC^a0BUx z!C>-f8pvo8Jb3VZ3F{#1uCV|hZ#)2p$ZPSpsK10*3od&-{4XH`q7DwhD1r%CkwY{a zR`J$#bg~pAKLbp9SlmQFKp-b-qZa?eYDr?rI+r?HJ3|dUj)7YLmFl1iTElU)76@56 z^M*w7e44DCsiOfrZY6weaQmDNjTLx0h^Rr8kfUYm7;jqIyOeYWfCN#mgOfP(DLD58 z=-F}as^5y_%p{&bSMUM9fH;is)-F0Hgwb%2H~=+l)P@R!{pS%Nri@fT(Qn%X4LNNY zzW~+duRW+T5D@R56pb0v?Rnu?L-WZHFW_7WcVa-gm5#Tvb+?UMp+tdR{N)W* z27CR=O^QD)Ew~=oX(*d3X$oRNLl>LMYQt`_Y(r(Vm7BSSP8JIi23;Gtu7sUZ-yh>7eLeuZ30B5Sc|pGoU)BLzgM+h|jc`XZX%T^~YAlODywy#3=%nQ#eDxC1+6xec z4d&qn+(Ri@jaX&77Q>ux!GRy;WRtM65GMs>O0nIZcza|LG~O3=_3Nb z6O?2*3$Nzuo$3>u=u>fX_&h1HcgPK#gfRe)aR_bkiL)LTkq-Au5DUt&F)H36{C(-&-3SDnu43k1As|x35LLMnce*>CaJTvmxlwd|Cb=*8I!q~ zh|-B`FNelSlDON&nxhVboasSisXhYD^agEJdmdT*rGSJ$36s#)`FP@JGs0&61M;X5Lx(0?Q(3Pif`Lo8r-9NYJ6 zFKpXE(8QG&_T`RPbV2}M5Xd{6gvpO`OIf=ZMjCVO1${vFo!p+JH{?dBxU#)?r zf$R5&rhj9M1moBsA#yU)+W;@I16Iv+0FhBAkdWlGi4_ZSfjayEwYqM$0IuSsup3w^ zdrXl{vo)w%1%N?@A#SN<{WPRIrV;~(mGn4qPXAn6=^{>BWI?x5?#3_nuzmfURtX^! zstqZlzo`#Z86f*RNNCu-OOp{D0_ya+&j-AqDx$U6$n50`r{`S=;MDq}JG9*MZ8Plu z7J+5!-=Y1}=74LG&-|a3uw1C9h~zv8Dvk-utCLsW^*1=dvTPkcsyU9{qh*Im({%?E z5Rr>fpf0;S?32O8m?Z-|$~mBe^e|XPmady-^THeND8Ss# zB40wqqj8xQ04Nh6AzRmuc!Db9XiLO=l9=R+%tu>$ITY(R_M7jpal0-rX@yKu-l?I# z^Afh?H*a91h_pTs5b7_eo2@E?vg=XaxKYN#7JCFA1ztm;DRZ z<38a~B5j1xU9g#{KbUgCU#vt9RB3`2dh207j)MndSbVJ5m!pcx{##OMsuVzN+|a)= z3Oo;#FRPl*yBd-~?5Kj#*Arl1vBD}G;U1X%WzfJ3l+M4``)lk~79^bd!~%ut+R9e4H_I|tcC@Yilf3)}I;ZVPA-^0XYZzW`lLZY(oDiu@N z64 zzd7!RlDWI0CU_%Ky2Ozt^}pK-VGGwCF;W=7ZjyZcw3*_$7R7V=0CPYGAdPCE+Iag= z@uQ^6zq3DZ5$~#YW`@T_$-tY z$LxTwis*`h#>^XfP@@>Q;-^rl?QfcD;V3$eiT7Lv@_`q71)9LnmVY*aZm2#su4HR1 zB)c74dJF$|3=WJ{3D#1B{zp>CIMPcE97z=%={?U0?Eg8fTOV3a0S43Yf{S(;AvXan zeIY;x@DLCJ0@x(TyS>oeC@t>M!ip*&_{(mEO$TJ*-)aeWdaLZyQ=I^1cLxpz`WS%> zuH2-EF^ej}x@Jjr250HEA$5)q4)8e3LZnp$-$XDN+1*nq=zr7O123&$xqcig+AOVI zEGmyUgTN>JoE$~I-{UU=*(l`XbOrewA-v?cV^&5_}5etn=!^?o#hu&m~ zb0cC*H%BN3b$z1xL30^NqCM?i*c zX+TBTc8%NkAgP+Ij|W`u1Zfsxa^jS^J3vQ@2`0VE|Ca?Qvet?~c?yXB@Bw;u^BNMV z-n%WuL=;k&JHKH)#w9#Tm!N{qMlb-bmOn=&prM|oH{F9m$j28AP)OfQYkxLiElN~D z{D&5DCByrX$UBzPgR6T~v8qw?bV1e{H3HaY5&z@y#id{NPy@I7A|*`e1Xvgvxv$CD zqN(33IdKXK^5;|&py#$GhW@c~0Agh(urli%u<`&aV4NA9r?FmLZYplBfa0?uN93OS z#|F)af0iOPu){#VcM->iSRu?(ft><(AB3H8AOH>Ccn4n32tdKV7Vd`o|1v^>vL6W) zB?2~7K0s4cN+NLPKOjs2?03XR5ADMLDl9;v)E0h;M>fX0Ej6|mXQ&T>lbl`ncdBIP^a|8L=UgyddG z)ed@YIFwyrG%%e&y#NJ*doFWMfc)~8!ptes&xw6Zo(QJ(JHa0-n!k$>Mof-@y9&c? znEiaJr|c)^o>%(e70Kv5YpJk%$VaAZa-i@;BJClGwsxrcAQx|=2!y$=TEbxj{G`1W z3Wk`!yAf8wD}N51fZQT02&i;dln2tDKzA!7Yh5H+v-jq76M!LCpVRDupXW zNHm0cBtM7e5N3ex6{G5b!xu>X`G>8*c9=t3UsC(i@5@|aV8dm2{Ihoz>ADeEsv^+@ z?JP)YS|2Ty1xsZMie~+<1*X6W&)=ZRLwGla#sOm$s#VIrk}y~fP}NKVkPb48Y5u$gST<0uX)Qgf1k9z1WUETjPNEt*2 zO~5|^S_>p!qcm!Tfe!w~qK*xR+ zCV*f_Jwg{y=$7wL#@J|sG{6{_0W`4kUx{cer3^Wuc)~;Qmkdk*J9rra#%(6S1tau1Yr~B5dt7k^yX^Lx)*cn%%0Hd36i1mD@iETLGppPDUDMNI~XKG}4GG zSb8(%OGD170V$W|`w#efkJCW&Tx?HZiaWrSd<=YYpZT+)S{B>j;?4X&d*g<^UA~R1 zD9etq8TVGOln6oyBd^bet@A&VotsOO(uVqlkV3q}e@^x`&fXfSmA zp31YZ3>O(NWb~YWvqzBt)(?_U$nJ@%JDxd&??f?Q3f}ubnJjP~%TdrvB?!`n{9qRe zqmDT*zi*+>wK7(vNS}ejDxohuhCB;$w*fN;f;7Z4KZ0kz%U;P|Ib=S#Qb{0q#)}l1Y{6MNl@iG3 zMfP@ZSs$}-sE!hMd;7TR5L84LU*y4e>hFrGTwAWChYKkPi3Zv175XWqOHJEr3e2mc zU_CedX*J9dT*IhdLMqnP>RimLc?950-Hn7(plGWf2N@0FBuRqs>)Uw&8*VTyY;~b~ z0%as^cQprq%qJDQhqie_F7aBy(FUs7=gj+m?vrz>d?(toP;063#s786ZCAib0L++D zs#^mZgld(Y#00MHo;$XYWcG~t%)Zl@kt19e6uDQ)6Z>NJTGL9>6(c5|xVLNKoE|W7 z1+(l?t~;n6J;$NMqg)pw#$*{*b0B~eu{xOzK*n?2KT-WK*^m>pZ>Vgb5Ri{Sih=XMd00)Ku;x=p>=Y6_nQ(~fqM9MoCiR@%xAQ3pIn>*) z7uXvosLYMQpe_-MikV&jMN_3;o5bi*C!3DPwUn&qYc!8k36}KpB*1p!(i|7lZ|%r=KY-F zdyjU!gb-xhy~M_8Ra+?_)Y{gR=%r5Yz%A#fnefDHhIci#Xf2)|9d`9+B9-rpyG?7j5y!TSaA#m zV_EA2J?p)UVds_MRo~ip3#%2-t}4!TOz?&((5>#BQzBXZtR8>$SOVSgQha3{pjqHA z;PCVxe_?nP=FUYfI(gWdiugHXM5vv%dap0fssrhBpRDc^YhC{xiH$pMsGKLosleX; z%{PeK011X1m!}U1(^ijIuAa`)AV9;=@dTbSgZw*~tI6N+6u7sYP*>ru>PR7iax2@O zGGdU7W^63OYn&QUlk13t@Z*2C1LE^Q23aGeac5CH`5U!zsrw7=Kj#Ir~ z%m3)$8h}GI81tUhMDz#f1rrj>TacJAz!PKF4%J$i(rpUoE6b~++tN%116WoyeE)K~ z+{UQh;IhmwgNXNDq}blIF|k|Q2AYa$0OkA2B_^W0gm#stnJ#MQRY%d_5q5PBoCGcp z-Jph{d%$((FxLf+^J53U@r1}cEniB9iw@lO2q>do@Q$NrLz&N_5~0)#B^Xt|LqvuT z;CLgU^pKCTyQeeAakBf9_pD)$Po!m)%oO+wdeNm>?^JjQvp6ap4MI=8;}o09nb+;@ z)B!Yc2f0#o$8~HIYpDJA8*;^*NRU8BjJY5>+G*s$uK+x!R>7>bKd#-D#E;iIq{-OU z@k|X}gV~fJxe_Gi6|mH@Oslj|OunF6H33}f;u|N{Y$~xQP;n~+BBBs3HTDlcNu^j@ zQztfX=6RruA(%xV?PYxcMOxqHbg+B7|7%GV5J?v2>`KALtgCvJrm8Hqyx_dN#pbx0 zX)C@c2PLuyH*1oh)H(ab)mp_~ z5y2MAg4!~n%LdtBiR@I>yy2|qj1}n|Xldmm3)uOmEjdRhyOTvFd1aoeAzVmY<6q>-Ro<`JRf8?Zi@gWYsB6AmB0IsFxxne zGSUp&A)fcW(sLmUQ+mZE`mNEFWeZr~&zT=1{Z8l9_I->T}9*6=}1f^%-$j_Pt`nT2T%DeV?X-ZBk8CO;y8hOzlRD zlUMc%t5ubZeBzD#(rBH82+HIH@4*i-9nm}LZZFO$x9X{m>M=%-e1(Ho1#;T_$A_YHFptaw~8fP$pUcWMPi-XONYU z|4hw&wTx<2esXPQ3rXnrIp!Ql{ol^Z7twnvSf2S^3hwiRa?cd9?oF+AZ6DFumG*@` zmRQIOqs~n3Oz~OEf9|gZ!`W6yXhG=5R}~T#xF`mA!R?|Of=W>fd-8$1po{V=d>S;) z0r%sRXK@<+<|`|NS4A6LG_ULNb z?1+)OIJlZR2d26g#vdGCz6|w_6e00UHeY|FP`aIetjjSYjcpWCT<~h9FuM6YTDNP{ z3v{C1VXaXa_ePZ-mw$BQi_t9!+dQ~$a-MIU0nv3LGE`8#d*K+fLtRsqdo<1d&bN*> zT4k-Zp{l@jj9z=nkjSd^+&efqXf36S+=itud3i_Q7`sR+5$;_eCi$8ra>v~B71T|5 zx1omDcx?9eXhA-oxITGz@58p1Ak?*h!s9pSS0YmCp~h&hzU;pxYH9vs`c?Hj`a_V* zmF|kb8on{Vt-jAYqM$ncyd$PowH+qy7{~S7I&k*j&NefJqE$rk*q-`alkQi&Z7Snr zOp)HV<8c<>n|L4~W`z!~_i6j7#p0H?dG4!qy&pTu!OQEMr1{axjPo~i{8zSLuC6#g z$ukJw?qLoq_BD3rGHf|bu}y`GL3*Uczwa&xD;FwFR9&l$ZmRMT#|_*IMmT5TZg^u5 z0#P7lH83ko5asGd7_oo z43#{d%C!LlM5E^KDzh}(F{LZnWRAu+f&I}E=*aKu#;2`S!u+6TA8Y9k_ck*!{6Jax zHeBftVRXR#U}|yiim=9;^fTFdUQq>65o<(hGn#G8{H$e5YwFrvk!#~V@F*Ex;arPV z&x^ubJ}xQ!AhsvfD2xB_QPl4j6Ed=$2%QQzu(JZE6aA#@=>vJPg5~@5)U;R{HaIi6 zuHHnQcDl&ZAnXqFZx33xwaMqmChxG@t=Z>AA-DT*Wp(&gelBt*&_ugd85yY-`uSf! zJyqp+i`d|umt_#;-Ck~9*{ebwa80iAHhgUS1~#_;-NFW5(Cku;fvWFTUE}P`oR>mk@R>@OQ-OD8wKNVGHh-!Luz?$5;xWF{T!pFfpeL_%+u0jB zjt43qFZ-XaSjL(Mxb1asHc}4n**&$sCtGK1^mCKEiazXy)KvZD?3E(%8kwz*dtsPc z(p&P3Ll9Pe*6Zy)!ijataTnOdeU4hz&d9Bn88rhu+Hp*ou`;M&zuK_jr3^W4y3K{S zfNfr~a*uTLZKlD%czn4{?@}U0ZS^K6PEVN9f0?9~wxh@;i?+V_R#xIn%byCL!FBm9 z7c?BYsg<5xy1BHuC{R0gypY2GaB&PQi`8XRIVV>(Pi2lteP0yo^3dEQ3wIC~`Nly= z3E!bEAJXyFu=`{C%M-sCNjaT)zwrz+c~m85o^y6x4idSqSlvw z8GJtY#CD|w^w)1#XM?$ENA`dQU7cEjm=z*-jlGemwbrJrI9~kB1^4O8l3!9?VmItzWI+{m+ZPt5^3e8`~d_!?1z%IA$z#w3b7M))Wf&?fov zhMw4qaL3KWb8|h0 z2DON8@CV)MgKjCVX=XJnL-f8}rNJ&83lFbu?r>|d?~`X*#ah(_NGR%!ln;)met?KIeYtM>%PQ6vGrj6TmGwad!87 zjQ)%>X(Uh*!agK+puJ6x+FR)uLPULsGp(;mq_^lI=pw3QO|NcuwD^)T}T64xsIKBc0%0zXpgP++ zbN#N{{kOw59TV;>FSU*e3p!hQyl{CoZ2b12{vFY|#m>`0HD)DLaP3?!(Vl#`#lPv1 zm)^x?eQjrL&lSD?PEhk5@r3z=$M2)^%(9T(BZBqRvY?*4?mx3<(3(~%@7-i&wmumx zOj?E}Ox%QiGab}hs&VXwaT4g}Fa6=K?k~UPMq-Ez2p8E~bgmUphN26cLW0-5j`hvK zr`7|rO9Y+iS6c+JJ-m9xa@E1q?FD^&<4cWk_6l4)-fA&WE`a-Q$;|M#mBa>(8qIpa zBDddq1Xz*dsNI@(kqHd!MC$YRe)TS@+|3t}>m`Rvxjk>Y?aNSGkysN9y=q!|u#|T7 z@dU3fKRlb9H7))r$k|<&ElQETqZv5M7Iy`*K)adAcHB|-(XLtK3{l@jugQeIjj9WyqfJj!yni4d$S zrN+#>s`V!Yfida*=s{fms0;Pa7e_qS_7S|e?kv>@K%4}mZqsY2=nqQ6uw&CWb zgLk}=-(&JTo$g9R{mM-efXkEkV)DyscCK?83aCmc*acMF0WhdzbN7F~{#mhxPy<_{ zbu#*$>&=;9$8=w*iGiY7ALWAkZ-X8Cfkc4r#S;PzWh%Gy5iAqA{^^RCAV zgz_)$HUnCd#8uY-XyKwq331JJVi6yp7v zFxVW?_3ji54~^&GBP9f|MqygIj_1^G4yoH@sz(-adR~VkV;{jFhuhHzgN*<>3*xj27gdBpoD#r<^l}gi#{sj`Mqt)Z zKorYeFwR(ni7@v=Apv}%ZNSC9*WBXLR-YRCt@vlm$GFI^koGg;vXy8JG$0Wvb+8I$ zcaO8j9ML&2<>z;(^dy3! zJHzxJJQw{Eud{{Q-qiaH&X?eI!dA336QlJ7?bZ-wzd$RdI3hggB2rn_Rlz zJm!|+UV>)(o`!*4z;Wrqaot0XYY#+q?iOw8O9AWw0u|{v;!?W#M3`35_s5j-$v@gN zw8w<|kFBEtmJzTK>($Osf_STu)=~D*)sX(K=k%(jxNj%=2I8(F;I2VP8oKg{DQI$l zk0gih^g51RKTHB?LI=v19a!)S8JhMnTflIg05yAFXv6O;icw0J@xt&yyCW(w-pBlotm)^#QPg=&lvKeT{-A=R``C@BY~O%5VBtEMqF! z#p)b~=@>$WUqX&Qq6som!2>ESG;sJY1s<2uz^vgT$uo(2fce)xxk7dNlU`(Zo*$mJ z5G|!!l}%Pd_Td89`G9qmAjR(4f_~{B%uR-r9!1jYq3Hw7os7ptTj8V-j&wg_f=6Hi z>_Ctpo4W30V<8#ebohC+E6NiJ?o?L>^3vU!$nM~W@D>6-Zy&02yeZyX{QyeI2ysx8 zF7yR~ozvg=cOp*eRmtLM0RF%$hDLIPK41@!L;6`LO^7|3nSx@9HiQJdX2O_{VJGVx zo1GsE=3*Cpc*rTP8Cr>{amlANI`~M(J(DZ-CG6H_5Q5AE0uS`nDgLdBQs1{Hcsq_J zQi}l>!}KK<=K;*kNfKaeIxzL6jA*!@LhSkV?NMa!+mD2{4hA<4;NC-_=f&g>W|UJn za}s_8ZL%NkQ2D);drOu7Sj7WzD>8}WB-s)l1;S884k54|fUrWg^qb0`qf|;Z*kywSpYB!ab;YO;gJVO1ghd? zh^+w@MKqZHiLN)>94Gkjl_8v#PZaAYvH)yE49O?d-~rpesS}>1(_hgQfsBPRP{X`D z>8db?0Z;B3#9f^adR1TeQ2eN~F-(W^gW@zCQCuL?frvtAOMcJh(Yde*-YXW*I`nE3 z<)7%k@xe7v#Uh?W{^v@Fh1Pe#MEjSiwa}2?;LM_gNq0z{-_A=O>4_3?rOOwUf7Id4 zunmbNMH(W<=m~O_$e>TtGGD~#bS~>A{G6|z;N@V1A?7a+ z@qrYrOPH6mkO^$OOaj>8oeb&`^7PkUR?}zVG?fW1&3TV=K=Ze6?keH>N4b=k-xxT| z&xgi2NWTaP6TF$t(SeE7NUTYU+pU45Pawk)PBIE~6O>t_D|xndZu_KuQ8jn=IzooM zK7&eCE`Q<@px0eoPIGB`vNxo%jkA07@RyNMS6hDre2Hnk zW=^m!({rdQ%1P6~QHYqR<1bi^uawi1F=71#R;rI_QxYgu`0*OF2}mn49FiEX$l~5U zo~BKBEF+UTaI=La1gy6^Yz(uV;3624y_@vPTvtc?)z*}}>9)nNk@=4c*1n@xKTF$) z{bOfH^@#0AhP9I5tq0JaObJhTv8wK;Q|azQxG+T(lPAQeXF`~hx|p?Too_K5rEg2V zT^8w*oR5B~I}Br-$W6)wC|JsUWYLOe9WCYjvcZ#Xf^!G)M1C8-5f(1uZPEdf4PlIQ zs^bOZTG1~Qk2SdTEz4t(E9EXsjpzS_8mGhY%Pp|WFS>q%?E97qr5u7uQp!HsAwI3rw?_PU+R_} zUcFCpD5bhUjcgVnP?5MRvPXss9g+@xa7v0ZI*xrNajA^pdp05el*WK&Gt-XXOptg&Ewppvjl}Xk8_!CihWJNk{!x74vn`#KkjfW4E=FUt9U)5oz zGSHUh7~$Z&#IXli5;7zbh(`ON?|qksBPJaxDWS1`nUehht(9tGer2*@i_ke26!?QH zIj(Q>uDPo-D`lLQe0h5mxA9k@I!Ac1Z#?2Wia<<9-UVlMQh{AW0L8$X0xKj4g%Otj{==l88Rh2IO@{Y@Kwp;wSV;Q) z?Y#bByB5cxt7W(I;oU>_44s!FZ)mLk4C^svQ9SC&sf<0J8DH$Xg{;m9tNVd~XWn5x~{jy%du?_8J z;!aYZEDVG_fe+NuZZ_ZC?vtG)a5wAW{f~GqF70HeLd}(7*XCc;iab*vIDX90za`nZ z&zF6dKFq16)X(4>xA1O;r$KK|Dt28mHE=Ei923=drR=t|n%h2`0cKJi{@}7-vf9=I z>b&GQ6Aue#R_thDl+!;3?6-iJIn?TXS`enXCA9K=gy#5$?)8=X5h{eVF8VMy>POfX zBo+w&PQo(<`}`&cQHr#Sg%A-sP=kxNBjix66hCp}JA z2&sd-`dI8hO_yN?Sud#GI}c_rPQ_?D1m>1d(nox7~D zfh*>E@0}`ey}H$EPIPU_(uT&G^|za?DHocXdOEa+_A1hP?sv9!W)*e7SiTrb!k4$m z8=HcvX?~~Jqa-OR-hirMhgo%R?HT;p`uCq@>yHfd)k~hJyJ2jvz5mdD8k+rP^g(wn zeP&60w|YL~ujFIZdqk6YIL@eN>7Kvmpkr&n*_ra;eQ4+j)myd^(l$q9`7|OYg2!)- zwaG^M%zi1ePIO(F#e}%d2nhJJ$!#c3{roPZ7KEf&iqNF-~QIh)a&GCu2`C%jOL(8Gq_O`qY*17 z-(MQj+$*JwesawUL%3SI>TUU{C~{O<05O_9 zp!9WgC|7B!cfl{>qI@q$?U zgRa^e3SG4i8aU*)-v3U|4-)G&X(P7cEF)%f9yG2j=ZR#QWpLZCx4)5NTPgRqHR5MRKN$O{!|_u)k5=^s(@(v=Ve;_PN|nxO2zUhc>(B)WebRU#hbWw%RLJ zokKlDPS(W&s_d}XEDxDyEqVb>ZE^|O+Xe6Qx#6t@o)@+rKdV%cWZM}yxskOprda*j zv&h@{?YlOY*57ROG*x7IqpHGhmEshin%wufu{2XZ%qi%b4bkk0_L7|3!yh+lM@E5 z16iM8FJqIFy_p-a+lvK>Kfc$$czR;AJK37_!{X0QB1gi>!C;`|nbx$joEnz^bE5pf zs_xFY14EXdB|@`kszpOu>SC_m@vaWa%(-=I%O!VTd8cR6eeP}Z(P-bavn6Iij;3E) z>cvcrw=_CycBWX{^@)B|c`|HchLpn4F&0jfkkE}R;=5epe8tCtMzU69%dFVXg;USG z`&?9&?C)nMrQcNbVC(t%t95rXF}_Y^d_;@R!20~}Io$zLTh^{M4HBW3t!gW?T3|oZ z1K=ZSg(}5^o=N5D?=h71;p(|l@d<$pA?`Em`P<@$t9X3ayj5;Qm&?SCeb~+nq%L&! zqDWw!+1T6ld29trWDKIGSBK3NT(Q?YI<$+sL%S6+wekq>^NbYxWZCit$aeJEHN7_i zUTs=cc&4rYzO30ODdu#@WW>xbkvhqyc z_G#eocI^4O*zoYCD%DS)5SBG=1$R|SNN9V=ZDQT$t?pR^Vx%jJVVp(i7JS&>&hQe^ zJ?ltfmSdK`qEE)um3Bhgg?7}bppozpmMR_;O62Flq*|6r7PsU2-TPcWT0#e%c5FtY zA5L)^*xYrx_ikWBDm1IkzjV!UKxs(Gw`%#=Ej9C<(zN&fn_8U#DmnKbi^if*Ov%`b z=k;}c`C|8EO>|t2Y@C&L`I4a`n8l%Wqr||;ai}hc!W&IYFu5hxE(sw68)>m*8cvYv z;-H_?{pnKy+X!(c?nQA*~nyZROfdRIYU6l8F9c5lunY`XMS&`|K7pCbW8>w*JFKu1l zUCZ6ty|+HG@My^mr#I`oQKa0-G@4Bh=IeQRBl=bEznK^DZ)}xj@97g4D;@7<9d5w`HQw%eqX{HC|I{Iey!Me}=fQnM4;J z(*3tJ>UG2j3(62p%XoVw*H-ebi79-LeY=6oGj&Y5LiVEfhx>IkYSKTFCclfSB;K>n ze;*^MFFNwEz8k2?>Wup{j`i;+2@zqVCJ9c59?Uw}fAA}qZyB>bp?Jc4r!0BBdeSFr z_TG+(*J9wLQ`R77X!^91ft$SGPS9mdf8WvhMz>)1TjB2Bsw*lo3B+E*St;zSnaf&T zWJ|4ESFPa*yNMqVa(!X2S&vKn))i?wiNaX-U16onZG5*;$vIH?Xkyt^RPz>HY=Jrl>@_LqQ2dPetM)nDJYu@sB3acA1@i zi_i-Prmm`XyKvdtcW^n`cbVSsvm6~7<_O-{8K3(o8XkLTq;+w*e=;Q0)zwaM;8*Bu zFh|`8+sgWBy8ODp`oo__46Bmvr{;^CP)d&XNm&n`M0aCcyEQZwIt&}ar55Hax(#G{ zDEyrFJzEx4<8RfrhmE)Ik6l}Ba{W9SdUW$?XhZ8)bqOt(HF88tEkt)8L(f-oK@c?( z*!djHH%>dnc~~cg#JacFTGu7j%X#MC7jw$-=_#{IY?q#lGn@WWKHeFh>*tsgp#0K= z*<4|~B~r}BS4G9+hT`BGuLILkN@zl6#|9PZsuf|Md9lqqYV&?EJA2;BOmEB4XH9v1 ztBb;ly`}5(RoxAl6*51bJ`KZ|r~h0)Ip5AsLOy!@43`ob{#3=3>=>X>IQBJPN_A-8 zr1oeoYwUfm^gPA~xgr8)18)p2<#rmJ8}X)TOPASB)N)Yt&%JN?5hMNMW!=uX`k{lRa-5DBPyEoQYeYWqWg@I`j9V+}uN*WIn7uqMLn_3cuB0MWR zNr^Vq$9?7P&9$=A-uKzHs;jEY2GIMYSw^Hedcoa(DOu4NPlrP5bfQlF9~b4K92%&*W=dZ2n_ z7+&A>U3}a0AVWW=DcY{IHX(dIRP9Z`M_&;5(WHq5Lqjc%R|=O|S}lz-gT(-z_`Ub{ zAYVvWgEs*(9y{%$J#^TJIlG=|;*RL^<6rH`8hVA7B&QZAh+Qs*yN(AVQG<5o29^6A zOfiP?OtmetkV#k*%WnPc*hO7>FKCn)`kUV-X~9m`b*XaaN0qn4o?m*AudDiwt{-3=A`PwP@N z%>hWM<_>iXbvNbzF+n?tMGPv<&|f89Juq5l$V+x`%&$J=LN1-kkG9<=EX38PM8Avg$0_g$Z{Q1p>UpXJa<*h#~vxZIrKFP%zP zf%6i=yVFQJL0`UaQ0Ja`t|KBlf5tN0a#IZos*+a6u}UdM(#8zXDM0%&*NeLIg4MfK zwJ1oN0*e5pi2r*D2O76jL=TDN+fi41f8q~%MF-LXK0erU#}bn&&r*7YE$=0rHP_X* zP7RT=L?fx$K18O;bkvNbeK5qd<~@vj`Thvs!3=F{U(tg@?pZP*4#W`5s0;nF?M_sI zQ!vn0KnXBJ0lDen^y%P4boBqR>Lr$*oM{$vyQ@PfW=WHTv=4=}H}L=9d3y>3ZV@4@oU6Y-!ilK-y!#4)PkI&2O}>)CeQR;S?RIv&eh1gl{&3O zK+Z@b;aqi#MPShSBe5IR@1S$s8e9{#v{p%6W>bgn&%*Ul;iU%BHUO<35MS{8o>1g( z7x@yr!>5*!!rZYR5LePU?&)~NZR;E&@8jmUe8t01H>JOkye_!e^R~idvgHcCBbZA% zn=)K(F?Y274#v0fSK6Mudcm`(i9_uj@wRmHuF5iVI_o-x)!`6+czO2a(HMTHk>)u}!y~DPlMuir63^1)mRB-eD4EgL zKMpRBa}oW zCB+xXg@3LOBmMkiR^ z3rzEI``}u5HfcL%mU-jICnPMHS}new?tCBW_0ZXeVN!Uh7rRDKcmdSHK0y7@cPhKe z;4*XYxk;|q8;o%*Dleo>AE2oWP z{jSKp5c5{7e!yPiaeAnYY?SNnq5EdhtB(J5qtcRL5^WOAd0-vXiEh^2fU4`uRQr8= zzsc=GEwjx}luX(d-Yo<-ErFB-{^8Ryw_+CDj!=xd*E50t3v9F!ctz0|d+Osj!G@KP zxS?DuVEPahTUIS?VhF9EY=C_^#44jD!xb5{6GnI<7hee|r5{9KDEP4__~VzMS!U|C zKmb(lTYd{KS0P*G$sFj}GkfmPOFR-!@yTP-0eL5%w`NGleeGiEhbKK`X&}=Vm2Q7= zEFVHq^tH%vXFQI#6cOI>Bmh~}doMTXrQSuoo>n*@N!obQqW3frPv6SK{0tM9L3Jv{EZr35D89#EUFtDbh|S+J?IpUuxy}7t8&rm!NCx$#O#Pp;qsdYv_lens z^qj*sh_}7i@r<1jn1V8sN7?NgFfo-_NZ@JagXG*ckze z0d!AtGo9rL&kvT1{hh&KAwlpD(9al$w1P97C=N1MGNRDJ(cwE{N^fxfHn369&hW-z z;jcPB_8|-7r%Sj%xYrcRsrr9VQ^6|~_YZg!W95%~mN;tuq(}$P9Q6!Gt(^UZ{X)r| zfyfL&%<#z|GN-eNtc}VjPzYJt)1~ol3pazW%MH(!wfnP5L8IPBk!2f>Yxj?9y_=nJ zqS3FDeu^J^nOi@q{UHk#aSW4g4>(VJMewY2Oy)R=7h!LM4+g>f!gzHMr*uSp9;k^n z#6G$i%~7D5sN%O9Q{1O^Pv^JkqEILAGnd?yoKu{~@077+?ejFveKo_h{a&*{Vqk}m z0YxUMkh`e=%U2|&;>EAuXt=B55;iyNK&^7j#v1C8)rF(JGr_ZHS~6iOIl4$Aw$zL3 z8g29Ts|Pe0^sGd+m+MXPoeSx;E^1$57{V*&YTY#WLjoIFh^_lQ4Q(!~&&-i!YzDK9 zf4I?}@NTGq@Dw{gaEb;sLs2cwlQx@Suxdvc{Lk1|*;8~bp&Q?RC&H{^=DFybG^HOq zoY*{jB4EO1gnfPNQ{Vk*{i;PAhpbh3d|>faq{iH-*x*3ufkE{Ze!f64rg*ZWY;o*u zUCqd++oJ&EFkD)-!`!ug{9v&9$5TPP5^f&SE4F#hFB!UPpIu4RRndOt-D0_p4CG)o z^&G7kNoF4#O6?L~t23Euqa~c`u;8f>I1h&@*o3bKqWF)D6M9JxvdrEqi=NC^h8A{kCNeP_OvrlOQTJV zPJPMe>cs!Y>B-Xjkv8*$ueZ}X`n(*wd>1R2h^L{T*RU6CMO6oF@3{W_P)ty}b7xb| zzk2n{;U6;C&E*~eW(qoTR>rHpW&4UVL4pN~EtB-(nm=&9RZatB)%K9$FcE7EptCOpv z{Kpx^CpEuFZD3iwJdFHwNMB1iZ^uN~284J_%ZRr>RHTgy%M zQJi?Dh^tNEeZ@H0(zdfbLgln_dLe?CQrpki4-;qfrOFq7uB^P92Gk$*_5$|YEW%dA zb^pzFp=kAmY{&`m3NjNZT{{p3n*7z{{V-yU-JG(Y2Vw5Kx;9Rl(sKG9JJTORx?S04tcocF*`}N^7OX zAjPme=_OBy&TofTbf1_z5>4s(z3zJ>JWV=V6qS_jC}Z8*iDKO>wI9UZ2%xxHJJXVt z-5|+Ooj|ivJ=u6nIyRM(-1+eWWY0WE#{C1w&B^)B<;v`|Wr>)CblHZ9tednG#z-_^@ zSgNf%_iGgws->T_{CVh8AIA}L=Uq`Dkps46AJE(l4`I_skTmX&-%C(oOh1hlY?b+< zUQBwP-dtWU3?Jggq_ynKViLlr_cwJ!GItKd9#(Ap=Ml;wXX_5KOH5gpZn z>`2Je$PvPcBlyz-etWHJVZ`Qg`6Y|Py7y`W+kfXW3=Vy0f^B>4?4R(*)LA}QLC8#x zJ+j9}>G;IRb04)yFgsfT(`n~U$#Zobfz{w+kVM3$nD@ zdcrVH^{;KU>N=dzD-?odg1HwO7j)Yz#KsO~UG@ca5#BR4j^$otUHFu8yFqu0;SO&0 z9dH(op9W*m3}^V5O+1IORDT}FYYt)~JMrk5E~efJtO-LtczO!7@tzg+i;zUlryv_p zUFxE7B|A?ZEOmAd{SmD+z%r;@p&R+KxXbQ>d5vmn5p#u4i8Lvnu(2(sOQaV5;xvra zPCDU?OKXCP-4rld6!Ic682M%3Dg!0lPJb>CHZup4M5< zSKPS?yx0PA6Q%l#|W%?`E&3E<` zzDjl0hV*_0x#68s%^f~;{*Y06T`vltiAb*0(=Dgkb4Z)IsM;yHdZjh%{+w1!Y5%sI z`n)DQJ=e6ubyjY&|PXM7Oty3Y8e65%-r7Jxqgn1J@W6T;KH!V_(>Bg zzioegvdBiW^&F?5+)eF2wo0_pc1P~>Ttad)(@8%B@)oDj)QuK6vfb%7u2Y@+{>?Jx z;9sU z-p-g~qb7pvk0X`);lumkZ0clg=`I z+y5F1g0BA=vVwo!OtUbdbyZs$4eJHiys%YwpETv~5!jFDIBGMFoU&c+4f34b#O)od z3As(4=Y?Hox_UnT(VP@&3<6DVnB4tvR(9}z0z8|Ut}v-S@2VJ`iiu{<^Z>|=cMIW3 zVIii>ftXTlC;D~DZdSR}Cvb(Weu1a_buq`9bN~z{U9tS$HmTFY2gPO5@ofB#W#TXx z7XmUgy1PqkF>C4o8|T8|2oS$Evr!S175AG^?uQ<`O^&PAkvel32E9ye~A&nB#p5{Na;CTWjLzqD)DD^Z@>Ex-}UwEE!=?KWdzY?<>hNz;pCbay68#?BhPj!UxAP0;w*{Yi)l*4SZf`=oul ztzxcIErzCDS#4YXwKJe9iD8OQQ*TbPtWCeh^diw9sEg1mh?cB9>@U)?Xf&n1VmW`_ zt-^U?_KD3h_oY~OBS1sB1Lnl<3D7G1_EhCB<|W1dt0Y(v|5C<_5tm>b`HeMNhGfu1 z?dr0?J*Da6!X(V{%nFjxiloj$sKRM|^z#~91+yX87odU)V%_GUKmh%vP$6Z z^HfSdc~H!ta(URBSkp~#Q=EOWEc$L#qoB4pHc0z@di~+i`*2c85w}_^L>>1%{?TXz zlRix8Lem19b0iIi&BL%x`z$3E09|hof5C^PLvsb7R?T2yMVBYVS|acwdL*E}ZNTwL z$~|nVAeh^52>8GpWP~l-CHhuxd}xH>KbJKXC(v~YU<7h@$TYojciDF~BVO7YtWhfPd*{*n1zk!DyO31B_ zlrP66mNSDjq&ti$EMGT3?ZylUKKO<;pKGRJ@%HtL=qnsvTv>FN)Vcg4AYLm6bd;0~ zw2>Wy4M)8i`VWdL#t$U_twXW??HoY7ax9uA(ppv;DiN1fbUby;VL zrmb$-GySWw&UK4HoH6}9oMuYD!BFI}`8)~}j&&(HMz;oL#LhZ$G0qmQloO8%^U?dO^hlZAiHxTQaLj5 zQHaOKNhgaK$?F}Lt*bVE_o;1n_5uxn{krQ`kgLSn5)vm!ZzOi}mT6+m($^wM&*Obw znFh9O*Bb_{*uhN=%@k!(3ym0l#3Ah%DKuuxm6=cf&&iiM40%oR3Lgd7*{MNeid0EYlAf>;}YTy6=+$saHJV% zI~WFkCHkFgkOt~}OE5QJ9X(`bxoIYR!tOKD_$QiTQq^!ugk^(mE>h_kcuawIBd=BH zG2?jn7s@!!{?CEux6g)F?VlbUVK%(t$#bQj7E$!d_rI@IfchsJ(xji*~oMC*8Uv@69d+kjOF?`CI~4| zTntf%HY6)mJgQ4f#LTiO?fRnr)FC!i-fV}(tj@BWGpYiB-iyXk7#B*iC(+{VUup(Oy{){(j!|_=2VL^R^p|+C*jQ;pT9GSD zzgrPV4%(fB=;3P9a}tU?RGw@ted|d~EPy4}S-~wL5%h!eu^isZcd2omTL1OauBlnW z=us1jt_6)CUE?X{nSy!}5_9ou3r4xjeu?=KXlfwK$YDE?OU&*NpNi)*S4kd~1+MhkfPAZ_ z%85O0MjIkPCw}Szr)!J-12=?g<&jsp1~p2cEA-W9k3VOwh3Dxp0_01$i_lI7$1-BB zkU63kOU+dyL+7GB?U*06ao>fcOW1Tl-A?Rf(uVvw)p%KU(@meD;bf&kBu~bGYf5QI ze?xY-v`~|j+1^o>@vud(ARCej50@(cd^dX$lD_rBobG;oeWndta9&p3e5n{|?KdnF zWt*SVTq{Ur^DQugJYk6yuMh)$6}=s+qCiJs;MTRx_m$Ws7}QBeVP$C8p8SxtOf)LO z-Hfc3w4*)b*%^WzvO@vW;ijH=}f7!cAK0vmD{ z@{&wBb5#nE_`~$2Z3olgMR(F9^Gm-?l70Z|iWA;rKIkE5fX`Lu!8aM?ik*^LX~>9- z&JgBC>B4f&-8hFZzq*JbFa4u6_kwpN!m5t_IJQMQ1tfV_?Pe$8GK!DPBu;5Vzwucxn|Rv?FD|cfmc{lMgZPYW456ms>-{_}Z6;4tr7I ziRetF$?o~1P-x`YhpyO4AsPhZSk{)a%}J#FRaaVDM4`x5vb$>dV`y_?jxn>w=adEQ zzq3qqQ%OIGCbM4(xCLrvVR9GgE~OwKhoFG_-=F#V0^phntkXa_0%5Skl>sj)JnJ!qCe_ z!Juwd*bTb3#hK_M828(`EBRbhEMG}V6?+-|Nx&sa?E79YajaP9 z2>dO@Rh`ovQIQnWA(K5bEPOedRbe^+)1j6hLr-?5Pd#L}dmnA0T08;s0oRR8p!D-i z1_VnciL(=eH&GvbTS3S>?^|V4^m;M-0ex=3BK7P;z>eM9mfVSH%93xRq$LZESn1oD zLQxU&Gp+GJWmm(o0w(98XT-e63&SORh(0_hTSB3f6CXNmyNZ(TF7mB z^)m&3KrOGVWh7e01@XB=ft-0^uAtr{M)_4=`W^f2L)>hGrnESAWM{{`zUQ9nQKPTl zYb^_f-G;F4lzIS7n2m!r#OwWi&Ua>VbMC4Sle$lZt`-PS@3n71(leLK>pj&heLW&U zo(kp1rL1%|Y=iYd4g)yS*;v&3HMVi5Z46fiXjShN)TKCMNo6cbod9<&c8CC=Tt8_+LE<NStp-@+X3L}Ok|+*1`VaMc$|2FKE^Kb-V|-pXeRZsB5Y$a_^%EGTPbOjN zFJs?n83d_P+f^TPY|Cviz-K<$0Ix*|ZF#R=fXM=z?ykyIE&3dmFL^`(-vGwhef3w%v)1R+wy1nugfBqj~T1C=JaD5j+SDb-o}?yN#;p52$u2Q8y$(?Y&vK#t_U_d zU044F{VnD*oBoHgx84T7kD z2uy0#s3&h^sQa{c$gbo5UoHSyN~EdiwK=tPIQ}?0lyDTiHaeApJe6fT7i1_c^?yiK z$2KKTKl?$miO?I4j|yiKY+jojQtG^xboa$Lzd5J`cTG1%xzRS_U2aJN&@7m`*rE~Th||V zZ28`GueX=(kUeF({S7uVN4|rxq#kRh+(rR?TYo}fGRk2E3wd4f-nd=18r-;j7n7_GD!0LQtt&Wb0($K0fpMY7t4Kwuxl zWhXe7@fE4B3_{fJ?dsmiKWLPQUWnsJ^~E?9JBJvLrRh>dHlh@Ntf0)txM*`|Z-O z2(m-)4=k;E9ILTG$s+lw8;^CimjE8&=%ewWq4m;7=5#~PV8n-s{hD>&!JWv+iKuC* zfa=iChsn7+_ir9KoxNR73nz-@ss?v|@jaf|CY0`)dJCR59+LCLoQW^J1DXArIcSv% z=%h9~Lgym08(5yGe$p#!6e495o$E5gpfTQU`Ti(y?F&T78ChC55*x>+ogIopC#Z)b zoBb{sLD=i>1fKq}_vgtza_ly+*hfs+a{af;XFjxZvwfz{R_Cjh)UiTkwY13pBQaO} z^hAp6kvEkpN*B}GLzjp0iZ)_KbqQM6BFwgnyhm}n4Ml^=%YSp$aQ1P^3 zeXb~16v&DVa1o4I-N<<}LluML_LRQqEZw{j4818zizBpw@B~9!w8uLezuq9X1CkAC zAz^JA?e$~92ehzT{4^pw4S~`DkCZ6#jx^AbFxAT`Q!CEWjW0r750v3b(=1`H`v;t* zCVXYVl<+!hiA?Yfr&RnuBFf}}^%J1qf6N=@fC?t;me0peyP3%U{f?Zkt7X7^6h9vQ zwRsdjl&mkDDe(oxU;QW-HLRj5C*Xh3=6^g4t9dT&E_;#DTs9dR;tCc!Dw!HnQa1e| zZlZS`%X2JdHL>c(cby1FlvGX|%kBm?XP+yY_$>&EO^f?u!U#e&5Z}2k_w|1Lv_op- zaTt@{>2Hc73D1O{Pm?05Im!iwu~8yh1MC!Q)KzB`(R2LQ2WbqFJE-OErqj5O538ZB zl@ePT6Ikns$2~ho0C2XZ9ojN!Vv7v~)6N*15SqY#Lh(oOvY5_Pnl*0Q|24IAte}ST z^*>%s8G)a1P@|2;w*2FR1hd=l!sNF{;uy|<-E`N}IWIe|dZL|x50mbQc&a;J_9JZF z7Yb$(%r7%zSnOR5@r1gK+Oald*upD1W&beo&`LOkhpsk`S z+F0U}4Sk`_6Eqt!+tD|uj1LG3K+9=!I^ndvf?^Norxhk`D1J|cHR$=HGrbcp^zP%s zwk|^2vb8|P8hK2_m8@-h3?I(XNKsY5kk7lIOZ`2d#U&h zuM|}c&VFnc%Cup~_wNFP1+^~&&p+(C6`P79Wvl8A{0317@|c1DF{B_e=S|&#^>3@6 zP=u;8mGv0RC%x)`A%aG$L6vzrjEsgmVx@3$3`|;b30&+Xi_=^EcKlO2e zK1;AV@qct8h!zk@|M@CJxU?<%1-tYr@;NLsj4_fs)n1*R<>iy@F6J(@C2Jp{J2Z0g zdBt&xz_RUuKRR>}f;Ma-MTBM4 z59%C*X~Y8qsA)J)XhGPHfMHqcw5#N=z1Ghn)6&nA#{EumCi1Yw(O26G<1LREGeS;V zU&-c8fGy^R&}jS>IU`Rke(G!;Hu8N}yK@u03|M3KY>B!O;IO#Mg!D!eeN z6vrnVKR}A76h7AvXqFqe9kl^S0Zxnw7JK}nWF7E=VRKPQcfIfeVAgkKA*`+OmPY*j z#`!Q3A#_4}_~7H<^l|=n;PT@qFA9r&;e*#mkczjFGt4qPfY)ytTEE=%9%>ABi~@Iq z3$2e3=29xfdRxvy^*hljnKzvaM$x&4_Unju^1DqJ~Tavh+-nx@d(Xnc_k%A z!42091gH<=qb`cwSgTgO7?s`6yCQNEQI`aLU!X1}uztR$jWVtF^qch?BnK2I3RhiP zAN=S>5&+B78@MIAJv&+ccI)AFf@6hqqI(ypl7iQT@1}a}!gqS(gW&wEwQzyaD8cb% z2&ZGt;;p&cjgPH;AZnq?x(N%3RS|nvxE}?Q*~}!5cRQ+HdU2rfBmBXBS+1xA+Gk zoyLMmQ6+5T;Fo0h3H(W2|3EsC*kG}R_Au^Hdf65L#&sL~q(-*`oTz4)A(+3l@8|T@ zhWLO!frZ#UYa*5EQOj>=|A=R&$fXQ1O1>@M)q+vuoQn@TsY|q0aTSlY@o|`QU$ZE`jx-hFOdVpFtw@pPC&FTZ4 zlMQ)cm83N{Br<@vXQKTX?QmvkoL=fN;#fnrOzgSm?bh=|lp=YOUjPmLbpFs$yW#YV zI_$Yyt~K0hn(amXreY| z1c#9=t5%4N?OfIB-$e>Rw=kTj>c|E1a%BpNRJhea@g04!!F{yNCK^Tq&lnS;-}Q&p zx%ncM@c+D?ff;Fi>UStDed#J-(YqGs@p0?U0uHX#G+0Y2KSpD-fqN zoov%XTf!}CNHp{Y1Vazft6ZMA_Ahq_)0I;yyekd|7Gg?x+Ej)$S5tR+g@+XmDj5o5 zUJ#ve$YhzZ<4eA@Tu#M+ht<)I#`{44)~;WU&xNGE7*B@EznhXncoW=g4LPIhRCQW# zVMXQdluz(AKDhN#x}hKa2RE`}<7{i0M+5ZT7}*hSINVUT*VJ4(=%%GdPp#qFS;RLv z*R$_z+E)egw3 z5NVaVNs_w-h>I#%v6AbB$ug)&Ro`7q8WK4}L8mO4AMZKceu3(Z%lfPXSKvXJ99l5! z_)`qC!&_TNkFEAJz=(W7hI+FJR)8Wln(r5j6iIyF7q^#GIDBb3YUEd}N4S(A8w`P+ zfc_jztC@S+2Qw*winKnuO93)zKzVg(5|Oz!xyfe88wvG!pE^=hX}{l>4TD78Z-GF= zoI;1GU^myM_gpyt^hsMb!5HULqp*MJGvgfRQllZ#!^HLv2xu}AN5tY;8qQGia2S!_ z%ahNlnRF{Jt}4cR+pj0$`ZUXmj$5-Acn`4Vgj7LtYv3id191<;Yt~I8 zZsA?G@zw3`%M_ql^7+hTIK@qb<~FJqLEA@Rr@MkVwYAAZ3N<)Z#}3^F!+`MGQoweh z)36$Q0$G0n$${Jb0AnV+Io@qJmXYBX@jmVSwmtO;m}crx4qb5%8dFR_wc$oJp0aPX zg^)p#o4%7tkEux=bv~Ch51F_QS?pMa|J@l>t(U{u0VAi!-X*#xLy><5@uD?V;j^nh zSzQffK^6M4$*+8aSxNX~(&2&b#rtd-tnf~UJ6}dsf$5PN)uUgvzu%_SXk#B)@|6#J zbK%j%=SSL`*W}2m?cP=;B_52xE0i5I3DQN%v308G0(eoB+Wp^MR2tCnlt{4g$C5xN zSbgZ3b{Y@0prHY+bypGejK8%ar2A8cM3(yimab>hw-AZmG4*42(IVtwL_FVSpo60{ zJfAeJ?0qcE!RSr9q+gI8R2Gu-O*mYER*d0t8OilcCIE=qF^iG7@-)j3ib(p zljZ9c$3btof)V;h|*h!=k{6Ed3h`)S7^?HKe`iUS6}UXLRF{-`lV{DpU|Xr zn4?bTO*^A5SZGo^UXrA(tq8bDfv{gzq619191;0!2AlFRlaBpm!?7&X#HSJtA3PX%hc`}wCHsMl=mPXpfV3~8yTE6Cec zNPL!DE}fvxm)`_YEBtyR9}wm^sB?;5%=Am-hUOhOIc{!g^^^aYSr6=YrTQ_!&47MV zXwj2)CxnZ`HrEo6FaGY4^S$4$Q`G&o{$5v@Yac^ysO4{Go64=k1UCm8jO>I?)}sg6 z5Q8Kj=~e90hNlg$c|e^E9^xmro{z2gcH;JHys>+tk*)rSgfp2bKc2V}oN7LSS}*B1 zUZW{cv-!7P{L?JfZeDqD{jWrPeFbV#^3g+Au3Ze4zeK#giR32c0RAZZ+<9XKl%|X@ zm!vL}G!bL$km0YF)_J#!NTFa{m0g-eT3n%Ub(C=ggH9KL~Cgo~6hcW}le(yljpMY$cn zHWHd%`0DD?AQ${{<79KBE($hDi&xtETIB08Godr%@e`-YrK)sI-oiR-zdi#Gk6o40 zcW{Vh-a7j6ki!ruWK{WbmHyJ*uuctMw=2AX&Bd^8`4lm;A1YYH&Y{ovvR_$^!DE|C zuHnEA1*&``39%$d>kiIWdYYG5y6Husr(H(elU%K)c3J{w)-J$@qo^Af^f&6%w|gUd zq&+XpAjv*Rwq)L;xyypM7Co*s@VMxjZFpv>FxjEZ=ZSDEIXo1%jN{iR^FGajo0T|> zV`n{@k8h=RJr4>(9S)^fw#$9MGX!j{gJ?+ewg+fv| zt|eX#%gZFLJ zht8O_lkPQP-Dg+&9!f?m$)yMO9ww({9!POhu2a8B<;lJ5ZXOi%DhpRwsh*Zj=4at0uKX6i57&`^YBCBncU;qLIrXNPwh|4&UQs_n zf#UNJVR()5@>pS2_F0Xp-NOm4-y2RZ#lnKS#_SA#K3wu%H~r3w*XTU{jB1mff83YA~fVV6A+B18~ zlO+JV98Eth2w-?sL9|hq3E?B?Fe*#y7WNWt$vst63}S88nylC}*%~_Y$1{o@0MBl0 z%Tpv<=C9hf#g%I4FZeb8YSh{S?7oy6rQ)p=bt~(qw9CJ=XAbg~~-TRS#w++EK!e6dc0Yu7R&7&TJM$D%IXd>wV|feiuEQcH5( zB$-#Twx^9{DaGxVZMs8^jXJzQZRY=KTr}~k#zPyNIUXwS_OI1zO{B=C&X_5~28(`- zQNzUySa0G!&i(1O1cHTXz1UNCU^>yj;T6XVfru;yj&j~md~o-sn_Hw3v;B@Aq~>-{ zWI8kzsexRVz1Ta$HA!{?oxvKmj!}ZBUJG_CE%`sBYcTmCV+yRdS^iBhm`$Meg?$1} zDXkd$F%;AZrs$0+eayBXCcVbqJex}|!hif+6VLp@?9>Ysbuk!h93HqAo{<4Mt`IFk z?>o6v4*Awjc0}PId!Z79Jj98*vy_Msx5unw4VNWHWh>f0I@0KW*=on*gX4iUBq-h* z8PD1utl?PKs=Oxd7i8TC2^xDl$`R+jm6KXvw z*Xaq4BRu2n##64OU-f6r+6$&#e4rmm=NZtXROHBR7X#_9>&D}Y7Jtsm!A()BgcOLU zMX4a+8xRR#%2F)<;(zh#4fB_$*X@g^0Hu#NoPTv1p2A=PEoff4ppUMOB1v(u^!}NX z$S3{4Dz2%~Y%}g;)D<|G0P7ymVl(C#U;A2Nv>N%!fW3-DVhTHA14n! z)QJQAuHeq`{XL=Q#bR+0bUOO9!<2%))`F;#>}|vj$~-uWK0Cz!(Qdi>bcwWVL$cmk z6#2Fl`tJ-mX)V$s+4gTDrNu^=lIE)sPBoh8v|1#`u7+ID$>(=c)K`*@a;+jYByAHE zA4l>HVuBC$V+spUdD2UZy}^f$H19V!COp!cYTbL*ciC%MQ^V{>A1`~G-Z$Nq7k~Q+Pi_0iLCfS=RquudX`W=L=D2D9j8+GnUphx z2Qr&+fhmwB)2J0;?96u8$L@?tRbxwH1qrSSy#a<7B-}B%B`aK|LX}D41o{TqfBKAj zr2p&fpx1S+ncGvZKHydy04`{|uZ6~`2FW~oZi?m&%>=nmGU&<+Za>MT{j?8l_oNL& zIk`(t{Wj&=m9%{L`YegsCy(tcRtJ9x?1*QVox?hi!Q_j*wmYccX6Q_I6HQ!~=;Pb7 zZXtma9bX)GTM8kmds;NEej-`t0=bDf9XDnFgWdW5r}e7%DLLOhn9DZt^}DExGisl` zl|aE=bdYL(1Oa;nd4P~p!8?bG?DUQjVoHL8H%y0Xv!u;;8ZT%QCzl-8*)108prP9k z@ItpzPjUat_p6c`oBdkNofworA;A?2SU}gU^lqd!vf8kXt19>pePch}_nFmqssrI> z*p+7e;Loh!@bqyXdpuQ2&@P%hmxOH4C;zxFIurU~2Zgp;HNr_4$7H-_LaLN6Kbko+ zrRU8zldnDh?!}I`kVSpKztchM(ITUR@-IuYEJLur*L@xn-~GbP7E_F#8(~@NOznCp zd;I$`YFWQMdm@wO!+`sEwMM*l3V^w&k#Bu?^vK9buN-kY$X_jk)mCHMLLTi=LRf(k zh}fNaz^n+{-({OHsLPZIRZxA?Rv?wnZcvfb7Al*>$#vn7j6x_?dvn#MpY*vZcm?zd*o6WM>n@~Kr?E}@d z+iipfc29> zpdz+E9*DhpvPhD8(4cgXn0pOO7F z|D?k>A}cEh-=S-pVc8;Cypo8HT=n>c{P@j7?y|}lX~l~Ec=YS23014&iFrH zYVJU%WTiqwSe)lclcYcZ+f5jHXHpvV5~Yx{RN2%K<;o&4gqVg-*gn+D3H+B%hq04a zKw(vE*COcMuI2oBPK!&93OH_%JkK3V|L^!(*a|kAmtti)HCjE042P%R~*4yZv(;2x?Y zXLe-l=~s1XDTG310A`&O{06l@iSU78)Y!c2>>YW0!62~MH2wDC@7GyB_+-cEg4CwL7yl3G zDWZo!Ef5^+zlQ%eSn_{C9NLWKgww^H<^sS)8uc>xyms8%&FGBa&o?eiMWRx7c5jel u*#84Y{=Y6qe{4Zs7V!DM_X1E4ejvCq<8KqNPB}vApyZ`hq-rHhL;oL*Uq Date: Thu, 17 Dec 2020 18:40:40 +0100 Subject: [PATCH 004/137] Make alleles channels value channels --- main.nf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/main.nf b/main.nf index c299e90..42cf7ad 100644 --- a/main.nf +++ b/main.nf @@ -121,8 +121,7 @@ if ( !params.show_supported_models ){ exit 1, "Please specify a file containing MHC alleles." } else { - ch_alleles = Channel.fromPath(params.alleles, checkIfExists: true) - (ch_alleles, ch_check_alleles) = ch_alleles.into(2) + Channel.value(file(params.alleles, checkIfExists: true)).into{ch_alleles; ch_check_alleles} } if ( params.input ){ From 303f9efe7e02219eee1089b2257f555a4ae79041 Mon Sep 17 00:00:00 2001 From: Leon Kuchenbecker Date: Fri, 22 Jan 2021 12:10:33 +0100 Subject: [PATCH 005/137] Add netmhc tool family dependencies --- environment.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/environment.yml b/environment.yml index 4a522b0..f33a9de 100644 --- a/environment.yml +++ b/environment.yml @@ -17,3 +17,6 @@ dependencies: - conda-forge::pymdown-extensions=6.0 - conda-forge::pygments=2.5.2 - conda-forge::r-markdown=1.1 + - conda-forge::tcsh=6.22.03 # netmhc dependency + - bioconda::perl-env=1.04 # netmhc dependency + - gawk=5.1.0 # netmhc dependency From 247b78309623dc158e68ba3d09390acfc90016b0 Mon Sep 17 00:00:00 2001 From: Leon Kuchenbecker Date: Mon, 25 Jan 2021 16:26:11 +0100 Subject: [PATCH 006/137] Bump version to 1.2.0dev --- .github/workflows/ci.yml | 8 ++++---- CHANGELOG.md | 2 ++ Dockerfile | 4 ++-- environment.yml | 2 +- nextflow.config | 4 ++-- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9fa3a17..8d3e957 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,13 +34,13 @@ jobs: - name: Build new docker image if: env.MATCHED_FILES - run: docker build --no-cache . -t nfcore/epitopeprediction:1.1.0 + run: docker build --no-cache . -t nfcore/epitopeprediction:dev - name: Pull docker image if: ${{ !env.MATCHED_FILES }} run: | docker pull nfcore/epitopeprediction:dev - docker tag nfcore/epitopeprediction:dev nfcore/epitopeprediction:1.1.0 + docker tag nfcore/epitopeprediction:dev nfcore/epitopeprediction:dev - name: Install Nextflow env: @@ -75,13 +75,13 @@ jobs: environment.yml - name: Build new docker image if: env.MATCHED_FILES - run: docker build --no-cache . -t nfcore/epitopeprediction:1.1.0 + run: docker build --no-cache . -t nfcore/epitopeprediction:dev - name: Pull docker image if: ${{ !env.MATCHED_FILES }} run: | docker pull nfcore/epitopeprediction:dev - docker tag nfcore/epitopeprediction:dev nfcore/epitopeprediction:1.1.0 + docker tag nfcore/epitopeprediction:dev nfcore/epitopeprediction:dev - name: Install Nextflow run: | wget -qO- get.nextflow.io | bash diff --git a/CHANGELOG.md b/CHANGELOG.md index dcf4b56..f4fbdcc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ 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.2.0dev + ## v1.1.0 - Morgenstelle - 2020-10-20 ### `Added` diff --git a/Dockerfile b/Dockerfile index 9f196a2..17e0e52 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,10 +7,10 @@ COPY environment.yml / RUN conda env create --quiet -f /environment.yml && conda clean -a # Add conda installation dir to PATH (instead of doing 'conda activate') -ENV PATH /opt/conda/envs/nf-core-epitopeprediction-1.1.0/bin:$PATH +ENV PATH /opt/conda/envs/nf-core-epitopeprediction-1.2.0dev/bin:$PATH # Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-epitopeprediction-1.1.0 > nf-core-epitopeprediction-1.1.0.yml +RUN conda env export --name nf-core-epitopeprediction-1.2.0dev > nf-core-epitopeprediction-1.2.0dev.yml # Instruct R processes to use these empty files instead of clashing with a local version RUN touch .Rprofile diff --git a/environment.yml b/environment.yml index f33a9de..5ecb018 100644 --- a/environment.yml +++ b/environment.yml @@ -1,6 +1,6 @@ # You can use this file to create a conda environment for this pipeline: # conda env create -f environment.yml -name: nf-core-epitopeprediction-1.1.0 +name: nf-core-epitopeprediction-1.2.0dev channels: - conda-forge - bioconda diff --git a/nextflow.config b/nextflow.config index 534618a..2dc60e8 100644 --- a/nextflow.config +++ b/nextflow.config @@ -58,7 +58,7 @@ params { // Container slug. Stable releases should specify release tag! // Developmental code should specify :dev -process.container = 'nfcore/epitopeprediction:1.1.0' +process.container = 'nfcore/epitopeprediction:dev' // Load base.config by default for all pipelines includeConfig 'conf/base.config' @@ -137,7 +137,7 @@ manifest { description = 'A fully reproducible and state of the art epitope prediction pipeline.' mainScript = 'main.nf' nextflowVersion = '>=20.04.0' - version = '1.1.0' + version = '1.2.0dev' } // Function to ensure that resource requirements don't go beyond From dfdd78bf5f2f9c899427df64f95aa3b36ebeed1a Mon Sep 17 00:00:00 2001 From: Leon Kuchenbecker Date: Fri, 22 Jan 2021 12:08:58 +0100 Subject: [PATCH 007/137] Make toolname comparison case insensitive --- bin/epaa.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/epaa.py b/bin/epaa.py index 3cdd4a5..545e18d 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -1011,7 +1011,7 @@ def __main__(): # NOTE this needs to be updated, if a newer version will be available via Fred2 and should be used in the future tool_version.append(('syfpeithi', '1.0')) # get for each selected method the corresponding tool version - methods = { method:version for tool, version in tool_version for method in selected_methods if tool.lower() in method.lower() } + methods = { method.lower() : version for tool, version in tool_version for method in selected_methods if tool.lower() in method.lower() } for method, version in methods.items(): if version not in EpitopePredictorFactory.available_methods()[method]: @@ -1038,7 +1038,7 @@ def __main__(): # replace method names with method names with version # complete_df.replace({'method': methods}, inplace=True) - complete_df['method'] = complete_df['method'].apply(lambda x : x + '-' + methods[x] ) + complete_df['method'] = complete_df['method'].apply(lambda x : x.lower() + '-' + methods[x.lower()] ) # include wild type sequences to dataframe if specified if args.wild_type: @@ -1149,4 +1149,4 @@ def __main__(): logger.info("Finished predictions at " + str(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))) if __name__ == "__main__": - __main__() \ No newline at end of file + __main__() From a188cdcd405120a3d572110f53cca8e160bdab13 Mon Sep 17 00:00:00 2001 From: Leon Kuchenbecker Date: Fri, 22 Jan 2021 12:11:09 +0100 Subject: [PATCH 008/137] Add netmhc tool family support to the pipeline --- bin/scrape_software_versions.py | 8 ++ main.nf | 161 ++++++++++++++++++++++++++++++-- nextflow.config | 4 + nextflow_schema.json | 31 ++++++ 4 files changed, 198 insertions(+), 6 deletions(-) diff --git a/bin/scrape_software_versions.py b/bin/scrape_software_versions.py index c9fc379..95b9070 100755 --- a/bin/scrape_software_versions.py +++ b/bin/scrape_software_versions.py @@ -12,6 +12,10 @@ 'Fred2': ['v_fred2.txt', r"fred2 (\S+)"], 'MHCFlurry': ['v_mhcflurry.txt', r"mhcflurry (\S+)"], 'MHCnuggets': ['v_mhcnuggets.txt', r"mhcnuggets (\S+)"], + 'NetMHC': ['v_netmhc.txt', r"netmhc (\S+)"], + 'NetMHCpan': ['v_netmhcpan.txt', r"netmhcpan (\S+)"], + 'NetMHCII': ['v_netmhcii.txt', r"netmhcii (\S+)"], + 'NetMHCIIpan': ['v_netmhciipan.txt', r"netmhciipan (\S+)"], } results = OrderedDict() @@ -23,6 +27,10 @@ results['Fred2'] = 'N/A' results['MHCFlurry'] = 'N/A' results['MHCnuggets'] = 'N/A' +results['NetMHC'] = 'N/A' +results['NetMHCpan'] = 'N/A' +results['NetMHCII'] = 'N/A' +results['NetMHCIIpan'] = 'N/A' # Search each file using its regex for k, v in regexes.items(): diff --git a/main.nf b/main.nf index 42cf7ad..00ac7db 100644 --- a/main.nf +++ b/main.nf @@ -37,10 +37,16 @@ def helpMessage() { --mhc_class [1,2] Specifies whether the predictions should be done for MHC class I (1) or class II (2). Default: 1 --max_peptide_length [int] Specifies the maximum peptide length (not applied when '--peptides' is specified). Default: MHC class I: 11 aa, MHC class II: 16 aa --min_peptide_length [int] Specifies the minimum peptide length (not applied when '--peptides' is specified). Default: MCH class I: 8 aa, MHC class II: 15 aa - --tools [str] Specifies a list of tool(s) to use. Available are: 'syfpeithi', 'mhcflurry', 'mhcnuggets-class-1', 'mhcnuggets-class-2'. Can be combined in a list separated by comma. + --tools [str] Specifies a list of tool(s) to use. Available are: 'syfpeithi', 'mhcflurry', 'mhcnuggets-class-1', 'mhcnuggets-class-2', 'netmhc', 'netmhcpan', 'netmhcii', 'netmhciipan'. Can be combined in a list separated by comma. --peptides_split_maxchunks [int] Used in combination with '--peptides' or '--proteins': maximum number of peptide chunks that will be created for parallelization. Default: 100 --peptides_split_minchunksize [int] Used in combination with '--peptides' or '--proteins': minimum number of peptides that should be written into one chunk. Default: 5000 + External software: + --netmhcpan_path To use the 'netmhcpan' tool, specify a path to the original NetMHCpan 4.1 tar.gz archive here. + --netmhc_path To use the 'netmhc' tool, specify a path to the original NetMHC 4.0 tar.gz archive here. + --netmhciipan_path To use the 'netmhciipan' tool, specify a path to the original NetMHCIIpan 4.0 tar.gz archive here. + --netmhcii_path To use the 'netmhcii' tool, specify a path to the original NetMHCII 2.3 tar.gz archive here. + References If not specified in the configuration file or you wish to overwrite any of the references --genome_version [str] Specifies the ensembl reference genome version (GRCh37, GRCh38) Default: GRCh37 --proteome [path/file] Specifies the reference proteome files that are used for self-filtering. Should be either a folder of FASTA files or a single FASTA file containing the reference proteome(s). @@ -80,6 +86,41 @@ ch_check_alleles = Channel.empty() // Store input base name for later def input_base_name = '' +ch_nonfree_paths = Channel.create() + +netmhc_meta = [ + netmhc : [ + version : "4.0", + software_md5 : "132dc322da1e2043521138637dd31ebf", + data_url : "http://www.cbs.dtu.dk/services/NetMHC-4.0/data.tar.gz", + data_md5 : "63c646fa0921d617576531396954d633", + binary_name : "netMHC" + ], + netmhcpan: [ + version : "4.0", + software_md5 : "94aa60f3dfd9752881c64878500e58f3", + data_url : "http://www.cbs.dtu.dk/services/NetMHCpan-4.0/data.Linux.tar.gz", + data_md5 : "26cbbd99a38f6692249442aeca48608f", + binary_name : "netMHCpan" + ], + netmhcii: [ + version : "2.2", + software_md5 : "918b7108a37599887b0725623d0974e6", + data_url : "http://www.cbs.dtu.dk/services/NetMHCII-2.2/data.tar.gz", + data_md5 : "11579b61d3bfe13311f7b42fc93b4dd8", + binary_name : "netMHCII" + ], + netmhciipan: [ + version : "3.1", + software_md5 : "0962ce799f7a4c9631f8566a55237073", + data_url : "http://www.cbs.dtu.dk/services/NetMHCIIpan-3.1/data.tar.gz", + data_md5 : "f833df245378e60ca6e55748344a36f6", + binary_name : "netMHCIIpan" + ] +] + +tools = params.tools?.tokenize(',') + // Validating parameters if ( !params.show_supported_models ){ if ( params.peptides ) { @@ -137,7 +178,7 @@ if ( !params.show_supported_models ){ exit 1, "Invalid MHC class option: ${params.mhc_class}. Valid options: 1, 2" } - if ( (params.mhc_class == 1 && params.tools.contains("mhcnuggets-class-2")) || (params.mhc_class == 2 && params.tools.contains("mhcnuggets-class-1")) ){ + if ( (params.mhc_class == 1 && tools.contains("mhcnuggets-class-2")) || (params.mhc_class == 2 && tools.contains("mhcnuggets-class-1")) ){ log.warn "Provided MHC class is not compatible with the selected MHCnuggets tool. Output might be empty.\n" } @@ -149,6 +190,38 @@ if ( !params.show_supported_models ){ { exit 1, "Invalid memory mode parameter: ${params.mem_mode}. Valid options: 'low', 'intermediate', 'high'." } + + // External tools + ["netmhc", "netmhcpan", "netmhcii", "netmhciipan"].each { + // Check if the _path parameter was set for this tool + if (params["${it}_path"] as Boolean && ! tools.contains(it)) + { + log.warn("--${it}_path specified, but --tools does not contain ${it}. Both have to be specified to enable ${it}. Ignoring.") + } + else if (!params["${it}_path"] as Boolean && tools.contains(it)) + { + log.warn("--${it}_path not specified, but --tools contains ${it}. Both have to be specified to enable ${it}. Ignoring.") + tools.removeElement(it) + } + else if (params["${it}_path"]) + { + // If so, add the tool name and user installation path to the external tools import channel + ch_nonfree_paths.bind([ + it, + netmhc_meta[it].version, + netmhc_meta[it].software_md5, + file(params["${it}_path"], checkIfExists:true), + file(netmhc_meta[it].data_url), + netmhc_meta[it].data_md5, + netmhc_meta[it].binary_name + ]) + } + } + if (tools.isEmpty()) + { + exit 1, "No valid tools specified." + } + ch_nonfree_paths.close() } // Has the run name been specified by the user? @@ -199,7 +272,7 @@ if ( params.show_supported_models ) { if ( !params.peptides && !params.proteins ) summary['Reference Genome'] = params.genome_version if ( params.proteome ) summary['Reference Proteome'] = params.proteome summary['Self-Filter'] = params.filter_self - summary['Tools'] = params.tools + summary['Tools'] = tools.join(',') summary['Wild-types'] = params.wild_type summary['Protein FASTA Output'] = params.fasta_output if ( params.peptides || params.proteins ) summary['Max. Number of Chunks for Parallelization'] = params.peptides_split_maxchunks @@ -249,6 +322,74 @@ Channel.from(summary.collect{ [it.key, it.value] }) """.stripIndent() } .set { ch_workflow_summary } +/* + * Copy non-free software provided by the user into the working directory + */ +process netmhc_tools_import { + input: + tuple val(toolname), val(toolversion), val(toolchecksum), path(tooltarball), file(datatarball), val(datachecksum), val(toolbinaryname) from ch_nonfree_paths + + output: + path "${toolname}" into ch_nonfree_tools + path "v_${toolname}.txt" into ch_nonfree_versions + + script: + """ + # + # CHECK IF THE PROVIDED SOFTWARE TARBALL IS A REGULAR FILES + # + if [ ! -f "$tooltarball" ]; then + echo "Path specified for ${toolname} does not point to a regular file. Please specify a path to the original tool tarball." >&2 + exit 1 + fi + + # + # VALIDATE THE CHECKSUM OF THE PROVIDED SOFTWARE TARBALL + # + checksum="\$(md5sum "$tooltarball" | cut -f1 -d' ')" + if [ "\$checksum" != "${toolchecksum}" ]; then + echo "Checksum error for $toolname. Please make sure to provide the original tarball for $toolname version $toolversion" >&2 + exit 2 + fi + + # + # UNPACK THE PROVIDED SOFTWARE TARBALL + # + mkdir -v "${toolname}" + tar -C "${toolname}" --strip-components 1 -x -f "$tooltarball" + + # + # MODIFY THE NETMHC WRAPPER SCRIPT ACCORDING TO INSTALL INSTRUCTIONS + # Substitution 1: We install tcsh via conda, thus /bin/tcsh won't work + # Substitution 2: We want temp files to be written to /tmp if TMPDIR is not set + # Substitution 3: NMHOME should be the folder in which the tcsh script itself resides + # + sed -i.bak \ + -e 's_bin/tcsh.*\$_usr/bin/env tcsh_' \ + -e "s_/scratch_/tmp_" \ + -e "s_setenv[[:space:]]NMHOME.*_setenv NMHOME \\`realpath -s \\\$0 | sed -r 's/[^/]+\$//'\\`_" "${toolname}/${toolbinaryname}" + + # + # VALIDATE THE CHECKSUM OF THE DOWNLOADED MODEL DATA + # + checksum="\$(md5sum "$datatarball" | cut -f1 -d' ')" + if [ "\$checksum" != "${datachecksum}" ]; then + echo "A checksum mismatch occurred when checking the data file for ${toolname}." >&2 + exit 3 + fi + + # + # UNPACK THE DOWNLOADED MODEL DATA + # + tar -C "${toolname}" -v -x -f "$datatarball" + + # + # CREATE VERSION FILE + # + echo "${toolname} ${toolversion}" > "v_${toolname}.txt" + """ +} + /* * Parse software version numbers */ @@ -258,6 +399,8 @@ process get_software_versions { if (filename.indexOf(".csv") > 0) filename else null } + input: + file ("*") from ch_nonfree_versions.collect().ifEmpty([]) output: file 'software_versions_mqc.yaml' into ch_software_versions_yaml @@ -317,7 +460,7 @@ process checkRequestedModels { check_requested_models.py ${input_type} \ --alleles ${alleles} \ --mhcclass ${params.mhc_class} \ - --tools ${params.tools} \ + --tools ${tools.join(",")} \ --versions ${software_versions} > model_warnings.log """ } @@ -410,12 +553,13 @@ process peptidePrediction { file inputs from ch_splitted_vcfs.flatten().mix(ch_splitted_tsvs.flatten(), ch_splitted_gsvars.flatten(), ch_splitted_peptides.flatten()) file alleles from ch_alleles file software_versions from ch_software_versions_csv + file ('nonfree_software/*') from ch_nonfree_tools.collect().ifEmpty([]) output: file "*.tsv" into ch_predicted_peptides file "*.json" into ch_json_reports file "*.fasta" optional true into ch_protein_fastas - + script: def input_type = params.peptides ? "--peptides ${inputs}" : params.proteins ? "--peptides ${inputs}" : "--somatic_mutations ${inputs}" def ref_prot = params.proteome ? "--proteome ${params.proteome}" : "" @@ -428,12 +572,17 @@ process peptidePrediction { # specify MHCflurry release for which to download models, need to be updated here as well when MHCflurry will be updated export MHCFLURRY_DOWNLOADS_CURRENT_RELEASE=1.4.0 + # Add non-free software to the PATH + shopt -s nullglob + for p in nonfree_software/*; do export PATH="\$(realpath -s "\$p"):\$PATH"; done + shopt -u nullglob + epaa.py ${input_type} --identifier ${inputs.baseName} \ --alleles $alleles \ --mhcclass ${params.mhc_class} \ --max_length ${params.max_peptide_length} \ --min_length ${params.min_peptide_length} \ - --tools ${params.tools} \ + --tools ${tools.join(",")} \ --versions ${software_versions} \ --reference ${params.genome_version} \ ${ref_prot} \ diff --git a/nextflow.config b/nextflow.config index 2dc60e8..92b6206 100644 --- a/nextflow.config +++ b/nextflow.config @@ -22,6 +22,10 @@ params { peptides_split_maxchunks = 100 peptides_split_minchunksize = 5000 show_supported_models = false + netmhcpan_path = false + netmhc_path = false + netmhciipan_path = false + netmhcii_path = false // Additional annotation files proteome = '' diff --git a/nextflow_schema.json b/nextflow_schema.json index 1dc1615..403cfda 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -180,6 +180,34 @@ } } }, + "external_software":{ + "title": "External software", + "type" : "object", + "description" : "External software that is not shipped with the pipeline.", + "default": "", + "properties" : { + "netmhcpan_path" : { + "type" : "string", + "default" : "", + "description" : "To use the 'netmhcpan' tool, specify the original software tarball for NetMHCpan 4.0 (Linux) here." + }, + "netmhc_path" : { + "type" : "string", + "default" : "", + "description" : "To use the 'netmhc' tool, specify the original software tarball for NetMHC 4.0 (Linux) here." + }, + "netmhciipan_path" : { + "type" : "string", + "default" : "", + "description" : "To use the 'netmhciipan' tool, specify the original software tarball for NetMHCIIpan 3.1 (Linux) here." + }, + "netmhcii_path" : { + "type" : "string", + "default" : "", + "description" : "To use the 'netmhcii' tool, specify the original software tarball for NetMHCII 2.2 (Linux) here." + } + } + }, "generic_options": { "title": "Generic options", "type": "object", @@ -360,6 +388,9 @@ { "$ref": "#/definitions/run_optimisation" }, + { + "$ref": "#/definitions/external_software" + }, { "$ref": "#/definitions/generic_options" }, From 440723f8728d9628eac2407493f2fcf253132e2a Mon Sep 17 00:00:00 2001 From: Leon Kuchenbecker Date: Fri, 22 Jan 2021 12:13:25 +0100 Subject: [PATCH 009/137] Update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4fbdcc..d92ee9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## v1.2.0dev +### `Added` + +- [#73](https://github.com/nf-core/epitopeprediction/pull/73) - Add support for the non-free netmhc tool family + ## v1.1.0 - Morgenstelle - 2020-10-20 ### `Added` From ef5c848a02ae5c01cebf2e01e89d2461a3c9f5e5 Mon Sep 17 00:00:00 2001 From: Leon Kuchenbecker Date: Fri, 22 Jan 2021 12:16:48 +0100 Subject: [PATCH 010/137] Add contribution to README file --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d0794c..5379fad 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ The nf-core/epitopeprediction pipeline comes with documentation about the pipeli ## Credits -nf-core/epitopeprediction was originally written by [Christopher Mohr](https://github.com/christopher-mohr) from [Institute for Translational Bioinformatics](https://kohlbacherlab.org/team_tbi/) and [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) and [Alexander Peltzer](https://github.com/apeltzer) from [Böhringer Ingelheim](https://www.boehringer-ingelheim.de). Further contributions were made by [Sabrina Krakau](https://github.com/skrakau) from [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/). +nf-core/epitopeprediction was originally written by [Christopher Mohr](https://github.com/christopher-mohr) from [Institute for Translational Bioinformatics](https://kohlbacherlab.org/team_tbi/) and [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) and [Alexander Peltzer](https://github.com/apeltzer) from [Böhringer Ingelheim](https://www.boehringer-ingelheim.de). Further contributions were made by [Sabrina Krakau](https://github.com/skrakau) from [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) and [Leon Kuchenbecker](https://github.com/lkuchenb) from the [Kohlbacher Lab](https://kohlbacherlab.org/). ## Contributions and Support From af9c5216b5e70fe0788961b68d5568d300be3da9 Mon Sep 17 00:00:00 2001 From: Leon Kuchenbecker Date: Fri, 22 Jan 2021 15:50:56 +0100 Subject: [PATCH 011/137] Add CI tests for NetMHC family tools --- .github/workflows/ci.yml | 50 ++++++++++++++++++++++++++++++++++++ bin/decrypt | 10 ++++++++ conf/test_netmhc.config | 24 +++++++++++++++++ conf/test_netmhcii.config | 24 +++++++++++++++++ conf/test_netmhciipan.config | 24 +++++++++++++++++ conf/test_netmhcpan.config | 24 +++++++++++++++++ nextflow.config | 4 +++ 7 files changed, 160 insertions(+) create mode 100755 bin/decrypt create mode 100644 conf/test_netmhc.config create mode 100644 conf/test_netmhcii.config create mode 100644 conf/test_netmhciipan.config create mode 100644 conf/test_netmhcpan.config diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8d3e957..17ddb42 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -89,3 +89,53 @@ jobs: - name: Run pipeline with profile ${{ matrix.tests }} run: | nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.tests }},docker + + nonfree: + name: Run non-free tests + if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }} + runs-on: ubuntu-latest + env: + NXF_VER: '20.04.0' + NXF_ANSI_LOG: false + steps: + - name: Check out pipeline code + uses: actions/checkout@v2 + + - name: Install non-free software + env: + DECRYPT_PASSPHRASE: ${{ secrets.TEST_NETMHC }} + run: | + mkdir -v non-free + curl -L https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/software/non-free-software.tar.gpg | ${GITHUB_WORKSPACE}/bin/decrypt | tar -C non-free -v -x + + - name: Check if Dockerfile or Conda environment changed + uses: technote-space/get-diff-action@v4 + with: + FILES: | + Dockerfile + environment.yml + - name: Build new docker image + if: env.MATCHED_FILES + run: docker build --no-cache . -t nfcore/epitopeprediction:dev + + - name: Pull docker image + if: ${{ !env.MATCHED_FILES }} + run: | + docker pull nfcore/epitopeprediction:dev + docker tag nfcore/epitopeprediction:dev nfcore/epitopeprediction:dev + - name: Install Nextflow + run: | + wget -qO- get.nextflow.io | bash + sudo mv nextflow /usr/local/bin/ + - name: Run pipeline with NetMHC + run: | + nextflow run ${GITHUB_WORKSPACE} -profile test_netmhc,docker + - name: Run pipeline with NetMHCII + run: | + nextflow run ${GITHUB_WORKSPACE} -profile test_netmhcii,docker + - name: Run pipeline with NetMHCpan + run: | + nextflow run ${GITHUB_WORKSPACE} -profile test_netmhcpan,docker + - name: Run pipeline with NetMHCIIpan + run: | + nextflow run ${GITHUB_WORKSPACE} -profile test_netmhciipan,docker diff --git a/bin/decrypt b/bin/decrypt new file mode 100755 index 0000000..d4d7bbd --- /dev/null +++ b/bin/decrypt @@ -0,0 +1,10 @@ +#!/bin/sh +# Decrypts stdin -> stdout reading the passphrase from the environment variable +# DECRYPT_PASSPHRASE. +gpg \ + --quiet \ + --batch \ + --yes \ + --decrypt \ + --passphrase="$DECRYPT_PASSPHRASE" \ + --output - diff --git a/conf/test_netmhc.config b/conf/test_netmhc.config new file mode 100644 index 0000000..76143de --- /dev/null +++ b/conf/test_netmhc.config @@ -0,0 +1,24 @@ +/* + * ------------------------------------------------- + * Nextflow config file for running tests + * ------------------------------------------------- + * Defines bundled input files and everything required + * to run a fast and simple test. Use as follows: + * nextflow run nf-core/epitopeprediction -profile test_netmhc, + */ + +params { + config_profile_name = 'NetMHC Test Profile' + config_profile_description = 'Peptide list based test profile for NetMHC' + + max_cpus = 2 + max_memory = 6.GB + max_time = 48.h + + // Input data + peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv' + alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' + + tools = 'netmhc' + netmhc_path = './non-free/netmhc.tar.gz' +} diff --git a/conf/test_netmhcii.config b/conf/test_netmhcii.config new file mode 100644 index 0000000..21607e2 --- /dev/null +++ b/conf/test_netmhcii.config @@ -0,0 +1,24 @@ +/* + * ------------------------------------------------- + * Nextflow config file for running tests + * ------------------------------------------------- + * Defines bundled input files and everything required + * to run a fast and simple test. Use as follows: + * nextflow run nf-core/epitopeprediction -profile test_netmhcii, + */ + +params { + config_profile_name = 'NetMHCII Test Profile' + config_profile_description = 'Peptide list based test profile for NetMHCII' + + max_cpus = 2 + max_memory = 6.GB + max_time = 48.h + + // Input data + peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides_MHC_II.txt' + alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.DRB1_01_01.txt' + + tools = 'netmhcii' + netmhcii_path = './non-free/netmhcii.tar.Z' +} diff --git a/conf/test_netmhciipan.config b/conf/test_netmhciipan.config new file mode 100644 index 0000000..fb3e9df --- /dev/null +++ b/conf/test_netmhciipan.config @@ -0,0 +1,24 @@ +/* + * ------------------------------------------------- + * Nextflow config file for running tests + * ------------------------------------------------- + * Defines bundled input files and everything required + * to run a fast and simple test. Use as follows: + * nextflow run nf-core/epitopeprediction -profile test_netmhciipan, + */ + +params { + config_profile_name = 'NetMHCIIpan Test Profile' + config_profile_description = 'Peptide list based test profile for NetMHCIIpan' + + max_cpus = 2 + max_memory = 6.GB + max_time = 48.h + + // Input data + peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides_MHC_II.txt' + alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.DRB1_01_01.txt' + + tools = 'netmhciipan' + netmhciipan_path = './non-free/netmhciipan.tar.gz' +} diff --git a/conf/test_netmhcpan.config b/conf/test_netmhcpan.config new file mode 100644 index 0000000..77535e1 --- /dev/null +++ b/conf/test_netmhcpan.config @@ -0,0 +1,24 @@ +/* + * ------------------------------------------------- + * Nextflow config file for running tests + * ------------------------------------------------- + * Defines bundled input files and everything required + * to run a fast and simple test. Use as follows: + * nextflow run nf-core/epitopeprediction -profile test_netmhcpan, + */ + +params { + config_profile_name = 'NetMHCpan Test Profile' + config_profile_description = 'Peptide list based test profile for NetMHCpan' + + max_cpus = 2 + max_memory = 6.GB + max_time = 48.h + + // Input data + peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv' + alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' + + tools = 'netmhcpan' + netmhcpan_path = './non-free/netmhcpan.tar.gz' +} diff --git a/nextflow.config b/nextflow.config index 92b6206..c16ee9d 100644 --- a/nextflow.config +++ b/nextflow.config @@ -99,6 +99,10 @@ profiles { test_proteins { includeConfig 'conf/test_proteins.config' } test_mhcnuggets { includeConfig 'conf/test_mhcnuggets.config' } test_mhcflurry { includeConfig 'conf/test_mhcflurry.config' } + test_netmhc { includeConfig 'conf/test_netmhc.config' } + test_netmhcii { includeConfig 'conf/test_netmhcii.config' } + test_netmhcpan { includeConfig 'conf/test_netmhcpan.config' } + test_netmhciipan { includeConfig 'conf/test_netmhciipan.config' } test_full { includeConfig 'conf/test_full.config' } } From d66ef963e082650ad45339c35b703fba94cd8d9b Mon Sep 17 00:00:00 2001 From: Leon Kuchenbecker Date: Wed, 27 Jan 2021 14:59:55 +0100 Subject: [PATCH 012/137] Update docs for NetMHC integration --- docs/output.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/output.md b/docs/output.md index 1182006..b407ebb 100644 --- a/docs/output.md +++ b/docs/output.md @@ -45,10 +45,7 @@ The prediction results are given as allele-specific score and affinity values pe * **Affinity**: Calculated based on the score as the percentage of the maximum value of the corresponding matrix: `score(peptide) divided by the maximum score of the allele/length-specific matrix * 100`. * **Score**: Sum of the values given by the allele-specific position-specific scoring matrix (PSSM) for the respective peptide sequence. Peptides are considered binders if the affinity is higher than 50. -* [`MHCflurry`](https://github.com/openvax/mhcflurry): - * **Affinity**: Predicted IC50 (threshold for binders: `<500 nmol/L`). - * **Score**: The provided score is calculated from the log-transformed predicted binding affinity and scaled to an interval of 0 to 1: `1-log50000(aff)`. -* [`MHCnuggets`](https://github.com/KarchinLab/mhcnuggets): +* [`MHCflurry`](https://github.com/openvax/mhcflurry), [`MHCnuggets`](https://github.com/KarchinLab/mhcnuggets) and [`NetMHC` tool family](https://services.healthtech.dtu.dk/): * **Affinity**: Predicted IC50 (threshold for binders: `<500 nmol/L`). * **Score**: The provided score is calculated from the log-transformed predicted binding affinity and scaled to an interval of 0 to 1: `1-log50000(aff)`. From 67bce22c7fda5b0e141b72300a5bf2da09f61e61 Mon Sep 17 00:00:00 2001 From: Leon Kuchenbecker Date: Wed, 27 Jan 2021 15:07:05 +0100 Subject: [PATCH 013/137] Apply suggestions from code review Co-authored-by: Christopher Mohr --- .github/workflows/ci.yml | 2 +- CHANGELOG.md | 2 +- nextflow_schema.json | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 17ddb42..a86f494 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.tests }},docker nonfree: - name: Run non-free tests + name: Run NetMHC tool family tests if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }} runs-on: ubuntu-latest env: diff --git a/CHANGELOG.md b/CHANGELOG.md index d92ee9e..4903b44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Added` -- [#73](https://github.com/nf-core/epitopeprediction/pull/73) - Add support for the non-free netmhc tool family +- [#73](https://github.com/nf-core/epitopeprediction/pull/73) - Add support for the non-free netmhc tool family including netMHC 4.0, netMHCpan 4.0, netMHCII 2.2, and netMHCIIpan 3.1 ## v1.1.0 - Morgenstelle - 2020-10-20 diff --git a/nextflow_schema.json b/nextflow_schema.json index 403cfda..1c0c969 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -183,28 +183,28 @@ "external_software":{ "title": "External software", "type" : "object", - "description" : "External software that is not shipped with the pipeline.", + "description" : "External MHC binding prediction software that is not shipped with the pipeline.", "default": "", "properties" : { "netmhcpan_path" : { "type" : "string", "default" : "", - "description" : "To use the 'netmhcpan' tool, specify the original software tarball for NetMHCpan 4.0 (Linux) here." + "description" : "To use the 'netmhcpan' tool, specify the path to the original software tarball for NetMHCpan 4.0 (Linux) here." }, "netmhc_path" : { "type" : "string", "default" : "", - "description" : "To use the 'netmhc' tool, specify the original software tarball for NetMHC 4.0 (Linux) here." + "description" : "To use the 'netmhc' tool, specify the path to the original software tarball for NetMHC 4.0 (Linux) here." }, "netmhciipan_path" : { "type" : "string", "default" : "", - "description" : "To use the 'netmhciipan' tool, specify the original software tarball for NetMHCIIpan 3.1 (Linux) here." + "description" : "To use the 'netmhciipan' tool, specify the path to the original software tarball for NetMHCIIpan 3.1 (Linux) here." }, "netmhcii_path" : { "type" : "string", "default" : "", - "description" : "To use the 'netmhcii' tool, specify the original software tarball for NetMHCII 2.2 (Linux) here." + "description" : "To use the 'netmhcii' tool, specify the path to the original software tarball for NetMHCII 2.2 (Linux) here." } } }, From 0786950c49901146dd0863339c706d486cd2d5ae Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Thu, 18 Mar 2021 12:05:03 +0000 Subject: [PATCH 014/137] Template update for nf-core/tools version 1.13 --- .github/.dockstore.yml | 1 + .github/CONTRIBUTING.md | 4 +- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/ISSUE_TEMPLATE/feature_request.md | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 6 +- .github/workflows/awsfulltest.yml | 17 +- .github/workflows/awstest.yml | 17 +- .github/workflows/branch.yml | 7 +- .github/workflows/linting.yml | 2 +- CHANGELOG.md | 2 +- CODE_OF_CONDUCT.md | 117 +++- Dockerfile | 10 +- README.md | 7 +- assets/email_template.html | 1 - assets/nf-core-epitopeprediction_logo.png | Bin 126628 -> 17147 bytes bin/markdown_to_html.py | 0 bin/scrape_software_versions.py | 0 conf/base.config | 2 +- conf/test.config | 2 + conf/test_full.config | 2 + .../images/nf-core-epitopeprediction_logo.png | Bin 126628 -> 32767 bytes docs/output.md | 4 - docs/usage.md | 12 +- environment.yml | 2 +- lib/Headers.groovy | 43 ++ lib/NfcoreSchema.groovy | 571 ++++++++++++++++++ lib/nfcore_external_java_deps.jar | Bin 0 -> 2291171 bytes main.nf | 143 ++--- nextflow.config | 44 +- nextflow_schema.json | 27 +- 30 files changed, 871 insertions(+), 176 deletions(-) mode change 100755 => 100644 bin/markdown_to_html.py mode change 100755 => 100644 bin/scrape_software_versions.py create mode 100644 lib/Headers.groovy create mode 100644 lib/NfcoreSchema.groovy create mode 100644 lib/nfcore_external_java_deps.jar diff --git a/.github/.dockstore.yml b/.github/.dockstore.yml index 030138a..191fabd 100644 --- a/.github/.dockstore.yml +++ b/.github/.dockstore.yml @@ -3,3 +3,4 @@ version: 1.2 workflows: - subclass: nfl primaryDescriptorPath: /nextflow.config + publish: True diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index dfa6cfa..ae46d2c 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -69,7 +69,7 @@ If you wish to contribute a new step, please use the following coding standards: 2. Write the process block (see below). 3. Define the output channel if needed (see below). 4. Add any new flags/options to `nextflow.config` with a default (see below). -5. Add any new flags/options to `nextflow_schema.json` with help text (with `nf-core schema build .`) +5. Add any new flags/options to `nextflow_schema.json` with help text (with `nf-core schema build .`). 6. Add any new flags/options to the help message (for integer/text parameters, print to help the corresponding `nextflow.config` parameter). 7. Add sanity checks for all relevant parameters. 8. Add any new software to the `scrape_software_versions.py` script in `bin/` and the version command to the `scrape_software_versions` process in `main.nf`. @@ -87,7 +87,7 @@ Once there, use `nf-core schema build .` to add to `nextflow_schema.json`. ### Default processes resource requirements -Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/%7B%7Bcookiecutter.name_noslash%7D%7D/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels. +Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels. The process resources can be passed on to the tool dynamically within the process with the `${task.cpu}` and `${task.memory}` variables in the `script:` block. diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 1b6abb6..be895e8 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -55,7 +55,7 @@ Have you provided the following extra information/files: ## Container engine -- Engine: +- Engine: - version: - Image tag: diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 84a2c39..3cb5e63 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,6 +1,6 @@ --- name: Feature request -about: Suggest an idea for the nf-core website +about: Suggest an idea for the nf-core/epitopeprediction pipeline labels: enhancement --- diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e2b6299..2d307d4 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -15,9 +15,9 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/epit - [ ] 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 - add to the software_versions process and a regex to `scrape_software_versions.py` - - [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/epitopeprediction/tree/master/.github/CONTRIBUTING.md) - - [ ] If necessary, also make a PR on the nf-core/epitopeprediction _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. + - [ ] If you've added a new tool - add to the software_versions process and a regex to `scrape_software_versions.py` + - [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/epitopeprediction/tree/master/.github/CONTRIBUTING.md) + - [ ] If necessary, also make a PR on the nf-core/epitopeprediction _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. - [ ] Make sure your code lints (`nf-core lint .`). - [ ] Ensure the test suite passes (`nextflow run . -profile test,docker`). - [ ] Usage Documentation in `docs/usage.md` is updated. diff --git a/.github/workflows/awsfulltest.yml b/.github/workflows/awsfulltest.yml index 4567b2d..81976dc 100644 --- a/.github/workflows/awsfulltest.yml +++ b/.github/workflows/awsfulltest.yml @@ -9,6 +9,16 @@ on: types: [completed] workflow_dispatch: + +env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} + AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} + AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} + AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} + + jobs: run-awstest: name: Run AWS full tests @@ -27,13 +37,6 @@ jobs: # Add full size test data (but still relatively small datasets for few samples) # on the `test_full.config` test runs with only one set of parameters # Then specify `-profile test_full` instead of `-profile test` on the AWS batch command - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} - AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} - AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} - AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} run: | aws batch submit-job \ --region eu-west-1 \ diff --git a/.github/workflows/awstest.yml b/.github/workflows/awstest.yml index cb9a7f6..d09e7e7 100644 --- a/.github/workflows/awstest.yml +++ b/.github/workflows/awstest.yml @@ -6,6 +6,16 @@ name: nf-core AWS test on: workflow_dispatch: + +env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} + AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} + AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} + AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} + + jobs: run-awstest: name: Run AWS tests @@ -23,13 +33,6 @@ jobs: # TODO nf-core: You can customise CI pipeline run tests as required # For example: adding multiple test runs with different parameters # Remember that you can parallelise this by using strategy.matrix - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} - AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} - AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} - AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} run: | aws batch submit-job \ --region eu-west-1 \ diff --git a/.github/workflows/branch.yml b/.github/workflows/branch.yml index 1607594..61f9f17 100644 --- a/.github/workflows/branch.yml +++ b/.github/workflows/branch.yml @@ -13,7 +13,7 @@ jobs: - name: Check PRs if: github.repository == 'nf-core/epitopeprediction' run: | - { [[ ${{github.event.pull_request.head.repo.full_name}} == nf-core/epitopeprediction ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]] + { [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/epitopeprediction ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]] # If the above check failed, post a comment on the PR explaining the failure @@ -25,11 +25,12 @@ jobs: message: | Hi @${{ github.event.pull_request.user.login }}, - It looks like this pull-request is has been made against the ${{github.event.pull_request.head.repo.full_name}} `master` branch. + It looks like this pull-request is has been made against the ${{github.event.pull_request.base.repo.full_name }} `master` branch. The `master` branch on nf-core repositories should always contain code from the latest release. - Because of this, PRs to `master` are only allowed if they come from the ${{github.event.pull_request.head.repo.full_name}} `dev` branch. + Because of this, PRs to `master` are only allowed if they come from the ${{github.event.pull_request.base.repo.full_name }} `dev` branch. You do not need to close this PR, you can change the target branch to `dev` by clicking the _"Edit"_ button at the top of this page. + Note that even after this, the test will continue to show as failing until you push a new commit. Thanks again for your contribution! repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index bef81e6..58e281d 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -69,7 +69,7 @@ jobs: if: ${{ always() }} uses: actions/upload-artifact@v2 with: - name: linting-log-file + name: linting-logs path: | lint_log.txt lint_results.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b3ca18..925d03e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ 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.1.0 - [date] +## v1.2.0dev - [date] Initial release of nf-core/epitopeprediction, created with the [nf-core](https://nf-co.re/) template. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 405fb1b..f4fd052 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,46 +1,111 @@ -# Contributor Covenant Code of Conduct +# Code of Conduct at nf-core (v1.0) ## Our Pledge -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. +In the interest of fostering an open, collaborative, and welcoming environment, we as contributors and maintainers of nf-core, pledge to making participation in our projects and community a harassment-free experience for everyone, regardless of: -## Our Standards +- Age +- Body size +- Familial status +- Gender identity and expression +- Geographical location +- Level of experience +- Nationality and national origins +- Native language +- Physical and neurological ability +- Race or ethnicity +- Religion +- Sexual identity and orientation +- Socioeconomic status -Examples of behavior that contributes to creating a positive environment include: +Please note that the list above is alphabetised and is therefore not ranked in any order of preference or importance. -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members +## Preamble -Examples of unacceptable behavior by participants include: +> Note: This Code of Conduct (CoC) has been drafted by the nf-core Safety Officer and been edited after input from members of the nf-core team and others. "We", in this document, refers to the Safety Officer and members of the nf-core core team, both of whom are deemed to be members of the nf-core community and are therefore required to abide by this Code of Conduct. This document will amended periodically to keep it up-to-date, and in case of any dispute, the most current version will apply. -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting +An up-to-date list of members of the nf-core core team can be found [here](https://nf-co.re/about). Our current safety officer is Renuka Kudva. + +nf-core is a young and growing community that welcomes contributions from anyone with a shared vision for [Open Science Policies](https://www.fosteropenscience.eu/taxonomy/term/8). Open science policies encompass inclusive behaviours and we strive to build and maintain a safe and inclusive environment for all individuals. + +We have therefore adopted this code of conduct (CoC), which we require all members of our community and attendees in nf-core events to adhere to in all our workspaces at all times. Workspaces include but are not limited to Slack, meetings on Zoom, Jitsi, YouTube live etc. + +Our CoC will be strictly enforced and the nf-core team reserve the right to exclude participants who do not comply with our guidelines from our workspaces and future nf-core activities. + +We ask all members of our community to help maintain a supportive and productive workspace and to avoid behaviours that can make individuals feel unsafe or unwelcome. Please help us maintain and uphold this CoC. + +Questions, concerns or ideas on what we can include? Contact safety [at] nf-co [dot] re ## Our Responsibilities -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. +The safety officer is responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behaviour. + +The safety officer in consultation with the nf-core core team have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +Members of the core team or the safety officer who violate the CoC will be required to recuse themselves pending investigation. They will not have access to any reports of the violations and be subject to the same actions as others in violation of the CoC. + +## When are where does this Code of Conduct apply? + +Participation in the nf-core community is contingent on following these guidelines in all our workspaces and events. This includes but is not limited to the following listed alphabetically and therefore in no order of preference: + +- Communicating with an official project email address. +- Communicating with community members within the nf-core Slack channel. +- Participating in hackathons organised by nf-core (both online and in-person events). +- Participating in collaborative work on GitHub, Google Suite, community calls, mentorship meetings, email correspondence. +- Participating in workshops, training, and seminar series organised by nf-core (both online and in-person events). This applies to events hosted on web-based platforms such as Zoom, Jitsi, YouTube live etc. +- Representing nf-core on social media. This includes both official and personal accounts. + +## nf-core cares 😊 + +nf-core's CoC and expectations of respectful behaviours for all participants (including organisers and the nf-core team) include but are not limited to the following (listed in alphabetical order): + +- Ask for consent before sharing another community member’s personal information (including photographs) on social media. +- Be respectful of differing viewpoints and experiences. We are all here to learn from one another and a difference in opinion can present a good learning opportunity. +- Celebrate your accomplishments at events! (Get creative with your use of emojis 🎉 🥳 💯 🙌 !) +- Demonstrate empathy towards other community members. (We don’t all have the same amount of time to dedicate to nf-core. If tasks are pending, don’t hesitate to gently remind members of your team. If you are leading a task, ask for help if you feel overwhelmed.) +- Engage with and enquire after others. (This is especially important given the geographically remote nature of the nf-core community, so let’s do this the best we can) +- Focus on what is best for the team and the community. (When in doubt, ask) +- Graciously accept constructive criticism, yet be unafraid to question, deliberate, and learn. +- Introduce yourself to members of the community. (We’ve all been outsiders and we know that talking to strangers can be hard for some, but remember we’re interested in getting to know you and your visions for open science!) +- Show appreciation and **provide clear feedback**. (This is especially important because we don’t see each other in person and it can be harder to interpret subtleties. Also remember that not everyone understands a certain language to the same extent as you do, so **be clear in your communications to be kind.**) +- Take breaks when you feel like you need them. +- Using welcoming and inclusive language. (Participants are encouraged to display their chosen pronouns on Zoom or in communication on Slack.) + +## nf-core frowns on 😕 + +The following behaviours from any participants within the nf-core community (including the organisers) will be considered unacceptable under this code of conduct. Engaging or advocating for any of the following could result in expulsion from nf-core workspaces. + +- Deliberate intimidation, stalking or following and sustained disruption of communication among participants of the community. This includes hijacking shared screens through actions such as using the annotate tool in conferencing software such as Zoom. +- “Doxing” i.e. posting (or threatening to post) another person’s personal identifying information online. +- Spamming or trolling of individuals on social media. +- Use of sexual or discriminatory imagery, comments, or jokes and unwelcome sexual attention. +- Verbal and text comments that reinforce social structures of domination related to gender, gender identity and expression, sexual orientation, ability, physical appearance, body size, race, age, religion or work experience. + +### Online Trolling + +The majority of nf-core interactions and events are held online. Unfortunately, holding events online comes with the added issue of online trolling. This is unacceptable, reports of such behaviour will be taken very seriously, and perpetrators will be excluded from activities immediately. + +All community members are required to ask members of the group they are working within for explicit consent prior to taking screenshots of individuals during video calls. + +## Procedures for Reporting CoC violations -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. +If someone makes you feel uncomfortable through their behaviours or actions, report it as soon as possible. -## Scope +You can reach out to members of the [nf-core core team](https://nf-co.re/about) and they will forward your concerns to the safety officer(s). -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. +Issues directly concerning members of the core team will be dealt with by other members of the core team and the safety manager, and possible conflicts of interest will be taken into account. nf-core is also in discussions about having an ombudsperson, and details will be shared in due course. -## Enforcement +All reports will be handled with utmost discretion and confidentially. -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team on [Slack](https://nf-co.re/join/slack). The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. +## Attribution and Acknowledgements -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. +- The [Contributor Covenant, version 1.4](http://contributor-covenant.org/version/1/4) +- The [OpenCon 2017 Code of Conduct](http://www.opencon2017.org/code_of_conduct) (CC BY 4.0 OpenCon organisers, SPARC and Right to Research Coalition) +- The [eLife innovation sprint 2020 Code of Conduct](https://sprint.elifesciences.org/code-of-conduct/) +- The [Mozilla Community Participation Guidelines v3.1](https://www.mozilla.org/en-US/about/governance/policies/participation/) (version 3.1, CC BY-SA 3.0 Mozilla) -## Attribution +## Changelog -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct/][version] +### v1.0 - March 12th, 2021 -[homepage]: https://contributor-covenant.org -[version]: https://www.contributor-covenant.org/version/1/4/code-of-conduct/ +- Complete rewrite from original [Contributor Covenant](http://contributor-covenant.org/) CoC. diff --git a/Dockerfile b/Dockerfile index 9f196a2..106ab01 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM nfcore/base:1.12.1 +FROM nfcore/base:1.13 LABEL authors="Christopher Mohr, Alexander Peltzer" \ description="Docker image containing all software requirements for the nf-core/epitopeprediction pipeline" @@ -7,11 +7,7 @@ COPY environment.yml / RUN conda env create --quiet -f /environment.yml && conda clean -a # Add conda installation dir to PATH (instead of doing 'conda activate') -ENV PATH /opt/conda/envs/nf-core-epitopeprediction-1.1.0/bin:$PATH +ENV PATH /opt/conda/envs/nf-core-epitopeprediction-1.2.0dev/bin:$PATH # Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-epitopeprediction-1.1.0 > nf-core-epitopeprediction-1.1.0.yml - -# Instruct R processes to use these empty files instead of clashing with a local version -RUN touch .Rprofile -RUN touch .Renviron +RUN conda env export --name nf-core-epitopeprediction-1.2.0dev > nf-core-epitopeprediction-1.2.0dev.yml diff --git a/README.md b/README.md index 5ab7378..f5a780c 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,12 @@ The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool 1. Install [`nextflow`](https://nf-co.re/usage/installation) -2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/) or [`Podman`](https://podman.io/) for full pipeline reproducibility _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_ +2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) for full pipeline reproducibility _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_ 3. Download the pipeline and test it on a minimal dataset with a single command: ```bash - nextflow run nf-core/epitopeprediction -profile test, + nextflow run nf-core/epitopeprediction -profile test, ``` > Please check [nf-core/configs](https://github.com/nf-core/configs#documentation) to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use `-profile ` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment. @@ -36,7 +36,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool ```bash - nextflow run nf-core/epitopeprediction -profile --input '*_R{1,2}.fastq.gz' --genome GRCh37 + nextflow run nf-core/epitopeprediction -profile --input '*_R{1,2}.fastq.gz' --genome GRCh37 ``` See [usage docs](https://nf-co.re/epitopeprediction/usage) for all of the available options when running the pipeline. @@ -83,7 +83,6 @@ You can cite the `nf-core` publication as follows: > Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen. > > _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x). -> ReadCube: [Full Access Link](https://rdcu.be/b1GjZ) In addition, references of tools and data used in this pipeline are as follows: diff --git a/assets/email_template.html b/assets/email_template.html index 53144dd..08d9a41 100644 --- a/assets/email_template.html +++ b/assets/email_template.html @@ -1,6 +1,5 @@ - diff --git a/assets/nf-core-epitopeprediction_logo.png b/assets/nf-core-epitopeprediction_logo.png index aa30901c87c4abae6ee8026d2c07783644379017..7922d85bfd65f3d7ab8eda6a0a3b42aa7ab8744e 100644 GIT binary patch literal 17147 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 C`D#u8 literal 126628 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%0AF#r7f>x#M<28MRVa z_G>CsiM;Tx*?djih?ktf+=^%yJUaTB5*9nc7d~kdo1R)3Jua3(%nD2^ zPaMrdOIWgCFPSd;l1##`r94*`lf`A-ZkZ%*N7QNUT z2G-0WjZ;pF3ji<{`*{xFW>xfgNTmcHhuViJRwM&SkzY)#aK_L@nOAQOjAyZ|#5%iV zzpyIlIDxp3z!z#e=?J!Gj6M@x$1@}*p2~>WGtn3q5S{8h<^pLPfCU#(Kxw~W{p(s} z4Y8ajRP1BdvOzeUVQpg{W+>@;yeCULJpS{Qx7B{x4A=%KSM%XTYRc&x(xhOESnf;w z;hu&ITt@bbGQQ$Grwi2jA=3Me=Jb!4{QTkq8O6$u(E6E?AMOmqbKi&TO+gg}t@1nL z(?=iVAt`C6~< zn3@RKpFTYaEOOJ+)0=K!edy8Wrl1+{I1{hhsmbU@IlJ<(B_tCFg8urW%PwMh8wA!` zPi89AnI3ean!@G;Dl(`C!7DS%iaeL@(ocLZGPbLJM1FjACCr`8)T=Q=e!vXd`~hkZ zS|&WVi+l!L)C^}To|O&-EUfTLXHbs8*W6?R_S-A<$UjH=Y>571m=q6O8J;*83yi)s zAE#fv^}WF&TKE|3MB}uUY7gfGDkIIk&B#AtEPxPBtqZ|Wdz^W+L z3EX{Wzpdvl)QS!yhF|B~4J(tauyPgrT#9`~pnK7w^XgCdhVbm3hs6B>jJS-9aUdi7 zjLYe8kA_u-Lmoi;XNNn#Ee9Q{qG3{px_m_FYzoHA;NN09lduRlQ$8VYVr$keC0(N+ z?lJ)a_a;AYU-RJ8_ZfrPSJTdIJL1bw^?xXOD2cgsz1uwY2~wU*G=R)R-*)=qB}o1u zTc;+KkPpIy`_HSg*V-t|K?9g1(JURY$QEDr+p4tkTce;ObJpu)!^!D<6fZm2f9s+P z=1ixfF!_o8WPw->V`%!Z30AB!9MB)b?sQ+`09JM|g$8&NWS8^+g7reH)ggZ)A!Bv4 za9SN|@X1D0M7nQi|3%H(HXTx<&*EM5ziQ>X&Yz8MlV4$`eQIKQkM<$kK2XV5u<&Cgf!KqJ$f zPq$Fa^v|)$GyWAgN?)H*ytiE5wAr!17JSj^O*YGXjO^xZ3J=;zPL*?pm?Qd^jP(hB zq+azT$Z+t3j6)yhrJSCRTfqu$LR2}9Y?wY@t(mrGpkY)e3t^bgIDuF59WNOMFf6yc zCtkQ+2F|Ql)zsGJ4xt}Q7hMSO?(Y}6_}u}{nw0qWa6Q@uHE40<51y2^A^Bbp9OEWL zBgRUE_S%E=wTg3@efru`@5v93-qf<1O#{Og~Z}&0C6~w=X7DpZ)KrCOkL28_(Wh4a6axl z$B1mBL0y5nZA!A^rT+|)Nm~(mqe;i73gal0ckxP7WYgEp%ELBx0ei0NEG$%(DuwW? zcBX@o+4anper{W}aE-t298Ee&ufi|5F2d=ijRhL?Ngkou7p#QAImP(eWZVy^-NG@T~W4Thr9YGY+_T1Z`JS$ z(jgLB{J3!V9e}rkU+I;j^g%{B>iM6uvlT{TsRp6h3IB{oMX<{~qHHzx1JYi+ue&)4 z`i&mCifd_l5W20A2a|`xhM~xnVitjTgG`d|z=bUo?*jM_l$8nK%0DLpL8BIpblMuw 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 z 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 EKLA1WAOHXW literal 126628 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%0AF#r7f>x#M<28MRVa z_G>CsiM;Tx*?djih?ktf+=^%yJUaTB5*9nc7d~kdo1R)3Jua3(%nD2^ zPaMrdOIWgCFPSd;l1##`r94*`lf`A-ZkZ%*N7QNUT z2G-0WjZ;pF3ji<{`*{xFW>xfgNTmcHhuViJRwM&SkzY)#aK_L@nOAQOjAyZ|#5%iV zzpyIlIDxp3z!z#e=?J!Gj6M@x$1@}*p2~>WGtn3q5S{8h<^pLPfCU#(Kxw~W{p(s} z4Y8ajRP1BdvOzeUVQpg{W+>@;yeCULJpS{Qx7B{x4A=%KSM%XTYRc&x(xhOESnf;w z;hu&ITt@bbGQQ$Grwi2jA=3Me=Jb!4{QTkq8O6$u(E6E?AMOmqbKi&TO+gg}t@1nL z(?=iVAt`C6~< zn3@RKpFTYaEOOJ+)0=K!edy8Wrl1+{I1{hhsmbU@IlJ<(B_tCFg8urW%PwMh8wA!` zPi89AnI3ean!@G;Dl(`C!7DS%iaeL@(ocLZGPbLJM1FjACCr`8)T=Q=e!vXd`~hkZ zS|&WVi+l!L)C^}To|O&-EUfTLXHbs8*W6?R_S-A<$UjH=Y>571m=q6O8J;*83yi)s zAE#fv^}WF&TKE|3MB}uUY7gfGDkIIk&B#AtEPxPBtqZ|Wdz^W+L z3EX{Wzpdvl)QS!yhF|B~4J(tauyPgrT#9`~pnK7w^XgCdhVbm3hs6B>jJS-9aUdi7 zjLYe8kA_u-Lmoi;XNNn#Ee9Q{qG3{px_m_FYzoHA;NN09lduRlQ$8VYVr$keC0(N+ z?lJ)a_a;AYU-RJ8_ZfrPSJTdIJL1bw^?xXOD2cgsz1uwY2~wU*G=R)R-*)=qB}o1u zTc;+KkPpIy`_HSg*V-t|K?9g1(JURY$QEDr+p4tkTce;ObJpu)!^!D<6fZm2f9s+P z=1ixfF!_o8WPw->V`%!Z30AB!9MB)b?sQ+`09JM|g$8&NWS8^+g7reH)ggZ)A!Bv4 za9SN|@X1D0M7nQi|3%H(HXTx<&*EM5ziQ>X&Yz8MlV4$`eQIKQkM<$kK2XV5u<&Cgf!KqJ$f zPq$Fa^v|)$GyWAgN?)H*ytiE5wAr!17JSj^O*YGXjO^xZ3J=;zPL*?pm?Qd^jP(hB zq+azT$Z+t3j6)yhrJSCRTfqu$LR2}9Y?wY@t(mrGpkY)e3t^bgIDuF59WNOMFf6yc zCtkQ+2F|Ql)zsGJ4xt}Q7hMSO?(Y}6_}u}{nw0qWa6Q@uHE40<51y2^A^Bbp9OEWL zBgRUE_S%E=wTg3@efru`@5v93-qf<1O#{Og~Z}&0C6~w=X7DpZ)KrCOkL28_(Wh4a6axl z$B1mBL0y5nZA!A^rT+|)Nm~(mqe;i73gal0ckxP7WYgEp%ELBx0ei0NEG$%(DuwW? zcBX@o+4anper{W}aE-t298Ee&ufi|5F2d=ijRhL?Ngkou7p#QAImP(eWZVy^-NG@T~W4Thr9YGY+_T1Z`JS$ z(jgLB{J3!V9e}rkU+I;j^g%{B>iM6uvlT{TsRp6h3IB{oMX<{~qHHzx1JYi+ue&)4 z`i&mCifd_l5W20A2a|`xhM~xnVitjTgG`d|z=bUo?*jM_l$8nK%0DLpL8BIpblMuw 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 _Documentation of pipeline parameters is generated automatically from the pipeline schema and can no longer be found in markdown files._ - ## Introduction This document describes the output produced by the pipeline. Most of the plots are taken from the MultiQC report, which summarises results at the end of the pipeline. diff --git a/docs/usage.md b/docs/usage.md index 9faad7b..71c0e96 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -51,7 +51,7 @@ This version number will be logged in reports when you run the pipeline, so that Use this parameter to choose a configuration profile. Profiles can give configuration presets for different compute environments. -Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Conda) - see below. +Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Shifter, Charliecloud, Conda) - see below. > We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported. @@ -71,8 +71,14 @@ If `-profile` is not specified, the pipeline will run locally and expect all sof * `podman` * A generic configuration profile to be used with [Podman](https://podman.io/) * Pulls software from Docker Hub: [`nfcore/epitopeprediction`](https://hub.docker.com/r/nfcore/epitopeprediction/) +* `shifter` + * A generic configuration profile to be used with [Shifter](https://nersc.gitlab.io/development/shifter/how-to-use/) + * Pulls software from Docker Hub: [`nfcore/epitopeprediction`](https://hub.docker.com/r/nfcore/epitopeprediction/) +* `charliecloud` + * A generic configuration profile to be used with [Charliecloud](https://hpc.github.io/charliecloud/) + * Pulls software from Docker Hub: [`nfcore/epitopeprediction`](https://hub.docker.com/r/nfcore/epitopeprediction/) * `conda` - * Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker, Singularity or Podman. + * Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker, Singularity, Podman, Shifter or Charliecloud. * A generic configuration profile to be used with [Conda](https://conda.io/docs/) * Pulls most software from [Bioconda](https://bioconda.github.io/) * `test` @@ -103,6 +109,8 @@ process { } ``` +To find the exact name of a process you wish to modify the compute resources, check the live-status of a nextflow run displayed on your terminal or check the nextflow error for a line like so: `Error executing process > 'bwa'`. In this case the name to specify in the custom config file is `bwa`. + See the main [Nextflow documentation](https://www.nextflow.io/docs/latest/config.html) for more information. If you are likely to be running `nf-core` pipelines regularly it may be a good idea to request that your custom config file is uploaded to the `nf-core/configs` git repository. Before you do this please can you test that the config file works with your pipeline of choice using the `-c` parameter (see definition above). You can then create a pull request to the `nf-core/configs` repository with the addition of your config file, associated documentation file (see examples in [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs)), and amending [`nfcore_custom.config`](https://github.com/nf-core/configs/blob/master/nfcore_custom.config) to include your custom profile. diff --git a/environment.yml b/environment.yml index 342131a..540d5a6 100644 --- a/environment.yml +++ b/environment.yml @@ -1,6 +1,6 @@ # You can use this file to create a conda environment for this pipeline: # conda env create -f environment.yml -name: nf-core-epitopeprediction-1.1.0 +name: nf-core-epitopeprediction-1.2.0dev channels: - conda-forge - bioconda diff --git a/lib/Headers.groovy b/lib/Headers.groovy new file mode 100644 index 0000000..15d1d38 --- /dev/null +++ b/lib/Headers.groovy @@ -0,0 +1,43 @@ +/* + * This file holds several functions used to render the nf-core ANSI header. + */ + +class Headers { + + private static Map log_colours(Boolean monochrome_logs) { + Map colorcodes = [:] + colorcodes['reset'] = monochrome_logs ? '' : "\033[0m" + colorcodes['dim'] = monochrome_logs ? '' : "\033[2m" + colorcodes['black'] = monochrome_logs ? '' : "\033[0;30m" + colorcodes['green'] = monochrome_logs ? '' : "\033[0;32m" + colorcodes['yellow'] = monochrome_logs ? '' : "\033[0;33m" + colorcodes['yellow_bold'] = monochrome_logs ? '' : "\033[1;93m" + colorcodes['blue'] = monochrome_logs ? '' : "\033[0;34m" + colorcodes['purple'] = monochrome_logs ? '' : "\033[0;35m" + colorcodes['cyan'] = monochrome_logs ? '' : "\033[0;36m" + colorcodes['white'] = monochrome_logs ? '' : "\033[0;37m" + colorcodes['red'] = monochrome_logs ? '' : "\033[1;91m" + return colorcodes + } + + static String dashed_line(monochrome_logs) { + Map colors = log_colours(monochrome_logs) + return "-${colors.dim}----------------------------------------------------${colors.reset}-" + } + + static String nf_core(workflow, monochrome_logs) { + Map colors = log_colours(monochrome_logs) + String.format( + """\n + ${dashed_line(monochrome_logs)} + ${colors.green},--.${colors.black}/${colors.green},-.${colors.reset} + ${colors.blue} ___ __ __ __ ___ ${colors.green}/,-._.--~\'${colors.reset} + ${colors.blue} |\\ | |__ __ / ` / \\ |__) |__ ${colors.yellow}} {${colors.reset} + ${colors.blue} | \\| | \\__, \\__/ | \\ |___ ${colors.green}\\`-._,-`-,${colors.reset} + ${colors.green}`._,._,\'${colors.reset} + ${colors.purple} ${workflow.manifest.name} v${workflow.manifest.version}${colors.reset} + ${dashed_line(monochrome_logs)} + """.stripIndent() + ) + } +} diff --git a/lib/NfcoreSchema.groovy b/lib/NfcoreSchema.groovy new file mode 100644 index 0000000..78e8c65 --- /dev/null +++ b/lib/NfcoreSchema.groovy @@ -0,0 +1,571 @@ +/* + * This file holds several functions used to perform JSON parameter validation, help and summary rendering for the nf-core pipeline template. + */ + +import org.everit.json.schema.Schema +import org.everit.json.schema.loader.SchemaLoader +import org.everit.json.schema.ValidationException +import org.json.JSONObject +import org.json.JSONTokener +import org.json.JSONArray +import groovy.json.JsonSlurper +import groovy.json.JsonBuilder + +class NfcoreSchema { + + /* + * Function to loop over all parameters defined in schema and check + * whether the given paremeters adhere to the specificiations + */ + /* groovylint-disable-next-line UnusedPrivateMethodParameter */ + private static void validateParameters(params, jsonSchema, log) { + def has_error = false + //=====================================================================// + // Check for nextflow core params and unexpected params + def json = new File(jsonSchema).text + def Map schemaParams = (Map) new JsonSlurper().parseText(json).get('definitions') + def nf_params = [ + // Options for base `nextflow` command + 'bg', + 'c', + 'C', + 'config', + 'd', + 'D', + 'dockerize', + 'h', + 'log', + 'q', + 'quiet', + 'syslog', + 'v', + 'version', + + // Options for `nextflow run` command + 'ansi', + 'ansi-log', + 'bg', + 'bucket-dir', + 'c', + 'cache', + 'config', + 'dsl2', + 'dump-channels', + 'dump-hashes', + 'E', + 'entry', + 'latest', + 'lib', + 'main-script', + 'N', + 'name', + 'offline', + 'params-file', + 'pi', + 'plugins', + 'poll-interval', + 'pool-size', + 'profile', + 'ps', + 'qs', + 'queue-size', + 'r', + 'resume', + 'revision', + 'stdin', + 'stub', + 'stub-run', + 'test', + 'w', + 'with-charliecloud', + 'with-conda', + 'with-dag', + 'with-docker', + 'with-mpi', + 'with-notification', + 'with-podman', + 'with-report', + 'with-singularity', + 'with-timeline', + 'with-tower', + 'with-trace', + 'with-weblog', + 'without-docker', + 'without-podman', + 'work-dir' + ] + def unexpectedParams = [] + + // Collect expected parameters from the schema + def expectedParams = [] + for (group in schemaParams) { + for (p in group.value['properties']) { + expectedParams.push(p.key) + } + } + + for (specifiedParam in params.keySet()) { + // nextflow params + if (nf_params.contains(specifiedParam)) { + log.error "ERROR: You used a core Nextflow option with two hyphens: '--${specifiedParam}'. Please resubmit with '-${specifiedParam}'" + has_error = true + } + // unexpected params + def params_ignore = params.schema_ignore_params.split(',') + 'schema_ignore_params' + if (!expectedParams.contains(specifiedParam) && !params_ignore.contains(specifiedParam)) { + unexpectedParams.push(specifiedParam) + } + } + + //=====================================================================// + // Validate parameters against the schema + InputStream inputStream = new File(jsonSchema).newInputStream() + JSONObject rawSchema = new JSONObject(new JSONTokener(inputStream)) + + // Remove anything that's in params.schema_ignore_params + rawSchema = removeIgnoredParams(rawSchema, params) + + Schema schema = SchemaLoader.load(rawSchema) + + // Clean the parameters + def cleanedParams = cleanParameters(params) + + // Convert to JSONObject + def jsonParams = new JsonBuilder(cleanedParams) + JSONObject paramsJSON = new JSONObject(jsonParams.toString()) + + // Validate + try { + schema.validate(paramsJSON) + } catch (ValidationException e) { + println '' + log.error 'ERROR: Validation of pipeline parameters failed!' + JSONObject exceptionJSON = e.toJSON() + printExceptions(exceptionJSON, paramsJSON, log) + println '' + has_error = true + } + + // Check for unexpected parameters + if (unexpectedParams.size() > 0) { + Map colors = log_colours(params.monochrome_logs) + println '' + def warn_msg = 'Found unexpected parameters:' + for (unexpectedParam in unexpectedParams) { + warn_msg = warn_msg + "\n* --${unexpectedParam}: ${params[unexpectedParam].toString()}" + } + log.warn warn_msg + log.info "- ${colors.dim}Ignore this warning: params.schema_ignore_params = \"${unexpectedParams.join(',')}\" ${colors.reset}" + println '' + } + + if (has_error) { + System.exit(1) + } + } + + // Loop over nested exceptions and print the causingException + private static void printExceptions(exJSON, paramsJSON, log) { + def causingExceptions = exJSON['causingExceptions'] + if (causingExceptions.length() == 0) { + def m = exJSON['message'] =~ /required key \[([^\]]+)\] not found/ + // Missing required param + if (m.matches()) { + log.error "* Missing required parameter: --${m[0][1]}" + } + // Other base-level error + else if (exJSON['pointerToViolation'] == '#') { + log.error "* ${exJSON['message']}" + } + // Error with specific param + else { + def param = exJSON['pointerToViolation'] - ~/^#\// + def param_val = paramsJSON[param].toString() + log.error "* --${param}: ${exJSON['message']} (${param_val})" + } + } + for (ex in causingExceptions) { + printExceptions(ex, paramsJSON, log) + } + } + + // Remove an element from a JSONArray + private static JSONArray removeElement(jsonArray, element){ + def list = [] + int len = jsonArray.length() + for (int i=0;i + if(rawSchema.keySet().contains('definitions')){ + rawSchema.definitions.each { definition -> + for (key in definition.keySet()){ + if (definition[key].get("properties").keySet().contains(ignore_param)){ + // Remove the param to ignore + definition[key].get("properties").remove(ignore_param) + // If the param was required, change this + if (definition[key].has("required")) { + def cleaned_required = removeElement(definition[key].required, ignore_param) + definition[key].put("required", cleaned_required) + } + } + } + } + } + if(rawSchema.keySet().contains('properties') && rawSchema.get('properties').containsKey(ignore_param)) { + rawSchema.get("properties").remove(ignore_param) + } + if(rawSchema.keySet().contains('required') && rawSchema.required.contains(ignore_param)) { + def cleaned_required = removeElement(rawSchema.required, ignore_param) + rawSchema.put("required", cleaned_required) + } + } + return rawSchema + } + + private static Map cleanParameters(params) { + def new_params = params.getClass().newInstance(params) + for (p in params) { + // remove anything evaluating to false + if (!p['value']) { + new_params.remove(p.key) + } + // Cast MemoryUnit to String + if (p['value'].getClass() == nextflow.util.MemoryUnit) { + new_params.replace(p.key, p['value'].toString()) + } + // Cast Duration to String + if (p['value'].getClass() == nextflow.util.Duration) { + new_params.replace(p.key, p['value'].toString()) + } + // Cast LinkedHashMap to String + if (p['value'].getClass() == LinkedHashMap) { + new_params.replace(p.key, p['value'].toString()) + } + } + return new_params + } + + /* + * This method tries to read a JSON params file + */ + private static LinkedHashMap params_load(String json_schema) { + def params_map = new LinkedHashMap() + try { + params_map = params_read(json_schema) + } catch (Exception e) { + println "Could not read parameters settings from JSON. $e" + params_map = new LinkedHashMap() + } + return params_map + } + + private static Map log_colours(Boolean monochrome_logs) { + Map colorcodes = [:] + + // Reset / Meta + colorcodes['reset'] = monochrome_logs ? '' : "\033[0m" + colorcodes['bold'] = monochrome_logs ? '' : "\033[1m" + colorcodes['dim'] = monochrome_logs ? '' : "\033[2m" + colorcodes['underlined'] = monochrome_logs ? '' : "\033[4m" + colorcodes['blink'] = monochrome_logs ? '' : "\033[5m" + colorcodes['reverse'] = monochrome_logs ? '' : "\033[7m" + colorcodes['hidden'] = monochrome_logs ? '' : "\033[8m" + + // Regular Colors + colorcodes['black'] = monochrome_logs ? '' : "\033[0;30m" + colorcodes['red'] = monochrome_logs ? '' : "\033[0;31m" + colorcodes['green'] = monochrome_logs ? '' : "\033[0;32m" + colorcodes['yellow'] = monochrome_logs ? '' : "\033[0;33m" + colorcodes['blue'] = monochrome_logs ? '' : "\033[0;34m" + colorcodes['purple'] = monochrome_logs ? '' : "\033[0;35m" + colorcodes['cyan'] = monochrome_logs ? '' : "\033[0;36m" + colorcodes['white'] = monochrome_logs ? '' : "\033[0;37m" + + // Bold + colorcodes['bblack'] = monochrome_logs ? '' : "\033[1;30m" + colorcodes['bred'] = monochrome_logs ? '' : "\033[1;31m" + colorcodes['bgreen'] = monochrome_logs ? '' : "\033[1;32m" + colorcodes['byellow'] = monochrome_logs ? '' : "\033[1;33m" + colorcodes['bblue'] = monochrome_logs ? '' : "\033[1;34m" + colorcodes['bpurple'] = monochrome_logs ? '' : "\033[1;35m" + colorcodes['bcyan'] = monochrome_logs ? '' : "\033[1;36m" + colorcodes['bwhite'] = monochrome_logs ? '' : "\033[1;37m" + + // Underline + colorcodes['ublack'] = monochrome_logs ? '' : "\033[4;30m" + colorcodes['ured'] = monochrome_logs ? '' : "\033[4;31m" + colorcodes['ugreen'] = monochrome_logs ? '' : "\033[4;32m" + colorcodes['uyellow'] = monochrome_logs ? '' : "\033[4;33m" + colorcodes['ublue'] = monochrome_logs ? '' : "\033[4;34m" + colorcodes['upurple'] = monochrome_logs ? '' : "\033[4;35m" + colorcodes['ucyan'] = monochrome_logs ? '' : "\033[4;36m" + colorcodes['uwhite'] = monochrome_logs ? '' : "\033[4;37m" + + // High Intensity + colorcodes['iblack'] = monochrome_logs ? '' : "\033[0;90m" + colorcodes['ired'] = monochrome_logs ? '' : "\033[0;91m" + colorcodes['igreen'] = monochrome_logs ? '' : "\033[0;92m" + colorcodes['iyellow'] = monochrome_logs ? '' : "\033[0;93m" + colorcodes['iblue'] = monochrome_logs ? '' : "\033[0;94m" + colorcodes['ipurple'] = monochrome_logs ? '' : "\033[0;95m" + colorcodes['icyan'] = monochrome_logs ? '' : "\033[0;96m" + colorcodes['iwhite'] = monochrome_logs ? '' : "\033[0;97m" + + // Bold High Intensity + colorcodes['biblack'] = monochrome_logs ? '' : "\033[1;90m" + colorcodes['bired'] = monochrome_logs ? '' : "\033[1;91m" + colorcodes['bigreen'] = monochrome_logs ? '' : "\033[1;92m" + colorcodes['biyellow'] = monochrome_logs ? '' : "\033[1;93m" + colorcodes['biblue'] = monochrome_logs ? '' : "\033[1;94m" + colorcodes['bipurple'] = monochrome_logs ? '' : "\033[1;95m" + colorcodes['bicyan'] = monochrome_logs ? '' : "\033[1;96m" + colorcodes['biwhite'] = monochrome_logs ? '' : "\033[1;97m" + + return colorcodes + } + + static String dashed_line(monochrome_logs) { + Map colors = log_colours(monochrome_logs) + return "-${colors.dim}----------------------------------------------------${colors.reset}-" + } + + /* + Method to actually read in JSON file using Groovy. + Group (as Key), values are all parameters + - Parameter1 as Key, Description as Value + - Parameter2 as Key, Description as Value + .... + Group + - + */ + private static LinkedHashMap params_read(String json_schema) throws Exception { + def json = new File(json_schema).text + def Map schema_definitions = (Map) new JsonSlurper().parseText(json).get('definitions') + def Map schema_properties = (Map) new JsonSlurper().parseText(json).get('properties') + /* Tree looks like this in nf-core schema + * definitions <- this is what the first get('definitions') gets us + group 1 + title + description + properties + parameter 1 + type + description + parameter 2 + type + description + group 2 + title + description + properties + parameter 1 + type + description + * properties <- parameters can also be ungrouped, outside of definitions + parameter 1 + type + description + */ + + // Grouped params + def params_map = new LinkedHashMap() + schema_definitions.each { key, val -> + def Map group = schema_definitions."$key".properties // Gets the property object of the group + def title = schema_definitions."$key".title + def sub_params = new LinkedHashMap() + group.each { innerkey, value -> + sub_params.put(innerkey, value) + } + params_map.put(title, sub_params) + } + + // Ungrouped params + def ungrouped_params = new LinkedHashMap() + schema_properties.each { innerkey, value -> + ungrouped_params.put(innerkey, value) + } + params_map.put("Other parameters", ungrouped_params) + + return params_map + } + + /* + * Get maximum number of characters across all parameter names + */ + private static Integer params_max_chars(params_map) { + Integer max_chars = 0 + for (group in params_map.keySet()) { + def group_params = params_map.get(group) // This gets the parameters of that particular group + for (param in group_params.keySet()) { + if (param.size() > max_chars) { + max_chars = param.size() + } + } + } + return max_chars + } + + /* + * Beautify parameters for --help + */ + private static String params_help(workflow, params, json_schema, command) { + Map colors = log_colours(params.monochrome_logs) + Integer num_hidden = 0 + String output = '' + output += 'Typical pipeline command:\n\n' + output += " ${colors.cyan}${command}${colors.reset}\n\n" + Map params_map = params_load(json_schema) + Integer max_chars = params_max_chars(params_map) + 1 + Integer desc_indent = max_chars + 14 + Integer dec_linewidth = 160 - desc_indent + for (group in params_map.keySet()) { + Integer num_params = 0 + String group_output = colors.underlined + colors.bold + group + colors.reset + '\n' + def group_params = params_map.get(group) // This gets the parameters of that particular group + for (param in group_params.keySet()) { + if (group_params.get(param).hidden && !params.show_hidden_params) { + num_hidden += 1 + continue; + } + def type = '[' + group_params.get(param).type + ']' + def description = group_params.get(param).description + def defaultValue = group_params.get(param).default ? " [default: " + group_params.get(param).default.toString() + "]" : '' + def description_default = description + colors.dim + defaultValue + colors.reset + // Wrap long description texts + // Loosely based on https://dzone.com/articles/groovy-plain-text-word-wrap + if (description_default.length() > dec_linewidth){ + List olines = [] + String oline = "" // " " * indent + description_default.split(" ").each() { wrd -> + if ((oline.size() + wrd.size()) <= dec_linewidth) { + oline += wrd + " " + } else { + olines += oline + oline = wrd + " " + } + } + olines += oline + description_default = olines.join("\n" + " " * desc_indent) + } + group_output += " --" + param.padRight(max_chars) + colors.dim + type.padRight(10) + colors.reset + description_default + '\n' + num_params += 1 + } + group_output += '\n' + if (num_params > 0){ + output += group_output + } + } + output += dashed_line(params.monochrome_logs) + if (num_hidden > 0){ + output += colors.dim + "\n Hiding $num_hidden params, use --show_hidden_params to show.\n" + colors.reset + output += dashed_line(params.monochrome_logs) + } + return output + } + + /* + * Groovy Map summarising parameters/workflow options used by the pipeline + */ + private static LinkedHashMap params_summary_map(workflow, params, json_schema) { + // Get a selection of core Nextflow workflow options + def Map workflow_summary = [:] + if (workflow.revision) { + workflow_summary['revision'] = workflow.revision + } + workflow_summary['runName'] = workflow.runName + if (workflow.containerEngine) { + workflow_summary['containerEngine'] = "$workflow.containerEngine" + } + if (workflow.container) { + workflow_summary['container'] = "$workflow.container" + } + workflow_summary['launchDir'] = workflow.launchDir + workflow_summary['workDir'] = workflow.workDir + workflow_summary['projectDir'] = workflow.projectDir + workflow_summary['userName'] = workflow.userName + workflow_summary['profile'] = workflow.profile + workflow_summary['configFiles'] = workflow.configFiles.join(', ') + + // Get pipeline parameters defined in JSON Schema + def Map params_summary = [:] + def blacklist = ['hostnames'] + def params_map = params_load(json_schema) + for (group in params_map.keySet()) { + def sub_params = new LinkedHashMap() + def group_params = params_map.get(group) // This gets the parameters of that particular group + for (param in group_params.keySet()) { + if (params.containsKey(param) && !blacklist.contains(param)) { + def params_value = params.get(param) + def schema_value = group_params.get(param).default + def param_type = group_params.get(param).type + if (schema_value == null) { + if (param_type == 'boolean') { + schema_value = false + } + if (param_type == 'string') { + schema_value = '' + } + if (param_type == 'integer') { + schema_value = 0 + } + } else { + if (param_type == 'string') { + if (schema_value.contains('$projectDir') || schema_value.contains('${projectDir}')) { + def sub_string = schema_value.replace('\$projectDir', '') + sub_string = sub_string.replace('\${projectDir}', '') + if (params_value.contains(sub_string)) { + schema_value = params_value + } + } + if (schema_value.contains('$params.outdir') || schema_value.contains('${params.outdir}')) { + def sub_string = schema_value.replace('\$params.outdir', '') + sub_string = sub_string.replace('\${params.outdir}', '') + if ("${params.outdir}${sub_string}" == params_value) { + schema_value = params_value + } + } + } + } + + if (params_value != schema_value) { + sub_params.put("$param", params_value) + } + } + } + params_summary.put(group, sub_params) + } + return [ 'Core Nextflow options' : workflow_summary ] << params_summary + } + + /* + * Beautify parameters for summary and return as string + */ + private static String params_summary_log(workflow, params, json_schema) { + String output = '' + def params_map = params_summary_map(workflow, params, json_schema) + def max_chars = params_max_chars(params_map) + for (group in params_map.keySet()) { + def group_params = params_map.get(group) // This gets the parameters of that particular group + if (group_params) { + output += group + '\n' + for (param in group_params.keySet()) { + output += " \u001B[1m" + param.padRight(max_chars) + ": \u001B[1m" + group_params.get(param) + '\n' + } + output += '\n' + } + } + output += "[Only displaying parameters that differ from pipeline default]\n" + output += dashed_line(params.monochrome_logs) + output += '\n\n' + dashed_line(params.monochrome_logs) + return output + } + +} diff --git a/lib/nfcore_external_java_deps.jar b/lib/nfcore_external_java_deps.jar new file mode 100644 index 0000000000000000000000000000000000000000..805c8bb5e4fd43a12a5891eea5a68788309629b0 GIT binary patch literal 2291171 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�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

A$B3k~{RycObG@6y| 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 $@vz03z8Z`qI{ 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

=%>>2|D73@_9Fx}<*!s;{SFX;r+XReUC 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 z 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

qm4Wk) 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 z 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�!!ybUdR4n8i&a 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≻pfc-p+kq>A@&EZJ32ii;nzX4TDQYlf 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
gy>fqEPDaO`QF}o` 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%0AO0^D-A)i$ldleqyk}TE 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 z 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

tyv*0yP}nk-pv4zbBt@DbR|3V7ZQ73LXi z>^2Ui@j(qB;;;t>uiSS%O~e zPUCINC+Jj;)KCAqhTI^YwA|Xdx4=oQ?{4YYW;QNDC-qCtp)&gXkZOH=QE2KcwFqca ziQZox`Pfcp5Q(OwCDa_5y>wEHK0*@8^3ymKD*t_v5$V%A5el($bL$qXzib}4P)ONB z#Yy=DGv(KereqvXFx9AHgJ%#~C(DkMJ#NJVv|u*8dtB5N;bWuP@6cyYj)+)VI}H1H z;{iI^NCXH%YlCGnnRBdRvJf-GnP^9BZu{Xy8!?sEggk7>?-*8B_aoem^6 z%DIwJ?LUY za|6@%!N&0PITQI%S^iPrMGz!FM}$D&rag|*Pp6mz##{D6vhOdeKY;$I@L}L6f%aej z^q&7j~d{b~WKL57jsZQ>exU0H9U;L+cX-*516b02dZ+jRf%`2_D7 zpvHbDJ3-^Cjgbi^BbKjGuy74*rq-jSU~v}b$mbEgc}H@5t!pjUR^g{&NNnat>Kw`s%A5}ky!8f;4%!K*({_0mrIO$GZmKf4>pxYlF_nC{zQ>MJroRb;mb}E>ZK5Gvu5oO#XvxII znsdcAU=dM|?XV5O%}Y1lr0M8((rS4dDs?D(TSq-%=1jS=^V$%pKsGm3Mv3bXv{%|L zj4np!o%!J2174ZZnXFrw6S(^Z{;uAe*y|n{!I0F;Zp1he#t`WRVj5?hn&?nD<1ztV zy-~KLioLaC)6%AUC|yg?FSI<1L9J7t>0lPr0ZKnF%;g%OQh)k_zrAV&feUoPzxDpf zh8`R(D(Jf0xIH-eE_hHHN{jUL_JpZblzs6H0c`+I$w-*xflxMd#Atdj%Rm1oK)w*I z9CmK;tK1264m$BKxQlY2XobbYXO`aU9fGVocqqdbppk?e!+0w$5>H9Apx>ePp@F$g zxo8rYW%3q;=8=tYXLB(K^f$3@D5tP01fP@#Pw+1qNe&6{@}f3G$%v%2y8cs$f#HEE zh46T$UI7li-!0BW&CWgfepX1HxWE)5$ ztc??>KS+VGO>X+8GY3;WvTwQ9?7>9BiJ?l5Y}sHC1xz4;t;ca!E*eg>D5~%~u2;wg ziSUxYp9z{#bQ5g&6y{q>ndmN)_&_l+0NP4F*P|yDl@pcLxtdxeb-@8QcK6eh*q$J) zU|ByMbsXbAs>Elu4)WAj>`44a?EJN*`di)czd}aPOyB&U)_qwjl2(|)Xdgo^bZkp?u7tX(Tpn+*Jzxnw>?&aF;$iXoI z5$(v8BH-EJ+4!>ge#5u%jV0TTWId1C5ADJKj5Iavx_;GVe0jKr z2eR|T=CJ2W517M>KdNDJ6*3z-vj-AApY`P|Y?bWaba=smehStXs=?a-C5A^Hh0YIw z=#adm7i3T6-!yl;?>vG>Y0B=tmTaQ1w^@u|or^c4$8NG^cj4u;R^tE=B{&>Op5J_; zmbQgozGH=KCXRIP&Ug&f#tG^ueqZ2=hNPx*8cfz+}Nu8YzUU$%jt zL%=En(KKy?2qpJI;0-F9KS5H_9X!t*;A%Lhvb1Hwc_<0bXLVA1mJ``FBTiMZj zGpmp<$N43IJ1Pvy0lGhgF?=&-9c)8MmM+oDVo~M*O)`!?PfHoNZLL@~X0so!YGg}e z!m97C%WPOH6AS$2CQ1=XXij!|ol}+`eQl`AG+xQ|- zhURPLv{JdM^4Mm^r#ou}H*(Mnb6~6PNMN5AhUH2Q!)R6JmgK`Kas=0?4p*X)eDu|v zq9s0K8%OmIN||(9AGY*H5HNDM;-yogWSUL6@vV`zEiOgSbVR0S)BN7 z{HbK+YAL(q9Q!`dG4X4*V|ua7dA=KnL{R34#geo#vF%8Lpii7pUy*~-)4HN=x6CQW z1R10*VXE{q9^ARdRU8&324{tNgO`t#v>>6fwwHpY){*0-;g+2rTEhtUwi9wxMS-wg zJnDQij(e~+?sYY?0rQzM2+y>q?HNkwO%Q0v1kMXKmrYt)t0P3ioau$}jpYfrCawt( z;}VRX^^JIxayRQk!8Y3TQGNl?<|QF& z?;tWk4YMjdKMdlImwC#`zOE3I;hI8B>v8`4I;K6ERGfIn=4xw-Yh}z9@YV>iuB2Bw zb*~Rw+eC@$;L@{0IHYq^6ss(n{ji(8DKc=IZ3nPowZs|bGW@Z3=NT2RA6<&4K#ub;@jIPYx{xwqw@TW5T;P zDh=SRGQQMb_(EKPXpe1RoiqZ_@O?=k)2}egEg^t+VXm;SEzK(RTv#5$Lp9bFr*r5P z&n;NZ#uO~s@}I|%tEfC9Ca@0Kpsk9(@MiGvbq(|c?rk~{R#G~ix(G&=d1^pVsfe=m zP%jWww~=}+XmhHO3SHEnpl@Ak;-l!Jl3TQ3rVNz%n*6L#TD2b`K^IAA^%;+ubz%ia zRoxY1?8%*~FX&$QZEp0Xbh&ihg}ntAx93i;)rz+jUtllFvhBX{?%TZeeS9t+PbQ|6 z;nOO=Zq8H~4OT^G_ooAMjK5eaJoR2Td|g8JxodnG59yi{Jmz(f6gqZ%f` z^~34C1uFu=fRd!OOjbuxOW@9(v`8y6Mq*IUH-H}1{SAyEY0PbVz$A$(W;%JNBtmK4 zYR;X&XlgQH5HuvfKdlZjEs8olH)tl$YaAu@GiMtpK03f(C3B3;(;;u`~tN zJOMaMJ(a!EPKXk-BRK=#a;*gHqE*8x!a|whH40$zi*PJiS%9yIp>?}#nUZMVR8V#8 zB{zNyyrwXIc&r;l4wtq>(N9!NjYEtlaxPEK9;VpfV^+o8Tp55YqiZ11e8voSqBihU-Xk>VsYUENtD$aFw7x8#YGFKjDO8nXdAQqV zV4Vl}%W^O=LHTi3-ZqHCP4Y3%(4;YQzEokP|LhQWet5P_ELU`JvPF0hgaxx!d=R=t zUYOJdVMQt7&8}8~I%%S=@K{s=ieDc3=h!LnPcW-rw|r@`>`oqSkrJx24Q*PHJTBao zd*572*g~-Zw3%N*CTlHhJZf^LPlU&v^YS3il`l+(Hn}hbU>Eaa3`tkXajQRs#Jecr zJG0og{IucGC}eiTkvZK>SzW*%K4X3&n>{8s@U{COduW(VP+$&{w+AUKYq%}o{jN|c zSyS8&&g}8<=;7qE1?PVHP6PB?0H_7!BJQDCv<%hrBKaKJL3&Zp5OcG*jv%9Gk?s-_ zLvtPy?sSI>z{=lB;P_Ir(`X%@gwr1`Y%{bSzL=@HkBnu$>TF{eVz>X~EK$3nF;G zj^Sb%o*2Z(#LMP!ey4XAiEb{#RX~;i>t(c>J?NGL`wt{`+G;qu_I+R5LF>8AZ*lvI zvy!2aq?jl(ZmWZ;R`I0gHF-2DNb98xXb~Es2A7S?d|ck&{pP_!j>v*fG9yr%gWS@I zJikudXr{chWV~c`ne_@cq@rH33wZvV(YX=Mk4`otHO}muxP*$IxPUT9$%&@TId$-O z0}#kHthfapsDH4`d&(por;Yax>(M2l*U7Eul90Z|VD3G42KXhhj49T^S;&VuODk?< zB&P3xP$s;0@+P7Uq|fTV*#!@j1!gc#Fv1DX<~)>)27b`n`EgeVmmoZ4q_|56WE0d7 z9DY#pz_IOq5JD((8LuZ>Gptdxh&37Ie!=bS_rkZV;Me$X-2^w)=VpUMX1?9O5Y93S zlAPC4x}m9M=7Rz@M!`|u2{eFZ@`ux!!CxEZJmD|DugTa6-8zM;1s+X(ysFoz*l^AW zJz`SS*^a)titTy+_Il%!-Hv$}{T;UQCdK>;N&KoBf5y7^i}M}$r5`yj2B-h^!XGb~ z<`v%uKm8JQg>oR9Xh4@}V7p5I>j9Zy2Q1FcV;Meg5d4R87M$fL_}7gGOIMsG0|jcbi_XEA;)U3ZZ0vdX%rf^ita_z3VFc(?g*j!WmiNSFZz z0;bb8)9xpqCMVQCZ;z+Dzm4p8qZ6hk(-G#w&cCA#X&Sg|Qq?1Dh3U%#2fE*8CfP9t z1Ebqd4BJDtvTY4o>mLR=iwf|I2;?9WClYlG(=}<4(WXcY4i;X#bsCVjv$ZEuqFil` zCXd%css{`GP+Xs52sWuQ9gD8aI8T5AbWC1#VwzW^{b;(6_|uD>EAk*E`={bV6}rdL-zR*sh+VSLQ0Sx)oV0o)bm8 z^zSH(qPmD`&mV4xx17Zz?Fnd94$;L!C6=kJ7R=KW$11OKX^Bpc;+Zy=ckGhr$Fek- z_}MBZ35>xJbWI&~ z>mvLBd1Vs`{1(3@Ul@*x;Y)wq8-I=o7&K<`^U#??UR)j<9R1(aQzWz~Rrgk2|; zT_><&4L4EE=cwDF{v_AW{F>s_cpcR1A+m6YJD6pc%}ifEaf3Im81q#j1Vh&uW7ol? z{{qd4{8S78U;OlowAMYF?jzghyYB}YUu=vVyrKI$FVyQ)H_jvGK&(5|Izax_uS*@p zRpFN;j$2J%{e@+=QxTbW;6D=FrW0AS{TERO|37@y{@Mrst%!CP+PP-)iWZLTagDW9)w z#z5%}yL@3K!B#Zwks8K?>6FJ?bWS5|(P&oh3C!_MS>=M0?)9SJ`i#W8g(hEVeuz#- z?A3PcMXtVsM`iXu`B5sG!`xvh65I3=+DOvRbKedj{V$BPF&o#ypa;JydBp;~A!XC;aE9F-^HC8eNTqU7MFIAUF|pL5+aiD{Il8ASwJFk33LP z;RmSa-T6M=%pzC`mxD++Mf?I7(=QSCb`n=ng|LN{UZ?~74w>R0je|p*=m-t?oeZiz{Uwgg( zf=U1SR{vJn`iE7D=vToq``3E!UuA3E7ReatQ+n0KrCAZ85tT-zDAb9wvNF^mPT^3Y zMk9P>PN74lSqT?MBgZ}J# z0;=6|6)2MS*lU~h_>QyNvCFpV&G`!Q8#f!0C}mUW3XUkU%YYrFOZbUut>l9ZJZv~x zs3MnAL8-GSro(29Y3BMD!RU-yEnscda88A~qWW}(d%-38Ar%;k5?K_j8J*%?jq#>b2C!Kl~YKW|lI^W$b>kicBElsVfWqX?je&u{Z4n@l+ zclW0mrT^yVw1h@xKuqQ|kSUEloNX$~5am}Z40b{}KTf0neRZ@?m z4wD#!#F1W;FKaA~&0ylT92U4kAs%4!7@3j*!D3b35s)g20pViNV%+@EfkYht%RAr2 zU5llhepcQb%R-A%SIqN+U?0nP;kic9E@6pAb3|PwcgY4kzqf}Qg2TpxYH(K^x>-Ld zn7Jk3q}o)nU!%ctX0}M5*=E^}mZii^qJLhmPg<=QAAg&~s2xO;$x5U;xS)c>xKW4h zw6I5T$__v6OjZ+}Vbh1o{17PFzX@M-nyso(v$wdz#?+bC`1HGF1AI$zFiZobn)05t zZ=rOWxypgM@ohNr$@hpb7;bZu`siX=HLY251y*it66vQ4D8MK1xvft|hYnH5*U>9d z5F>%ejBa`egF#gO-ZcqARdXAHRso(t(B7#hQ->{k8TF}AYP41T>Bf3REcJ%lC`;fF zD2i;Zsc*O|p%1IeR*lu{C|yTz&m8bSu5X^?e`B5$ThWbPij3ZO{aW!|4w;J zFyC~`xf2+>uO^2Ohj`n;^xMiC;vTb364QBlB;-@%Ws$+lw75_n0yFAMRP7Kp`*z72Kt&~yvKLm2 z4GPchM%N6Tz(ag|uxF%yEK3ZiQ~hEckJ4L)gWCD!^%%#$qv+rsT#nx48LjoxP;lCi zl7}!Q+mMz<4+xb$SkmZH(uh9B^cGoXC}~g2h8RCXy#dZXPiz2u;}|xSVA@D*K*R@@ z#S5hw>?|fiZ?Ef>_26>7?r5;jE}W}gKlV6P!K%F)m_4ZN-VDpuEM4#(xO)P;-=S#tjklmBPMRgnLxxNsjTveyfg;|+DqB_VYup+5!S zg`j}$@r6(9JCiqB?hkCBf2+?1$j!i>hzi%Ifc(mPsJWk<_;Ei;*N&TAef)((oy0}zBAtv;?b4=t`-DXksyGX;!}U3^op86s?;3PJbml&=yx_6=rJz!1 zL>W#6eU6zuxoj$yivx!aZE{D3?ts&Qs!h>{td9rRBaz$*AjK09M*@2~AsAycG`Fpy zF!L!QGnrRjwwtuZqKY*ee;u+Ym$Iq=h4%gMC-;r04PgXU|6w=hT1~8eNj23Bnh3=~ zRd^5z1ys`F@`PPipcf%QZlcav9?0v%06B+wsvg;S=_w(R-U+bWP|=BhEPN3KW6kli zM^wcJ0bfuFsT%3@2MK-*v;brVF90Y#;z%dHJ*VIuaB#AItrQ0hCy{1oVRP4?Qf&BF zHgc)2sv7klRrUYZFsNYcV(j2({NKB!LZyEUgVC36*q-}LHW`5=M4DAy4fdJ}c-9zX z_}>FEEHlExQ= zUQDK3AFI24UIF>wpAygp&jZ+E*jZQ=TEg5}npd>NcA+~)k61FASE%aTGbZDM4}rGC z4ZyDJbR~AUb+%=5CeE>;DKS)-E5HY=%C8_Z$*sM~5+trF_S%DFfX}RZJx&3aV z&B#OLRNBnfRGe3TU0te5>q3Nr0^GWP+0p|0)vwBIY@jS^Ih7}}Yc*lD&Xrh8URSkR z&!Mg;u?NbDWj^9wQtGHZm?3e*QwcCGB20TTdddZX}}3ymh%TBHv%b&lLehd$?Eu@fIAxjJj{1&4le(i)QFFo|6hH$(D_+e}%d-ihyd z0M9^(avg49_2yVB3<%#imWQ06PLJOIEmDrTPdHtPUO||@JHwC3m2EX;$GzX;eRrZ~ zt#157lcQ>hC}=9EQ)-_C%_mDDN~szcH%Sq8J@`xSMZ`GoQj;PGYMG_e96w& zE~Kt?N(>SoUruEJvOAE^{0u^^@X``($OE%A?i(FAH2VQEdK-G@D6~t0=S;%J;g3t= zc6bVIc$43aDQD|CQB9l+KVK6c!{68D+efhbCXFxpd`}Du*CVHy| zyFG7`mkMUcgc7C4R4D^Zg1AhYDwB}!0;+U4CIAz5`7F2rPDi<+M*fI~;4SdqMm&L4 zI*`Zo6A;URLukQ~aUf4UQ2R+C^m6LB8xL_o3h>@)?P0k4prf2t{r+bUo?aiu-Sy=j zrt?3_q`Cjj>gXQ`!+*BlSxVcEh{j0Vx^*wJM(e@xAhi_m!U+vEp^N@XKo+wc%$0~C z=wtnJLJPHqcvs@X|hzjq|xd!e#4#%5f%oJlio1O+W`GQ1a6#LNa9osj^WWtEn7or}y8_$F*?#LcN z*^=I;1%X>kM;ptconP55qlwq;rno)RSY@fPCSd0&uV>b2U6BsG$qYmhA=6%ZdhTI3 zIfEfnez<~Nm2AwUrFfMB>xG_L8>M-r@J`YV9{IA9Y{Sa@8I9A=9h1&aT1ya{$!tB} zNd!lmR1HbyI7NXNLzCVlf7x^<@+#SBgN`s`ezN4;X+7p>SK4A}BD&M(Gs{KRmaol7 zeMNYPLkS(vuh7bHGk#A=K(AowQ9PE{d8bxs;2Gjo$|aUJ_&zi(P-nk`Be+JxE>;fa4P1C8C+YePO@;lqfU%KeXX&pMC4e{5B{>$`8nUd5F zGV<_kU3mUTIhrW{pn4_(*<)E1N286Q^%jFh@a5FD1=@LhP`II+_>Pe5I52|MnaU(_ z?TqwJOSM(0meonqWy@e&FSfU;@o!5CiTM5uw!%H?j;uaX3Z6m#o{3K^DnBhBAND?3 zR(ZV+q_n{F^)J#msoAOf;c*5Fi&OczHEb@hqq0u#`I|V_cXU2}sj`V|NhyfS%7q!t zRe&n>-?fAd)ptzep1sV9t9~T|&G7B#FI^&>{%n^}^voabQ~N-&W!F&zj(vh0=y=rh z6hqETLS<4mgj)d#2R++Ku&zlrjyOiWu#k9%GAMXlH>?0R9Nt7}Z~8Z53oMB`!2k#i z*`VlU6E#8=#5Kf)?A=$2fC7zm)H&Z>b5I+;oaDwuSGI`nd{g z(sW~!-dJ|)aklzrqG~5#>RvlSuLY1#Y=@tuZUIe?MW==?!M@Uft_ZR3GJre+Lgg^? zsrCmFxJ+Pg!mb+?=ziQiCTUaL6((!;%yi^O5THwlV-0#*jMhr478|Z28@F%zob2VY z-@=p|zpT9CPigCj+3tij+=9nr#*$Hagbr@Z=()>p-fP#rHG1a8KD-1qWZ<$_223QB z$v|_+L9I!Z+aK;&*U%f{1?H}5gWD4|<01ChQQP_7VAX~NGy8vxl=P&0z-)I^xN=lH zWrqB^>i%OXW62gAI`fq}JpUtg{B?X6`a7xPUy_dh1981DVf!B(=jK=O@4et9WD3Cg zfCUspJbH41GgMT148(iu+OC@tZCgd1+B-gXgQN)351YJWZnn!w#)-c6u zKRmCmdAEH4=xR$1ktl&HP-=?=`x5|`BIukCl%ADDX%-fq*NJbJVLx5JX zw~T-gnb(b9^^1GoU>kNvq)LaV&#)A>Ri^D3DA!#0ZrX<4lf}6$8q>^gWkTBhw6H_e z`&4SFQ)Pjl0Pm#<;dmMcY=#kw7uh<6<;>>wva>?XqNn38L|_#UB`#B4N>AmQjd7Tw ziRD#d#?GF2&eymS?}TZ=MU^xct?LrNl!(!;yDv=5>&5A`yF!)Mr*DR8*DS+LNc0?X zI;J@~D4T!U($@~l6t+RZlp>C4(TnvJGWjuCRjpf&yig&`oO3-;KQ5_!Ockv)R?!)v z^|SfG;|uC@9`RI%sCX{xV;_ZYB1X86dHJ{g$kw-4m0O2~O2Mp9MJ1a8>Aia~!`;Mt z;JSib;<`~PE`ZueF7P`H7Xl+JW$Y5;P-MjLruTnwG*ZS1LUBIxhhXtt`{*_lq+_=_ znMtXH+;-8t8#jS2;mrNP8mqkIHv+a2OBrWra|m^i0mURW;^S=T3#{H2DvloYE8Gr| zxD{cePYFsb;=9Jz3Ad~mhH=0wjXCzHv=&Fiw3Dn4z%_Yt$KZ=<{Jyhq{IX!p)w$M1 z7TYhNmr+WW?Wvs#ufk=Ioe^1UcE>6f$KDfzS?dlKm8{NJC5gO(`fg{c@cKon$cRc0 z-|pke;)WD)A9z-k0=KEI)N4e7H7 z+=dmw&pifL9Utjd0L&fOQGgtD&XGZ%Q)Z8E8;afFJ)uX7(!)c$qh?3A4BJL68-K+y zhN$d0)QO=)AFMCP4Ph{1(`8bbItr4R$2||Z)>Kno&bZWf^$&9x42lFv{83iDaqIar zAd0GgwVUKv55HgTm07$K*J4l`J7H2Cjlw4(YuAmxzY#2GDQ@H*=VGS5_@qGJKQN4? zcskA(9-Kc7OPDk;l1}-jKljkGq*1;tU}EV5-1xyEPekl6L~hU`t^Z~V!blgMJ)`g) zxQI}{LAujMlV}s1Vzu|5LsP46va8(J(3JZhL(^Y#nbiMFF8lYX>A$hiU%y!BU&6HY zr~MkW@9;vDu&01*{7OJT;NdJRdj7qrVLH_r4hJ5hS5<+$W4KJSa7?pbEcE=y`r*dJ z$FlC{@r$Xc2~$%O*RKn9Up}0XjX)mwqV|-*t3Uv$5rjeO;#vb8aIS$Zlmp!OD1j}s z19@;?!cfs$yznG46?B92e(FJb>fqkFE{Bp4XVLk?coRAC?p^(ClDb$zrc7ss(n zy1=DL2ve~nrU2U|OJkc(xiOBc0?DGX6VC8L@J&uAcF*+5n+78dWp#GB1#X&hlS-4X zd*^La%A$y`BEd}^Doxmu@>xp}xb}-y1!-k>jx52sR#l$Lv)qGQ2cj^7bQzw4;OJFz z%b~N#`4qNEPvr1-(U6w2B{zi2-6OFD&&Mdd3lkiR@SJ8go*0_b+y=Ml?jxIQ7K$@R zPSQS2_bAI2$xp(=UJ76oNf3et>lK<5+cQFlqMvIC=-=aJLd5U508vU?m4$Wd%YI?7 zW)6!|@WOSPpqURESvaqcq7@~O-$%+XJM(*x;YUd#h}cQ@IU5me^pphB=SD+13zV?Z zljBEZ29h73v3yJ;GCnl92I=>Fdaq-2T&ktZ7lJ6Zkz?SAIP%F-TjZ8Xw7vd_2Q0WG z5OV~EI*RFq;GMmP_FF#Pp%>u23!(+{A<+DmA`XKm<$!@dfhSU*Hbj**tv}P)3Z>Nx zw{tb1{V+}!S-vIBP#L*o_rchQo3Rq=*>Yk~pa=@vFSOmc<4((l?=K6d|2!k2W{ppj z4&=e)BaoQO9pbDD(AmO^zm(RGsN1L3OtF_0XxbHcYokoWQND6VEag;Au$tE2MCFQWqjBOjMmzb~ghlu@Bq>06Vq0;i~Da+UVYgI8L-z+OUlB zMu7ANyYl+;d!~z_$;Y2j!@()5-tiSN0skT0_-oYsEm%g$LEpyF#MZ(3KXYDI;^rTO z_MziI^S3^YS;HLjUIFm?0@FgkAL zAV10WJ=glxFD;Pj54?VLbl-Cwn?LOzFWY{D+EB>Nn+xHQx;e6dVOMfDEMdwz$hTzI z8ZPiB2cCzpp?g^CI!y1{XFxjFJgPFkcy^grLnwDebLg^c>U18qR&OxRyK2DAAiK%8VLdiTv5zMt|t~|_IN^Ap=a`fT6n-Ms;3H``*h^MVG!M`1qhjIw7Gxr!@lH|R44peFm z5U=IJnaeQo>~HCA68`ljpjCc&5#PEId`LUmPK$kY)#gpxMlCB$Im=e2GIcifNPYKj{Gzt}ZMH5Xv! ztinA+ykkCqFAQrg*%~Q+@gbxC9*SU^>yu{lL->V7NA#_62dr%8TW4L2Qb@dL`WkxP z1_^)t_fn)Q6e6CzJGCAz^3)h}*lH@VBA(h9Cr~aiF}=7o48Q9+{wIKEF*TB1;P1zT zS3JUoV{%xG)E(u&Nef_N^`G%%M?hrH;P15HZ}Ih zZ;8bt!bZKLkRSOvmx2%<4e2h;Z2N&1cr57?^fr!E0qU=OAkd{KwxA3%lhLPBm`~{? zzAezpS>}P8i%Q%XN=XLVG!($`j`~Nl%m{EQ()krC-~Xw9{@SX3watIs%8~qk7Z?L) z6BAb!Q4@B8# zG(Z;;b3r7si08^^ZY9dCeJ58?BI*<5Vu^NKZ*j0XU@NK5%I=Auq^s9wj6g5_J|Ncr z^YSg*@0!B~BT8*ntTo25+jHuv?c;8{*ymg7v-mI?io(c_00e3+nQ9T1ghPA5y@h&z zc(gv%Nu*Z%jWM*U6B_qH8CI2fOVw_0a7JL@KJx&LA4MSjvPB52&m2KlAZi~&-PqoNw4!8kjP(k1P z5uIIsK@w*ykoouScjPZ~*61S?R(IF;t*81eSUNv7*OvsY2@6L{r0r zICJ;YGk#PWvR=345qI2NRZ;7V`9f_BrTcNJk!JGT)bxF~)wH2*5TMuN47mqksTrcS z3uS_5_?!k#IqjL3AOrYcl)VFYrCr)BToq@h;-q5RwrwXB+qP}nuGqG1+pgGl@}=>< zr@O~FJ)Z9;>^;`H*EMm?NpT0(x02iq{>Ipv;xhCO9Sc>!&>*)G#_h8ejC9?J=k^o39^(sohOUkB9j%dx>3RmiayHZ2bsf9R%t=subiV~Yqc>JAKn{sUn=KR9OjQ{pB z{^wHTU!c|gc~$xU^P>Lqnku_HAbmv-UUV9Lg&mWS=>k(iIMhjqK~w=l&hv_`pd%2% zNtz{&To9tAWQsW(d=f`v3U<9!;^yiV(cYU_a=nGn zc4rLOXC>dM!NrEf3$PY-$;I62kAK@!z~hXxzMhHqxU=Mbk!H*4ady3>)OM#1&}W@Y zKXkRn4?wxf4M_H5MdJ_X>!93Ggn+VP47t4iK;CRe?>BG9fz|!0m1*8ezVgTQLgoKa zCE-F40J52IMF43n#!9sl5zvIz4JUol8n;nC(vlIUUpz{ts%6w{r0eo7nGOV5YJ{{^OvL>1a+TsTIh{!r$La!Yy)1v68H@*O zEG;0;;ELQWt%oIHiBSzzhjeOKUmeqjx2?47KzJ3!{3OpaJ+i)6cBSA%+?ku9*uZ(z zAH8DU0gWt|6j3g1Eu7n4kSM}YQ`o6l6+2OZK-_+G*dT=EK26v{ksEs)7Mg73KuTCk zhT>S-ad?^VS4b&M64K+rya32DTwVW2dg)^O3ZDt0IxD__=P?%Hl5e>gc@hlj&t=h4 z-Le7_>!^bXErzmTG~YuxQ}s+JDpPXR6-HKys@S6F$R&Rr2um~xvOIo%$jj-B#ks)O zLzxbq5^Z-b1vb!3JiE+Dgh{|y3>Fbn6A^V z!Ocp|ab*vzc;ll@deRlvWp(d8f;ss;U5pa_pjT_DoT0;vgZRnK(gxl|}a2KGzEiX*Zq0U4ZuzOq{?0`L#Cn9Svp=$&CQ7YIy0S)+7sJ%KDAKmkz+{W-T?nL!| zA-)MA!$^`Tf4Kp1+f%EV%b!)-XI`HAdJNxXXK9E_qIxn?6BUeV#%U>^RS+2J*G;k= z>o8g?Wx?GB?0LBikXKfF?P`Y#x=dyocd=$HQ!+7U8}`$Hbl7}~IUNfCr29^GJuq6b zMwGosv-ZZ7A&N4yqcIsv;~N+Jm`H|fWG54MZ!-HPf|HIE`t4CixfH5RAx?b}hH*Ko zovy)UKoaYD{T)iw@kVtwJ(%9GB^vW8<$|@8o}RqeSjaLZh6VHNmLsm)g2n8UZ%iiW zi=*>#=D=H8GbergZi&>v$=GvLD!$(i^pJneK{-HkRdcC?_i-N2KGDk5=WgjdCU}-q z?WCr@fUyfermRjds!JIk<3W*WA!iC+MSN=uUWL2&kwk&kgNp23WOmrq;^nnyz{AFq z_qZH=A{^b_v=0!9%x3W&hAM9Mk@c2(ChSe#jeV4}h1qm@qijc+>QQL7A{#B<0LS4L z%F9d%+$b(k^aQ6TZ1E+I$VG+)kl!ylG9z<~#~Db*v`!H>L_S<;E?oD!j_WCc`Ca#e zkUOJPWeBzV28+%H%LUT3{w~8hGRvJ4iopgtD@+o&EXvA`fY(yO=k`5;oR?K@vs`hV zr+ZnEOZ+`!5d=9Ot^Ho?qR;g<&n?c6P2|ZfOzeT_ybEb-pFmq?DgxUG1w$7s@FRN= zW_MabALpLq_?7x@#iDYW4d>po{{W^^CAvUAZE|IMgSF}!$*iUIaE4#t5}pR5>xE@Z zG}7Z%OtjPXsky=goi)f#x7}7=nc!aNqM{$wCF#NqCXrAdD{2n5^spx21>}9ytS3DG zBYBuYIu4{LWQT&kk~On<$b#OuZCWjxKpBVI-z%;tDkBzSntBCQQ zn=~)rEWA-`g|iHzw0P?uUv_J)=RMO6D>?jY4w)s2HL^g@+q6sJQ8 z9q{QY5l0FTb^Ca8hXo8YehH|Xhl+6FTfpR&f2U9ZIWLFDviQ!vf}f1gxcY{#7)nXx z@`SNvw5ktox(`2yzc}Dk#W8Q@lBG8`9D2derXB@Y+y$y~VAK$6wMN-~#k@Lac3FUT zVzTQEGuL)we{titCWu`nJG6GlQD!?*VrJj#0=BqIYxv5Oy->1l}bam##-uMD`tKBy^SFFvjqXpH{F+3qV{U*hoIIxBTUWaqCGBlYCsiZ zP{E8(WRD1VfH0JaKC6mf%;TLD9J``?p=s)w8=N*N6=EAxDz@G9>e*5hQuL3Ebg_w_ z8GpLP6t=Mo4~5B^(SB$HF08;O{b@oU#{LYwZ44G;hj)GceLe%;D%N58GLw2C|2OO5 zU+CNUUnpg1ZD49-s;g&V_zxuYPjicsx&7QPI4%~iVYxs3(7rLezTA7mR92=?uJGuX zK!wDGwg~8}v!jbr_`*q?H^_$U@3W~Np&w8wrtyvAch?P{h2B28L}Ou?7H7xc+8b@o zk7p|js?S@8-fxh&(clP`Vo!>LaK8);+V|N3eGVG;PAmrHJB3Z_ak6*qR?)nJ#`NON z1iG4oq@xHI;!hcPbAO_8QrFf^(Hk3-Gz@i`&}Ko`%m5PzYiY+f{R!_|`L^dp96!i1 zmn=jOGj^;R4LICgD{>YdTsw`HPLTv;=Ke70y1brVTu?jzGzP!Z4?(fWj2RLS8d%zJ zOXNsbTOb^B8L5Pqh-{u^qa`l$!t5LGhK!R4G7K>UbJV$66O=f^kO~U)!lUATrYf^K z9jugL8t1&p)Q8Zjm8lUhQP z27{EEScRJYX?&?LckVOuH1_BqQA1HULYo-rgVNjh0%uz_A^5uuTp-uTE)sRHR!dhb zc^{orp{I4b~ZElrdf5ASjV_ zK;hz-yrVbaM8&mBzu^uis=~gtprNoHKAGYn*c8kxMy|lMFmZ~7vok4bXG#^;S9zzPZ4m+w1gkcvM> zu2&B{xZvIGCCu-6^Fx5+1W!-Ktb#OS;ItE`gn?J1a1M?u z-s}SIx(F}qOx+saSDm}JBngFj8@hYTRpky3U$aZ7ELiDB^=u0;q1_3MC^oN~Tf{Qh zZZTZW1cU{9fYhF4yFm5jEVuL&TI-Y^v#2Zp!GM%cyuk3udbkVUm2(I<>>W)1i8+n{ z@nD!&h449I?` zxdqK+3Pij+QhM?5Qz6Ss#G+F_AM^AM0pq7~#c=l+;v54Gfbu0eN8JdR@Rb+^;7A4^Pab@Fjua3>IZbvB-B%$+M=w8m)uPK9z?3bpNj0luAobEy9(;QI@9 zx&Ig7`(I{8N#bk&2I(V;YXr{O1Y1f$Etom5UVNR|DT7-+?x(2eX#HRyd%qMveEhW( z=Rg+Zo^8U_di5^KZ}E^>sjt5?H2M&&D^9MoM4%A$@njHap7aP5Vi%M~1Svy}inTxM?GD>ccgG)OkCZax`- zlZx-K-)LDy$~k7xZ93N2UKVg1+Xyd$0y$c)02go(VHj@F&`!P%s^8Eb+ZmycULe%h zkdFg`-0}kmBF$>8H*-Hw8APOTm57dW5=tRln24fLrR->!w5(vcbB>2Tt;O5|eI!n| zip08d(~x%Z!a-mb+q_r@miEzS~WHdqy6PhG;-UgFIaeX?b2LnB7 zHzlaqqPDr@t8UrcMFED;CW!V=a+TXJvQ$Sqr8-t+1VdeSd-cNQ7^u0cpH`;By1q8K z14@U1RTu>s#xD2?96|Qvn~T*U?Llj`qj4D>l157C|_cthd@ z2mQ*|dBTetZu|4-5#M|n-xO&dgzF9Xl-UJ+&^9m+tixZ=7Uu*anmogg6Mgd$g`UwQ z4IQRt2kNp%IT65dSPnKoZ4IKHosn6xO|aTV8e$4Eq|F#4{VH=nVI^f8V%S&7*qL`f z+LtaN;JIZ|Gz1sFTO;-;k}R-*px+GO47dOOhdB3R*+36g^U-FTq(2FJr+W{?UYW?U zfKPjs$)qhZZpv;c_M=nv5>**w|Mx6Vt7&X#y`$tA^$Y!un06nNjPyN@EL?B4fFp-cl#L1xql6tklZ zKJLu~YQz-JEuCsQ88VPxjG5ummv65kP^1V|JF)~cnNaxXB%aD!=dEh7-?HP)kEVhT z>|@?cXV75|1x~Q_9M!=M;Dc2YIWpd;-As^&M*2<3t8;;jOF|%PV{#sKvh2K}`glk;C~7=Ixd<)2?3Svx}mQ+-_rLxX=EWE$c(%>EvjMWUT< z!BW52xHwg~xau)a9TGAf7cLA)Gyz@n>3}0nH*GbnQ)f=sdZOm``_1wbx!-)NZwYS7 zqEReF{1;zRDx3Sko45TW+QC}%S8i4cEmQds?)pq@Uuo@ynTmqBEx`g4%T`wg`WqVv9c+a17C8dBG&ZDxG*f7UeuRF{|yuwH3$FX!iE@bd4b{ z?($?kf}zr{#8iRN91PuSR=y6s-Yo^(RBiCvhlt-w;w27|%V(&DoePI>T8@e-^p?8R*^A@8tbaHiXOG zX4NbPOkj&0`YEV)(s5mEhzd}Ro%aMY+x}IdI38XK<;AI351wzwIn9&ZMR?`YuzT~B z!L(HU@+M>!el;GT@DJQoW;E&_KJ&`?Lx`LZslq(OdU35CqMx|4r{z-~0m7&xm{D+d z-*c`=_#c#e%eD}b`ij?h{+@kkBA;tV^d)qd{MVqKzy1*ZUqp)k;Xc(ZFqP3hCNEr! zojasGN~Gc&<_hwUjm`(9X9w$@GQ&^1e-5=+oNXsb7&#AZ+BzGLUzFgr&ZPD(-^%_CwL&+QQRZeG3ukb)JlHW{FaeO&k7Xv!CSo{CwZ? zMte>EbUh^Z@oGmH;2IW>jmO6k0xFD3r8UYk;pYoR-g(YIk`a@O$OTb9VYg$Uan3du zMnfjkaQzjj_Z=l)B|%SYXn>X*M+gNV{|d$4i8`2^yBtb$`Xr9T<)SvE>_~a4GIJgA z4Mfj$jd?6jC{Lb_0;mGH&H`Gt)&|w5j-@7!UikWc_w5^jl|=#w>)7&!y@SN5)^7M6tF^Sozt4&>?kSG3 z-8K`2UtdsBp2zd*vj&f#PKwV&3&>w>xSzh|Lz*p;VpC21GOTY9*V)OWN`XwR7c5b; zMO0;=8&jnJ6QE9e*6&k)&*XG$RH-kT!xF^J3D?KX`FrmfRqNZr&{YkpRst?}s413q z^bS$Jz6)BB{u60u&R#m5hXlEoIyrWa=}+yAC&304&V3c;?~Fd{_VbQXNwKLi&C-5E z3DqUZHb@Arf9SCKhWOOLKSk6ycZo;zT?>yiOs)`<4O|)#ei7*+8HQ65<)0E|hvaZf zK3}}g_B(@Mcj_aaUAt*wPyAZ1jkOmsuL7(;dIwHktQ_q`pm#0`S+6=;U>3 ziAbG84slV(G8M1SPh)~5ag`MgPOixiIyrA<(3J{3YV6_uD62_H!dme%hpnxG5;pAB zNa(OAGaOUpU*fRhCHnQ(M>!` z%HDrZ8+Dr@Fh8}+Ic1RI*`wQQejsz_=pdG_yw6PoI|W;nYq-bEgZVi^jIX^j=RD(g z8QU%)cyA^Ec=eF{o)uk!1Yi^Ly!1aotDijc#A$5=P^qxs$S3odk@hF4;c-XFxCjek zn8wg1xo^b_Ei-L=yrZg-ZQ<6lthia%bT2I@ zof>RgCe3h+_aaMfYi0~8c>s6(;sbuFVg%^|%V8`z)p*_5d|A27oA3_nQ1NWVpS%0UXd^k95^k-(0InQk{M(y~V@cpW%I+7H3Kg8W@4qa632% zn)p)egS=SL^(e`9&TTQ}s9npiskra>I8xy`G^Bi}`shyPiOl&{63ogt!qhyqm!49i z3KwPl5$ynqzdMh>+1rIbdrgYoJcKs@e>5Qz^1J^t`y`@_L&42r3g@{3lYUMR8#4OO ztnQj=!LeS1Bs8tJOD0;*&!(Ak)@Y9%?acDg`t&l69B{?U)DT+kg4-#!39)FEBAmhB z+MzR{MYjI6Vr5?iNvS93Mx>MShiLbxhIvZb9Kf%ILXKg?hC1=Img~8rtqDDYmXQTx zWN_;FimPVk&*;4{?;514rBl8mKQryYdcd1*MEg270T)k3PZ>n1e&U~l>T(fK2#CVc+7Dy65V%F3h*G)?W1S`DD%VB-Vqi8K3$EPJCtoXB)w-VHT6a2jv!8R6XXb zdjl;9l>Mh(9-!LyyXIaX*N!xuJ0j3gFIQ44-ebWm2A_qnhlZa?DAw-RmNcDv1J0nh za3TGBK?~S(3S6}yf5BjgCOh|ku6HAU|9-4rCFVOh?xIrRkR zPC@GvTu0$j3W{=tJ%%G-FB^k?ghO}&eVFJmmZ-b2^9dLl-K(rdFg0*E;Uihn?isZz zb#GL+2m73d;sH%w(C-aa*39trt(L(Knvh+J3yz4Buz0NrQ*r6hHzrjEFsBy`!S%*6JtquhcP91GV4h#RKiYe`kwgQIA@NHzr_ojR*k((*5D zi2A?gm(9cj52Pnn677_}ox;aXfcX-sra;_!szf)a_UYTXbI1rr=1Y2~%3bTbjboN( zjw`f0xqmMoV0fd`4*d2@U+UZGRm(TEY0Pe~Gl=f)pl>iaJU-u7G`eAY8(_)WB*$Ny z_ZN3mcAF99zHKaHbfZk8b@Qzpp(bo+BDBwiI~Qv+lXJ|dUVU#557*KFY|~d(pWzgp zWV@)vb&YCLwtrvG25$K7fwRPFrkHn%xquDm?uYkXh~87gO_54z>``2u%{z87PVBCg zDfp95X_Q-{j&*ZTGS0?YKze2nFSNs?keMf@lpF{H1uFiom9*qnhs{mYHyhj(u62WFCHJ5LcATtB=>nu%w`mr^O&8f@OW^);#UAPs)#s zUgPI{CcYU=%?)3A#h8|PsWfd+VN*ULF2`jqeou+>pp-GjZrB#9ZEkv)7`ZE}T0(rm z`=-)UUwdB%9zGu2x7;s>%K)D~14bG{#Vm@!rxB041B5H)hpB{{m>S9)f;mzg;Ac+r zO<9w)@DS434UAQc8F)#z?;JP79ig)3+d5lsN9DE|17guvwcxRQcP8_d5r?#PaqDk~ z!<_+jHr*FY4V=bOu6UE|rkTbyUGaK;IW4@^g$&Z7yb(F(QOh}7|G?aKv2`3SB;}Ks zp2+3qLsoTtZJbtM<$I!p&A_%MjW*z^4%sW_Fj4(&PZ#UC>##M_$<~S-fo*D(&$#Z( zJj_R092~j{?*YNj1^`iluM>ZXGk-~wKrDgSqSUF=g)MP0F%kJTWJhprdej)c;Ts`I zB$qULm4LGEz(CW@&n=qfW>5|&%7;Vu5B;8jwhZz!*;Sx@yvhepow0*XXzyQ*s%Fj~ zf(bnOFduRLDi^pHgV-1|f5^$?HBEqsP__+GV$w8t#Yj1QXKi=uvI`6aD)g$mx0*S; zMIb-;mc3^mXebA}?BkjzSK`?@!w-?nwK5ymESY1)U(%(to#htY!R;@^)YNV(N(=%} zw08O|cBb$Yj$>91e|Ju#+E zDSDtm98z*=ur;}8H-MAbug)~iGrQT>)qhXa#(p3`C~I{!c09$8#(b^PhZUhx3pBXw z@)IIgCug+$&BkDo#XBH`l(`V_E@4kVb(w3Dfx+L0zqYEG(-6heTp}5{v4UjIN4B@t zt+^7SR|9E3U_=Rr4SCMj zF>!QbM@yvGsYkEpNA715)uSb%mcOHs(JqqQcd~g6H{pplyD_hce}>(%Ehz0jRn*EL zOLey4@a2p}mro0kJA?u>bNH8vrya>1`~mMifJlWL953QPFzyci+gs!pNaPnXWVcH^ zz_mBh+7R5*$Z3wSmS$Iv#Y!NCcND1A`Va4rK+In)HVji!Tt;uf;}6kxm7nNCGSIoB z(U{OBZwr6AG#ZD#pWyG6Dv@Lv2RJ9Or*7yr)xP~$$f32ap=`1%$$mm5+HERE=<3tE z7K7Ym8tCB=MN-7ef`V-}0YQ+dr9oB4f#lr3N%eI7E@UibV1ncqDK^9+}tL zj1BNlUlw0*h>GgC_4O}e7Z&Ni%~1b;$lZUPq5elx%KUQs{!LSwbjb)U@{eaV1%R0N zCafZ&v*ZLM1$>i2)U%lbB#Q@14ehPDMs_cgbozg1xMh-V`UpjA_9~!*5+kkMx_1VE{czlrt3x>sQaeW~r zPdwcD`}nZZex!8AqZc|HEmzguB-CTZHTB7JQVrB2F`#G7(3b6}@~>Zu>m~BC_4=4E z^d<|bz;eosGM#hju9QS#<4W$o>#&(CQMFOlHfonVX+_E`Av+xnyVrOIw1`lfg>^ZK~0AxGM(=)rr*|EI@tWL>VyV*10v4=3-4M7if zG2jX2q_^Bn{lna4vinvZZ9uCxE2J5l-O6c%X8!!9oq{}qyUQ%R^lYdbejMJ(88B{J zHkPCgQ6cLPh&9me3)-%u1J4FbBYqu+RlDcCk|u74Abgg9rFhWVWCu5`$A z9k_(|mf9g7XJ}l@t~t+pZXObB zDH)&WF&U@OLN${BOH?sg&r#_V>rh$SHPUO8iJuuBURD6MOLYp`J}0)H+K!wa+xi0e zAg=BVrTN&*(ehot(6r?cXi$xfLu7M^mqKQP*A7|%tHK)k*l8Vn!}i@=)T!S007ODP zxw9V@aL46#41PBkjhdI9QkY#W%Cq<5-4Fjg47oM1>6oQmqHB-f1vvRgMkA-oCh}v@ z@dbq?0o96}+=}elEGjXtY8 z39&EThaz37$^)>~O(M%jMP9tb9V&x2xk4#sLLmkU$ze=y{L#h05PW<4m~8z`G6mi0 zOZb_O?Xe5$P)Glzm>(mAAY>?xJ{r)Hb!WN5n7>uW_4vF<0K`Q!uE^Dd0>NSeQA878 z<-BFp^?ZNLfwvKtbQsQypoMIfwM91|p?fYick|Wy^AG7~-}-LN@^~vd;n!o}nz_4I zvVFM1SF>#C(k{7?c_T&B>qg<-Y3{L&LFa+$dhB-RlQ)tilK_^k;R$eUPcb$BKBMN9 zE3Cy5%pzpuCw&3fBhJ|hS8s<{E8m{}&0=+*qzD+sj7C`Cu?UVamaZ@I>n?9flnuv$ zw0-ui;$i2R8#t%kd+O37Rf}oa^I=qGS807fgE!??H>ieUq24z0FUTp1tuAelmk!5)$=*Clsk;93`iLauHO8+?wvjEOqv0E~tMq8y zAbqrPy(j`>*4ii#k?-#mCQXXmf@hj3EK|$_Y~ARSwG+^_)jsyTNBcHekBDa7@a9mq zAK%qVG}r{+-r@3tccs9%A$6bm(373m0!;Ce_+@nUBle*}s-0bw+>d9$3B7P#>$@{! zOn=zn6PL7w-#HU>XuSl?8=C~=1-zj0;UL_26XZuDYGsJ30O~3~{|@+%Gl;l}zoZ}A z|0@0bg(jbW_dxsu?-NQ}JD3`|npzqE`({{$;@_KmK8)0to!Zu8!@_i^X45S~uOapM zrG38h=SZjQZSg9!45<`YCxqH$@2Ii&Jg1R25C}q^K%tazUqu7zd(krm)0h-Ggzy` z#ee+vMCkl2WEYw;m)97e61DHsgSijJJ$peizWoD=bqK&cBq=#6%!WXWZqDt^zzu z0XV^cTv9*&Id*;FJ3>I7k_;BtwvBgaGy?ItzLvrVb;s~g&-EG3elv}0V6-I5yc6uwX3O5zV8BI!?b26qGi$SPuMwKM;W|n4RJ>N)Iifh}+h3M%@7M~I1Sa>1Py28LG9DB0{;!D6R;Pl_CP#=?ih zWf2vlp%PXUU2?a~D^G_}cCRC|6{W*=uuEBJ2g)sCBa+i(k9`7xs~z3R0C4Wc8iD03 zGX$Km=3{-(GHx>!qV}h%K*UXr9h?OLVe@75y>ie2Juua{AOfL}^aEGtyq`G_#^LdL z#_?4~$R3$b7n62>u&zfA=MX0iS|^~Ujj4@jr)Ktk%&Verqbqyi^#c85!{~N|S~f12 zX`Kj0Nl7K-G@7!KRv}YN(kUfc9~Rl2P+zRXDx7`un}ub~4q{}vjePJyCh^b2oniFmGf+I*#b(i37%+y|GZwG7ptqv)u;%FAc)hZd`WWn7n4_Rs3DEpmv-)5Q zmT^p7wECi%-Uy?xC5K|Wp={TqP?*}0`o`h{EY@s^gR;dzd@;QWcaWiZP)x9#Jl*XU zo$S!IZhmatgWN^zsch8S+jl=$HJBm zJ`7D}v|UB>d}#hI&>3G2{7tKu-6)y{Kkd<`)8b15H>Or7!Nlo8&-TZyrCyG4oQ%S< zH4te3I(=-{_87<(;IB7uxT5QA%oLn#jgru z3Z8)(L-pGWNvyoDdDUpmn0mQC_u-ZF;*NHK{~RD3^mWGXNKvHJR}*| zjjQiu4C&Rmhg-E@rKAbKVV=i`eI+sfTm_`G_-DK-KXm+Mvo6E;ypae88UNA22m0Xi zLY!-hA)X5{TZ2#)2B1*#ZM0x;E!n$@Ghehh@}QHwNnU1iimyP_2_#GM{jl!*Sv>PN z@wBtq9^S9tn($y!9%W}}GqD=Z=nLGKl%Go2OA2=3MqjS4^dC!CF>v6B^Kl|2t+~Ly69g~Wsu<> zznF9OG&7R>K(Q`&JRx_0p>a;0AW$6N060(%pO1=2D%vEms_o%zhLro3WS?0T-qr~7}yCqQ`VG0VZuT!6e@%-HP^De9`IVr}&x0>PG38c1r`kJ@9sP_!NO zf2j9R1-q6ARd3!_y7J>T%wCkF3CKrHu#IUeuBW#fepc2`o>SoeX;4$IQ#>yInp(0CrUeV791np&gIcJ4Uoc<;+2%8E!nr`%}NS zbOM2))QixsDwC2SmH;27>kcz88P^)SMOD)2D##+jlK?;;I+$^wYIp|JD^4Nzb61hB z3M%;sC5iRN=Itc1^1Yzw znD2zlU?!B|QCKNi4yJ4KE?XVGM)E=J3_7k(hh;OiOmR zf314Qz$C-D@%!*=k>Y`n1WZ@pVt(KwX9iQ--f0e?7k1yv1UplnY=ub6JIQ+)3wfvS zau3X*9rRGjNGpRjwe7}PVd4Y0&Hub3pHK(3Hc_7xPSQY9epgWk)`1!jmE$^5hu${L z;ug@)-XBRN|E5myt#Ow&2>F|qGoDY!pF}w`_3qXhB)NJmp>&YyPUev;W%_%1M^XlS zn!{Q`+pIXf^|l!yvQ?owN}axCpw(1)EX$?|-MsZIfkRB@iM&&E<(h-K!|O!5ewMn> zh^mn5+bufd5sM#$taVO89Jv$5G&&xs8M?=FQAe1q0=*KSFJl*lpoFCD!M&F$LyH?~ z#tI~X*6Q64VUrvs3Rar~Rq|==jgn93khK-c-*bVr{`CFPG%{S#?Ngb$CTiU?Tn|-# z%Dz@w+%R`RFs6%QQDHw!DYK3{wQP@a9)A7a@(k#9)i`hojP~WZg}zeO=-;}kv3uhV z+MzFq+$II~^d)kPaHI*p5hm(pvC&X!k3_kmQo0r@>_s)EACBHz)17|25)7(IG%9#H zb;nV=L&$~BUhIF1FHLFsB_8bTN=jN$3u%%dU1Hd&F|dwGKXj$(hF2S*I&Y-@DK)+q zwjwJ$NPGPm7SgS#p9IwHG#DOK<_`DF^0ybc=i<|!;!DK-1N*PD+<(5ve_g~@aJAAm zv9q=^b^CV&oT;!TjVOntS=3}Y_D#G7sR|;uV+7YkFCQ-m{YPOKsg{^OS=;`Mkrfz$5pDdqsnFDoz)V=l9>+Q30p6wCf@I z5T?5HbT8?NF^JqWb}YegJsGrN0j@y|QdXy>atBTdP2&{};6Kjb`)p?D)1%DT4HrzV zuhz1y$-A^JSyz?LvI+m+SY+Sav3pZe(n z!hR(th)A@KWY?o3TUnPP`{U~qN#s#0og{v^_lOSc&vbV}2?AP6IL7LcwkDEGsER7* z&K|+!*xyMpXrwBv)C)htl-m-ayr7aE=7E*y6zdAhl^;k~Ona*9J!^s$RD)C^IVd*C z=}kY^U=X5pGf+JR37D-_!0Y#)f);9-I!nV7WiqlXrDM=8J}#{c@@dJ&sdRrDQ0_AK zl~>^zX!IJQDbo_|krx_{>!j^`e7m@Qt#S(6pzSkgt&2~}!x**g|hAG?^ty@3Z040rlx|2k8UAl&@I@2Zhd6 z-Rm=8bYWAYNNW?CO9^&VxfDQT4w>P~HT^jkiLVzQHbH)&WSb4!S2GZ-+q@N=Gp$r# z4Dl=*Le&Bhz6r-yq1SJOv?}Q0jxA|%uZw}N$CL&okz%PERkB>EtwGx;4~aJjkN_78n*YWO4?VBaUQ=Rv6YRB_D3*O1Qr^$E&%+{5a;`6H=N)(FWvA) z(kRUEolMeA8w%=3$J*&Hk_v+R004=TrW204un?;TCB}M-f74wkHVT$J~;qI#!Z_$TPn;4(s>1I%HB(5x2-(cpVr<T$O0oti;H}l<~l6l+D_wNPy*-wU)5rPeMrGZFLH3p|CQnrTXC!o|&cO z$nP+eNj5i1BbD~1{r5}DxGT^C<k5>}19hz4lV7}IQ_8eaXC?rlyV=tqJEt zY2r|tGU@p$NBkhq#pMT(dGdIX)`2~`D?qCsEUK;}SXOZA!<*9#;77w~piUomB*;VnxMkHN5a?R=BGWNP1^>Ut+?%IJ*7E@fV6py>a{*gHl?7H;j@-LY-kwr$&~*sQ4IbZpxl z+g8W6ZL4FalasyodCz;^J;wR=S7X%}tA4EdQMJZ;=5x*azUPmkR^%u;MP`*@?^{b= z3T$nk57DUHUz(op1PD=Mcz!WY*UYwO!>WOf_lduteFXGV88i+7qw>iuR4pUCQ2c!> zxw+%5FMUl!j^H-)qZtmK4)IrbwA6>#j0u%pKS?K^p<>1aMm5+!d;B$9J+lOAR9I`6 z_gppn0)P&z^^xV?fsDPG@4LQ{)}ELhHv~C7()n2l6Y6(OmPEq=+>Bkv(nn6=KjP>V z$yI%a7Jx~lShBR2Y2Hgga~fNPa}@u0ZwAc?6fbK_WEIQ_ki#CI{zWekG|A3QOk^DC zO;uY1m+;N5o74C}OyW3&NP48#>@JvoS{Oi#dX8WG9BAFfeqn98gH67tO@72peuPxN zqfCCpRQ~vgP10bz(|-781GE2Ld0+3VK{50HDKzB#|4mKQJRJXLah9y2|CNS_#-Dg} zWNl^e_;*)TX9h(CQCk>XmlcdZfJk#wz|eCQBzRA@R}E#}%Wrr9_V5573KP9L7^~MdPJ@WAh%F-bPRgTu!q`GL%MLfk2_#xH8=Tc2xZIV}TjAf1`+@K~dQ* zq}Q^E6exQRa91uLr(lOX!}x=l5{&~4g`lY;+60iSJdvx5E9wiACH-&J-@k&cenzlMfBnb*=Y{`u z=HO((Xyj;QVrj-`;$UazVDHRmY-VKd>SAT<{D0+J{rjc=k9@2DzEr~2)y&>S$;shs zX4#io@arq3?OmK4oE^$i`&P7<~;eCGe%8SLCn zWTTgcD(&vfogV({-FbEQe*P#Z08tC;r^+0J>cmyHhn908!D)`phu&j_p6#ylr@MUT zOPZ_P=G_iCEu)Zwh?&DOxWYWZ4h_MFt&S6^V{FSZC}@2*xo?x+K&2?7v^`x4!J)hqP!ddS9}Jy z^O?Jo`QF6Bz{GAr=oB8W0CT$cmtBOXM6ibPwmn%^t|P|kPy&1@YF%S=k^ZSLhY=S9 z--DMDNqSX*ArJFmA}fAmB^V?erE@f%I=-HKAM`Hf6h}3L*TN!}dr14PQ)pRWo@JBS z|F>mBbzUOK2as2myf?`TTXHP8ad+b6w3E1Q6`S8r<%e8b4gTvUcLP~%H+ouQp03&Q zL@G++fL+@#UWX;upWr|~MV)Gs)Ch^8CVZ01n>Yp&J=V*!bc>Sv{F0zA)jod)e)9Fw zG2D|{gZ6oWXq8?`hATgaSHY!nwIPdLq`;5pyXs>UVbK=#LD@5ivG6~J8Tl5AH#Hu5`$6n%sB;bVcqNg&_N+*nf-I%IdzBLInh@yE@1<+Db8HOK1H29b}eXn~;a=71TiaDmu3fFEXPr zsrtTbyhz)D1l@XcVRV@K)G=gXzCI4YU~SLI=M6^M5qZD*b$bY*)Qp4WGqLZ$iIqF5 z3C^QQRIG5n?sHuT5O47swXh5jzwPk2KK?zeP}`L5p2u4nPPNgfG15EsNo)0QVg;JE7@ z-;Q(+FR&@vez)7FeG_!krG@vmzOUB4N7uk`^Pd>SF#rBX?^4Np4`j;mD}TO ze7gh|mn-Az6~Dg@Q1>c_QGY76kZhGEC`ZT3%Qo&ML)Y4+iGdHtO4>7cEiPj&$A45J za`w1KGy6Aoe!hM1z24h4CpY$<@N1btpL8``K-spDrpTu}rr?~st@|{p%@koqhKTp! z|KO~C$&TTe(M0`C@6*$i>g;LrR%qnPS=Hbs>YbvF6NaisCurLXK45d4s|y>?7`0(?WAkb_R?_iQlfotx0*c2n~k<|qwke#y5D81oxJkN=zCtRitsjlsgXF$ zO6|{KNsxh)?r`~rNT^T_&Ff#Ct0-s3Cp_d0Pw@?eLW8!{zMWIos8p9Yj2q;EN2*;ffuaQF zG%A-+%r|n=6%n{QTS0Rm6zcs0hTZ^K&aeHGU!Jx#J4^{pD+s^NIhJUi6OdYfO1-Jr zM&M-th7y6^g50D>$ujUulppw6EyL&4_?3q13rrTDZ%UzpeHIv8n?3#L zw%ro)LuanWPt)|mbrO@2ZsYmYz-zPSk_?HZXTzj)+_^ZNd z{vQ>V&%Z6WbpL6={l_}_HJgWw^}rS|RurpN$*f@-TnMk#kw0Pp?w!9&upm8Gmo>T&hfGrlMpY+%r|l zgtdVMAE6WJ=5HBKHxk$oM_Fp4xh%}!Uv>-2=2_R+(-b75_b%n?@ljx!&a`(V9^$hc zxvn`6SSeMz<Gc?*2vR{`&S5qZRmw)WYDsu8`_Ihk^u$qEKq z*$*qory34wDd!^PH_f%EUB~;rVF(04S`t0Ak3aNyc0(*Q(vWc7Pe@^q3%)c&WcRkq zCYIR?!!!Ivobw(E;-`DP@q~R$E>liOqP(mDy3EgPsKaZgl6p}zpL(Jqdbbv%XZkiH zAR!MYtzD6}SA>g_6Xp`Won$Y7M)VSdIrlJ1%ejX9`1>X6`}puiUP)z<5h&bE(OL&H z?!qQ*3c-E8s@;H}u$IUP8kHK8HM`0CI)X}G-5x(Z|9;yd#xYQwcu|?MVr*T+!>lsO zK6BNhd9l-@xOW8CtP_b(T%k*s_4{W^h0W`5$J|$OM)^N18UJ2k@&2cK1)P z!V)ucHgU3Y{6Do-l_s>i+9LXg0}JbwnL7~~9M=d7orp#NRVgtEmNKbyPtYKk8i0av zbcfE!oJ3@>eX&aC2XdZu8Ok}18c0OGoBxt^l`f}lm3qhWpDI}PzgIqtiRq?NWx3m& z&f8yD$?MO{^vf0ZQ`hyW>f5&oj4i&bs44(m4+o>feg)2-ImZ@E`;CHqo7*=1;pMJY z%qI`!pZHFNIY$3{y`9cnNY_p!M<6l3^lGmi@+j$OT35x4tVT)icKU(M7R41dSpUcBc265a){ zy}SWB!%|JJAm{p0iw+RG+`((cj@Y?x+Oyn6IRq2N{3`b;d3{=b2RGDxg?cUh$wDV5jG{g zE&}zK+bdYvIYM(LP{3J3{bnO5-^FVIjup>`f`N(;&P@aHR9cg4sgGWaeO`7zxndO` zfw0NCwCRuG%0_Gav3&ZHHAIz3tCsnA9QILd)ewY$$RR_dlX~5hC5w-;NIyG>dSI<- z$=?~r+qKs&=cQeD3rBJ+6+b~ZY)4PaL!*rBrdGJNPVQZ$HoxKpqa8Uq4yDL2e}i3p|IyEeSEwj_sMDk=rPjd+S^fhd z;f7U|lL{JtDjzjurfY&NOe~BraZq6^ptw+f4g5RAIovx&H|w?6>cSo(#0OPo@3rX?kQsdg4m*lk!-LRXH|Q=>gs(ktH0j7;Lka#GPBr2gq_xk^ zodHsCm{?r+7FeYzlMuFSO2Mk^-iABE@2foq*P5WvGp!HxFSs1AV1?5cY$##6^)(9+ z6Yjc1REpst-MG(?87fbuaLh}>zwgX3qNz7SR z2rQcu&gp40j6$#{^%zivj|OXqmog@VJ{3Vf`?}e`Jcy*;bdmzhj!2)(*VJ2!Gd4_v zP@)GT6q>DYyA+T?keTp$41w&G3`-X0Xh(6>{ttPk9b|DcWD^Tzv~p-xBAjA5g_1-j zd`LF%RB~iuLIH9UXlZxp`4gZ?ZY1@SgdU}V<7_z1`F5jj>XfD$$zEdI05`3&ZEp2D z7Omff9`rwUfXB0rQ$L5Qv$Z8L&FP6eSRW4UEoTZJ;lj8VxlMEeym}N zAK5n>S&dq!$Z6#DO+WYwnx^21kEbGxjFP?{YL+_h>MXUo%zhK(DwY+5lN~D8vceqN zKZ1Z^U98{2C@jKP$Pjit%{y^g!>UpFVW4TGjx4?zTv5J|{IfaBnt6WkO^EEEsL*nR z#CjwG-3GcTgiiZ>*bLd#9D82L*vi703oS`k6O+9Rc`G>4X~3lFoUK1xw8yqSaAQV# zKaeB%z{|B9YMfW|LCKpAkEa-B+G*9ISqYQ=jfz2S0O}^kKGKjy&;s*XbSoGyorJhH z%z>LL+Rt2RvF2+eOT9wTk&PqRTT`hhLyF_CU>r7~B(zkhI$Un@w_W;E;Xm0_>#&;p zfL7ce{fRXXLdUf^xx>YckXrl_Hcg9X8I)KN<$wYVmJy01`KVy&%#GDbXP$B4q>}t{=4TJo8*Tv)T#UJTf{su{wn0CgQ(1K1Li)?-|DXk2AD(ZjP?&KdG4GPf7I-4hhJRu;obJB z1@yIKo|^lno8uAmgS{&ysHcRiM4uGS=R`ots@oWkg>b&Sfw-{ z1Btf=Fs}s|L>L(`AQ+H+^=OLsos^?!9Wj2Cg-$)}zu5i^#fj--30Wl-4L{TphF;YT zZ@{)+wGm6qAAW1Rw1w!-NKIL6R5W(SJ+40<^3Y=oQE6_*k<=wcK0x~J$afC_8DE^K zBrZipj__ng%~|+q{X%agY-yQ2(<>pD70fZHmctnud>Ii)oEf;s6LXH&ZG;3#X})jB zb1KCl?3=`W0DRkgV`k45wjU&_TDZEkQR$lp4`htM%DJE60X`NEV=L&LEA_bH?t5bH zZb!4&4%>dIGgtgkXMz(Q1r>Th`P>ob#u2}!HO+IzB0UyFIdT@fVsY#O^&<73VLVlC zYyvdJEAw$i}3U^jxOru4323G6qVK7{hPa` zR1NZL4DxCW2E99n#2$G}ZbEJi>g*)OY-Cjcx_zjwF}G_dITg;O%Z-0Y>N;L)X%kqu zAN$e2bdZooc)z9f`y+CD3JJh+M1@;!L)c~uinmnFv6|CNLN4pLhTWyjXw@g()K1md zeGw@T7w&{J2sUR)XTo9eRISxxASI}Cles>ez0GNH^3raYlf47tJDGA0uYX3Wd|(%K zlCWG?Pg@@Z^-A34r%#T+hO#+{V2}<{VUZA$iuV#nMZq(%Ncw`WWQN&!|8O?90U{PJ z)TZmuo=NqHn=Uu{RCh4zsW5$7j&dQqoTXtDU-jI(7*ExPYg3{6DGLhAKA9lc^fbaO zW%>LOkRNm^w-xj@^G&sR^qH~@$4drv1=FR`)@z1MY~LxP_HZk?ovB*MDuFXrP3Gs7YS={Ul;CtfLctd;$B z2c_Tl(nER0$p4_-CBq)Giqy}I@R4jf2adsX%Cf9yRZRK&S7^&-oP6*;yCI(kHv%j6 z?|)|*otNez==w%G+nWo$p{ZWp^+hq?5e-?b9K2~2Cm^$ob5^M3CStJGyo0%hp##H^ zsWhbf^fxA_CNdH>5;pc9e|f(EqEcMa7qex)nV3cmp3V$lkDx}T@7pkGEEM06|CDuK zATPKDQZwu;6zfc0Vb{DP)t@GqIF5{m;}5z<8Kr3kn3%eo#jkKKC-Q3ESqV(L(LHwf ztX;rt))0QH=+_hEX7;krVRS%@*$lwG_1M7RW(7>4CGa^n8x~$Du5*46xW9Wop=X?& z`2^rjRGpu7Wq*sUp;eX3IG@Tszwz+?bD4JWb6&_z2!;$~w3GG+;XL z#VlsjvmSK04sx+$YqXVDYq9!ZjO=a%{=lf(SRE*nd5}oRksO=tSaZHN0Dx1^#T4ee$@9EL8sA7`&oH$P5E2YfKzAg67 znMi!L=TDh!tfB4n^SGfyOI#vhP=6^qhfU$4gGQqkdppqMCHZd|DS8X=>~|wH1CZI| z2X#o~IFpQC3hm}vABJ!zUyLNw#pAwcF%MMbEt#YieDb;di%C_fimxLb7n8Oy8DUQPK2q#T#*D=45Xa)M>LAp|i+RUs#s+qf2y%l% zh0=tR*UF-EEgGd0%dJ9Z(ZF$h5w%eI#B;I__XxTjlkQQGpX1 zUz1x{TjI`7@PDXZGWJSeOyIwLQ~qM<|E*;H_r2WzBWUTrX}P?ai=~69`ahsM*}u;J zeLt72F6+FmhW0`B_PSP{MFA1YA#~pS-F7uRA&$Z>yAa+(sYL;X%all8pB6_~I3X<*3Gv5Cw79HVaRYf>pKMmm!_MnvBj*>Zoysqan=>@@?5Up=R56B?h8w-ev;uT zGJ6{(AZ2)c2svFz+)xDCS9^_euskHTmZHfu2HwhcY@SSD$R{QuAnni%ElM46fV0mf zc$sNgZ}v0^z0g{rAJvGn7QK@j%Ya3LO5A4EXnuPegMMr@Ypg8Tf1lk{LKiH*>8{aE zHFaX&dCfF5t7~n-m!wk3zrKWM6)pQHqgzoQErYx6z+Is=f5*+YbmtnWU;YWE17@$w z6SE@5!r_OmEAI-jD`(%XZr>)lKk4OfRss%u5vF$Z?|>Fwjh#kOL8V`seA5W|eJCbv zXOQr!jlqkJ^5YIo-ZdsmcDt^k!OAJFCyfKy+a!JcFHYm*7nuZO`3<6kSZOLt=oPMf)fW=kB;yNV+@%gI_u@U~u)+ zCm<04l@%{{)FRpu!AazY_0MBg=`J&|q)P;(t?k77V}l=j#`;<*o2PP96B9_lmp%`_ z`XC#x=-L-2B<(>xc#xZ~o?gH5&^Vd~#Pub8C<=El=VpH=sB#&a2--#_re?F!uC z?2}^R*@|Q0S?X_0EG16CFk|vQrIPnr6`a1DSgc4E;$+&;*c{P7bCO|m=Fy`#3r^-i z45nd>x)FP$^vzxf+I@)Z>?`>oY42}hI*4TpWD@LiWMf)|(%!%WX~L^vmVwZ@>5N~M zAg8HFZ=oPj{X0}nNnFKLl#_3A^7GK`8f4*^@88(V0n{J<_brBX1$$Rg4%mXiw6j;d z6A2k)>>dH}q8mh!iGzxcH%Qv`DyBs_Cih5uAN+fD1!11jljx55=I~inq=OvHeSh|G zyuKy!li`#jgSP?hG||+UWVi9bNvZZlZ_AJiVZ(|(`dEnDC2P#quDty`QDuU1XNg{w z!4%yTq$uA=&VD_iyyB~EL>+)^m6S--vH47I1wQ_>6)P+zT{G|ne(wK=U+mu>7)<{O z{)iYkTbYP?*c<(W82$?uHfefz|AYAaq4QvM2niwsgOiAgFlC7hj2NMiK_QtX3lO#f ztBV~a^#DgH=2Yb!8tX|0d0_C#2L=}a?Aj|ZYI^5 z$+%6r3xMV|b+26vetUNBh6QD~IGERGG36uL6-FGpi3V;|P4)YIGz52%T&q|N?8Y4i8cP)eSEAFi+|`P2e&Vucxyuy;2jB%Me>2QK!*hyc zx$70*{K9SEz6p}sPh{|(4|V`H{J!i{-RLc8yA@^m9cV$uci!vGcieZkvE=o9+`-Vf z)A!U`^)<-?6w`NP`g0_hu;UsPTecO~t#jnXZ!F!9V)vM3s+W=LE;8#fm7p_7Qtuhv z;=L(oTk5$gXj}TZD@c&3mG{+H#z#$>0^57iGoQ6`AXzFEC+1{x(~}MxP(o9elqa6J z8*)Dy3@6Sn!&Zc%=y6vh6N_?0**BhKsu_t=V)r9+30pNvO~fos@MD0)nYw&{r{7LO zB+`{(LWkR7v&ectt2OPwy(8H@5N8%OB99VFrd}*PLSbB=TFY^kguWO%5*q}ZSKo^` zumEtS)P}DkXD9Dkql!wK?5eCoZL>rwb1y=k2VB!}!P3VOM$6I?%}!V#(UZrg2hQ`T z2kIG7JuJrD{ZPrw6XTfKPyxQKu!58BM4T{-&KjE@B}n#j;-`ZzDG*GjKAR9 zja4j{4e~4iAeIK0YM9(_!*3E=;0vISO4e!k22reAwhA!3`O$J7$snJgj_LQGJ=#R& zB~Wzq$TW9Gis=ZDP-dm7K7HTRdK0Ncv;MkeP_vqb&Z_) zL-6v))VpDc#v$n@E0~9owlqK0oWEpp-BpkFIo{+;lSTUGT&xZg7%|x5fhl?ka<^kt zd-r17t)&DlL-Iyyi z{aT(%kVfO#q6;^$sX#|9{p`UrzkMi@^I8&yj4-e&rIhmqWBG}aCWSkBHd1h(5pFm( z!XZLpQGvXjY&QK&!$cwlKDo-1&a^B-7on(WGc1$pz3Z8Ft2lpeaQiw2(@%0N^2ZHg z$e!|xt53+7{0k+2qIS!C5m^${%S6kExHNP7;;#}amgm=QY7og~+=6!F>%*tHAEs-H zBd!@vThq!LmBTzQXS;aRcKV(oQZI<;iUBG~t$K9OLyLIRh*0B^qsyOrc8s7~@mK}t zCe4j0axk~*y!|dQnmSurJ=J^5fI7ZBSDTQff|yxJNc$mrxCY9oYES;90*V9|ZtWHq zxh|B*Q;8;$gt3H*nwldA2x@bLPVsLGYPheZ@`ZD%i9REv5uGO%D4(rZc zS8@(nxne21hNR+09Y(_3BsD#4-g)T*|F<>ZbYB*vByK% zvT#eixs7JFc~T2W5WfX)*FCHI#Z1vaZng~3MD8pT1Uv82TXuOUFl=l6axp}ClDzvv zwE3WR0U3qhs_YEDkE5$#8t<27ZkDQi!p33Mp)`R}9`&8ew_EJQPmk)G!}SqLwWH|9 z3^|%?)4j^RR|c8(3(0ooydQV1V|NVmpS^ddpPBHq!0&&-ov$&IK3aI51EE7AE$#cQ z_4>D`;JPppEq$Q{qz!^KmQYHfhfY6?m;~1mGyT9GAC0&k`%e*(x+Jfw3a-?+PI+_L z*!rT)<$6KXjFCx<6{UnB)r2Nm+12#x2(lZ8U7L_87oG49w?p$qsfguOcu!p~C6Ntq z3i&%`)Z|E8kxHJKyE%jGmxqSSnQovs~AD zqaf#%#kL9htWb%!BHLQwEOwme3f3mOZZaXvuh+t;+Ji%JkqgqJxjKH4D%`f#*sma% zR0l;Dxls8Ro>E8Z`x@U%quBtEpwt1) z!!UHtW{KdBY9pb_B8G$#WkGXq9zwfF2Ay5a?6P)sCnsWheDWs zK$SQI^Qt{i9l@(iOmdpo`!0T`t2JWcJ;Ly9Ev-!BC17|J5RVa%-yz6P^MbJ0)gD_q zo(VWEW9Wp=vyOa0hb>+h_Agrq zIEBO2xZK+SCuyPtU4$zy{zb7iNnwOSJEX^fZBeU|B`dyQIA6abWA?v~h@;3TY5|@_ zMTcnZl#P^eT`_!Xcmk0yklzW`vl;^p{03Rge zu(B7nrOpkjDdmz@-u&vx(wYLWM+D_wKvak$7huC0!oV6Mz!v084#~K|ZGJRER*%m>vV`9sLvgHBa&S+VG+SY{m%c zpFup^*|SX4|Fk6;7}A4j(aNlNqz!8z86Fn|H|>Hf#jszHR9aw)npD*JR|zwAfIZcR zeRISP-ogR-%lb@bHUg30!Y@FX5sr_o^uttW(+HhdfK^n!czG8hgPY}HEvY%!)Uii) zhcC*54^C6|*}D!q(x6tTre0{9@B0ZV1<`OSizCi(OV&OvnRn(TAwQx#k%cmX{{vE7 zCe#Q3k&*Hs$42|FjHxM^=7|AcXq-}P(#{!5J=_1MO981+ZH)~OOPIOxDzmL zhroZI9cv9VqlKvDAj-fdF^4l07jj_{!{huJ^3&2JERFl;JZOF>alZMtkDr!?Vb_Q| zX+KW@VNmdfPC|_gIfknj*^WGJ>pv{2;K@IXnMh7l5GFAt` z)2f)a*OOM)O+7CBJNj%s=I~$bTu$7WJNEtlvG*?^VRf>D{q`*a=l|aO|9j70>pzw9 znr22e5=PE0Qbx{}|LFaTI@sENiR7#t>@}>+e*D|Vf3w|d=qln$qJ5Y%(KTZ_Lo<`h zXMFv@u!Be{DI%Sw;sZw2KR-i$J^vbtN zWrAhpjhJapl za82y9K~D`b+q!`nuC9FjWfGg_obUM4fC3iA}f7=dx+vK#p&Xewkxs|9v5&2SIz7!J+e6q&)m`6PF303oJK4=-k3ha za+gsw4(vTiFk*fl_osMr!tz7m&t6ofHuP&t$z07RxK#2U#6P2^#EFR2T#*?`PD;r{ zKj#pYCvuO@BR01QXX{0GHa?)#1rGw-Kq7NrW0kGUSQaN3phgUU z(X1|YTPqX@xE`2brzNIv8C~-vY9?q?7`%fjh1$!CK;bD&Fz= z%CAHxQ{xLIe>pRR`jZ%wE@3=bA7nJ0Ci_~SGh-?*w(@<+-8H2 z)Sg(j!GE>Sct=f5-sHZ{^MD4Y*40$8q|Dssi*2-RL|Uj*Aq(RrGm~0Cs}yb!j8bv} zy8(McV>{ zwF?Ygp|BR&<#pT?zoa-5$>S|u_wTC>^bC=2bx8DsZ$G`1r1$rO;rs*>_`qI!IflAp zye63}8xU$e5oT=iF-w_WV9{;{N7tSsI_4q6r^g zm#0oC_-D$!x1^`9P~4|hzSS?0`5s~Usjs3b(dB_F-N?6IDQzXr#ZO9HzOdBehobrT zaH|Fuot&Vz-bbNw{>2VdKgQey1VVT{f_6Kf<2+{M$%3k zGzksL30W8m>>tr#0hT(wGX{<~Un{$k} zo`2y`jHapF=r3!&!plnae-$hN!KPv-7|BMzY4bGpah)XSQjg z-CU87m46b(c$1X~?g0gxk}a$ybI{z3ld4N*^=Zna{mQ0N1XQW}vPI}kG$z0ZVolim zdKTNl+Y#>*UUIl&U#q)ewb%;9(_>`x$K%`7)sz18pO#Ob2ecjrZvrvask=iFBzkvt zp*b5828dl+TL9*b1QL62^aQ-*bHdTMB|Tc_Xc63U40xV#mILFWh-fng4;*qE5e_iD zAohCjAaW2hlX0KqmZUl?4GEasTT-UIXm0oyF2G7o3$6lX{}!D)rA3`SMTwqw3Q4LA zTfh0PxXGe>!_yqYmOR%-V0rc0Cfs=+ zINEtV2CiCVr+En)@0Ng^!aa7uKs`&|nG8!VzVgKUZJ31O8LEWNQiz%Aq1RKMVQkrf z({Y~w91bejH2>+m>G_(eSX{VkPOIQra0)Z4IpW;TA%kvc$p{o#EPs?(HoqUwzeoUue5 zWH!oj=sImAUX6Qe*4)<|HA!t07w&Vkap5^repK1j;&O|Tfgj>aw`OCBr28^!R&`lc z2WayeqeSgoS3

39QcWqU$KxX4l28x&yi-)vAE`Vv_Z-%9On9`dYPLiz&v4$&2Dp zyy&Hi$>F}6^=AC?FMhfM@GR448IFb=DqC&4kFetrZin7TGB3N1X7#B^qRrxrtUYt}#XgQcG)6Yu?=94HrRHav<=;3gW zEfYNCahcRMH752Zq*tQ(Q51-%cQMw;@FZ~A>w;>Kuo633Xb_gYpSUpYx{<@%ZGeu9kVLV zW@X1zhTWJt_^YeerP2C|6S<$ulT39KU0iXiW4O{>m{R;RbvdfaS^Q#|jhxhm|FqFq zoBU5w2G^Zo1do0~=Dlxb8F8f!+uHG=*YmujC zX|9C}7-9Vt(XpBnE_yi@;ydx}$U;v?BMYBq{N%}K+>3h&xHK*sA+nE6keFkjq-|i` z!i*tzr0`G3D%1LVYv+4?wg&kXraKwzozXXNgS^Ij?dVt3cbvi{cc@KP)JJFZChr)- zcBk^;TvFATE?lugPR3<_eSTwZbT8SZE^(Lorivh5XsA^Pg+>j+0G{g3wZ&5Jqdvk% zuRijdvYs$S_z^_<(DY5e{z_`U;M3g{XDjR&IcNm+c}l+j6Uz7=cR@fH{u0DMGJ}v9 z%W4-Qx)05obe3AmTf2Ajj^~eSe#%mA7=?7BsAbQzR;&TlnnBs7?^j+l<*Oi7m0v!r zA20C*^$ezH*uRdBmpv3jiJtEX=e_1qyQs6|BvV*|syGM2cus*)voSV4@u5gpm<^}L zh}ttiQ5vjPdo+r|%wGu8Q;_R22w;0|nn1S)sm2wH4 z<+4!Ficc?{Z|~6`65IM>A|eHTnyFYQCAIC5I_zq!!LQXqlBE=A?osT3jmHKrRzW9B zUV?(&K-MSoKS_rvvs?`tjkWSC6C4GZcD>3@bfe9?beD|v9Hn${(c)RZ0L4Rs5$tSh z{0l77PTiP3YU%cDyHHkQ?MQ$==GU7I^GNoQcJ}KX6r=0j{g*9}?QXGcHqms<&BDkN zOkh^Y2cye-AUZiX(lc%v8Q|xp*pAB~DqBv0g03zgsEb_Oaos~5(XXN78}Dewj{w1X zBb;-B2|@X~iR?#A#d)vx{EvApKR^HehKE>g9YhGnh@U6=SMAC$XgVNB_{9!E5m@>2 zmO3Z*dT{rfD#4!pD#nIf=UUls|McW)0B;>2zW}<{|4`fhJ49#uPs_}IX(#{Lcl&RU ze(4SAt)~9?$^En_M*$560;du}0!ZAX7sIhh6C~*7b6+ z`-LS`xYE;{qQBg9QQqP9x2?iP6znD2c{`KS0R}q$Z_D)OF{H(xj;k%_EB+^M#kMCo z!0W@P{ZLA5xS~7q#IL&inqfEpt-j@3LArn9q=3b-x=)> zV@u$@hd{A4LM{03Z}e#7hK^Mo8UO6h!9x7D+><4+3}w8#qun_7K>YY_z<$GyYQT9N zt#%UNCpRd#n@RA_`g>6AqmR(xF7n6ozP_*bbWeBj-uAT*sNl7b!-n-<==Ft67wmMp~Wf%A0f9h z!5PhEh{IILyUWF&`P&|eVD26+S%pYF^~lBVB3Fsoh??T$M?)S(G{3WqBVF=2hFCg; zA-rF(ic6~ESwtudSk11Y>BG$~qWS7noR~-a;R7J5-rx6#-~>>(bW(c)hiz34((+rV zoji8o=G?+WMDGuaDIL3g-)D0PAswxVQXzm=OsOGQ#--E|e6>?J zW@*$R&VR$-nfpMm!V+8A=0IuFJ!o&Nwj7MNWC+aA5cO@tX5Y;PTL}8AhEW^_M;o7v z@$T&TSc`%(bNU!5n7m}>dwYtnifi=B?sH#{%| zr_6s(?9SC_CzW3=u! znmBtjU=18t)zx}9mEtFwI{F>8OiHL!255A2HGulUb{ah{L9Ej98d&uZ*uZg{Qadg+ zeRZzEKdf+h>f%g#0NnDjifZ`SqZ}xojAB++EG=&*B0Ww4B!C)5DKQSUswiv)i0ebs zf`>;W4QGD$hr>b=b%8l)WBNG> zztxBKLV5;G@**tq`>4b(PFT@}=0;Cqb~#w?@#3c0CG7=w4*W$^N`@E?DjJUQh}oa|iXYn$x{U3`rL#61r`jg;J3DJvH7c_3FIAcjuDta& zhqPwsu{hnq0pVXPA>2rEzxVFj5>?GMRxWzuR7j%Cp5pTgM4y#8URqiQd-UhY>rshT^87NFi+Sgqem{rg5jI<#fcn z%}h$%Kfsdrxhs#+2+t-P2I^r)dskZ`_g(m~goO3)xbk1Vpcl)WUO zr=b7!TjQZ8i;EtZLHW$}s_{ux={FpXs`| z`7v5hT1^r;nRfqSk#zQpoN%RvS8lQtV}pde8%^ABx5i zzx{a+Y(%Q1{vWj!pgaj(T86W!Em=(RK@w?MQyS8S}t#gRD-va~lIBn~l z$&^t=CQYdQn7LEytv}gL_c5w>18ek9OUaBfEC%EQ058Oru}G`Kqo_1R+`N#n^HND= zR%RPV;h)|MSSke-;fv$vVS%`CKkwAawI_TNhpD+o!&se%cvI^>Kudt0 z+35~nEq<~#aT-s|;WcQo2Ml_=IcsheP}A-W4Nf<)u?hcf8(+3&pm{m{7(u@W-6z(Z zi=jPbdE72hmuz55iZ7+OZe_eDT^DG|CGpp5P}R7E*v(_mzV0hP-F3i7&0iZW_>mU zX*p~E0p6%5JqpMm23$vA4$7hxs#+43!l^%trtt2?4hVeM;>gwaZ^kz&HE+`bj`%Yu z0XKVwe6zG4L;&)Vd0GH!EbgA`Rs-jV)Id3C_1^-`cj-=PT&6B-p!!2S&9dS9>okB5 zRhs%SYBq!!pt68?AJH-(Ao@N?yM=Kz;5e_sfvln3O0?J#_x&@`eK~S@_W{a-p6l>B z;%UG@TD}9CV7D>g@!Pp{vbTq6%s||3$&70DqYTYz0=LbL!V#ovMEKw-@MuZ zb5l)}X5wSZSVbhbm+Fz}{C7^3)|Zd6ykuctUjuI;<)9>lCj~xQKwg?4306wQq5aSO z+MqZo<7Tc_5{0piy?Gjdx8-re9mo=oCcIP7KA+Z9He~bis^l#PK97Kf8%I_8)r3}9&Qp8@Qqyi)H28k zMX6O8#*oRb;lk`cHg;y#8$r^IEBRMu&vilBg(r_r!8bNPmb?|+G#{_i)tQV=<7;e1 zSs%JFp%2sh-%0TZ)4!RISk|EIG2vu>$JjN`DW#EqcSy(kJRITM9yi3^X|mgQ!-#+z z(sh0xE?sA*5>GNQ1aV&tVC3q_>O5uQu>nT8t|@f}YLQzU$cVU~0$B6PI;}6t|6=W& zq67=FHJz-qDs9`gZQHhO+qP}nwvEb4+jdU&y*)GQ_N=)*5A$%=I#2O%;_QgMcf|kw z2XGG@K$v?7A?NnMvS+3W!7Bho6k#UEZh0Ypj9xrQa^^@b_J=8NBuLs*R%LKg8%g2+ z#NQye45?>2?N!1CW2mHKeETVm(ph#oe#vQw`*WrQg$n$JJ`@DuZ}3 zUlMNB|8ix={?x#EaJ$9niUbP&i%}A{EsvydLESO?Kv7XJ@4}Y#th&@_dI;ApibpJ* z5pi-3?yceC{s+tIk87~e#c$gMGt?NQ{KT74(5z`tA}+$!r8g$mc$~!?M+vRt&<39N z#j6P$HugTNBSi2sjfq$IaT%LT*?2ne1}h!$9>=3GOG9^vXu2J<1LE7gO{#P@=Z&)P z!chf3jIy1L(B#KmVFu-3S)DMzuFd#pi7|LpOaAS zjFevsq4_syJ0EYshLta6O#&p@b1J7+coir0dFkoHLatuUqUZJKYb2!W`JVmpva|_^ zRh2PVPUgs5ird#Dv&^N`71cT;mGM|~#uI%?CYtA1&-4(=Fp=RT#+Zx;WRWiP)7tAm zztVfc?+B<|6tlGr{A6}C<$tbmQIZOlm)BZ8F?5tC_Q|kI~T6)?i(bCZDi&>z@Ug0&3i63_$^*E+5SL9bV)QYYW zBcv51{r;O!Qy!pxDVZsF28l)Z$%It-o!Fk?Z-bB@%M5jIW_fppJig2`62wwnSEMY( zt|Quwz9onS4&KU$`cr0GlT=8WP$KtW2T5dm(q)b#l52sLc2%e76N!i_ z?awMf;B2bgEGZRIuVX}9B%}5in9*NJ zB6Rt9c*1z53MLsG2Z?Ou{wN{%O;lTFf68`-y1&RB)JS1Bh=HmR!`~jzaqx9jZfk77 zaQfN>O9%z{e#ZtF`$d}A{WJ!E3IXTB>dgW)PV8my@yiP=ndyB;?HpAFz-OUC0CIC_ z8S>L*2*uO*MJzIpSwEW_gegD(Y>>b7a^g44z&|E_lXs{O->EgnwRwcOAM)&p*N6wt ztT)y7Uw`EQbY5V4N;7cFN+`YWeMeaOMBp=j$T+x%ejf((-d`Z^mm{%$1eT_UHlW0= zU}cT10Z$+&?Jpo`ANofoC04+*h;b6O-486$x>kUK)Pc-+R6ON)j57E?a^`V z>N4@7*P@9aYG4#oq0nW4Epl)?YM_61fi(Jp>ELMs;_c|8LLcdnS^A{fKzvGYbS!=B z0DR&p*}+3E+EEu+dl${Dyb~GYnx{6kvzbfpYwgyqxN=cwPC5m*c{0qMc43;5xZaM! zDHC)^q|tZe-?oGfNAtL?;+rk_WlTsdm#&zKvuu1jNsG;Y1~&nF|Ds`=EJmy zE4e{$*o0C6G8TGCl?mXr0BqVJ5W!J4Q7Ruxo20 zbpgB^Lr+N_lA6((^8n8(=u2xGuv`4if$<)Le_?i(Di6-%Y!N&--Mf4XoRqHK2U07~ zaBvqC#_bn%-nWQbn#gr8_OBbDUw1$)gLoyLFv!0MFZ}Vl3NGoACWVDDq=ga}YZ^>8 z_-B;%Ne0tGvTQ7Ej8)eiS2D92U5ePx9cExcQCa&2+m#r(;s;kd*}MuO2Pd&$Y3t8K zKCbt!)HB5|Q2UzgfQ<}Iu|iAdo}pf-ec;xKG^mn1cR>=`q2=n4iwrTxhFazzHU;4> z_^iF>;5Y|BxL`~4NY(tb@uIZ#iQjgAU%;*!z;5|*?~-ugT=nbRkTiRv-tQPrg0)%_J`H`bA%QJ$h3t~Ep-I|<&lF@lx)JC^5Z*v?LDUY!yJ5!+gw~_A z?wDm9Ib$xzjlt6Q=e&DiytDsZkG3iVhQB(!uwd^6LA>_Nzn z;uRs=M`2qnh=Lmo7J6l)yW!Xq#@tI8=!+(Up-*DN^Oq^6QTjb3TCQ;+|Jj7QqV~s( z>dJw#Nm7;*+J_GM!bT77wU+eL(EEup3B#?+zq{-SAZ_@U$u~49P6-61j3vf7o)LPQ zBlrl$S|`X#I%d}zKh^r6<9sXUIYo{nRZd8q$Oc^|jkukqgofKU0P3K}mo%+mR- za2yinL@J7$dPES{Wek#cqzBA}H4TQ#$m5;C1$&ot8vf}DU4L!-?AzVN>($UAg}*Qw zQ8$Q)?>)Xq%umo@5%XcF^CN`vGIs1(ng%saqV!Kfoa162=}=My$Y}x>%eZh=`QTLt z1hhaSZ?W0{R0oUQX!;Fcwxnm_b~wmWN)b3E@{_3p4D-491BB^vk+gJC_}h>;)@*6< zQji+Z;$0a7wk7BTz_2&(@pABn%doX%{myJ7<(o_ZmhC!E^@?yqvQA*(q9$ha$D*$e z`4SS)xB834C<=Y#bF4&bhLAbDQc1~{V(A4vRXABRk1r1td&mlBD z=!A}+D-m`sM1H^mhr&@w@g4k>4I7BT2<8ha&e5BR-8=XwNq?Y6HKo$q5ESk>Yy-tJ z!HW`E1vvbj9F8yTD*U8H+x<~GWS!@vt+EBSLGm4OufO~iMciMZOt{*s`(~Qg7=i%-U=h42>iLVDn;Q&FA*GxE-J5rBA^2Ve(3Y`E~ z4_*4nFphE*;&c6R_ex*TshWcSI{e-y-Tn3p`o7*7^o_gm9qP3Y?RkN4SIr$1e*u*m zp%th6LKJwRRSWnVS9n7Wxbqjp?;0F{w@>8*J!c5G4%65F_y(^lHgpG5LG3-*Pf&m# zUr7oP!vqqW6I?-+0Q4Ok?g_b^O{!=&oB(??OodIRX|%imc;+{c7754RuX)f~RP9^X z-O+bpRxc5!QP$zxm;ABeSs@%B{JUTZNTL^&gcdCbQVHxT1KouYbGCpf7cjD+L^8Hz zdH6WdJ+e77;lLAXdUHddSi^}<5k3iGs3NTdyyE0+^2gQ)#a-mgiN^z~`u#jf@Kk=0 z4$?yB+CVGQSYCi~Fnw_JtwB2jC9r1!^8isywvc&lm5kf^_w}6Eg0nz7NM=dyb-Z3O zoX34E>8^(~CVH8sW`ktEaEOeyH!^1X{vI`bnT_kPjI^%J3?XSPsTD{e^0ETxg<+yG zq{RGCHsoIsr*vvlK?e31QOJ#YS!pnU^r$M~i~7-Qz$_8&H+f{CBK140=DW8_4NZ2X zLex^m>&O=77YN~YFQ8g{f!2^(omH41zdYP0v~Rd~xGYx-EhZB(yxFmn3j zX3@w^L|M~IR^E~a#$D?ZrgDAalNvKp=DTP-&WVm__P7ru?p(14w_XXO&P1`Oaa=lL zcW(61$mjYMYXJQA>`D=oc_La6mBY$)Dq1kD5tcg$_SjtHHbL2YCT==gK(yhSyN33d zA7od4y2ILKVV(0xNU~v`;`rO4+Csoj@Xv_~UI4Q2y`vC&_*~jt0j3esYUC{Y>wENC z)Ga%~dk|eBR>Z|^Fu2IFdy598Nv{}U!OJms=K?aPPXt|&x7(oRfD8)k_1B-sUGGuyz5s z6RXYUBjz6lc}dz8A{aBJ!hi20N!%&iCE+p1uU4-IQxW-ebw47~DV}zNak?d4eU&Z& zzLtW-Cq+CAJGNTR!r&%du#d1Zdu>%D???g@VAIB#P1=Q~T<|x43Szi`P!DLJpukwM z;wf485@>v#V$Os%WkE*~+#iX-bTkpFgo-U*rhjHVh1cxOA=D$>(&w!r0hO(rNh~wV z&KxZ>3vxt99BhN&H-c%Eot-XxyKn0W)%Nvi@}XWWo!A2x9j$Uaa^z2p_!a;E1j0TwgvGtz1=T7EKXJIudR*BzGz)0IDbu z=qL~@G2nw64)TvcjYwu9Q(Vw*NC0F^R)JU25Ufsss7z+D3tvE~QQhdbmH=y$yzN(< zu)nETK;M?@=+jNEx$$3s;Zg1wbd`VuDJJzu+OO|kfa)Y?Pb)m&SSf+78B+gEp18}9 zMIA4|d8$Xb+OJX*Oihl2jm90CHwQVs*~7Jtmn$&FhL$yBIO4wL0;bm z{YF+gAZ831rCK7;&LG)9l)B-X2hJ(j5Hx#Fn5HHbbz+-+yKkO=AYXOYxoF*04s?KKUMV-i#jqH2#2pfV4%uVeAh;81jVMP-ey-tSFoK=1-I8yag>*CO5h z8&*xcP+m-M0!YlG*xeA$yVL)h6@^X#4%Y{T! zHYj&o!)*rxGgFlh&fvQ`XnGSovzO3nn?JyjRR3OQ;K(~@`d0+#btwA;@Ie?CI4U{Z z;IBi3HW_y$8zmeh7@H ziaDXQN!~ZzcR(LiT~Q%-9Qsel4-~d~mWQ!x^6rum{YV>o3=t>PQ!=ISqyg(QuqK?G zX_r=;gVS>1_wluiE&Op8_@Kaba3*@7zpOpiptzz=#!(6&rmJE3J%Lfh64MNK1{h(q zgnZ1q;(~9eG$TmYQ%H$fV_j+xY9cAvC1ZM>)-#YqV-$Z==|&j8T9r|y1S)N~{^Vb* z43~z)>nx6|qv`C2c$a_hH#!Gv@;5mJTVt6Wy^tG0Dy^I!tEy{8K3S&3LX(s;#Kqe5 z5k*W>CRa%6OERFim$=Z%p7Pgv;X^9D^@}`!qLkk`DZ)#3r#!NNKkT2b zU_+Ho*VW?vz>=II4j9ai6LO-J7a1%GCX3vL8~&JoKUe;ubVI{J<&vU`!w3x9Hj5U8 zgEr@3+q=$W5%1Qw4qaBl=_^7RyHAb&P_yM$0I*|3>>##a{b}fxyKz{rpf{UCfQu%D^Rm8uK~TOeD>Rqk>$|FTgUv`g(k!jVhuA3SqdtEutJ zK9g9h&HLk z=)oS~0a|gEY*wMlS`OJFD0?bJd2r{_*9f6qg|mS57DWx=2mQzf#+!#gDvvup> z`Wut|YRzX#EF2=;ma}6&^d6C8+s6remB{Hsn-QBjOIkXh5l~$4oHI?T$i9J1dwaWs zE{#h-*1?u6mbksfZ}4bH5r~wi=Uz-S!-8mtgchFy$5Nb(?-MxxOrbnXVWGaoM1Pjp)axSi`|-Fo?E=modC37>#? z77g(xtSB2-x{g0jS0a5Bn1z&OU|{_eEDMOad*)9FauOc3_<|u=K@bdOk61zc3toz5 zoE-gjwPF!toxc&vo2`GxOOXeR8MjPZQEU5!yMuNex{l&0l3A$AjFuvX9U6+ToFpdD_Kw*>sBXzy&fMFnUiO zBg9eXo^GN9h>+povmq#1gA`d3;wxf;ayJ>Em1RQ@Z?KUqjtm-IBBd2)LpnA?*mbBt z-ZwFTn<3_FWrFZqGf*v+@D;Nl(=3z>N^eND31@;nn>X$PUNWr}WJ7Q^0dQ4<_*7u_`{vngo?4>md4 zwf!JP%#QcOH!#S{Q00PLIUqDKas*=(`BFsW$jKy68H#c)gO(VrGP`g^)Y5`!^?ui+ zu;ExJ%G2lQB=W*uy5!k6~c(L2i&yB4U6`S1|IR;9ah>!7|dW>@2I`;YVOW$ zt(p@J;FHzG+%R$-iE#liXim0EB%2N&qbSn$=#Uaszv2>!6EPDBE_{ZIdF*^+CD;%U zSrZZc5fJN0j&s7qKa~+!&<-l+{ zd;$wX0uCV&w~W|^fY^qF*ap9tM?_pxXxsxd{;9jbf{wrfkH7*{P!TGGI4#0YABd=1 zKKWFo;6{VyY zNK8`V+~~Nt*!1}npRZkGa&la9D-4bSZX+Y<6L(eL)HJn(Oqgp+X2-Y%1G|5yuTb#x zv~CzSIX8czg$CFMa{HVAw#0%y7`P%moWN4?t8)B$%&^w|Y@&b__QBq9 zC@^nueKRtBGqjh7-JpC#d{taP_c!r5SzK{74A8>BWaTv$L-6^e=7A#9syL7w}kSDFjtcAdJ!beK2F<5n(i4Cbop%Zwzb z8GmgQd1|=YIgl(=WrYjUjY}k;iCP?^qN$%1Nnio+Q}Tch8n+1fDu^5L?lg%qJr9S9&>h&^94vdx4Zm;Ep(Ifa@Zp^_{X7dN6J) zdpkOFaBl7==M^C0lK>J;#RAy51|o(MlR}awtd5bHU3h4kN2|Z9I51!u6if>arTZJD zhk(ipM)1*hKTzZLK%%m1bT ze}_=e9~T-M7M%ogFfb%OB0U6k6VrTcU5pfcwhyZi8J13CUyKlO6w~^~pb%Kc`sIeB zkdVj5Y2Y}T<|SZvlr`GsC1xI*m)>J#M?dmai7lU)F}0~RrxwoqL_r}oGt zz5N3c>Artaj(!`b_z1A_wRplU-?FSGI-JrO@@ICElp9@1pv9D*lOc)`Mq_>`J=iY{ zQ@(n7I1&ugfpQT56ZCuie0kVM5zs7KkX;Ewz%2u+0MDq#9Y8~RE=wwZUd-j27I{Gf zUluQmpk2#CSXi`2q9@7v=6dK(v`O(TRfGKc4SICMT@Q4{3OfodLPLq3ud{QZFz;;e z`r1UPrBw!;tEEsxD#hLVbWthqHlW%jUmv|S^H^q^ZDUdC5@#(u=Urct_x!#EX?f$t zNbBT!;DxBtKGTaJoe>(10YUnpPH$&zx2n@7bKYgzw4n`MTanXyO z(>3qK938Hr+VH5-sRjnT;Op;L&unz@L|WhdX&L{I__d>>#NEt}E&Y01vAsaHl85z! z>};-ApjKOZ3I9tCJDT_hswj|I0Yiyd^_<{KS+wx4plrwMx9H%{G&`gT?YYzkFCLBuX=yelTpsShbb9ycQ)Fzs4%T{2x8Q8mw_iQf{7a;G`Gj?Ma z0oc;KPd|z^xkfOQ^mVs_^uS>gTP)KfgTAT3I(0wGDIPa}^|01VZ~H`c0L*Fswn40* z_o@Du5cZ$bq0k5?$F>u_7(1W!M%;)?rwLcRJf_hs>MO^n%31mvp3$~9t30GZ-3zN* zW+dcn(#B!Te5~4J_meH|Oy;~UQwm4ZNKt~!8Y6XCk|DT=!K|I$FSFdHE^E%&R(4)Y z?`;*W=sH)$_>5P9c$GR-ibLB{NS8mL_l*ym{ie1BkC9`j)zbwb>K?t`bL2;dC1a8e zQdg*3E59SffL|ReH_iB-^mGkmZE2g{J-@J3_oKGnz&%&dfm`zJYj7+N|)R}T1nN8A-)20TT~bIj@?9n zLtCv4ZPXz4ukFqZF?-m2TcuWx9B~TIP4l$X!ZYC#=D39fS|K!}(H@v^N%bwA z4m;Rps2-XV&hrSH5?zn4v{HL&K<<&?PZb<#>$Dp>Prp405=B+^yil0k!Ma#8OL-m5M7dV}0$zx|y<6UtVkO;$}Id!vxR8 zx=bgRTJpeK><&B(@l8A!#_6c7sC26b)jAtDzJ=816wR$XI)VF zG<3fpp@ly01Jg(5UTAQ&$A{)c`}eZa9n;mXb3j!zQ$TygvHH#fit+Moh1rb``T{I% zZzx`VKoGjZNx2-mNct{&p)xIgief^0fxN~#n+b)*(iE1*HvFP>xkJY()@RYrB^rE? z#X6G2II1Ls9>jOOpu-|4yf;)wWaac_9qn`9n^LKIXdggio07q+)*{Zyzpkj}%r&#BTOGaHi^Yr{hUkPxn69(eR0!-2=wyRcu>BJrAb2mAtiMnSI)$N zzbs)!lQ*Fo({6afvxC~?5rr|@3kd{w&yE2NxBlMR$x^07&ApUxIqDcwVk2H`L8mD` zYC40**xcz`>_@mK!fHP2%Rd@9NZc_fCfDp8`w$pde|6dsC;(v(ljFG;rY5q86wyX){^X2CWWEK@w zqvlo1mF0md#GxQ5*=5q44!E!qWljut4pd%GvGKU|&!3${HQ~XQ71G`9Ma{llMSg+C zyuG`y>L-Rsj;8-;?p$YHeU813TiPFISyurb_Ob$0u#|6pEAdBDss%UYkyx~w8L*SY zpo1pP8Dpi|3xwq3ML2;d8n7ah)qxBb!-^Uk5wex%p{GP?fw+TG2Q;16VSs`z8mI@S z4&Nq4Ei%lEu~FhDOslI?o93p>H66EcRFl9gPZ5b;X4#m$5tEr)QdAx(ZBB@r*)v17 z*bs$Ecv&pRoS`c=L$ON>SSlC$uc4eRL!Xq`*v7+OoN$rhGZ{(Wi0tG1SrUO%+}E&? z!e(XKjYw9B4z!R#HH}4YAbso#s^M0lNmOdI@KBIk=p>(_SmURKbMEymYXNkv{hI(8n$7P4V6Ze>B6c=Ty~j=^1BaQXI6(mr2AXMv_J#MoRgr_TLrPf=}b{fFT_xS~3|qOCe(F$R4| z5;k*Ds#^|I(b22vTV-rY_I3l~Z!>~rQ(TUe`BM?|t}2Wgw*i7qJ$RPQRKuv+BR1Fl ztb3|ULmtL!1Q0pTM;*v`!W^BBisJ7MRHXo!Il@E>pM^_ImiW4?#XHc!5>Olr=fxF= z5({W#MMMKJ&#h?MxP{-aFj0@w&-Rnq3~K2fr3hN_HpHULPs#bY2+mX^!)3~2#m(6r zW_3pn->hMr@>Qa(QL2S*Ftw3_v1%LzYhhPpI75Q+Rs9=eIfE$ZwnFs~wi0H&s_0^B zKAOh9{Y{VL)1+D&>!6!ZKlGIFjoO&iRh(f>H_iyxy7caDzXgNYE%}vI8vRG^v*;O> z!^qBCP$Wqt&-z$J;s|=IussO76Pk)CI#Ho!B-C}}Q)*zleKLJZ8|Pw^9;1Tq1W6vs=+mFLglPDup#k*l1{kVy|`MA+9fL$Mp8DP3U8F7 z`mP2{4j;is44WdzZ1HJR*+Vd+<`0=ACDCCxMA4L{_Sxsi zz|Zh;m(+ovsO%N(3w1)NI224f3dj+-0FGj>F0;&HtG2{+=`2ixe@KqyMTr`5QS8$r zpt0`6BAOYJGreaG{p?S){54UN=ppY_v^31bsTN1Whb}v;`i-GI(VcO@hPr}Z4In!E zbhEE_XgR5)b`UjipE_xucFf6k*W0LBn1O(IY%E%8r$mSdB;Q>(cO>`7vQzjBh^V8J zW!U0wLb_xt%NV~4;w#HIosj1R9m{Mj(u56HsZi`Qhk+f$QFmhVrf4fz#$q637BzpYj6q8Qa2rtbd;L@FVao>aGsOOUX!(R)& zDXB4@uu_w-LQ{){iD1D-W%!JM?)j2?w?HQ#9OF={_H~m%h8*b|WoJh6#jQb$hm{rX z8@iGt<{t2^TE_(tO5NZ9JZ7SO=%qOu1Vu z@GxBT9MC{B{41D&0WnoBdr)hBC5_ia|JTX--;T|aa5jDTw6`#97eqW$<&Rv)a&xBb z`9|y0mr!o=>#_f7i;K z2FG$vH&CG`f&I*9{{}O*sjqG;%R)rUi3o9;j<5#n_s{wk#|i7!O#U`gx=Hf~vueR^l(@?8*di&DfZWwM3nLtBBH z&;aAChCm2B&2prR+8}ldvQf7?GOL+RkwD=CrBs5czmKnLA$<|CkwcP9d(5HO$$tn| zFExO)^MA54+8?9j|DB=zYaIMP+r!ZR(;h}iQx=i`2mj((OhrHzwg*})03`t4+oa<^Zt31 z7NF4$K@jeUpba-LpdC#Z$7vrQN1Ty%+R!{lEHU1MKcf_ZO5`RAzbo(O*B*lxBXUIx zP`8w&dpL4Zv{I6A*YDkR4uGdacAdA)CV^Y*nM#g|`KR$jP)=$)z$!V@WOzgFFt5;QvS?y0MY*22zG4!;;)}1um?68-z#`=E#6(}a zP1uq);Fy9YFIE4e=-PU*JZUoJGNOCBp{{*M`?V~*!AXfqpFN-|f)Y)Eo@yFqOUWLJ zkV2%GHJlvznNE5m_qt~8MW(ImKqkHb`t}|PQM<-`z<%%4spA!6Dd~b8nGb`4oBTB~ zr7dumz@1zJy*fYq$CT!P?1T{WDFE|?v~uOQ9RzR_1N2IyDY@pAu&=;6x6qEO;^%qD zn^|`b(!)6_xn@4|6L$YNVGxp+xxm^J{4Yy&o`8p%y^PftJJKpU$`u>1s&gKc>BZ5E zd*M@pDncQ&9v1#?OS~0jQW4jDZ$|lIQ2$*13zn-FHANpriM;eUvlD@GSNaWq5mic< zZt7^Zt2cnkB1XKG^ie?Y&u>h@WrrnzJ)?YdDK^` zA_=e}!*Eh=bIst0`jkpVYf2>Urxt)e)e^oo!0>saq>T${`OIRq5N#LQKySd6k8g1Q zs6Z9^`1@~vLJ8r&gwnrizyB>_bvY^($kE^Ey32XrmeRZLHAT zN<%G_z0;SgtWFY=!S@OUS^7+3=T^oz9_c{Q7Tl;wx*)~w`7v$wQnEBf3~47t%`J6N z2N-Q_ka;ha7yVhV-w7v7uezA@Ty_%60D9W$lyt^)%iUo&bHuM4qn2<8WR6~9X{e+%rAUO%G# zj#^U2J$=Xj+9vh!>C5H7`+8{Ii>(V8=S9sGZ!nRU_`o_!G>f#yqkPt_ba&|4a|H*$=tL-lz!BtjTvME4tRF==5{Q$g}MK0m=qmktE1gb>XnQz3HEU=F2acrzj{xMaMoV@Kt!3j}yIm0i%Q zs<{p<;p>yS1NgpK8^8bq#P(Wufap zl}lOcd7<&CcudRion=Ta*+Y%(?*jJl$rcg|qUgdiYN~Dby->!Poaw}Y!m~`!d8SNQ zG#c#_J*_Qn*Mu<+^r%6ERSaoOKv{E*@)$Sa}q zMLDT4^UZtlb|PA_a7oEBcE>BK>G8TWsVlpv--a$g=a`bxp{iQQdsUNl>02sVokLI< zZn1tmNS}Cb28vE*p-IznNeQM0m7KhNJ<$^g>!%1W=x}2rhCr{P2j#d^$$Q*)UmY8p z*J*Fz6RVhSw1l4vX^LmwOtGL9syA*!x=O!SDkkKLomW+lO-If+WO>Xs+{+!dA0oW*a?jhwGl z!RB60#`SEg->}j%TkU^cd*8WzpF10CyYIK|0ao^`L2+ROherqCU);hPLl17k=~j8j zLx0F+FBJ#A(hWU0Bdj;m@Hu^E;C~YaTMuuFuzCnX8693~uyO{nyn-e41oSOF+#^FIY6aScx&78MU&;k z^XvAC{`q#2&oeXJ!tr^0c-1hcK=DI)E?Sl{=BHmrHk6h{@2n2f7&CU&BaJI53l8iw z!5z_GO(utpTD=uc-NY*r@exJoEe}o0hLq&C^a~-&6m+#d9p%cN=2g=dgfMFF^VD?pVse9cmkOFdr_ zTWRyP(yC_0ERzzwHqL90JrzF7Qpl-5GTlcq2x(NFmrgZ`7Zf&D_bZ%62OEptZ+|>; z{d#{8qydX#^!DiEWUJRxmgQOyXdIqkk44S$6AfJ%!_g+!J4#j^3`+6Kj;~0@K}y_t zhrh5s=1_hBItrKbG)laoVn$+!R%NlRF?1y`iv9WUBI%-v`2gbN-1?ublB!$Y!?)n(=IV0+f3CS!J9&7NFEsiUQqdo zW?d`;Q6$FGCnz=TjUd(RsK0mb*N{s79_&LU8jvEpFN)Cb>uv4U$*(T)w~hQgoGep;jt zh5mC$pW>ZW3ZKBg6=S=u6h5)6N?d+mKen;MnGF2CNhn`L+A%UIBjuu*>C;DyDch<5 z9el2yZ*3_IZv~)1BE_xJ^DThf?o=LHvqxm8%-3Nk2}sk&4?ShZB90vI))Q>`qS0DO z?Neqc{WP0JdpcdinfXO8RtBKHTiG&+H8j&yo$EzLo~5JfX5k~SiyQh!i`#B%GDd%y z95fr$tN#cpHfZAF-$vvO|9jL?-H%= z815oXcwd85bA3WbR@!Gb?=2!GS~5%`n)MM~cr+@wBnMM?(xpgS0I4g9slzp7S6b8E zJK=L8F2&L}lo&6&sNN1mV!wjOBM;YCxb;lhrJFTP=j-2q8z>lca1Ow%&CgO3E)yE< zR&oSVx126+nFb-(har!U#MjSCwliwPwI<;NayYbNA*lvD>tgPoCuZ5INW1$5|MIN$PC?%@w+h1;w96>cxB!E&@Mt$JYmmjEVjEK zGG+WYxbvh#i4D8I$!;$0U<B zVvE_x5yHjO4XWv-8#)VPUbibg{4p7y~vW9Y~$k=G93ek z;oi+i0g*!C{?Q=e=HISwG#=03ypX6Wf5b~j%Az&_WJ-V^3b~o|EhYYxyZ6G>$U8EX zJIobzZ^a|Hly#3*>ll6AjC~tQK{37p^~9<5?g;fnh+H#W&`g2pNjtwW+4K}4`mPo0 z!YdRerSlqNqX1hZ^Ts-CD9Z;CMX>YN>CxP1pH=|7zy3wI47V-JyEJCsjK698@YjR&j zecJcijT_D@rz^lk_ORCUCVpg53zR-SD4L2l>7LEsJCj&v~3yGr)~_6+;kDf)yI~b@al9BD)vx@Vej^4~L9eqiIs7V=laQDsg!q z71m_wpOp<~K<0PC`1`cXFiw5#W?Gzd)7~sQi|1hyx^Je!w7vj@r4d4?_Ol=*O!WgR zHLG3{yGJ#AzEb_K)ap0vfop9l0@&2WNalf1YXU#*f+<9+R7|V1YSO`$0}x3godFEc zb?{&Zst(5j$C`U*`cs1st`sSI`Q(c{qs78v)6x>HDPggxK`;5pGPNLNgZk0P4j_lK zIMYF=F7Q59-muP#^u9ky2dGre6OE2z+?=H!)%$HEHihhHX4t|OSn{bVW*k`zR?SfdW9&7`rLB`;froO#kV|14R4A0`f#>juk7g*9c7b8}%0u;vOnR+mL{=Gg zVoZg)RU>g~ft^DdS@7p}wQ8|oL%+C)SoRR+14e}^k1^Pl$9BoL40W#@NE*pw7Yi?5 z&$ldvoL8@Q4|k0`Un6vgaauoxN0Hb^4Wj#vk3QeF7=hwudzj zH@2j-2eAPNV-5YXN2A^YXNfH2GR3G|j|>tkkbKA&J!zAM&QmqwnukRxzP8!Lwzgb zA6pb)5F`L_aPa?Q1n&RG5q{iIjHUi#FhN@z7h?w}V~77tXp2?U9WjOBzeY67iQS{a z`6ICV$nXJ06AZv5hGpk?n58Pe9ow6%QI=q1Hf z*q+P@LI(Oi$)q$5B=A00#?BEPD+wp|?vWW13W<9XT;W_8!POpWW@ZAUs4#m3TS-A1 z=4cyx&0Y@K%I*{0)!`S9&DHS{Ad8pWupk8v3bO<{-iT_8hk)-X#Ak0S<0(g=zf=|1C|*&L zl&kgvWqE6Z3pWu%28Ao!vSQHuz{2!#fV{mTKx+T10Cp%8w zI6Jm&+qP}nwr$(i-mz`lwzE6up4;8`c6Fccc7Ii~YW-NX)}LAP!I;k&!**8=(6ZxT z)6wo8(BzsS8Wusy%oSY9tmPLCVA&ObL(dOnNeeN(sS24Cvk)Vw&PT=pxa>;UFi_;o z-*D;7&;{xHS9^}9B*(qu%ToZ<9XFU9!fykzN8X%Ekz4pHikQU?Ml}W_0Xlu-fHw?B zluodzib5FwNYyIqaJB7VcK2YEqFv>#l3nKqn5t^jzM2N}Ls-o`Ya(3=^hmIRU#WJe zX*-`Qi8D9gTL(wfaPw}N`rC+XjV_;HE!82PfFpE&im5*oR;-e9epwDthBC`OJeL$< z<~8y-=4FAg6VjC1RUjTqLr4@nV+1mA~fFX6xEc%WW67MOI7KB z7mj(nd21s0!$IZ;yK;ZhvD^%m>g;yYdagY+lxEYu%dpqZn!$98yc>9o{}k|hGgBy< z^Z&y&@Q!qjlv9X{Aq2WSe@zx=M_muM4#d6(DGSC-YB)$Ax5{oNAVw%TsAJsreDPRPvUSgyft>%sLD3xCB3 zJ#xE$@b$gKbNLX)=9ZV})!1%qZ@)1M-u?u7Ahp`ga?SQ4uBbqWDe`r7OOVxlN z$`CIt`uwB0m1}FmHt-=@7+vs0wy9#Jmib!Qem~c&q-FHiGl|Cu?TF@>_rf>`fpAyZ zgxsS>gk10(#WV`*bTMj_QuPj`J>%KAaqqmO>mAX;Le7KK8Bu@%NqUChITN0_qgkf@ z74J|-;5}RE;RbtFYL?(T_EfIuUeE?X)*Ltzv=DZLT4)>_g#IkNbXF|mfXBcfcorqg z+Z>Gi4G3=VCWH3K?4-gFfPLAEcHJV_-C(4jrFxf73=zH>sg5(^99tuBr4J>)Ii$33jJ zOGSw%Ub6u3yLZI$=e-L(2$otSnI zd2`~PT|ZxPVy^cgd_Lsfc<=UyeLjRTcu~Jd4{sTHeQ2(AAtz`LZz(bFlel~?hi!x2 zTYWyJVz6m64x*NP-_&?J9(oW3*7Id$>9VHIC5mq`qpoZ2Sz z)W|o-_?+6t_v9P;9m++E%zrRx54%(>mdO`tnKFvyfAyY( z4_6zhPDmA3q3DaWqBatmtZCSm%wbI|^zb;Q$uXK~o5u{yb%)nsHbVMuRZe`Gtc!5~ zEE~-!q2?!ccUOQGqj8(Sp_&4B!ifok^lS++%^5={Z+I%HvoHV>1B%uk#7NPi82EjK zmLU_nH9}s$lchApRf>ui;_L{~8v9PmnjBFMb{7#TH<4w(S;T3Nnww2!3pd>zkUv zZVi#y1DwnEXtzpm0#wjjYp6epf~^%HVQ_E^NFdzrw<_7}DA5n&-sZ*OdCzs*x1*ws z8Yxn9>k2?6=*7gftXHHQ83ym;H>a_Ng{K}h(i~yGQD=Hi42=qQGXrFEnrV3 zUU8H&U^61%9{8cuBLnUfAO6^pNSmTD)IwLINxl`vx25BXGf0YJ0!GUcBp#Ctrv|Q^ z>pjMmilo}I4=YuCXxdH|%^64M#q-UWGFu`0a>Oy|!1A#&U3h%2p2{)F*ZHC31a#RO zNDyOCjZbwPPR1OR$=N-YiLzLN)8vx=dKd}rs1G+TNRdo}bloD=q-8;r;;-j65zZ!Q z#ImiIHsB}kLac&5aq*rMN23D0^*G>lts@i4}hL`Gl?qmN-3@0}sic)KJ8 z^9-W;y0!zP5&tGA82>qdu3S^&v52tLjuCHV&T8t@BE3u5ZZjsziGf!KnN>=1O=-S$ zBebTVTJ>%KHyIv5LYC3kFe>{R5M!{ajvdQkDs^ISQsZOFFr3lin9p+;17P&}L?2-e4?-wX?tX+Mx(hdV&#(r5;3!DI%hVP79$yAIbomVPqFQb*4x*gb|^O3|girDuwL1 zy`>I~E2)T5{VKP(ou^j(+P3^KYQah~ZGs#~3D5r*q z^g;NSclZGcSAGcUt_+LZ(*R9Cx%^piO?b0&rLs@M)WvTS5|Bu{N01N8%X3Q{?4)!D z^O~aSE(mGy1X!wsgYCL}L$k79gPCghvO*Nr@b>z3_7)BcCxrTs>Wu-I?UC=VKUf~U z$!q~@#svC{jw{PFBa$4-)i>$QUVK2Kvo6Vcm=p4&oQGyN; z1XHCK)G)gn;kM;VnY&Je?tYf&!PAVdeS3R#MO&|`+AyR|6U-s4;+-OANHRKwcQ(Ek zXBQ16z;ljmjv99U6<*Cr$tl*gJ3n-te5lT8hPY!UGFK?OBt#T9m$u?ZI@&g5?37O# zLqn_CST!WEvm>wdvIxa$yxBN1C-OJm8$R|eE!EK#)%kom^b=noS;;s|u9xrd!IMxm z6HQhes>`G#Qx5quJDC44)&Gh1gO=iethXAPUHXO-{}|};s33bAuB?w) zEFf-g%gbk6mJRhI@5Ggpk3zhBnj6oroV|Wt`%(dkU ztDH}N^36fYi0Nkw$(RW&yNxo?FhiLyzC3*Tlwd`yk7EX^G0yHU8%i!Sp2SigC+Pw` z-v5!}z~2MCOb?;A67V_>R7{w97NcPOkz$)nm3LPLV{`6HW@=Z=`BLnb&gh2VsCwgR za$i{Wozf9s1Sdbxgt?(9|4;yjzP^G>^;@U;ucO)oaxe8JFO9E02C1(2ryU(WQQCV$ z341@IlD*X=MD#${x`5ZZpgaa2)%|YdSwMY+jBRHXCC;r(K&aiN`q>+LqXA(VJ%*IW zu|UPM-?ohQX3YdqwFXvs1l!gN)Hw@uu1_b6R#gnTVv4FZV?qg>xO8rh9Q$)66K933 zU**nIg-mWZ%^%*jkX3GZ!vl%2%MH|76o%`D?RXAZVoJd?i_$dZdqK+vTZ9WC#HPn+ zD(MM7VZCIIYz;ydR3ci~*kd!@mu14XNXs6s7_~LPrZ^|Q+3ZBOCEwaO7E&a!(jU4M zzh)*6w6Y=98ij9RhgTC5@l+FqSoJ^=NsPDHaIM-ZH(b{l&+CXRr1_A-)Nq7*^sUbj zU(z#K@y0L$H;T-zO!)e*e(b1C#6M~I)TNk$f6FY-QWm{_U8)%m8R} zPFiEvIvM_xOvvkHK%FPBYD_Tl8IzBX*c&4EN#`spCLJ}M^Uj;uHRo4K+s(<*l_0b8>NFQ3_C*Vh!N_wrfe zU+QW<9WAg(kFHI66C+yo1Fb1>DSFoX$k4wPV_u{7{?V)?d3rT?hp_?cgql z2z<7MXjQ&e`&6_CJFmIjawTf}Yf9leb2u(UPU|vtLbD(4Ztg!Rx(V50mv6D|=FaQ( z%4ymdBYIc{n7MY66)vIG**(2ZO5-HEl!Kr zY?s6Bk)-ds>1M5vhhW~lrQYi_=`T!WFq_$k#sQTx=P95cxPxGK39=H6dr0~$oghtk z$`42jv-}eU=WLp~Au1m3Q}E3zvu)7Fd%v^};^qh%hg~@|OKEPXOh;P+E)#9^KCm2b zoR&d48Vg~zL~(L;@_`9CaY+p`Vbad$*4ab1xTb1IW13vKJz2*%8Z_7wutjkXmpZ7(dy{T50W!X!%~8 z5leKj2ZA;i>p028)Sr3tYD4GQhJS`JZhg2$J`DaK`b1Ky*cB`1hIcR+x^E+9?GK1J zYvK+@{d8S>M`;#TC?xLWnoJBA(W;ykXPOya{ZQ;e;EF=q>wUmn&cK}TjcVj4?C5K@ z3`U-9WM6t(RxO(-H)D%_1)%c`qpm}l;&7E?Kg$h8LFaoI%^je0cvC0LQ2V1AwwZM* z@%QYX$Vot`#ON!BIMqvQaECBs&JjmE{8&Pp1k^A`twGwl|f)_x8f0D z<{xe7#vih9UiXMP3!FJr$1d10q3@}WNL^v)|T7(&YwAg8YOls)lI9Z8oan$;oDwXM1<_7lRgZdkEMA`|<&l zWzN+-`irM_ns?{%RkSV8C+hvA)GaM%!0^HGBf-bN^i)+zPJt8TzPgM0*4@eSPmj+ z?x#CG@ubd1eSJK)^8V1nrVxMmkwcRIBNJ2;bQ-b+DhJt1G!NgUu6z;-wqCEG5(C+ zuL&gptcv1!Ut5Nwi&K`saIaAclf{OL%iAgy4mPrM7njgVlfhXyPRlsbX=q>`RR)Ci zL$3T}?7(^9tBHGbi$S{$XYkL{_>UfsGLzBudqT<1Q3w1@D>3l_xamCFurhRF({bbd z=Cs+^mm0AiKT4N-2`X*;F`dNU38@$zL`qehdHwMPwC+>5PS*7fVU=mlsZ^+f3pE_9lc(b_N{!kDcDZz%( z%WU^u&2Za>as?82{B-hJb*;_K@#YUZGT)dUag+*HaV{jPXPzaE6`B8*rZoz+fNV~y zYAGc2CK~M-3$BR4-xhCnJ4&e*C#q+&VO&@nQ6!}6Kks35ZF(q14ynuMyPYIk$!lVX z`j%i_Hxjgz#^Awn7l<&AR8~TWuciSt_xLo`Mi_0gP5|1nmd3I*Pf80+@`U>?D|>0@ z6Ca*d6?&XcKiiX*nB|cw^Av1lw^?OH+2Sif(rY{Es4aszWO{!*9|tNY<`XF|Ch zY*^wy3V*;w{UzZTxnLJ81kdJGi|}z1Y1VU_C*?V0Uyv zbW(K%e<-|!>q`EBSJAg2Uuwee<{hA;(oULbJs0Yd+|Z{UEzBc!AS@&ZY-*BIKd!>)@$`6FC6 zzYsdx)@}r_F+79Od5F2qZ;^2+vM+^d;9O6{15`o)#0VF#c?0D|0b0N6AE3=E8Q{(| zB#nsArt~da_JRTi!_x~J1tE z8!;rf_ODn!5ks;`&_(H33q%94kY1RIO68OIcAuYGsall)RfUE4@Yyu6Fg4rVL^ajo zABjS1t9);TC_8QFJJwaSK4nV{rRh-E-UI<1ltKouE=OEzT-hD^3L$CYGlL^tZ|9B?GGXZ$JlD#dl}+%+3>K04}&l z7Xmx8A*^w!CmjnTj1D=NCnkkGCJHV#jGL@lHY9GV+sxcsphpOeGV0#dKw!a|$5mmcD$we=|P46&}{#8`{ zuij<-6HNP0ZQ!#Ib?|xD)vA68J-w1?xLN zfh4B0G4jteDBx*#u2@uu-F_0KR73KBlTjobn^_oDCm#?$8$K;1uH6b%n+4W7K{a(&>^HnXSsL%hWfUie2VYICP~I6K$oXz56-*-Fw8En%B0k5H9E{K;m0k z#Mo52CvQSI_j={3I%tq$usrt?(rEW==?i+q{@`g4#Vw;)!M*R}$P4bQ@gu5lu&RVj zV=Ug4$xDu7xuyFHONRXhL^MGs9To6%R`=Rb=C{oC3MBr7s$UNqB1ZK0znL0Hx&RYt z2HaBh0{ZLQc(L&cZQF^^zEq8D+j*P~86{hv5xIiW%&+qw5LkQX1N@y2asVcoPJPZx3Ch#V`b6?_mL$ zm+pIZY8KeYG&*b{%`d*nH5Ijn1$Su<`?tyD$jze(Hr%xl$A8st|>1kH01*K!#G_tZL#aW-j z+0rm6<-j)R_>_X5)Th!TPCbNMNNn!zkD8)Iz-t`CyzT<ybDCQTahmH>QFz4=HadbEm8d^X zSj}Q^D;0ldPQ6c^^18&E_`ua~zs@WANC_X70XcV=Fe~Kx`=ml^jI!PuI0u)r8K?Ir zswD^h2rx3kld5P22Qa4!<}FTqijvHTmpr!mTG$?s^#I!}%E&8XX z`BjYg3LVp3I_as>%ERpX!RMAnS_YzcX|QaHE1j8>Eae3eBRn0g-pl^Dk~ZGDNH6MG z`TeqR^^7!WZoJ2q4XOxsCsEC)OQn!R9c|inR-GWB_#}>6W7`#4T~M01>+?iXC~4Cs zrz&L~3`X~~IBjao?mag}GM+3N!BZ25c#^zqD3O^`lWCK-C_+_s0hqQq)PacYW-?mNawkL$8)O z$2)~RGcm8W)-N)bqf>*(l?s^O_`cJZi2~101UT;Al{s)EXxj~nh)KoBa9|&;?IXPs`S66gifetg|B4wc_ zM@TL{;a}FbW%b-bsW}I$((+?REYcbJpC25&x-v203NgW!U>3aIJbDr+mM{>K;cvSU zJocS9=w#C88yL`-)n9Vb_R~cz>S_u%UQ`K@2uI@ z=w>N2Q_Fr)Pg{U&Q*AS+Ddy2>42&T?lddFJaQg6KJK7=8EJBtVTRa7SsG%j%PoP4A z2{<=N6*1!pT6mcLmbq85b;eO?#IhxxVy%YC-kWz?MGTb{&LAcq}cD{~XPwv)@>S%<(r=O{@t zUq2DqNlo;rhF!U@{eF8GCoz7trF{}u{LwXi`&d$p7q|Y5F+1Rp3GMb8Yj?iE`=nhO zZXCKZk@Aa}{J|}HYX;^|{ZOJu3GGfu*cNvTc%v4^g|#Y0u6|&N_j#Ruq!I!iig4ZgnjnZpJU)aeatM%+ z@XUous#i;+Le8kb9=n;vL~b-EIyAH)+-WY~vF(jc5h(2@}+heBUoh-L32hSRrVU2k20vqgDU zqexS-tiE=U|J*Kdas6*YoY`5duWa(_LdSEBjfT(Fv!I=gvOm*`>qbbmvnXhAxkq$Uw0ho z_%>^AW+z)RYZeN{DDoaQALm>+E7LyGNEU?ilD_@t>)e!S_{PoHDHMu_wbZI%r9|F| z8rmgmTx_oRnxj+|%B8^vw@sn|`aaAHgnI|ZH;)O5G`GqNtNkldfgDx006*>5VOxKK zA?9Vp998oCDMQT2(_Aj`vckPoL?z?kqPhL$=&np;KknX6-Zqlrd_7cKw@Z1&rr~+{ z_vElPY_e8rnj3iy@jsTfOf(4w-IWo9Mv-=$6qmYmM=|1rOYJYLlREqeJ*4cWWn+p;x;ePzwf10^ z!__*UnER)AcvR4K-#e>trcQhsk3d(j9kHVU?^p7)ewG7r2?cARL_3&cvS#@5v3%`D zNb(qZojkiA_1NV~z8B)mJJ?jaTp%XL9FlnZr+6vQRsvQz3zNgl&1; zzRIzFH*I%NTgup7?nC>oTI?bAL#Qm(oB`1>MMBxvinI!B#O5*iUBw*4$uatRWp|Ye zg&gF|v3rBuy8yPltho4B4Cpe-oQTk}8;hb|0j?-fvN@4Gb1sQamn>2oykX>-0Up@F zM3ll;?BG!~l934GfU56DlyS(!-5o_wWPd|fSBz~QjBGD~R~xKuv9>hRyjEZFHhGId zM-{BQ0s5qn=uNCsYFl@a$()9JhDyxb7zZqStOwjQig%DafMOubk&F#Ob&I`?SD+`v z5D){w%vI?X_9k1Gm70@SIc>@ni;RCT4kN^Pf3^DJ%Pt1d;kozo)1s+W*UdVaR$rWS zj8b*t5QjUI zu8=nHV-#HuI#$(S2x!V}K_tk#L+zv?r-)0AH1g)1QkQihF#O@WTryr?@du>M;V?#R zSIFp?EZLQhg#9!4W;N?6c=jOnA-Y<@2a@xcrkR{i^x;@-oq#(8&!Kjes!yQwnC-5r zPiWqqXHYV)UhAFch2j^{{(;4qtj(S?Qt3$OJ~>iP%)C)0su6VzJj7^o0N1;;dg4#Lml<0zU860hCYI<-@Ty}@w6FR;jShg{xz3~nOl8IRz(cH zD`yA$1a_J(;X&%HHKRF&;Au2AX#~Tah`Nb|nvA)>!eUaN2rvcX9fW&~j;fQvWg5f| z|mm9&holXo-xqFZF8*Pbdpx}_TEq2v0a?jy&+4*+sgqp z*PMAYY8=0C>dd8pe@?>!iChLz{8E;lJnBk@p!u?FPwpVVY)B5pa75{t%+y=V{Mm3K zKeAH^Rjq{LrkrA_lEq5#l1>Ripdutw3Ef69bO+v<>`Fd#SHJm(?9BD@f&f=3+Ags( zs80U&@4&uGaCwFlN4;w z=kAVEZz{^t{GMpK!Z>wcNIi9+Xdtc6pgqhkiH=N&X-Rojxn(q&Q@5HUljwLMTDrLc zM{X|4bgb?UM)GY@&Lu8rX51QZD6Ox8b10R96L-BDAhSR>5mY`lDC0n|apn=JgrO7H z4wG1n#5^OMP)0B0*N#ZGpk69>UMX7IXS4wMc)(Jk747W6UapK@5&hj-!GkTgyhrm0 z?cj_IUwLk?uo*Ugrd;lB$drue@=N!NvHaWU>{KLxiWSMIL%#Uow#Z6MaVqgRaf)(h zohQ&s)e4VuO-Cu=VUw~U&1?Fs_e%hqou0MR`nhmKs@VqXc)VFVP3{pIy81RewdSNx z?ml^Y$yvW(*&ZOB$rWS7qLyoeBBR&e8Y5Y5qG+EXc-LTEssIRDgYWd9US)=lUGryf zrZuT#HOP5Wr;>Zt5A5JY-GZT8l87ZT9HW^mFIu5e%qPr05L%+LHcpJg+!8gGGD;MmQOb?~3J6CS@f^u1wrS6&7je%$TrLzT32_QITA^sNQ-~&>s^^h-}EL ztoV9TVX16wkPP#r3=L{)C9FDoIV3LYT*|Lih50OMLpTiQaEB1&|p%KL^sL9my zAzS?%0kHZ|g@!FF=*p3br-Hne*2h=1ow7sX;xh2A--WK_j)eJUKkVAZLJtN;REqUP zAE`b3{RdPfs-5S{_YG5teDkCK&tuoT|5q0P{|T!4pG<0LTETBsj(J;Id1VbeNf;_F z0D%$}N_df45=qMZvN-4DIqbFI2Ng?3+zXITQro?n7&F>6G2`=;`}2n5^~URqmp6pm zU_>zNn7R@bkz7mMkO7*cIu)Z4d~rfAqM(Cy_h4Mbd5m6~xfn4`Kfk8ia@Qr2f|Xfl zC-s%M;}?)3zw8_At7CDHs%!f-495~+?R@PchLc;L(}QkitaUx0k}j^swv!~juFz{Q zZ3hbk%hb73WK@cKPOP0kd|_#6zogKJ*x>mUq*c47<4L)bHp_1(yySucHwYJM<8N+H zjWRxNU|D;}5zel#L}+~^2cdUmx!^RS>71506<0wPJX*9tKBRiB@lPRGcdScV@Z;%n0 zMCo*RpAqE}cpI|xa0 zrzdyTf=V9my7io9{QWx3_WE+ZX!#@5zSxhMOz22_pn(&KJTz)%IeHG8!q zAxd$Y&3}CQwqyzbi9%|u2D4#u00DfIbUdn8a21qa)Hu4hq^u4tA%I$j*t+lXpei~C zP=HLWfmQ0XwQ~p0);ZjwiJeUc`V}>u3Kka2&X)r$)qE^o88ahv*gqAbql|QPBHf zLmL&{*WYZE6X_>mDDj4DHDf2M(%9}$9~xMrHkvzziRvYXuBTy2W$=fm2BZfqV5snD zqtMe+^6X=?P0LH|pgJ8wLu0gj^>>Y#>Q8E;YJzUCe!y5uTqAfC+TFDBjI@y}K7yI8 z+zi@mVYjflXDI(AcZ(UG+$>Mu9FIQZX6KxYKXnk?A$^1#ZohHT@Jq&B+YfDbEddpG zts?&Gi$7Bsnk3xP!$x*Aqf0@=p+r*inq+JN;yY zQXq)aru0if4U_Rb`j|q*R(>Den;16VEZKv6iy*B-eY5??dDY6$zvK8mtDpZ;-$LpC z>b(9tE9QTU<`M}RTN#_`I~j}UJ35K!JDN%B+x`0`gQ~SEvM7p=2}ouuDk8LU`I1Hv zfgGU{mB4_2Uj*=4!NS}!ag4rwBUU4p%&F~JsDq4WlFtdkN$lBacOo(Is`h34QGa$T z=QP)IyQ_)p*V}t6FOXDzPA}&RVIYuKddZdvTI@~QBwA+e3YY#pbEY-RcHL{rq^nhr z={-m$-fEha3j^6cIaaz5ak#d>&|(!-mi9X1^Q1ukx7}rjdM2`%tp@7w1C}#6-DZ!5 z75um03JUJU#b^UBdQLhiY_}PE3NP(U>iHkMO{5cwc3EOPYj%f1`OWx8(W4k?MsG`- z)uz^oj=_DshVkuYF8?oL^YMt&an$+y>x``{j(JuU9ML7omQ(kHEZmy*M~U95^h0fR zvd+bdbGKj|a}KW_)jCWav<32p1CIBGE8e4IVF%0@Ha`JOt79iQ&LieTPfB|=zpDo7 zNseOt;Xn<__teY4>K@E;73#488Fttbr=e->W4>`^yL{#k6)b ztR4Z>(v!sc@y86FkXBAK=<9}9Dn5Vd1(bi>3HLXV|LP+?LoK00LRC{@E7wN)txiZZ zQ^7ZPmr}|6moHizI=e_tUOO^>Q#~eJqyI0fe(f=yxHzdF*m{Xw1yk90Mdx(#sXDJ> zA!R%H(!I5lM2+>l&A2n99+wGuh+P88{&E$*b>;ZIRP=xglBd#5_VYOtx}E}R z>C?P3OCs=nDG2h2RY$akdX1WwZb$(RY1(i9NDKo;1HGTuB)1!Xm~p*=vi#{;@C^I% zmg7BG>8y81c$nz|HNj2X^TXD`k1+Qcb+mUDg_9EM;FNYT?Bpf)z?9$qzVksI{Q5Co z{oxVJa{LvhNi4?|J>m4Z&UaeSjTYlte)-_0kes|yt**D*nsJq}+x+_A`c{^a<^BG{ zF1W`YZCL;3-s+*WQqt9^#UHqArH!RWOK(;`{+iBN=sLJ@H zsEXqhquM=TCj(CI3N))Rioqqw2JUy0p3_#zV-|jFyiimV#{(8r8E(hi9q-W>Cn%b>qJ+LF73GLp6-H4g^ zQxHK3ysO0q0#lEvR?vQ^!YlO+xv?_3aM>nRxUmSUa;_eovvD z<4Ia1-dZHSPoqNM!H=-_`NJmMi*44!=Yn`Z9|F_90ObKKCWbkg_Nv-Y5YZ#gg=YXl z?*Wv1c-l-C9PDk~PFq%Scea-G@!ymz;3$kdEx)f$^I-p3kN)q8g#VvP7XMBpH2m-6 zKgWN;DU|##M$Z56GevtVq3>Y%pJ)#Moncs=w5sr}!4>kCWITv~%-|2$b2QaX+fGCT zbeo=*M4Un`wn3yJ925!in5H+7_YZHN?pdsT1!MQpL&g`Xl;ekoAOcu4jS`AY?owG_ z-{)=9qv2Xv-5=O}LE$vmEc8LYxHv3!FrJ5{tM*G^NZZ&)C+UVm;Ij6b*hoCUNvbuzoHYZq znIl7=3(@Vv?`dJ8{-(By?0o1t5E5W5@^HTnG}_!yGkwCu;C1jeII4IU`fNfQHMEzt zPUmHjo61zkj)VSQM{YO2D4L$*xT!@}x>S?34#^3b5&4Cm9?OisHCqP9y^yhRuS)CR ze^M;JHr)qqRg?pj$+U}YK+($m7s%QhZa{saGGlmO=0~=?- zY4>}IKD#t}cl^#Z_Z%HFJR>bQYR;PJ@JDu^RBkLao=6Vt+H^qdI>8~BFF3Pe<1nIx z#k}ytV|@vFmro^8ng+NN#9n$3V4nuC=royoW;?DW3`eG;9=K=dnnmo;wSpc9irG~< z#X)n%y+np_6s+(+QM0e>OZ=N{GdsiwKQKEIr4$(hKQ$N&Bj*e3vj`zheC6ojKf(V| zJk4gLOGkVcPgYR>s=t-^e+U6i4(2wd|N97_qUnetjPk|NIch~BI1(JR0SN?a<-)oO zN#;t2Ua*7ohcC%5b@ZxEedVI6voSu;4G4u6qt~;bz?SPIP(>eD&3HFb+W=>E{IwzB?A!`)jlHjZY3g==&P5M2tTUQp5tX=(Bs60f*iao4ilkX!`mH>*vlvcv zVi8GE=;BLVM#QbHpLP&}PL}(O>I{we*o~pDc zdr#3eM22j(JOGg-T^(WwhwVuaM?N^a&J0&eG-XQq%tnX%JM1HTDd-nRD4ZgaDmh(= za{!-&$z)l2?VlZOl(?OV4t$oU*qoWZ5Is4XMNBY=!{A`dcHd z^Hx{!R;NB#cXbKLc`!OEOooMYy@FvH$b}<4uB>?0mC=cL;T8S1y(r3qnyHG=OOHFv89$ zY8F-&df?83!qFsr)DtEZMrt7@?BUS1UpUKjOq5=@; z`s+;OY#TY`H5rO!2M9HYW>UoGiJR0v3nlwPp?QFv@1!H!Cv}*sQMK^}1*h^ry3j5! zrbTFIN6C?e=^&D zsFQFTxyL-S>Da1co7^kB8e%m%(U^yD^>nd`KXbX!pWeFCF1*Gwd0Kjm%6~Vie>lx zrCedOSz$Vv%IviS#HZBkuVGHmY6^24KGJCIhh{|LCg3rz8umI`GvxsMXog8X1c}*5 z8x8Ujw5yVB2FM^dGyw!Hfz}OI9O6kwJJdkfzQ9l5qAjH+zLyAz7(KR)ZnO;=7@50Q zZFs$3M*Xu~bfe&jZk!E&TGaI3cSzXs`i@OocWlxH&FS@$j_83_Oe)s=P|@&p?Kveu zA5>sGYQZjVUqNUfv;twr4t71Pv|^*rds(bn?OfH`D0Vx{Ye+Uw9i3>I=bYVogxq8D z6n^9o2RxSbvGeaSe*0iAvWPbe_o;5crRJ@lV%W5=L`tGujl%?aqF*)kZ5sLqSEY^c z@E!sScNSn=LvOwgyUWL0bFKF6S86qRW*2fJJS#RFH-Z&p4>IrD>^-Tsg_8Gf61sl^ ziR`LG_}k9ZXSyR!$!<~EwS#3zn=$r%!lPu@2bk11Pn9RNJ*O_ zok8A@<7b+i3$J`XqB?Y;{z^C4oFl*O)om&fRoc$litK3KJpryVM1)QC&@NTwr;nRe z<;C~zGMrg=sQGggtBtVLaJZ^~pe=={Ed>}YdjTy-+E&gwG|uZKuIq65>kOM9w77k7 z#vQQB)=ZLYM59H{YDJSb|7ONOm-{5`@~y5Mf$*=g-G3F@`ws>0|FPOFR{bZN*Ve?H zF)?*e51#-ZBmjyr9C3h*Kc4^!2?|Ks54`Ax0W;y>*u3~{PR*GuEo;JcST)~>Y8VOs zJcUbRbMu_{a!pIKXQlOHz2W=8&vnut_E0z% z^=hZ|7Fv}50?b9Vw-3~Ii;2f`-v0}L3zr8!T;wj55ON-{k-;eJ7l7JA4zBm37 zF~LhPsmkm%8A=Lvf6l{&`bUE6qTim^{3Yb#y(GkzylrokCs@yuVNul<77+hs=1s&- z7bjJ8-adye`LNhZ`mRF$VtD#wMu;YDgtFige3!E1EUmfL>0)hjc4pCCWT<-oRwBuP zI<`j3_yl;g59H)zBnP%@eE#^JZ&H_bW|nNFXv<9OmJd#NQX^cWXPQBlcE;qsEwhpl ziF#4_g_>yVIhTDJTa2o4x4MGNj3k(@rd4$)qb_z4UBWP{)X_6IA|%~q=ID}8(q`Eb z2?aD}%fgT)Ig<()H{-8pZK*;cs0BM?OYW?p+ZQHhO+qP}nso1t{ z+csvB3M#g$lACYsb@#pJJZpXD>@}YGWBh)f`L@woZ@ssEh_l=x+~85C>E5jlLrOXP zCXZf%)vB>!HI%KDyjE<)U4~2Ldm?_|Mhojg7Os?d+L^9W9>ueACG&l`0WWJjFYX%f zezzd{N11ivH(O}Sr+?_m4KObMaJ);kXj2?oGt?8DrJGb!G@tBn&bN9cSs4~&>ILg! zm){ut3k{mB`ayEIm@tXOK8D4ImOMoa?nX7tYz!Fj$5Pc}@~#-`!zdYK(4xoYGPJn- zW3gO*f%?B*P;*r|ti|ML`j$W(8i}e7hba(nVQQ4Ml`BlBC?aQD4CpUm)Xra6{fKAm zB^6xf$3ehtr|1$kPE4+^U4G-u{dx&r|7pwkOu4KI?n#14oGJkxj->VqA%>wUCIUxE zp~(HcRDo5PE-E$J^|vC0MmV(VZ%F^uTd{6QL$zEW0sV_$bn%NW8Jjyba81l$tdGLO zx|giDliQ%UzC(PdXflV*gIkL{M0=@6SlD`|lYX@gX}HqE_>pD)j6@aX7Se|BiG-`N zF*7evd8X*kj2IBUFF0%^whxj9o5PqNYhtqD>jO$w$ff zNYZA0J~c&$6U%;$Qq^vrwK+N3kC}&JTr)vW`1%f5ZSEsrBmlAvLdE`{NDV)RT1B{w zNr+IO*P3O$#j`zTRP(k`iRbz<+0J}2ib+#@9vflmGSDdJE;F9}=nCo0Qd=~?^vrj% z+%*gw6Ia8@BSiKb$=?)5+1&4@P;Epwt`VwU5*R7(+z9}7wWNx6l_%)EN4khRHxu7Jei6o-a#Qqf>>*!&Fzc9A%NB1+J(hc%hz6Yn4 z18Z0SPfA?SFch?{&!cb5_bRlnrhq?NVY$e{)y@q(a<&gng|c0-VLvk+bdK;I%;Fz* z{IC=UU=#M#B7%@L|Hx3fE>1Q5z0)1k7gWdI5?Z|z*ShibYh}ZXH%GTV4#gSwA!H3E3fjJ{P>S zfH&G2Hz2fYX>?~$!aYk7r&jf-$AapH(axJD9I#C>3-oTgZ)2hj(?=H{#ifpiDz7+l z`zaKPQ&wV>R%1l3>angK5#{uZ5oHdSR~FeAbBLNAY%ViHUHvES7)snZw5Vfnm4?`H zY332_qSdyX-T3=W2%gBko_N7pwhvudx<|H=5yyxLYl&zmy9(=sPIUfB$4O{5!2_3> zlwyL^ffz`S4sj~iG<~e~*id}I5djat5KaodkiiG0q=>^b9V``BM6oX~8wPp`E%v|#ijGcuFp!clidjsNH!M^9r?X{=IZDA6xjmFQ`^sik>aoooobcp3 z7&GSNX&HVdRDWHRVx^Qq!DPL_%%Bo0cuge|_KMHP3kNLs3eZCZ0oaPrc0L*)Kr5ze z83{+(d|$F<*~GPHByH%IqsZkDzuj7#+I9f%Y0-!6dc5E8_^n*AW((cX#>4Hq)71^p zEbq$v?~#%bY!;aA$?*l2n=vz`Ap&w19YeSzBu7dpX_%6VfIg9Gg?!1?+e97WM3BZsDbdu&p4*@DbT;!6A=Mo)EWQ#oDR{4y|rdy@$;5cM#~F z;|{jLYPOvbN`7itJ`xU7IAI{34_&9m*ZgL%6Asu>bw5CHlWi-A+e!4;ne4|}3C68NM?@8sxg2<;3d>T(X>*z* zOfiXoKj2GYn>$fLLN@gEV%{B;!X|lN1Jv*|A#I1WIm*r240ARiG9RUIdUg3a#_i*p z{k%Wa)9YDFw!(d8Al15L&I13WrdYV4E73D6KNS_FKa_byYDQO7nI;>eoxm#wXP+8*=ZA$Rk74G^8=UsOnrfooUOU4(q#uLzV#cuseWX9IS zI~mgZzV9Eav$UG`cxS$<&MoMFN1-ME=LI7%8+${Se_bz1)m6q;#TfgXqT8sa!9cW# z(ooXhO!y`!a#W&5LBE1U0W~7zdzM5~Uw?5$f?cY2jy{j=!lm4EFJ}G_#$h`8wCV@C zXWz2`pTByNy%R!01LHakV?M`s!rAxfoO_?$#Pf1;<^Bz9pW<}T8me~Rbya#Q-E@u< zlyTJsKxKWbc@Nffdn}6y4W&X8cJ&AHBiWIb<)LE@Uiae=Fr?q%C^@PPwdu$kWBR0H zI0L)dU6T)c%`n~tMdTqrDvOyJFb_J!v>gpJ?D3rR&2n+}7Z9E_b}FCxy55R&^k$`G zYHD-N!ZazZdA<7{MF+N+UcbxcY)u)9_>|3QMNChRt@i73WvwRY8pAzh@{9@aYFw`K zqYfXd@n+^!;G4+=mstA?RJ33L_($f3D>gw!|F;l3^)xD*tGVYSh z&|WPu*RJ&mQr0U%RNz6(sQiiK;c?mHtQ`79pN@3sweHP2xlRl|B*jv66v~g>dRW3Z zDK)cY>a#~H=`GMIy?&FSl;2_Fa`FzuzRN<_rfy`e;OHH?+>{fP*_*nIv6fexRxiE> z>5iK|UQ!hs^TGHQp zi^ke-EM!Kw*ffmG*N4%vY%15oM!Z@BCO!d1`R_jwDV4oO*H@>7vnlkOs`i|e@2dr< z77;6Ils12UP4VB!l?AMNxXr7r?{*WD?Z(ls#d3VT<5Co*pJ4L?iST=;7v; zs1=Z7*NjDb#CcVoggSG`%Zo+4hd@Sbw-Mgb{>r5hst%PQh>^xwyyARASUndDVt`3| zaIAab;7mjTHfTZ_(gBsB8!~ywUkiVHt=E(Y0med>1n?El68*9cq<-ig2xOdVfw6fA ztR6e4K0N&q-+NFr6loHV(XU$;z(&;$U}D!f4qJ#n@x2O|(!Xf=uatMNVyjI}J!%f^rT9b|(!+q*lD=#J0tDC?JWZG7M{zxkIRZRp;deH`A z`#4mD^}xh~NIXP+M{<`m`a~pIck@Cj>K&F%Du2G)UD_f;Em*elk-x`th!vb;X1FGW z9a*Ee1f>>w<66K_e$Uw*e3(wsLX3Sbn0>q|uoQ`sn(1mojFZyOC!}gA^t2{Hfn~k+ zi~6uAM~(M)!lpXsY48R&e_Ckmj(_?|B-bMH?2w6o>zz+sbid0-H1#00<#=qpi1^CI zRgM&hPf>_}roWLl{=}>|O5Yy0_tHsscWdLRtBLivn(_!AAT;()ME?STTkY5xMN$~E z8Q!CR(s1v~)?0=CJ5-hX zpQEafrMZZyv8An{&A*1$lz&1ixjlBOfhCC4p0F<=NwFog6?92+wh2Ev@^!Zs=_XiIcHDXcw{NNrZC<(>fq*?TI6(BTN{tOJd?mQQVG%j8t_ zs8yiYL5I;U1r4UDa(C50LXV{yMyd12o!BY`=BsS(40>B@lp1N*By5#cR;W}ffm#%# zbyk|KUaiU4bSz{pds|FU@!jp)G6Q2WH4$Qt+6*>ZtR{?2XaRGEw}B0|=D;-9RG6s2 z@IW*S{0y_pYjx6Zy*xzL>XoGkd^iIMJV+AObL|9VcQyQ*Zdz0$ zYoDERv}K6AqK~9% zXecc-%-BVbT5-yi&nP^dWu^TYO%#YBS0Fwl1!E7ey<)Gp-S>t$`7|wqNy~ll^SZp~8VV`KI)YLdME%3}FY*C;^ zmFZ2bFE$#iCaEsWp{OOlfS2NF$U9dc3VUY|X_|C+|Li2kAj?BqiCMa;AqcbMG`Yv+ z=BBS)FqQ6Vi>tt4Yv%>{^ttFw@bzhbwcp~R>mq{NCjzSnpBqPElpwWz<;weg4-Z?W zg!Mi+cb8rAc$mMQkc{YKV{jZ@&MjyY1Stm>Q5wKnS6_zSr)lBh9hpGwrJ&sFO+Lm$4jLAsfDtXg;GB@WT*-JmyLNT&^5dDR4KqqOS{#SN+ZkT412M~ai&J}OH@ z9J-Kz{TTL5g5d6bHs=y%J=KfFx7?9eGMi!(>S|8SfguZ@Bi| z73jO0m_3AY84J6c@%ghaqBvvEyxvGj^$aQ*6Io3s-6zl8@7eC`JbzAZ>A#URlpLb$ zE++~ki8o;#zj*77S;Cb$BoArh>>hJs?k?2l5A}E9C}E+o(wv=+)F7n3zVpIeJ8LW~ z1gpZfxxyI94uNCwp`5mxakqNw5+GpeB16ogHKq#4Pr6l?OuB7S)nuOW%siApVKVob zrP}nWB@4Pw(Lqm_K$Ylh(`07QQs+|I*rR7V@z`d_jkMhV^vHF;3u-b>(Wz32Bgbz~ zJ<@DynZPU*Work?xl5BxJI49mKsb*txx?%}&9QW_+lnc7anrA}73doHJx@2uf5Chp zYa&aIuJ<6-hMXL<*{CL_Hy9Eq(KxW!>=Ny0u;zi6`cMj#*xEKTrMt`Qm|CqVW^%JH zade{;+fwHX`JAd{AbY&3Rs8!(KM(aNxAj=0P4D(63lhjU`O7xld9b-jsJ1T3)@FXJ z^c-Yn%%RN`+8BBHl>a=wHm@$UR^GGHC_7IPD*4f1x4Eq=%(vqe*#Q>js5cZA$o&#Q zPXyFclXCYPBODSg8K)FRXVhA@L(dV6ZTh6M@8x|5S+yD-$HMhlJVr!7Xp@kA>gK_1M*@#Qcc6=^RF9uG2cB{WV^gT4yU%VSXeMg6NCn{yoVn__ybK zd8GF*$|2IT4x*<%LZ+gA&f*NJ9?47_ukkx}3d_tPwl?U;E0}MsG_&1r=)aKe1(v+k zUpo8#l;D&l)lcfpzK@J9ZEyX8d8 z*1Ps)?FQL;&8bphDIe&1GUC_G3FT7@n(-9$(A7!;m@>Rx({ zDadCw)EX7?bY7vLJFDWn13`Xm&edLxChL7L{O(9RAPgGO`B@<{~>b-I8gXM3RK zoo#P#vPlBg#$_UJGuIQWo1z-vKV$-UICZAPl3x~DnuZ2wm6sxJW9Jk2P$bM(+X>2S zYwR#AwkklF#IW{cH>Ev(Esy^In>1P~U5I(-!m?Od}y;IBm;>_ZK3&54smfy=*gD%Wb?H0yIYT3KkX;!S4 zwK77zUi4~8Nb^G=QL*-WQ+w~!^A0+jum0Z@JAseyvm_|(aeba8C zJRMycYnEy^CAfVy33F6SP-1XDCpjz9O<`MRs5mxr=MtM^rkKmIfS{!br-B6LSebDo zE5as}#ydBPKD0)D8Vth36%mR67#KF|?4Y; zmZ3q13h81(;q8vXj0xWaJg)LB`*PfMT+di{6?pA}z8u12;VBN$K9aEke_Vxj$no6# zHpk|92#Z(`Duv!sMQFLCmD34+6}}h%Cl+WnMMwmQAjXf7shf!P)^XwH2lai+FqwgP zX`sb(5GjcG+%f17!|iA!c2Y+xl3$L2x@9;>t_&?;%8pp(Bs4UJ_cusz7V#n}V>fUr z`_^E)#V1kU!m{VF>UDuUhdo;%9uh?6B%Aq>aG%;8V5KZ-;?C)nf0oW)MIEAcXqhxtv;)+4q_@wz{r+PP{T-!!(pBofL7bFbl=l+#4;HRk`JnC0 zKE36Jx+`k!^%_;XY)}>Ng^I_tDABQFqK5?19#1F;ei<<%9jRS%$Xvy{L-m+;;A-_P zam~A=MGSXht!tf?g;J3h+IGl;wy1OUQ?!b7q88{SbOV0=NU!)lo=*dK!`Ny1&68)_ zElk#|JYQe<0Io~T#s0Vy=)iu{)+yT3*6D_rJ*ar!mY{(sh`PhY_ds5v+hmvG{yGzX zVT8USZ2$R^M{-|he*o4;?UqbsYX*v5N|xkAt$IU%^U?kMreyXQh^=YTF*m?7C_f5% z5;>;A0~USatfWNw!CzA4`mXOUjJ(7NEv@;&$b!Gc$p1_aOWL`ZnwvWPYdxI$PoPW- zvC&9PRm!gsz_zj#7Lq8@&@ONJnMMl>5?Z)lM>m0#YR8sgGPGay0sOWO{s;UQaBqT^ zS#vMPFaLcGt|Iuj5BRvlj;^m2-ZUv(W@PTyx!zYN+3!6kyGP-D`2L^<7@nBC=|31l zEqA?T2WdaLX^Ya>dD8(ixVy#eGj?XA(~=TX7DL@IpmkFoz|h@o6oA?gQb_yB(_w8x zn)?$d``u$$PTUi@YYC4uLKj(f*K;mm0(pDGYM3t z%7)@pmk+uaL2F%l=IP=ucBn*Knc+&CL3wl!+LW!cqS9n^CdO%bli}09y)2cgMnyjM zxNW<%=%h7KYK7cVz-T0&q6_;<)!rEe_Azi7s zfHeeB*Av=a0}Jg4|3Zz*`=boD$BRPUzenuzP>0*WS&=qHGME}%2y5__a;4ao@u5pB zn=6;@$6Y0BOUgo2svg5cgXhu$x60yV@n7n=#O!LWQnag^v|F6~OC9r-(ExnC^eI%N zFm1I?MBU%|mGBNADNcttA)isoHGa}FhPhocwfjb}4|QV#W=uip521w1E~P!|x@Kj7 z2Q{;UU>c!VsufqEoHR~QasbnP6{9a`O;`#IfS)~$8Mfd0=n%sy%td6aFnQ~+-Z?IJ?~FJs zvuJFmq-O7xTqhQaER2bo7{NUbYjNHd~K3bqJ1pFVC=+)?7%3x#Gz*@{t zZ9!z0frT0bP%of=u@VZ^$jI*_Wlj|3c|{$DHhJXcW;@6s*by1Lw+`bKRFp*ppgRE@ zIvpg~jVTIvT!Utl!;I-7w5x;4MU4RS)ua4mI1iF^O%I^}1EC=^XoC2H(b$m$%0>c#lkZwwU0pi zNi6ZXQ(n}rVYQ0}ShHSG{7#aO5a}l$PD44kWe(ZjItyv15!x<7n2Eazj;u96ZDb#H zXSw#~9*sCWtMaA|qcK{33PLCRbFqLC|3uv5D3)2My1&}B_U5l-Abh;F zakPGF6W*YG{nG@89NaGA1Q~Y^<^tmeSB*2mFpBc|f+xnXQsg#d4=IQejUa2bHx^ zMBXNxOVl{+gDIFVKn|4XItF2s=mswkFw-}J7-7%4H8`S*=_oE5HEw%K_h@6UCJV z8iB684nqfRwzAbF=$r4kgut=s=xyR!-*yPXehL#O{;Aex>wWIFf7gaJ9qzu<+iz5b z?LyOK-geEU*45Rq@%X+PX8ayJ|M-?VM(sJc=M*##`KDHN?oKkN83BG0q1H1(iGkw3 z17|snj?e~DT3O@$lxoX36O}sSXut^MY}a)RTFR^@`5`kZ!g8?TH>L#*yml?|y$8Ka zaTk|BVFz8pYV@mucx|)oyjh^aV9)J-5r|&9wcEczSyb4{o`kd0ka#50s=VSWDs|f7 z8*29M`oUkDG8meR`!EsQ%R2l=18_AmMrT;;c^we>dM!gSmNk% z&^`f(L#7imrE_T4ntIb5=x@}L2B>@QF;iHt5%;3)f&VD2)OkU<`MdMK?r5J;q}`4 z(XXs{3c*nuuzkqmjN~g-kcQf+Vn1z#sS}RWnY^DWw!IjkU1;p7=13jo9o+6Y!pkVa zICF{2{$tw<<(XdR%JDc;#e;6ikeBv`kn{Hf9vpu>`i~)Is8uC4j7KnBeoP&yd%gnW z4;I4^#skc#u^!vtstvH~13$S}pN8-OM)pRMgH@Dg-O97>>b22og7C4$e~>%K@Z`s@ z?pzd(TEIBKD@;UrD&a3~#}@{IZ%(qHfOMTKLU`xf%J~&|Az}Sn=G-q4%e-)0X3rQ_ z*mBr>KvV*qZl+;#tdfGdm~HsQ>Yf~92H(&xOz3{#nZce7-|zq%2jgHL7;4D`%e3Q& zovU=O;uAdZL&m0qNvbSpi7F?mQai^EIC_+&o1!i69oiI^9GRSS@-S-jy zFEpX8Z@gLmnj4t?+qnVh|G8oD_in}iD`SDOY|tjJ7nQ7RXkjG@Qk1rYq-}wh7X=ix zDqozNGzV8nu#;hz-ts>KKEAK;f5ShI0d>JCi;IKj&(CBJjeTdyw%6|4%APfhC1${Hejk_sHQcFVqJ#%@TEUvf~q{|WQf<+Z)o0i z%=2KJ$H&u+o$sNz9E3-K&Uxmz=QmV&ks>#8Cs_c z6)Yx#%$77HgPLgy$WuFtYAh+iWH_hD(v72s%m9~}Y4hhzQTOt1G91L9u}n=C>J)-H z0(5Ibr`wkVgst=lYt{CF^4sIPj4oN!<($T%Rj3!FH44mblMr>6u^!^?HpAS2yo&W+ z9?pl~y*hvHSwHaCoB+p-Y86UwvzL$?gePeg$E@VB0Msg_BXM#-!lA{NIQ05CbEA1@ zuiMP}XNI$8nmW@C4R!B9cZcH3(QAlFEAO*dq3UEbZsalMxa%%W@R=%N?OoLc|t-h;U*eVXb3VyH5Zth-S}g36{W_C)k<7o z&s__Hj zk#r(+BdZnoACHVts*L{RhwDZ0Ppt>6hC!mLlnXzcg6nUOqw^wY^GNVELT~BSWH=>t zLbMKuGwH*~CKYk$g(4v2ILIMW5Dt3|KG3p%vLIN5%n%1%;m%xfKtnWD@kz8ljUnViD@o17-*%I0%sBCE^iy8Y7Rz^5tyffQ#a)pkp8inl!Ry zad=7Qn}Bem$dkU~+hqWGO%1_zY$r^?62^t>lYy!e+a+wm9l+TvcDPJxL-2}tXy?ZQ z?-2%~Y~IqLM{-B&B*Li|3r8?S+YHR=Qy5PW#WF%B1i8Qn7N*9rLK(6st zn{fw`SkS)VMaOYY?FiDXHAtggCk4qEaT}YwhsiDAB>ThJLUZbJAl0b0r_D)9k?H}9gH=H^lcD^{;@!!hc|6m$R#NO4&=HJa@?m2CVpp5p#ezCOd zVpdrS%V1@S<-|)Useo3>Kf>AHMkJY&lQNE>Mig~X#h=EVO56IO`$^GnfE*O<7@C=7 zI)Hb-VeEz&a+tR`nTQ)Ifz5feZ1TRp&-!^c_kH|175|1_Z@14uht(c3wXMDE7@B8~ zIqvL?qu$XmI^&9$JOhhsf3C5p$eJ+J7zkN?>LEVX1(ZQudjh5o+I;Z4RKTjD*W; zrc+y+G3>=VcZ8EW5EGZh*&UD7Hw}q{J)1H%=cIfzdQ_S%40-}?H1q&M_7rYKTgQli zOqMi6wVLiEo&V=Y(C~^m!UQC8!h;{hG@y(oTresKS2=^0gA8_RfLh9I zyVPb7jaVm**ntN=nX!8ciuLTE8X{2+gK3&ba*3QPLSC3|;W=8!Y-r*4en!wEyc15M z1#^_QQX%shB~9u5-I5S2M!VLznWqlT?f`Vu=jwx9GCL_pbMJ8&XW#=j(lwaFkI*UJ zS)F7kdQz@xcxWFXIDfB*A^O8?r!Uuo)il^J_4Lb$yH9f~FJdbg_(E z;ZqaUBxu1K%_V44dxbpIH@IUYyHe>LGJzk%Q^Qk=AX6Tny4izx;@0KypI`f9ZqpU& zM+K@ul@e5`84RL7P&M2^0I%>nR5ORJ5Y$Ur@#y@)U)b*PpT_F<4o>;)FQ#_(w@gjp zf6mmthP+iQZB3nB3~e3$busP7j?qcY zCK6L<6_pvJ(Gk22=aA_;(9O3?=w@|?U`(zdhn3kI2p*UvXEo}AaVavFUzqqcZgU?W z;-9>W@A3A#Kpe4|kvr*(x3s;73(sJ)caJ#X_he$67o#-c&^UB=+oHf}FI?vPjgg2t zjEQ62fuO+AKpW6M*1A#4YP61&MJ}7(F!z5^&TeD8b|j(t2@xY^e5@BK#EKYxb^fGwR~)P!u!w z^-4Is2m_C#BjHxvR{I+K-cqw_)Ia%hQ%SQew{qw_9o&@1!8%CFn9jcjzgNm!H=b~; z#DUe%{3=$?mw&Q`XPFvBlkrT<^E?^!1zLORjKTJ1AgrU(2b_>|;v6a*DI6#i2&;7L zkk_J49x=uy0}$_H47zryXP#&W#-6DD*_mR43N6lHQdc?ke*@_B;L-FRpWz zKqPPFgld_RN1Z}#qQ^Fy!f?YdI1{?9Gd=^L##z}m&g_!eZa&8QH5B38HT;Ouc64Gp z@DouzR|!hrI+XLWL6J%s(9!f94>(0d$#^?_?a-E;aNDK|j ziJ3V&ysta@J~uvjy8sjX{C|K9V6?&H4q<^QW$rAb##sF4FgS()EOw6VGXUA#WJ9&F z>_Cd$gM?MaI^zKWb~Iv*gX=cV?jges0dzH&ZN~X{Rov@e9`eFlu3IfV*jPfx^Oa#Y zDty!|E+w|=G(XzdMI1*q9V|-8bLKQ=D^;6cwPeG3XuFC5Ze04)q%}b)8%Pr}e%{>I zsY%#_PE)y;Ka$|Ck3ikUQFs+;NX>QSk3tb!#f15f~ z8(OVF1W$((Wsv~=NaZ}v-Z)Fd6#LHuc4i}28ZY(zLbqyyuZ%oG%l7n8421_n%<2z++ST61_@kd9Xbv+iLo6@G-hc=cDvC(*^PI} zK@pYNxe%iV2f@N+P&6TSdny3Kd^)CgLUKdXpLbv$Ub9~r_gksX0nSorzaqo+oFcgk zX7jI(-HL~1A?-K)VOX-_QTJX=8 zgU%_koMJEM)U?N(SfV^OArK>x0J@2a5t2GCZ}AtH6a>pLnIa)dNs8y>RS@uc0?;9c z+S5?3N(awwMJT?t3b4|w4m@DVj7_!Y8ZjPw0+b5X`CE*I&_rFA#ghzieV<5Y?^CTU;b$#SaxX8pTN?VSgCjaG>eF{u z_&?U!S_2i=kVr|QPZImrB+uY~=-;B1t{tW^8Por+AzZM4k|D$ep z%KAPZ{%@jg=3ucoM*dg=o6EQu4U2%!VsV)7cMIJ8PYxW*MayaI zR?EvuT%q(HEy=htDlzF=a$5nI^I|^Zaj^zQk4U+$HlAEA3R|X7IXkB~&15FJbzE`U z%{Y0I)Biv>SxH{WWPM%FaXKy*np`mOOApxS$_|y(wp+)WNdX^T|?&i6g`A{k6sRoI0FNn1>1q{+y1w=Ws4`Bs(ntnE{YrpAs?o<&Ir^O@T;Wi;S2)!U@s*YNbPp*cFb-6a-zg-oAeDBsGhKHk% z*eF6bSuq@BU&Q%QOme~-PPNca!7H!!YbB|B-=X0_bZyV?xMU$#7Ho78V+_=9oo;@m za^}9P5M~5n&SU`AZjc>nwO&^ph6HyxfzF4RbtYC~qPhb`6mH1i+k{qZ|FbdFT(8+A>@EE08Y# ztx`?*iOUSVkXX8GZiOe077GWq?G4kF^yJA36d1V99#US`(zdqBlA~%}=yyT5wzeSs zrB-&r@S#VnfGt*za>G4x zbu3{&lj7^ZunN|ou6?3nc*?KFEm@))tz%}cs{|w9v$|8CcvjeI->qd?s^hu&9FxpU z%!{w}ce>eVv4y7K=W=K2*8_`j!mO3R}N zex-WyUd;B2{j7-n`%g~wZ|+H*)Wlz`ErqN=X0{`scgv;oh*+YRb~f~;vXa0>&IJ)Xolag36+WHVdO zIn_mMGuyy9SDHR(0c8v%xuu!V1~ObMFxWt)l<#V_(P@b~ncAe04#~5niGwJi&fCUS z^OR*bz6IoE;2F)Nq3>tvrwwKlgAhl>JQdWYS{{`8qOZSsjj7}o_IQg1uycJv@+ zs^`_T>Z2*xMOwvU?#Wg+WJ09T=o@$u@*th73#%jFpYDQl7Mn)9m)6YA_0uaFw8|f>B-vbh4g@{@b`19kgaV3Sy;03C7a3TC7vZe;>2<4S0xoCe51)v+@BQgEsWdQ zpC?q@hqWH0o)c!QTf|f_%%Mtczb2AU$3X*Yt*PY<)Q_?+w^)K0#~gvF>m^kJXZh>b zW@9i;hef}x(M-SJ0|v&hAn=gQ+xo*0%X}Ohu&o8-{B$WQEoBTe%BQ^t(9D7&#ic}r z@#lQT4eT2$kfgdR1^akCkBcctFrN0`@QxUkjh;&_ejCI1*$~j(7uo z)n3Ypat^Yz!L1Tyij+M0(|yBgGGR7a3j|=w;DEW%GPBz?N6{Hz0uU5vC+n=#CCV8oLZHfG5u_sbba#L z$^T7e9uhIk0=ck<)_J5#hPj}xLCQ)`!}+kA10}=FIn~T1m0j|bHg<8po=Z+J~VZpdVp`-TE30|?{5$3fA;_SZ=C^k(p7D5mySn81Ea`76?%@q(3G;VrN53#M1XF7wLpjMvM>&|O@vriS$!(g!k|SG3KazQO z9!jQ?{HW1tJqLBz`-O+l`s|M&xHWp^Cb6O(;X@(!rz6QX+^u>sUlQyn(W7tXjM!4W zl5b{~$b~oBZh902oN@J*R>gm+zt+bIl0pK45%^#L#GqZ1PK#?LvyG*rlg(>mpk1`V$EG` zrq7!0A1LQHl{LA`(?2NM3`}dl8@2dp#LC%Cba2w85JWHVsy#OnDMDG}%#_7YmdPTD z#A|OI`WUS&K15NTyjMJ9zf@ISko?kx|@#Eh-T)wYjYUi0(fHoxc5z?TvX3T1cBYH z-4mLT;?69BK1WBfp}|`K;y(Sg+dT3@DdWCBA5G{9LBFdiZbYqU;_PtpujOwCHV2eb&YwG_Y?H!{l3%9M^ zijx)Fwr$&}*tTs{Y`emWZQHhO+fL=n-e~xm_LB?S&cfp`%V;eGnLq_xheV^ z%`TNc_no9!)z69_EY!#EQrvzy%Xj#wT-$1Mufe(z-KK{;Iv3jgI=aW`9>1Lk!t8TB zhkm?CroiQfWKZ#Ek;uoD}X(THR z)jr#Q6{O22NcBvIfDV{o5U-m^Z##S;0`ulN(AhqmAGKuVJuXOW^R}?Zg5BcMQ~+_1 zY^SZvoV>(I|0x>7)aexCTqqSICP9BvdO|TIF?4Wz8q?!xwTW9(@vg>#m!F$DZwL0N zI%kLask+?@(rQ?pYXPa9$Lfvg1fr&Z-x4wCZ)FatJsi;!-SJT|N!QYNMFg3T2rlP^ z=1=KDwt=ISKuO0axXhB9Ef(!OtR;OF+h1gMqxX+ihy2O%W9m2LEE4U1N`!w`SKR+e zBB+@dSp5&$IfeZSWyt{DyQwEalsez36%o+vSG0C!LL)&xSgqTNulF<8i|w92-k$f#e~DIv z{1Jkmje`>o41|r<0;oP{J0{5Qx9yC+) zCs(`9NL3M6E{KW7sW(mcFu%P{(dp!+Tg7sPlxPx8Ka+`f@^S&mmVF3i^(XjpiRx8Daa8MR7Go=V3ZvsGM|IHSmnI0jC`b?k$DHWq|S)ct|J)`fLJT1x|z ze@~fTF&%kNJ#EX>JU=EZsW)iO?IOHLL{Dc|u)47(Qxk61z(z*$Z#q^wJMW9e; zp&BeG?uL(8NT~>H@D!vDKJpj2qfQdJL-40>fYA>VOAg5W7-H}l2L%YD7_r29(IB%x zFoshGB;;}*#OG?>aR!Lnrm)ZtYA!9xYMPArM z%1FB2e_ZbTT;l=Q8ZPzcH+U3Wt7e$dy+yg(HYa(mDN4zbbpNT&C|4qR43a1tNBC|} zHQxY&(ClyFdOaig_Qe{k)DZKToe}pX5c;6t#_Y@WdNz+T`zR*s3(_M5*NS1^)2^8}fg9a~S^Po8xF;FXCZqAZ%^m-MFI*H76+a3EGeDWnC@b7oVygxA!BC-Cm`CG*4v5qs$Ia-3t=^}a<;PLIO}(5Ir~ zU!@}aYe^>yRVIm-2^;w>@sw3_78V@ZxriSBV(={i|{=$AN;6q&9Q^X zIuS_?5SDYkzpn|vgYdl?u*We_6-VXC-ND%Z3K;b}6+wKWd{NEJsdBPrgtwfI9`5BVsnuqb8{z=)D>Tt2d73&7LULY)nYPdPsa1LWBUym_JnJ?36HodQHus8bPX`+qWQQjo%`orEx~lE5U{5+86VuiH^ek05A@(rZXdz%W5#u&xc=I0FuhwDuul z?qZnx7C)rQNekh{@q}vi=4$h)nzJ+>YR*j5ptyJlqGY*4WDLH*y2QfHPFGr*)9h`d zBfHt>0nGe<^z--`^9@aSsA{&l@vK*@Tk9UFUI$%N9oHnap;Vr%JW%sjWt{fV2+HFIU84Vo3b@`l{dZQ9()m7U!KtSE>QW6stBb-HSdCM}T83Urc{{zgwm zGFY4W=(n(L6Fzua%IIjG(&Qu4CTp*cRE^se5IA|X(WZl?^o?i{-LJ3A{3f}G1u?F} z8eLjLPZM9F1?xD#&kSZ_c5qT2);b#eXEA}Dhy;<2Il)JQ40)*ub2gS|GRLH33}GYD z(JQvn0%!YA+Rb9U)U!iS7rNf{{TI5oCgL+1TF z%MdR4mTM|^e^-{Z3D5w1xnj&r#@3&l$c;Z_FX@pJD+T0Yry<{jfh@Uz`-H!+Ay=@H z!}H%Kxx^Lh&TlL`#wac|338j~WUULF52#>*)yP*Hv0!*h(w+PFeru#(p!X*d)GHkd zbtWxYfzc;K{9dnA`b8$6jpLEtM;~L^y!_j0%G6JMrgHjugb-zaNRmb*7#&-=;no3` zuQ(69k?KsLIu8i{XDz67sTm23I_h|h_8_1_xfU=ECN^|cJ^A-h%std(ioUc3O%N5j zMq$u~<|Nm3v#lpwklLqv;bCzZl~=166iYDnoAC%EfsLE?BBhu z#g?=zy@~k8iszHcieW37o9Tsm@Qtgt{>w*7vqS*?2USy@Wd7R(CTflexppjeX_9hB zj8^Hcj)+Q~EIu*?Hb-d$`wcp(-e4uw)_@-BhwR|?Ej+5-ZVuJo!8g6YW|a@@ub($D z5pK75g&7gg4swGYO*GtHwDSOF$i-q9IG?fz)=Y!dTkL?I7vDg06FCRNqY=mOu?%w* z&Q+M$4_M@2CJXz@;4|9VD2t6`k}EErvLd|+U^(0@E`twU1BXJfJD_f={e~0Vs)E56 z<26#FEICJFY5~jKz=pJ}AopJvcZqaBe_CjJelLH1sb93?848gqh}5Bv7iB32`rE?T z@)xFPRk2mQYL0|`kTnMLtUI?Ru%xx?R^#Zd?0e(ggRp9nfDOydx2N~xw)-KMP!$DB z;e?WBI=(WV{M;8`%?e|7&;4s3&c++3L$kvDMK8pBS@zuK*gTW zpOVndl1Igs+|SigC^%jK65P>DfmQ6XR%w@+00rQd)yGg_gIR?cE*5^2Un79sh2P=o-qpGa5Q z*CYdaT%I5wqF>8V%=ym_kYS-B0d%av!Iu386DPPKm9-%j)1b^K=XL?yaADk@x^xG- zG*!Ih@_7wuc+u(YZ#tQ>Q&sDF9=6ceS>|#GQQ9Q+d@ct`bg|+3Tant)x)pCBU)f%A z%3e^u=xOygZAk`IJyM^{qSnFNk0#Od(vV4ITISFjK0}B038`ShP=Yo_F?~G_WMkd% zj2#4a-t;i43xpvt9-D|R-Z7N+2{#dwRvl9hJE;wV*Ddo~p9DwR=xmom zcp=JdsCPo`wibwe%`vJrdkthtj#}(}C3_fTDjTpSWQvPk(AV06xgkAh>rD#T!871= z1-8-!QU!_9_S}f}czRcZ%#~=xT8Q~U-WJ6T^5iVrh{mMDb@UPruu`6Js(Ejj0ofNK zOfI;52jvZ_N;CVM=v7btNle9=_H z;VMJ)fzPpc0!Iv@5XCJA;zKv!3b_8Tvw%B9b~etOYnY=2pZzVQSeW=v61jZ!Ou=w>nEJu}5>$EpLJsI=cL4U_e2Xei zpcbTWhCAH%a{mgUZjbFPQQLqt2aWEK!!1BAQq4iNBcyrY++C}~-)$g+NkC2Muj;JK z3s#rhn)58eA#nXZN09>m)>NrDbt7gMi)QoWRgR?e>m>`ZqC$|_t?b!cX;AsTR>C+O zR`@oVU*Ra|K9r&2oi)R4w=@Itxz~eD{l)RqJx0~eJHXc-ZWVCFAwKqJ!MdO3hE&HZ2Uh4~gJCl}dV!7;y*T|c-9wwy1Jf7}e0e&LV>e6#z;u>LoF z%lM!4t&o9}h0(tW++?*=CG2C&uTF^?p^7M4x(p1h7$X{5;6^!NrHr*lMD~VXI?zVQ z&zh=M>f#q=<*0C{@pxD1zqe!)S$OCAd6D-)8I|N?;Ill7z681Fjo!!~l=w+~vehCR z2v+?KR-Qd$ww=1F|Gq8d=t9^-mj5)qDW&MM*RoJm-nms*tm)ZT;qxGh5Tv=glLX5- zx@89NVT)Gu-E*SdqWJMu??5AZGe&T94Gb^my)bpl<*zhNS`0u=|X)iw$Eiuv)ClucjzD~8}QJ)OEBjl!r^REyu>tm%Mk z3S5&5n;L5UjRzA2KGT$Uxz6mAM$cWN_)M7S5f8imaDI2kM)xAL>BMo_WykbZRfjTK)D(WK;;A3_u+j6dCjroi? zsFidXR;gZBB1lIl9IGFsjfD#vwYo(USAUExtzI`xGt|UOd0f`xde=cg=@j-*$coi` zzAzfmDOh>NYspqw1kHy(~MwGsB1fq7jvte~)oRRrD460|0hmMr-ZF;)}{h=|3u>>y_= zlpJC28wSCaYrDciG1?-O(srhaskWkp5AvfoRR{asbAC0oKJ`?oIADk?f8c~f+@~qt z`XVGP6v-+$L`mC=>l7bCdclXS7q|B8%`9m}+JXc>bdQ~eD~1${$OW&E=aHU1>?TxXkh8g%In#cRNj z9FeNACrbl;A$NdNPa$9VDzs&+Mr!Hc1=&w!yNl|H+adf{iN`AM=m9M8@f_@lnbmVz z2DHi%wc63MGFRr(M!0iE^e*P_6BI;~z2Hv+Y0;F#(chpHcDx#`&P{gCr*AValExUO zwHP(5LcI@%uB>N6%2k9!tM=4y)yc~F5Hj1mIZD6~iLhI|u%v^M4mxd*6;}Ra5^`s@aWNA zWhJ@f+o!zupQP8CYP$ok+!-{!Vq{ob6qoq*Gom|6k=;rZ@>X~@2-q_27@uaTxueKn zc6Ai&qp?XLkw1mZ`@9Ioi`snYe=7DDc%-fCyZ8kyEkGRdHL`OmvX^J)6o|L)@X2h? zfA2LM2MmRg1*r$CrzqnW*nPYHZSvx-#4UmT}jVeb>sDCq{%{Zr3Sll_pN=GB3MhgitpMug^mYdHF0E9GOSc8g% zHC@3bH9JheB8rj`Df3;xe$qZ*t*Pc(HX~-}4mP1Sz<&hq&S|{CY3|YPYqmvQ26k|& z55<_AvN!EetetWTmg8vd=0Qicz{~&1@l}G|Fa0WV~i7*P{Y58%t&$rLJ^LAuXkmV|Kzc_W;h z83F#?sD{|75p5Q^;Z2Azeq>2QAJ+u9Cx-;tKgDecT(KD_-p4IJ@eUMegio4%BwMpp z&2N_#yC~y3!iFVlU|6dvj=?Z_Z170P@Sn`Q#pa!*{-u zzZmSk`SDk$(VRZZ8wNkMLzoY(NkUNRJxECIy&z~4G|N{JdZOn>5S&(-P4i_N98DGY zH*wC~egE_mh_4TAJf_cdUQWLwwiiX>^ANJhMgFBK*531canvVHwL82G-_6FR1^j|} zqrcV({XT)pEG!OAH?}y{h~Q(ROiS^|4o-q^B@8i{l@cQ21xn>iPy~c1OfkiUQXX>K zN^s^$0A*V(f#=EXX5_h{TO)JYio9-i@=u*I)0u?rZOi0Z66*W}rAkOEkbS_>(|c7t zBn&iU$WW+A8-QO>GGUk}I6ixxZ77|9isx@9krn z|0oi^$MoMJnI!E0)c}iDl$Bo>K=6^q!HJUgSCl$+%TNSS)Onl}MhGQ}i<99*aM(^G z)o56aUa~6qO9_gu>97OwAg+=ntBnW*0hgWbbH8;p;r{odvkm+PHHT=S_F(cJa@-wp z&m>HZP?uT8R)ThuOqf=K*BG*CB3|D;QVh05%ZsNp>?HB~lbvO(AXVW$g{b7|{?k`cu!%X}0b$7C2H;BM z{a7Gs)MCv^l9hyBB3xS7oWp5{=5e$pE^6972+8OOd_3wnxL7;c@GA`M^!_V?3hQqjU#!o4t!Dig*}+c>m9e&{8wxYxy3fqkLO7 z{<|XnJrManwnY^j?d(k)ojv~PGx)Ens8n0`LRLY@u~{pUOnn!P6z$1tC}h#B(bn{D zqC_$uFDxX0Y}v$_qaC%~*hGmyuK@;Z-NuyU2Cyq@HoU#|wDY}I`T6I_`{q>pPF>h0 zPL38?ysd_=PF_sd`8t_San9>~eZIo|VCjVyREI(bQ2?O_+cj|y9w;Z#CBEefXP40a zW?hFjOLWNY;UZlpxW^8>lh7r;{2D+-!cTY!8yF_3N@x+=Lq^I;c!?TtL1LHimfM3y z(o1-W7+5B;ecQ$6_onWtkdSY=7chGguAqy07G-v%ekDkI7IUg#e2%Frkb4BAgq z%B;bpq5P|?lX6iRsX~u2$)CeYNo6ug25b{leS?(*R{Bp%!H^JU4jPcDS+FJ1Mn7=a zrcJw>Je8zcBnV~IOkDAspy?{k1nhEg4 zsiN{yq7)26r@T-Z@Wl0;G36HhDd5vJsqiQ_U<132g%>R$A%SN^s4hi9U+fPMSt+Gb zIQE~-wiM$w&bnA%12I%a(-0eQ3=~df3=2^Un;>)Ll8d1Hbn4;sg3xrrbE&xnXHDv? zKjPfrVI@UXn381c_-GQd6xC?CrLLB~9pcc82+1^23h@YNqd{yFf8n_xYN3s3IrnG^ z`WO~f8mmH9Ss8+gXj`$$3x1lWDfeVnzsSy`YVYeGOQw@n%02YE`L-N}GSUbwXg&bZ zI7f>&aA}Da2yZGT%uql90e4EtBu^y8#KiZ-RMJK2Dyc1`i4$cY`tm)=ibU5X(r~RR z0$Znf;^OphO&_RG_ST^fF{115H|P^*x0nFpQS|Zd20s#P+qjE@xhFxrhcSgzkAp_n zXtXvEx%Uzb2-3ts#x!|iY8F8L*d!R(rbY?2R{&9!ABJ-t{+gXlc43JkA&(6W?r^Z; zU99B|MLdlpXObg!Jc;LE8X^dK^`mes zkk=2t=PEMNU>rNL@yHFG;u>tZiLEkBGR)J84`3T-$9w&~%-nrV!6v5yUU4cVHbnTHt z^!y_q1agBBJ}ml;Xb|5ifkc9d!$1)v+(Zc9M?fb8q6#m7lnP&UgCt`+iU)MJDoP*P`{O?>bZ-e3Me*}iD({WVvc%n zC+Iob_(c2}dJCL8?UNAmd0D5MQhPP)sdSgS`9v2vbgE?ATofr~1;`cDGG&qRz7WtHM?&bJ!Fy=3 zw9+hjs)Lq7+-hB=VtE@T=574y7J5Os(NO&&hBQLk5F5t$!u=&nA-euUGZ!@n$Q_i; z$lS52sq05ljPR(eH-K(?9`6rG4OkObmlZh(eJd9SMcZd@;r-|$(@fz;#$NMkpw3F(_F=SBn}(zoEW-h*NtNa#J{;cJU2 z?%aF46714`Y4Fr(#(f~aq)6jk!w(c;>|S_I6+!Z;1u<(pCJ{!+rxbFgY`MCc7;QZD zTaC559o?*I-<{xA!&V;XytVQisQ;AaPeOOcga6R_+2hWB43s?$@}+~qu=Nbbpf&=g zO(;E9tRm4K^gB57fiD)#F-p3OXACX(wV#qZ=Z*+Z-w2U%9TfJ%@(8vj4c^{f49MR0 zPS?NP{o_vsDhCib?L&OWrZYRd{hyM&oH6l=Z!E`!Bn-L0a1MD>P`j1XP%#NwE+-TG z0x!?PcaWAnmP<-`B>!_+D|W?!JY>>`%FP9LVB1DLJcKU!lrIjp)UAev9-I}KJ|+5y z8kAs;Iapb6NOVz z8b?k?+Rt$^*q@@*7r|fu#OKyp%sz;HtF|qS|Lu%s|4*vzA6=b)INiRL+c${A&e6cx z&hcLZ|Ab!Kc>#owFPDJL5CLgQe<6QIf42A{i6lrU)&`_f#}l9i2h~&6r>aI> zwK1*6VksQ=A9w)9b4|iLRKN>EJM-T!JJaRAxA*IAKh{@D{zSN-<3YG1?NA1G6DK#| zhAf%NXE=-~;o(Ly%t_{{puvHuwI(~Dxspd*D=zV^VKFFgpU3N~pGlHF-5XO(5aJIh zYn+~j4TIPgjE@^G;*Ce`K6>Nw-8N7Y*|aPcP1Z0_ox{){;l#^`-OTz&ki%Sr{o%ac z-B`7ZS1s;a;T60(&gew;9qUgkcUWl_D|7I&DspDvL5weqd0aS2(oXcrMtQa$9I9DK zH5#6>n?V?qQ; zmwZ#WPMS;6l1yY^F~$0PYB+BJ+731eQTzJ%X8(RHm)^plzFBQ50XY#Xz)-wPcmyxy zu4;Dw;4ZEV1&d(S^yhzVu! znz9>hVW`kj>QUMf)vZRcZfovLS@+y}>^5?07N$RgiDzTbvbROe7z&`EmoIPNSs8k z4=+f>MVyhYQmWIr79HDY03#ZObsCpJkpWKON#!uql&Z=a)hZGfsEC&wr$n(HA0L10 z<4eH?dA=L$U?;QZ_guI-g?+39ypU(YY&MhLi*l>1%B)}2rPGy!;f~W({I=EgRSWi| zPo;;3VY!QMnlv07M;{A^&|VD1ZfKqm5-t3;Bj0#?1`0+$RF*1o6sqLGEtUb|*|e7( zj>jsx2#!2)O;cJ;Ci_}4Dy`QP}5BLBy(;c9o_S2gfE?b*DxbjDTYR+62mzS%zX$GSjpkMUUQ7G^GhwO4O2P@s0=B zUV?tm5GziEYs+E$Hi!K^Q{dilI!no;SgYXX*D%iW;}EXH`DXd*=A)%8DZI&Q4O{{- zf|!*t<1gC7=r4->YFu4I>|9&D?Ob$uTEku~1^#I)G`PzSfwH`N9$ot6tp>;+qCNArW`-+?a0{^Y#yoO`zMu zZTR)FrKm4d(79Y;&nEb@dSL$Y3E4R(ADzFc%OYdPz7Nf@_OaF|Hy)GrVf_+RFZpC> z7!R*Ec*X&cBJ(uD@sG#U+5THVw`0;fhug5O;DBNGpHo)v_M721w^6$!ej>f^D)Y59{ZSh*S}2E$*(_zbn<|zOb}| zoCsgIy<|~;!>p;0u%46-VuL6be8Rr6A{tahE4}jgXYXj{-T*erjcO{FE@e-=D&i`O zKa0=e%B1-jlgWx);^jLtA?)QQ=Q*m6SRzl9N~`NCdN>N<5r;@z$~RaC4~jI#Fb7`L z41dHT3>$5TAmyj!lZj69bfev%$eY_BqNT(QGL5PCvK7`jZwnVsGVlq|cRuE#{#<*! zM;FAWeK)Tyr;2pC5au@-{cSBa3QjS;WSo*PsG{U*DZAQB-~(w|8x6{L;H}hH^~z7S zKW{JHkB~zS+l+eCx|MzWH^go@HN-p;HjwVh{|GL#$m^l68Blx}f z>}cm?Z({U+&&@&=tA9}DedQ!p;;erSp+soH>YG3n0+m++gyw&s!2-1>u{|oXk26|t zUR+(+avj#^d;$pdX^mRO6ye`g*s7H`9h!`5*IRZOcxp5r zanLzB`treGEhlTr7*N#t%30iHW1=G%xRWQRDfOA{Jm)ed3@R9!>=EN{!Oe+e-(~n6ugjJDUa)H*`ACA5J?Qn zbevqe48njWKklD&kwi>7!pdQkZ00gp!Xr$NHl!-YXuE^Q;%pDNWV8%d=NEq;7t^lG zr+TcFr5_bYxJDk$+J3-Ja_1gF_j^EjG1>0NL^-9!#rI|gB}BEq#GNJHBJ!o&LVf>_ zu5Jo_#Y`;mo{xT8>LFpamf7U_FgimRL)<$}MUy$oT?;<_hc)$OY}v72BWwn)EgJA&*i2SCPGFT;}O2e?hvTMfRA1NXw2rE z6R0F_m1y(Owj_BC*fQ{>PRD0(j>70)8Z;Wf?CRryV(O=tKsi2&WyI-QmiI+pgahRm zCAea9xqwso*$1Pe@1IWg?ja#!=T9=WQKr#L^tpPDI)wO!%m|hGm0Q$}*ATZ0Yq^f9 zO)9BS9tx6AjzLK(j=w*Fn6SOeDd-P|5&{wnM&%K&*(9*W9*DI4Uqq)v3U1!_Z*e95 z|F9JPd+&_?KYeXv3_Lylq0MD1oc?9NO;(5YR$fg1%3)5NFm^;v7>#6rf=L=SW+LPR zr2L`;70i=dfDKrHfEh&?B4c(iH5_PKryDfWD*q;0LZp<{=4qKrEBq`dr!KFuva(rj zYTB&2bX{&!Xf9!7X@-j^zPzgY6%i!ccJSA-sZ_nQWYVV|^UzlU8+9%_{7(I>wIn`y6`X}pe| ze&CDeJ+HgJT?!p1gYXCYr1(esp+qO*cpGPf-H@@Vyf3xr{I|Q#9|~c9XT8+A9}|%| z<0*P!FMhP5#J-g8e`Q6w&w8s5_Lp@(+R?iy2mN;VJKZM(x8G_sWt{PRPY2I+KT^@V zksG&fc4XnV6idQjhe8a)Cpfv0W)}lzoizy;l4W2U#6t6Z){QECM*sXVCfaOcMU#y( z-U~cc4Rvf4S~aKQ%4}x6+tOk`QgZStrS<-d*-aBNSx%lU&#w%e9T2ce$tz&ziwiRq zQ`D}`?&u=gkV`1*Kz3G08mw>^f$@raz`&94h?`#nZyP- zO#`Z7b$%BwgK1SC)V1!^`jEQj2z?_tWDE0Hv{n2sLAC72)}CjtPHH^dfzzg@?gxT z8!uV0-PfFO>#&Cw$!p3%SB*}qvwD|Cs6*j_8?T3dxvC3s+|oFughdchFhFT zjSyw7rCD4vjv#b1pyI@lmQ=L*`Wl}mle&v1=;q?$5aQImpX8Jr=Tz4cktUm}7)e~s zkQ_t?8Hdgdc!voQ$d(KbIxW(J|EuF^)u-<>YCitiI&ex4N2yx4r01_rh^FAC%doWeF0f=A1EYwH(X@8Gohs_Rd zCezLGOM$=qt{seaSY*j@!v*ct{S28D<>UirZypSTaBETq5QEM(W|;&kHBB1Y(w6+N zH8nv)$lVS~|E7YjiXjC){z~|{yS_>p1HIX&oN0&u$xhiqPuR{P6en8W=*tO4IQ-MF zB28%)6fo@;K8unJgK$(c7_3PNlW=l5CV)ARwpWA+xge&0RwlEMlmlzp8lH|xIrz6A ze3=x;`QVw0YbGeELcp!FJw>*hQp%qX{h6usJPK%4vXo+zeo%0q*`Se4Ea)Ob8AxYj zIYxFA3Cal;E5%Y{D)SIB(zRiI#o{~1G%64;hh~2-ha7)8=g76ifv<;kMiAZ>0(nt0 z!s}dsQ!$-97x=!!54C|Xv_P}+;(LX!yl&N6ZxTBBPeKJuBY`qnL`oPaob*@?p zWSj`ow|0?tcIv~afxYX6&~8xS)C+j z>Rd0OEXNU{LMGLkmUwlTYLi^AvB{x7aaTM10Uhb& z4ReT^;l2Z8kjd#bF*86)C$8((e&gweUBbIZ`6w$JxSVTOnrBrG>{r4z1w%e!T0dL5 z%yF`#+czvP7OXgREKl)jPAN^NnW6p2%H;GBx7b_&38rW~Vf#{vR0rnhed3G~tHLuQeHn(mBPtI_lGZkL8d|H)V$ph zpsl)QkBFY!t5YPGHxy_kH^Yb);F<=}w!{@@NhB<&K-C8#dIyIRhr9_QuMdNVDVEtk zx{RkBOngK*nK(OzExQfAR=LXN*168--5DhzOu=^LNa=5MxKgTiFH?h2xKI#Dc5;*g zji`#g@7xGfzCc!?l4_XM2IF()2vbVUP|=h|_DT@HDsC3Dh9S#ICdtVlnLaeDE>7VS z;b4vlx_x9Jb3a)-`3z-yT-Yc>0FB-!<^7eIvu0QS}CtADIC(# zdtl(xFS>`&gv06mkQJ}dpEsa+pvMvqlVZO;EbfULl;ax~Y$TTF0BZKH{IP)OzG!q) zKFlbNTUgi~IlqvoUX*RP@wHLWqPF67 z3JWn-y(2cCsM`^gA(20+kV2wA`i)y~sqf!6%@~fxF>!lZBjktgN=)1DHH$FK4$8^p zfT~1W$QDV5$oWJLi?#0k#1U`axpytOXcjIcMyI0n_%pZn;>YOMsxTTXo*(?We8*s? z@@pIEz8d-7ZU)&7>E7;7^mX#tvj;}C8^hMFen&ic=i=xy9rS+WB2+!Xc8X2N0}a&_ zPwCk2*nAm~Fm!rrLej9k6E5?@6XItuvYoxt-_Sb2SDCQhUc6_16Gs0a6 zsHYS*H@>$NB(q7jx2e7S?3&LwSf0hBr)g`pKfKHnJWUmoxG7~bMfQ;6!#9L}`Hh;( zLeR3BFgU#zvKtLV?0zt2_(ERlBB1bp2KlvQ?3hY+3s9+#6dy56-$ACzwzZSP>Q&+A zL~uD$VIPsWnUEmE=69Dmwk+7u&WJLrB5So%^$Xc%{){`&)em}jg10$?(Jd#BoM1(r zX?ja7?}GCp>&-p3M1psVL)_4Ah7CVh^OPU&L3r}{{z2cN?L@FU7af~1m~XzE;L)+J z6uSkhM|K{=cYLY5l0Qk8mCn=5La zWV>XpFv$VK*R$mc&xO#lDAD4euFm?jY$8knwca*vm+6t`%L+j%(wwjc(cB_v^tS(#B=DD2=MH zSr)o0n`B)tW$f_+sX8xzd;>Qex%_*d0#++|gf<6Fd!SQ>u-``XHAaV8G?E3`hZ@#s zsddklI~7#+BaQcO-4!F~B#NPI3X)}XCNqhXy-zSHy`fFE&2az@*LvE$=^Mz>M-&c0 zy8Xn1yK3h;7tp3ybOmXck4nHb!RGGa=xD|xH-q%rK|l$KwV{s#xoTO!3` zPKe&MP<|KU{iCe&09ivIM7TIBcYA-C>Y+St^Gv?5fQU>$)2@AU@>} zD|0<_lFXRP{<79i+)j%#*6ELl6m#;2o6}>s&MC~wBAY~8>(9IAuH^b0%+G1hH{V*5 z_L}E?8b`%>`fmT`c9BjE%l9w{4LaPH?iwCXrAdG@1ES5l5yI%es&MT67WV$LNAI5l zyWe)yf*tTbejpM4&o<=0+pM_$Q)58H#MHpW+WG&z_n4*j?x%E!`PC)6mYA7Yr0`oP zSD@8mO)(D)Anm`Jvd6U^P@s&6C_gWZE#tH&Nma9Jv$vADXL1I5-BKyDS(683%(M!| z=GJ{b?|Ym23AKJ)4}bBVUC>}56yeKv>E*F??c|el>>-PHehUj0TWZWhfr+nnBa2#Z zFEQABW5dZq7JVyTvc+`o2GpS*=CY`#C>k^iLnP zyF%m(QueW?_K&fA{pTGYrD41Kz+llG{Fi%O*~|-AD*7zJx|eRSy~}o+U$S~CfH~AFsZntpVMUR>Y-j8EH23FiGmtC`pfIOZu6mSm)0|x z({2|7!P~5IgpoMP?$5bwNeX=LigM0Or|Y&ftl{4Vyx3XsBHbdHx^;Q%B_XJDcd4De zt$beOC)a6wy;uolWr|M2gDC+oh};W_qNw%~OgWDXMLZS90)Cg_q=QGPHAt&;lm1R0 z;Z`_t8(9iC00~!D;2{7m43Tj~QwLg1r05h*X;pL8YDZONW&*=+8}x5G-JZAf$-QB2 zC9&uAQU7x{(Y_}a^FUtzR}F%T8(ORPS(6{$!H%DFT^~%%Mc#?ZhX7nVOy;~% z)uHH|9hgnBah#Nqk6eWk_Vj&dwA=qf**OMR7H#di)3I&aw(WFm+vW~Bwr$(CosMnW zPRF=8-#K-0>ehGe{jsZNt=en-+WQ@2uKB*tU?2FUUlWMzy&Cb7VP5SODPeWg4r0}+ zm(fs@2+zJOd-Ys;Z_MjvvjI89d?qKjuw0_xh!qXLi__4?X8+LNSC`~^DEy2(*cu${MsG|D;=ML*`u(J?m;FuaK8|N3s?Pxir&TB5zv@)Ux^A^$f+u86qE0 zv&XjA4$uW2K`nQpI8mJ`knfSNH5vVq&)ad$e_8B{V|2JM7BOXD<4$>E$+mLkN|*j! z#CObC*EXxRhC+3pk~LCEoIj-Z2x%IWXdU}5g{1;#hSkkdj!Ex1eQ8~dSsyEnbfi7V z#`#9yYc*{#fje|@%Q2ncRZSDn(Rb~Q&sxIBU--HRU3yFHtvl$ipd8F|=SpSuf%isK zSSX5q+nkARMoK@G)JdXuH&=NO0l{8aM{{uNImK!fedMUuCdVBN>m5_mNqO+slXCQ0 zc0ZU{or;}3nCcz%IMXh-ooT1Wo~1~^4WxVKKCIed2f zI*M`S+g7IAFI1;%jnZOBI6$X#AWE|j_^}8;fWAR+gKwa~+g&Y?$s9?A0#8GTxj#Tq zd%uh!r#O`y^GKe{?pL@HyXBFMbqt=Pi+iQV=`#ahehpLihp7$8bdnwIxYWVeg@fTB z3wDyG1DerBhCIAm>;@qOfG5-OquF^Al=BiQkciBBH1t_W)g-W2fa)V%vYxA%#1|B&X2*9c zY-|EH1ARfw>M|kM0Z7y?!Q>tk|K4PP3sk)25riY{(1gd z;-t74_k9}T@PGKr|NTVdKf<|$?QC7Y-NY8QW@`V!E&QVg`j=NpSwm@F9)mX}xVWm! z92#m*5%okYDim8;VHJfo0{CnPc#2e8n&B6dMfhEWm+3H&xaq+r{^9ecJc`s%5p&mg zOJ=5B$9A{R3)BwSk)gz%CJN*UqxOhzI5r~%hO&dwP!)#qM)Xef#l&gYLXx+^YX3Vl@S3EVY3MV@;}<*3>e| zWS92FB!VO?-pKx(^hw6O1{&38v65+nic?qPn2udF$d)51+(_-ON#A9;^A*o>I?>OTmKm*vwo#J>DOA%x1Pe8R5;i|*URnTAexRbVwLkd^zs9tMj} zThh%)(+`qb9Jzl7wIVwIQhH|f-~SrX-O<%}M#hKP9kbdQ8m&0?T~0I!V`{;3KhzXm z35mo+RJGQ%fGCsAps04L5F2~$oQ`sv-+*P3G$}G<96ZWOHw%?iB5Ubz->Q~WhP^zQ znTfim5@U@t$RzxNH?T-eX%ltD zNm&8>DXGM`Od`tZRTT~KnN=ht50zl2<>MLVVMfVF3;1N7*jp#{lMQb8U!w>;E0+z{ zyNzs$CZXL8XJAG)Q!BtH85WGIKbwCeE9V7sDLgW-Zo4>%aRs%VLwN?RwU4G6$Aq3W zQM0XFH*gH|?Qwe&1wT$G3>Xe%)KB|Th#h7yH?yaQbiY!k7x!OSX&0x^L%vu6CGg6f zW41@lbOk-y)AhhMW1dXUVL=yiX)^lCa%HVH2%%4bQW$VD1@_qkp+D8CbMux~6*4>J z%*0=RMb3zKrcqkwxu~xS0vy24_SlHRPS6b9U&&=>=8CKZ*M+>W$=%G-HM8=IZsyI^ zPZgnZ99~sY>N_xF!-Wdq$3N)S5TH(uDSphbh%-vBISg9JB&3o=P{Qm|CNsba64!j|aA=q-eqdUGroW)Yq$WR zUVHO9oB3(i)8*p{-&e<4q;xL`ou0U}{~SS@a4Qfn&d^5Q7e|;-QVmku3+43!c;BWmb675;CDWnN%)!HR0|${+(y7|fw}(c#n+5C&a`-&olB0} z|GZx^spQQV_fF8LWt8ENX8EP9?sxFtLYF>z_wv@O;*l)qxVEFC4+LSAGr?UiX?T(X zWTh1uujKBY*2<yRd%oSlqVHR~Z?bnRBCy8BnWg-i)&gLuZ zqf=_Mge+XZ_D!HM&(BzIv2<^EQ>i;Vi!bfV0eYEt!NU>U&nH43gFwoct#YH}J5(P0 zy<-MBE`klB?08fKIt)U)|Js>S&DN85e0u`1{##EV>wnsrDw;TbZ%n^|QU9J4R@HEt zS4H`>y%4F(N3dse-3ZdB_Jy2@D$E=F9=7{4jL=4iT~r}TAUTo*__SNT{UcnK+a|5M z7iNWdQpWv6*z9%X=`&3BZS8S`dPo6B4hhfedbaJ@%dG48^~uNQ6SUXBi?o+6E;n?Shl@_7rUx0QH{#)9cIV=^%id(#}4A2`m`&bSGe zaILoHkaUfvC&d(B+g7B}&EZ9Pe~6{04Vew1Clo}ui={hs2OT^;lhBi|vs}N$O3mFg zh-+$&&1f@^Z*n5Xj{HZ4dC+O9vu`Ge-NqdM#5l(|Bu^)k@Rp*C#I1{-?>j z5ylv|En`Iz>qmXuVwU1)UDris-YV*LW2Xr;Il48inMJmE_n#8mGqF{6$wUJyB_Go^ zVaV||gI3N-Vkhfl11%>7!j7^%OwN(=#EVWgGj*6OP`&w@?8UKuy|~JAn9E|j*7WOE znBS)|KSp>bqeHwL=@l3vnvc}9nLInoX8x=R-m8zCSOF4eUc-ZZY_G!e-b!>zSemp; z{TQ&M8zNTyuhU%}IFJoMr2-LJn&M0QsT{z9W{6Y&reclDl`R~JequgW8v)8>A|oHg zp8u9R@MJ;%iZxmofjNy5h%V*9*WwxIS&^>*XfD(au-QhgXVYSotOT4+6#X?2iUPf>u_FER^V-j}j~A*~Bo#S7l=oDofoTl1WbbU) zB4NAob1~(JU|FFS9sJoblpY!?yEg%*BW0J2D%oX=(dKN-^KHcUHCVYvjU!_Gq=UsxL2iq>6r zn-D5NGfDp)VRgf;k-7KZHGhp0ug7Tq%Q<9Ud78Vq)4I0tr=U!F#elATep2k08gRtX zOT1L}tMAiL^I~}4?2TdyE8a{&Nz!;Q@3g&s)=OhPcnJ2vz@MdfyQeH)(QX!I)?e_h z;odMY^Yl}8bRPxsp<59^jr#b%am6Dk1QfydS!+E-nhAbY(5#3y_K5_Sb_>8zfdL6R za0Gvdj9AD)tpF2VVD1f>+o^%O4O^O940egWwt(7F#a8S$hqPwq6AH~y)8atUZshUG zc9bt6D6Ikyg8K-M5NVoOntPVQAqj83`0lN#9O^2^?eGl-!UIdpyuzMtlb>lh?{Pou zd0LOauLR(ae&XI;lJDkVsh7Q#EPW^me{ryiC`W!)0%`Sr64$l{5+g-3(P6;uQ1ak{ z*$1LLTNonV!GO*>v}6~sIowp#)_@4*eV7GKGz@yejR@t=)&|y>tLDiUW<^Q(h)_{1 z6UQ+|#-XBuYq+Z#G0o zOwr_LKrJL(ROQFC{vP$#d{nDz3b$dk_Msr)hVYP9ulV)zgnsY+m&5(fD-dGu`YRjI*9SFiwdoWS}|>cU?}{1YFJ z$(AdtsYOBwG?(Zlw9bOMWCR{uszn{aI@mvmOgtP_hZxicu9_NCjB;Db!%lgz!~6`S zBv3!W|ABQ#35L9q1^w}(@V}kx`=7B6-~IFdWB~uGlqV^U$__9f{3gruL!fx;uCdV| z@(|3Q0Z!t`g@OYmX>IGXR4RfTQw;0zhn66?{jTALnW`5;3*c{)6B)<109{@D93bPm zVgo7gfkrr3W-g@EMaB?!SZFLXOeD`{s}OfE(j-1JdFZVqeF-!hH5~E3^*3_vtAx|~ zvkk3IQ@^#=XiKnEFMSOfPF_$G^qeZFWX3C&dD$7p{W}!Qx&7P)PGpE6>p8(D?>2&O zgoCq`>xQv6oLjXR<;GYIg4*P={RaXFQa(owPOR<8!_QwyOM}^$QLvxCk-D#caR;rs zOrE*j=@ZDk-A1chc_O{?FFp%2)BalZd5lJQN#m^D)#ugluEu)>SMjf_o3mXKj|-r; zA2u87V^U+O!jjBR*KQ5FF&KYNoBk>O{5-!FJvxvlr6zjE(O;1*T3^Vcw4w%rW;w$; zILo~)k)5qhXo3zx&^ONRrNf)K{c%WV`gf*!9`XWtY9O|f487~5Kq={iGuMO7!{6+k;x2xiU1Sl^q9&fOxvAer#01yZQN&SNj z;t>Rv5c&`VAQ-6#u+Yw9BS&|P$);qKmCIf0!ns{28x@PHEUKV`9;L^3kO?#8`;NP)T%UOXUULYCgpC*vQ@UH zgEeuOHp`(2Brr<^py0m0%C%Ab)is4au16n(N;1BYlKAF$>JHUVX`aF5m<}8!&w8rdy$UGqUzyWRyvR?>+!PAZq z;rYgxW881V@!lDspCNs`&-zAq0e=Gc?{}s(HjpdF=${*Ma9^aeJ>&W1ZjaU8Uz);u z6mDCvL>Q)Su9e@r!hL24hHpeZ0h6#k>9~~Q)3w0+7Y!U8lvCMZ4Ijo64OoG87hbl1dl0*DfwMn~GFkhlW=&Y@NyVw}sl0zx1E5kQz!Fmd} zDzLUj&)+MhTNhYYhR%Rpc4aT6fGn76<7Zmbukt>+U^mA1=5U|+9oyh*)2PS&Z51!^ z0M8qp&(4y)H>{12FMYX>1pY6@+ij}P9PqCKL43ZFJ@AWnc$Lh-l^ErB^`QZX>LzK` z>|lmY_k=GYADch;SEV|5(coM^XI~)PD`f4=wf*JKdf8lG3qG4$2d!-4Zi4(MfEWYI zCgaS-t9sVAmoQ6hBAi`B`|H-CfP7lX@nD85r=gyw_0D33QeKR*N?toGTt3V7#aHmJ z!@v-Pgf+FV7swA{hR%LNAK_;S8!67eKua_tg*y`{8*2%regg+>qMZ>86g+o$eB>y) zDUcu$Yn;V35-viA{I1M%C-LDMi4&_XAV&gp{8;^L6IETPoKtc^@uHakZEa$tF9M^J~G1ZN^78fxrN{WUi`|NXz zO00|s+SlkWotMD}`ksHTiCrhMTDulb;%n~5fMMFqw(eyK-nm`I7QqpBp_^HAjcQ1z zt_VbqcOIEef)Sdr+GVUO?Fm|AuzZQ)4f>f=$yjYSZ9h5|!j1zI~J(ljK)HIM=tb2)}a zp|}kj6OWA2?&+=-kCZa^j0o*5)>K#WBqNhcY=WX3+*8b~gQEHmEo9jT(m7a*I5#t0 z-7}anZKsTs(sfi1kP}oaTs6M$E{Ex$0YPfB#La+6(iK0-Y<5t}rRDPpXHMIj&6R2O zdMgyYIr5mB1@g}0Ur2CZQa4060)R`6@u<%?)~R8wDoz zSa1=oOUkmN3+ceEF*>M%9(yeRR$XV10FQLW#>F3KsNHP{f*}a_m@V~bpaDH0%F2oO zBZ!)vK#JfvuNLuEfRbEMB&A6+hin6#>Wj;KiMfRn_?0_map`BCON@~)dn^gNxz%K4 zGKD(CT@V+Mti6GDa^y+p;@9{PC{$Ka;rG$>-D-jx$B&=R>Z>u}buu6n^ruqkQ@NK7 z7v(3Ht5a!}u@wE4H01gAP(v5(H@4^aUzF}FrJ1=X5)_Km9Ud^;PLxJ@YoS<9Ax8N2)~vPO}jfd?q+oN~2d zkklec9N8ro?G|RJqTn~8ASp_jQqe);FF}&8^53{Yk}PL^8BO{RJ|@`NR4yVk062(T zbx81NTdYJo@vguM6wN>|uHv1^&r}f6PZ(4zuu_IZqREB)&xVY?ar93)Duxh5VAP#c z1r1E*Vcc+$sq53DeFEv%BQIO{4Sr@$C)1hCA*ZhZKI#U~JD>SFzT*g*b26IuiSdMt z!!kQ)jikb6DZEVS058fU)8rtfG{5k##a#=Yd}v=YX8@kAKq;Qoa{d7E4Ml%qCbgnU zE?uC!^E2bS2s#}=J0z!nKhgSh6Nvi08BVU3{$zM;u8i^XH?B7%_$ke#H6q3fK5lkk zNvZbe2`t7_7+lZyK$|AMTtO0=c-tPoka?Cp$1sH#u6H!=k_aAv#z@(XKi$SnKAkd~ z{*}V-*fXjG+T^a3L3Mz0T+AWYk|D(}+6Yy2tj-_?YBR)xJ`^8?AJ=m(Y3GLPBXDqB z@-Ix}YH&w%9LebYBM=QvI&@E?b?p!i5LZpEb9LPqi-gb7PiuATJt6!j`5@5qM3QLT zI0!?+4AOLtrK~a-?HF+M<%WTDQbQ6tkw^ve`Ky(!&KJG1xUdSv;f(DRA?T-#QzV)T z$S_U!xGIK{r3}{>;iK&s)WZs%+-*d7W#;=0{>Q@+kjm(Dxk55CLk>8;$Z2&73J#`` z%d6pP3;~ku9N8AK2wI1O(U4S<-xJ$FEQyzF2p$uH)X&H;y+ z0+0C%!3vJeCXUVPb$Rx92zmD3!xDExypk#Bi)HtL4X7@sSU@m@meM+QDb&K5uR;k2 z%M0CVnWlxvDs(Q6y?KwF4IROWiHAyO@uBQbBfjmcO_ii@!R^KvkqhZh+EX5kZ2`aX zjFCGCEcB*ECd;9PFv*J5tKeK=<4|ibcB)7!)Hk+8O;#j@56DwsZ`3&uYIvPYnENNR zR}q_tF_-p(2?v!t7^lh2u*Kak5&GA4yB4;O?2fs0W#)&R83U##F(H!LRAeELaa+78 zP)=?_u<~(vbr!%m+PmT^OrR~ZIs4Q_)fk3H44J+re?-sRu@x^5g&7vpnTD-GunK!* zNpoLMUa{Cvt%AHpk0o((s>^;fri`+@z8n$9DlrElM}J1jcp}7zuq!zUP-ndCz6|1I z1U$5ybQZx*RwNUY)(K>eONGl;pz0WP-?ggN@FeJ+H}Fzb891Mx22O2DfW|ZtOW`*`MDbnI3_TqDN)KXM<6rnqx*U&Ndl^pPZnqQJbW&&gUov9TiNR!&W%R2mPxigTh5?br@rxcAp$CtQM1OEr_Z763khq+mr;;SVUA8_+SdZsS2 zlF(46%r85sHRM|6;vp9)D%36zUbVC_WcrXC08gsMW4f*~d$8~sJI5^9g^;PuL< zS7G-9M+)1wVCbMDeck|wAI=y9q$p9t_NbygU{6KLJl|6XfcS}0*M4ypnvge~vcMW`Fm%IQ) zmx`pot}aEsgM*c%=ufG~eukfsOZgx$+t9@3+H0DzzHy!gC{g0~{`Fl9!NZ4DFOV1= z=)*7GKWvNehu>Zee#Ypqc+0O%QY{H0{_cUKYXuEA0FMmz9L*-rgWB?I+^^dCf|VEv_~H_K-UJ__U9kNh#l_D*_ocZ=;@8fl@K;V803J5q&*1<_q0hX)5|`}nZT2$OBJ7QivkYy!u7RwjA^Vf;Z{O{Qy}#3NX(1$=M%*5( zAuvkj00jrR0${3e$5=%yeS%g6@Bq~*1=T6GuRx$$dh?1%g!m9~SJ98H!Rn2?HMSR! z@12@?8er!1(5JU+6JgYH7+}G~H+K1aQ(uRIs`T1xmTotV(QeXhpZWzQ`5SdO!J+A< zec;`q`DK2`?#3-X>sOB3&L#~S+<8d33^f15Z2!~F2MropLy+o>S_AI@lKecl(l6*s z%mP4e(8*8SdwrgA`G}VQ^=J6!V*<2K=uaCh3TtTb2jNTLQ?$Jm9NKsO=NKCUyeJvy zsHIU?Dmf!hF%o?b{0RoyMl%@Vh@gZ~A$kptAeskQ!(H%3;8ogp2)?QMkb>9U!8c|a z9!ha&_yKZ_$J$1h_}>DP#-3uN`l|R7Y~OcB&e5RJ5ksdW1pPAJ{iYhe)8mZV65jOy z)8fp-J2B;d=VK;?P)d#K>{-OiTrQ?eJcmj2b@3O{(AJoTPiWAP z0BAJ;xEg>D0yIl?hR`4`G|g9;mPh%^fS?b1$0M|@QwDk7a6eIXYsQQE=GvnlEH`j; zYrxQ>>BFi>vA#pUYX@2AISp8h>#pA9eV_W(JK@W3y+d4Bn_XDdg`Uh^&tY(ElR)MC zh`KfvT_Eo4-BkE#E<==>g?}ybsUNM89w+{;?OYvvi!An5cd%@lRc^vhN2O{{ub&dU zo68Wa2J!;Yex_)>Wu)lC?=ydAjO@!10_B4n*(WR=%t>gL6TszzgndqI92Qqy5+IE3 zRjjY*!;33!4x;5i64yX4!q&dp1sy1|DF}+yr+g0ws|?u8)2|<~1v%reDYl7VFlgx7{UH9Vzf@aAJa8MVkw7ry#~fU$Z0mzIB!e*ymI=s z(xxKq(}pnrxhBq3`W1@&No=2Wu7F{NN^Eo0Ozmf>wG{nFWNcu=CG ziD9D*(V1K-GJYPfIyB|_38ldir*09cU}~YK_D!jRf{sMi=*)R~6Tu^c+5j;c-=5H* zn{p1!Eo4}A3M_|64p8z46Al%YaRNzV*k4Q? zvQ^^y^PMfRy`a2iUptW!kc8;)5qte0Iyk)o(cWRs2PY5{$n;&_f0JNK_Y}(uU`&13H2*6J=&!%`%{sZEy}#H@lyOs*Wk~H}N zK?ODlDo>CvPh`lTIEZVu{~c=-kL%G(A`(|ve=e8lQ~(e;5)wYcixu0~1p%0@gwI@J zN_4AZGnzmi9@2@=PD`zf&dbsmXLW`2R;;35cZkj`Wge7~b$*>hcup$dTNfwyicB-i z&O`i`tl^BWD9JckCG#N5qrYSoN8%k9Sx!4?3+%33#*uvBLGJ1mSw{Ad{{G%cg3JRF z@}|Ve^iw)6YlP)KlRb~;_EsP~B=&x%J+fzkjf+wm zzQ)auyhB?k@$xU}XnDy!bJ@B(h+8&t6epn}4RQU!5~RtgAahwd5ho|Y^b}|X9XgSF zC&Ka)`R^_@H81sv8A@~wXoJnQgJ*WLQJi*3o&U$K>i!*ww!*R0FHx;1YUG=s_Ra;U zs;R7>Y|CY6v1VR%Q^Kd#VE!@|ql9ysVyB;^%w4|cV#YR9 zEipVaO;K)2hsU4`IB02|@si3^RWZag75{Nf3bKHOmKX}4Y;+jF$VH3$j}>WvLUuAV zC{KAEQ=hqnbl^|C#Z(J{<*2ZZaC^PDaNR}CBgx)H3(h$aKiEBQu2Z~Ro>f@p!GK!% z2f>CFV6%v>8RA!i42fP~L;QE4ixBo9;S(hAS|Oguzk4BoW{yyYTZkejuY2--wgk48LPTV!C30MregSB#$h*3^UzOk$vo0QbQe_ zTwedoz-p<8LB3gB_&8jE_|W0FvNadX%R|vD6sKmLL=Zaw#128HA=AoM{#IFb&kIhy zFsRXAA}lyIP#Uz!%pQw-N-Mhe#%S=Y(P+d{)wXg0M}3mdRdbT_`@`#6d4$WY>M|0& z_--^({<(6wbLw24V}OnURM86VV^F7ghki{j&of<(U>G$@@GG*~;Kr99aws&=>Z8*8>)J5=>p$k~)m#LAJ7iyA$@ z!HLkaC{`=tyfRkHlrLphw%VeKJEP+4+5yo@XI>Ie?!rpGi@9Wz8EB@(ZjV&mV7p1u z+1qZBaD#O2%4*QzQ`>6{Zs3<>F^1`pZY$=HZW$a`oTiXooXW`ci@t#87i|HdP6gR{ zdP}cWWoBdVc@;}zZ^nF|R+Vu>@1?4@#tyEkl*W#ZDw@WQTjgM!etAvUPZz)*?wQ$E z5Y#Q64D$8B=pMd(`#1N5`ct&+-tLT_-xqr*q*lob*T5kaDpGF8{Z%+wr_Y$xSM# z(1gdH3J-S!C5qYuJGnd3XLeV zUq}HD-gKQedzHdSP-$2&j|nfB5;<3h6RwylLBH9t^W#b=|H8-sE?fALacuUuQmuzm zQAaddT?gGlm420p^iY+e-i1E?T9`uoZfNe7LyctHzp_Wsi2LaT zqxPUW*-m6I$I}_8xlm#cO@zHu(TP%GY*9}2#B z>w8DjT>pnqyyfr&_~69C(O+?j?A+aKvjBhYSLa(BZ9EcxKc!qE=Znn6&qG-di z2|NE=Wr_G411qy0*x864_O<1{z=~-9qsi2*DXtZpikafx2JbO_vlxLJK}|6NYz%Wp zQB^3e9t-AB2BRty)+n(FCH6d5Q3IYi30A%&6Bu@^tybh#xM2>ARtmgQl`BsNvY+hG z3xb;PM4{h4&e3n5)-d9-koL|-{L^90;~Ep#CfZGNzD(;NLN=c2#gH4OG5>wQ9!Io9 zYhaFt_H_0B5L@ccTHmyW-6Lpcz@qU>H&CA=C+S8~^bgwFztpkqxj3UGG9%vx)0m{< z8M+(&6>kyCM6VxYq+c67;B@t0PrkghX@%TnGVz6&CqdU9Kj;G_wrgW7DpG&- z>GO{hva~8i(fV&P)}Fxs?sNHf&)I(*iS-RWH~DV}S!!XP+A64Do2y&ScXKR$D0855 z&eEo2zar$#v42`1TU*4V%?8j%M(t|xH-xAra6?DD(#?($8h`$q3e?zR`SQCsN zA|LWm@0t_*CR{q=N5$g{F8mCMhm-}*`mUVpgElxV`gB?UCXc#yQw#B#57jeBe8*8~ zPzeRiNEah+G9DN_BBUPvp~7Kk<)uy2CLaBn6kLE6Z2=G>T(K%_M_zp>_3tK(W0*hR z6C*P+ZDnFfXIM%X6Ed)nW8&Q~EsX5TGF{hqG$u*=(+F!%nG!X`Y@-vsgJmm~F+5W& zl6kgZ0_C@PWZsjeQhK^-a>2MJ(jA4Im^q7&EsL?Ly{6332q?QcawlyU8| z;eqdAjiJxr`^9n1-VR!e`b=@G->3kw1f;){t~h&QhOIX9y>w0t9b%6Fw{gqO15q)B z_(3VmAPWp@NyiMjb+(cOO6IJhvp*r%6VNrYH&(E6v-_Q=>ydyd8rB;AjA+te_h|Yd zn?@#+>u80ko{?nuHYXNdj~7Xe-nlmI0lU75r-KI&}1jmhxI8=J#F{dml?jD-u z2yZ5@2pY;!zfp6yo1EZnDs6f11xczr$pOQac&XcJ6cgIyQ#?t@LQ^@eHAyu)D)Fde zl^KpnW`9a{Tn?6}!FW!v;-a>EbW~Olb0IUHDP?oIp@DqRq10uye#uCDM#Ul=(hig( zl|fdag#JCJRmLTuLZkz%>}DvB^gTmc0-I=(CkR0k!{v0EZni zENLjvX)4W=FcXk8Q4^)hq$r*#p;RHeA>0G_BZZW8GR;=^_9&vkyUhW6twE*uP}y5m zm|Ke^kgB_K7n)UV<;C%IE!pDgG{9$zF3%? z4^s*r3w^jGbsE1)gF2a~OXV<^yLRP_vV5~&9X8uu*6HpBghlyVx*#)Yo^kMj3hOXa zRG2moU4~D|ee^x!cXNxw_U@lv6(&QMBvssSG()y$915kD5>3Ak){KSQGs4W(9h@OK z&GqTaf7S}=DY?M)8EEDLvoD4_ofqOq^`my{&jm@)pVR5{XDD0clV=HDCxuTW;&NRA z@v~=U50=i-eR_c8h*W09%&T9yr<2BMrftI9twSZb@&XOTXj3ucC|~(N?>HA<6tzpI zznaD>*Jt=&F5Q81s1oHJXk5D;7hJnBBlbN~p{&zJMk>_Nz4=?TEi{-M6^>)#J^`n3 zr?B7kgCs#i^X2kry$|V}72a#8s)l;qGvOBvujV?tPr;R^&#VoJJ!92W?nDGOXK=6_ z%|Rst5--w{zbJzur3$JBrO5{`sJfiXl ze=3Akl~t3aU`WCZRoB}Vq18qWeTZL?CtOoYQ$K6H+~`k4{W?t|z-PYwT@rW7T(djd z9r%|jD0ikMEN&6ZABUr*O=IY2ozTvb&d!?l5V;%l{Z0dH2%dzVzv_?KyJH2i)c%`C z9#D1GNF8{EJ=91=UGTK)ly*NZUU!rIAUoV&h7jG%X|q4+S3*BFPj<|kX@jBd3H756 zFoI;GUAixun!F-jU7}w*N+-vk-fuW~;`U4VeqKj&WgqaPMdOGO@LV&na4wkPa)pcl zWjtFk^S{yM!GCbTYB9iT(Gp|Xm{cR);}RQ_Y@honER?t+(#z`=0`Xe3p;cQ_2Qh33_zYoYd9Ye>%+qgXwaYKxf5b#N zHOV!56noQ*seW)*dp-a7+wECb-n8YjbS5CI55ro)>X0v((Mtob3Z90X7rf&zafchp z0x}}s0q?!thy8xm8&=W<>XV!oKAjQzq&s0!W8Ob0^H{_D+`>@T(-+y1#Oa3Z4IfqRtTD~bp zWi7}Wtc2TmkOHj!0CDEVVh;PAY|ierz_V`Y^`LsCkmWzvTNL5<``~%tTiEfY83v*m z0e<)^=;6)(;qzz6oU@1&nWcJ3g93zd`^?ZeC?GC}*&jwSnF&mCXjmeAZi!IgA1e4NT=8Zz^0M{Gt0yv2>uMrmGUfhRIccFN8rv`p-WeSFpr94hMKIwHq%hX9TJ zLRZ2-R$GmsjrQ%cg%6pq(bkbOXysTeo2C%4tw|M@>dA)$%c|xiady^P^0ikB-rv?igAe+3WcUHP| zXnf*Tt@dZl+=H6L@0vRMZDXCzA@i=u){jZYJL~pZf8(^6_tJ%O zzPKL*D`=IxR=@xs&3>lv1_bRf==7Lq>wvsgopC?Kn%{mes=m04XC@K7X)NZD%2&21 zPa1TyxGnRuB(APqsO8*_z5WlUiDK;9zEqV<5#RoE@qpGFUO9{Qy&jE2CeGnnlkFyy zrT-+#W=vGRe68Se{7#`i?L*)BjfVJ>W{EzqYG1O8rJ{A7Ja7UO>(1F54&SvhIekJ< z@ld$7rHZkWyQo-+t=??#4v6O6;S13?v$j}&;g23of2^j&J}WWhCjBHRBU+ytHHDPG zg1|vr8|?6AL*Qn@MtdtQl1ck$iYL9TZ@-%1p>}lS++e?b>css$o z^c1LHxV~tZ!idysmM!RqdQBNVi=EPmM|v)ZbyhbZ%XLljeCv5yfWz1)c8zDp`N!OB zSSQXJIq0xcef{BoMlpo-&AY0_FW+|JQi(9zMr{a+>|lYc>Ii)@V=v0gNx-Pv`|;nx)>3-cEx5cKYFmW{SUFJjBiLSGnkOQwwM3a-#5muy&^5g9PC1Uuk?FEA+Ni-6p~R%)Y-)Ayl*MK?={(vg<&L= z%}Pz`GeM)`kDzJ+dBW=K2P~}sCRKcFg4N5`kAUVgq7k8S7z$a1ua}?vq%)qaT&;b| zh&2XUAW5Tu*)E@Gvh8SXX+b(}#8RbFS1!OM9UcGdWP(+#g-WKyr1h(g@;YP4X~2|| zqBa^|P-y)N1#-LW$Wrz^lj zqj5^pQK+xmh9EC~0viBc0+T6L672wdy~pdCC+G*;83UhqhzU#vMHA*n6iVulEULH4 z>NoL)@yoCK%W_li#%r0T`lq?Z?70b}D!6>E`%7u95vm-Vs#(r}tH)6A0+^zWgtOu+ z>&9OlZfuz3E6}m6dI^8!(<1Bk>`EOhkDWJ!zgZ(i)_O;I-DqWC$4 zm3Ev;Nz4kX*epDWTVPd38u;S-u!mS-nJrLnZoj8Aba_3ly?8@es}_h#5l;dgr5)Hn z5Go2tTjCLs+7cx~ZHqi(X%MFWuwnV}cyl2NL!XQJc7wtxwg{tD%j&xwT4EJT+z7Ks z=te0~1!RmrO&oYZejxCpEzeRlKpDj?GWX~7&MFnaoW5#F-nHkAokWQp;S)^3TS(2v z&$XPEDTXy-Id5C2F{9@i@wD3mx9;_?$P@42OU`+lC%LOU^mPmg5wBa1Fi}~Ygop=v zt?PxM$otL7bfGJ23sMfjFW!4|T^Y(VG)+g|mRTzK5h+WMbw%KgC>O#FVJ+PI7;;0V zmk$biPgpO1t<+<7oWyasa3iMMpG%5cV~1Oj78kvo7lFbR@ES7c0XMM$)8YdIm=lWk zJY@EMnobn^M)}_1UNXMB;i>LFN8bK~zvZxox$B z_WJ4ZEPFwIvTT_FG?j>CjCtgzFRRx-?zh*MP6PZ7`;S)%cE?ruKHvDz@c$O*_x+yX zhn=Gty@9=fk+})Ik)4f=ovjnS;kU)s#o5Bz>HErm#n=9!nL_T)CjU3F%Tm_)7Q1h9 zX#HvN>0^Kpg+gpO1ZiVom11L6(i|FyaCxI@o_FnPcC*&puWz**i)4p-X4GZaPukBy z_c;FX6VybLF4JL{`_n(=6J!`Dr$N%lf_R@}H2e3{2Vm>^{%s&91<2WmESUDBX2`U& zJQ@hMM$~}<3^w5G%^pS=LvE}6O^a@6 zWiJiQ}HUyH}7s zn^R7wKAA%qGcwlntc2w45<|w~gGP;s7i80F43SzvX#x5GXdLYbrbK4mni?o;Rv3eO z&S6Cw3h@cE`va^d#_gso%)_xHyn;M!hV*Bwq_}TW?X&AvUUG5+uh_gYQpL~0xdV!@ z9`)SaVpxNEV(222^AWFkF3)}%kiUy{tmdndxJK4h(GGs*JxSE;G;GQA?a4fb6|#-i zl^5QJA(jL6J5u8hhlv7v#AjzIr_3|{Hejy#i@odm zT3k6R7xA7ku}S5%E@@s?v4$0DvB|tP8 zo+K)UZr4fM$pxCN==2Z0J3UO>S%wfQ^c_Ax5>ea`p}_18yJ4*tVgX9G_~CqaAx5h! z0t~lf;TRc@*=!{KW82?sEViH#Mup(%TkoI_eoPAo;*cE3|7dG6Rt;80LH~!|?X@8R zN+VQR6F2R?V8aez1A7D$Yi1VpaY4S`DxgNAao9|!n;vOrO6|`P>w!GmPKbdjI z-3q!iTgj1PoN0VQ07ArwG0xj!o6kd`&%3iZke8OGynKRZ+{rVw@yZLdET&vnxstj5 zNiz`5T`;cT8A7cgM^H!ja)ZWqynh^BV7(%>)c3f*nv_K5G_)kk6xYLTX z1w0hZkvK+h1Psp>23=Exh-U5)XXcQ*r8dDCd26Jc11S0}E#0nox7`l2$16_DEvV`Z zsrQhYU&~KkT$8?>5jv63&!0XWn9~ee^&wGnp_u~MA0fA_>q>JS6Asdb`0i?@Dsvq= zvqtk&Rb4Tz&LGIn_;0HR2#SRx1}uwgJcDq!jJR2QK+U}Q6qNaOOiYp;u5$*4l5!L1L^T)jE zO;?>|m1Xg&YLmR@x2vwSG!kIZr<`l=?UyOH?)&Gg`>eNq?ie08{XFY?BW&3ued=ua zfdor{)WAGf_fZJ?^z$uE_WW&Uw2z_|ed+GGH{7;-gOBR^_QSrYm-KA+<%ru2z2%Ee z)BCbw;B7pX?$S+oerNfvr#Fa$6zsNIBtOMa&u&N&0QRfeyryCo7WONz)u#~ct89OS z>vKFNO)3rj78&-dYPST-yLk5)>vJTA!doHyyZW8ou`jggRjg)=)vCF?iz#d=#(P)n zyIJ1$6g~59Ejeh8e4TO>sG5DG2D&+C?yKcSl-5YY+Oh&zZY}rj3q((AHCb3sEGZNM z^k9ofabSujDRssGIg#^4+9^;ykttF|JJRhkGlfzqzI4bRD-;Rli84zhrK2c<7AbAi zOF4gBFRqzE_t&dqHW4a*4aRRaO@^tH%~MdUB3#Q3*MC@CsYPw+;aLz#2cHbphwmKhs=>``pShZ6|JK7L+p4DrZh!L6II=TqE?T=XJ1be&}a+ zhTD!U(@ByYc|`Xx*psM(2_bH`7G_&&>)>57tEy_%$sbkj8)F13|F)2@RX@+`ER;`S z%O0=|A$=s9-OVjsc5Yovuvs$wvLE`AR(LCpOw-8%4}jY6NNIS`Z5o8>iZy`qb%2?C>{YX{+bY zKB>1yrzsDxIW8pHTZ|@~*HE;O8Sj>Dkh?WwNfRtRdN=HFkwo;;nfV1b8o#ifA~grv zOu}n%)ub4#S~Lj*oN})#XwSukm9%E-4LUi_jWrx@ixnYyu8i14Lm6xo@AT3!#A((W zm`R-u{d4PCoWq!giYE*Z?5c)x(Gu66#aSRR9)Tg-tTKdrOT=2sxI29ut$(HN8SX)> z{jir`>A{wwtg@R=sk}6z%&v6-V=zVEovV~(bU(sX)wrW#5N~o>=s=0iEr}>swr^V5 zLfo`2!}Oxu50Un>?PJNM4aXcu1IX!Bmx2QhSqZA9^cZh5J@8o@dTonV^_a1;)H&Ej zxcq-m_KsbGb=#J1Aj7sJ!?qn6wrwlJwr$(CZQHhOTQ~N;=iaJ%tJBgpD@Lhev_4M2C{{M zwit#5_J%E_a>7~(l@>VKQLVgCtLRTjvTH`t-;(%pgG-HjHbjyGv= zhUW62oejEI6cso-U=TnZJEU?8qKX^zaEB@VF~+O^8ArLz$+;rfs)P1Sw8xwtl_%E2 z_(VL5AdWA!C?QR{5KqaS!geQ1hnzGhXQV||e($eJ>+XpG)srm`D?A0qx||9mxGSJk zDE+0hPnp8o$&sW~GlE3rL&jE$PD4rpqlPa9+T~Y`Stq}ujj_&REJ>P23Ej$nL}sr{ z@0(}XC7;HuW+@sD`O#pWQsZDY;=0H%D_hm8Q5(6kfdHc>lc7EWE3hOw5c5nnJSG*S zS*Xt6x*AhnxES-ykT6Gb*^iHvp5O0P>+Evv##lrkCb5KBCtXE<;Q3dzItWHw6D$g< zsDX%6;Zy9)&}sG-8CCqUuC|P7eFThjfprX?^iSQNc&Q+ZB=ggck0PbwwxCarI#qDv zrh@s>2Bgc1xHihnGniEhPQT52OqW+wu95^3dyVhn#$-PuG*257lJqD?)TX<`{4;o+ z-f;8HpFWu8hAP%TBTNrY%>#$~bV0lQ9*4EAZWc#xu@j_Es0{B^ool~i?jXOO;zgc0 z+JX?Wj?3~&9zx+9o7~8MHf_StU{u;Z>MAx3)O+e*0gmXptIoFiRcg#`Nm#SYZ!(OUK zqQcac8=ny(xf6B$Njt%7Z>N>ra#LYK<~;2L-^DOv`DEtjCbd{1)WYI=VNzMM%&@x} zBgCQuOFcUes9?W#J`M-|Ud;<4?2b6YC&geTsJVViW1}fLNq{{}lol8DcH;G=-sqI9 zIpcHt;@{SKs>G`>QiIb^*iJ)Qh<@(A3pDg*B&&f)F)y+hPlVQG=WKMZkHzrrW> zm~>xz;T$XYrQ##Ng8*!sYE;%^bNfWC-evUPv$sK*YBmf&)@-sp8(2%ZRd zo=P5ac%ibK~_YfDmH7Gi<+;C0$n3eC{11aWqkc=@fzo!@6E4p3B?uMa46~WtNWMdlnVP>g zAeETj2>N9KMogzO;b0C2qeleGg?SIKVH==F8Bl=ILy=M~qOI!NmrYNV@~q2gO)8FT zaQ*J#xhQ_wSzEtiy6#yc+yxP zEm@3D@T^cJ3l{;EzBu4-1LJ(ogZgZUm8z%9CI}! ze_^1%O>S9)P_HD$x)F}beK3_ym?r453a!mNaU58QYMboaxom=W4U1Y9^X}>7Ut(BF zguz8I{=^e6m(lGDBTN}nAF<*!y$hloP@ojzyP{ z$G1DTgIijAoz)`_IsLl|``fXgfSTr;GlgFW4*oHI{Gpy~(WY4ugF4{5VV=u1`VdKv z`L-qvyWkhfYPNlG0H=Ucqq++sV>4TBs37_Y-~?vR#TYv<#d+qSCal999u4=Ql|EpI zx(6h*oL{b(Z!U*=NFWIq6bvN6VVK1tWOlnYl<7RIf!R#It_W}%iiP)#fry66tg(Y5 z=bGCL+Kk^D#6-K4K|wa$8#2IMu68&CQ^=#Rv2N6aAh$P3@>rp1f~#pP-5Rl9r(jfG?ya!*>EvXR#ZW1LOUU|jMQ?0S(fD35{7~Lvl^;F!7X`sqt zQ?8~P_`M15enBH4dl$d2#f^tgCq z1#a#YJmHaK2-*f2L(&?VXYr|Q^z0|)pjaCHOUA(#-FOBJWu1Fta3>NrLqvg~3emy~ zrspX6x4`dry*@G@L0Jx&EXF_zMj=LUhhfvd!(qQOTaW!|JLQy4TaLj&cztNui?~Os z^{dO37cUro^0SBhRad5hGwl;W7oUV5N`N?aIiuL7u^1&#U#-zeYyriVNs5Ns4P}z#5aELpR zD1%RtZTy8ZAkMA`ki8hC#F3;SB+Yk4`BHXiu&e>?6X(R5sLC*~Po?Pi_sUeWRT72Z zJ+Q=LhpP-yK3^*)sAdBMQMo~cG99$$4v$2HvKqao%%3c}jKc9}6cAwYlC(CBxylGC zJ%#xvO=%62cm~x?NlHiy`Urh3YtXoSihKtyPfJY65bHx^2L7h)%KsW16=h*( ztdWVjhtyK*kU5a}#q$-><6uKeoa%hf%}K|#d6L>Dy{rW5m$;;eZ?#`mzBv@_x}wXV zF)Y)8dV04pyoNNr>Uv?iTFWfp!{tRIzJ;CchYZ0T zaB1xCF@9I6q>=MED(et(-Xz@D(1F8ZyZDa@zhyU|W3R6G@17;e{&|bCsJa_Bh;l{? z-rpn-zYQo#Fn43w@+^d+OPL6DGnw`$N>MXB6R7`osjrZNDH_$c1R+&{>?cif1RKo+ ztxxj7kTO9-6n@~=Pxln=#xhDil-a(SEwqULohqe>+Xtn56eCsnT{tsbvAXa5Z&w!F ziy3>oAHPtI-~S!L#Pc6?;{4Xu7C-Ni|BzT3m9%8Bl#stzyxRjn#7#>Y8XiQ}V-kvl zF5zU6ff^Q(Da3johTGIoRWY6BCxcKeD;?i_y!Y)hZwnc5M6ykl&Q3zEd0zKQ;3^rT zrlUA`*rrsuo{h2ik#L4ep>s;&^xQE6glNN>zEzEq*vu*}407`@pHpQT&Eg$5nURTN428o`}s zc;}!f)u+5rFOo>bn?|~bJcC)*Q|lKBa-mshP0U8n1XYqbbI}Dl{i@CQ;`?-(=W)I3Bf2PoBCwg zdF&Fc8QkxmQ_|f}A!}l){Pq37;buyTl_Ckv01tnQ@_E#eZKOi01)r0upj?%c&S{Tu z!50U4G9-N|OUlq3NXV{N#2mJ30w|T3WP{n2NpY1}1a%mqddabK zuJvKyH$|yA>fNCVM;%XaS0j6?M!B-h^7e|iBbTNn>Ef}~YZ7`vq>b7C z-~gem4jA0mj2}=)yCdETd?h%BbVDS+<-;0#2jUT$fDVt8{ip3(b`bkxA~%hFWFj{R z`>*w#KLHcyPHt`R5Z1390q7hw&QSuiC;=>|*@+xM9J2dggF^OuyMIDA_%~th!l`s8 zrLqV?&AAUj&}n=Vd*p~l8TxjaQSsPrR{pXcD&WV<6jOWl{|NhWIQ*|C7|hX$pWdV!hJwFeZA?Io-3?op8hq=9`G1AB`8m5w6* z>8;z$E@Y}97f?yWzw?L)X$>F98rrA97TFv-#F-)90#GR`L@h6eLt!xpd2j>*SqD_O zy9=^5{;ihEwG#Y!F!9nf>x9~a13rPKaJF9*i0Ijt$p~kY4GTFNN>e8fzKc8w{jG`j zXYH>G8gp|^Qf1Zd#uUgev>7(^FLe3f;?eq+<@2p`s5if@^Od;+h_^M)0g~9d+AGX5 zvD|2?9J8-785i$U8p~3x$)rbO4FZR)AX;{zAp^8Bvky#|7f`Gl>e(+?nSFQcqDQ*d(r<_wmKc@I+_3Rh>7`cJ!1Zo<3qvLLeb39=pV;NX1taR5+8EVcCJx# z0{>xoNZ8|gVPVBir2HIKOhCcX088X=m3bqw@O7<~OvF!=FKFvq;SenO}Zn?S~^T`ol)Q#9s6>|b+~LB=Jzv7*J2FR&YK~6jkp0?>DTrqDl5`6 z=OA8&&cB}D=N<{hUV;e{2qG?ye3$Lq^*^nP#^?+dpI`8sxv!ir(K5MrN6PHt)=@b- zu18s(-`c*}QTkm}Mj}<0-fCpZ$j$ZsG+*745v+>NU%qKR3CJT)Q7(xy6B8^M!#}kc zmJnwpcx(LDR0Lx<1Gfg!QAA2WzAo(SEett_Fm`D>S$M(=!6!rl=zkDWE!!5$K&CmT zTT0k)ea^T(mz(jxsGH3B&7nW96lpT0{TK&y7&BM`i6l64aDrzgsZ4X0AOIpkvBJ*P z$Iu`Djl-GI@DK1fyBgBWTVF;9aQ9y5%hj-pEdxFA~EAYAGZ zky{_2R95se=rc}rC#vaP@38R$`{BGD1G=hFghM0yK%2L2+B<^9#aO$?9E3gN7Q001_B zbc+AMpZwGB=Kt!X{y!zIQwSp5se;!q22hBVA%zVd$;MFJbFi}90mMgQ7`y`7l6puGSwa^zooCG7KvRTNgj8vK4*H8II-T<((e{`k0q>0uDZ zWSS6VEGNjqstr3#iPivf zoG-s^lZq7_WNzu~=a$&Y*Ok0b-xUcS9|jOV1*TjdeT5ST|Q zIzG?hJ;o~9pm9Wa82io{D^<+G7Irj%)L&lb{$9M+^_;^b(e+Chf&}H*K356 z;wNUb$7!jX^vu@nS1RANnY{y#JrhE%CkBcXL^QV&ZOl5=J0on!E=vIiCwU{o;DRm} z%e*4m&9^FY8(91s_(xmGW`B~!TKLc9u6w@)WcXTzerm2}h2>Ki`6DvI-D7FM-hjHJ zMwT8=onct$lo<6G8pjl0G6~;31R1u%h;NzdY;9OO$5IUq;IpE|$%-JK2!aN5`FA}I zG?s~{Q}-2AG*;fe<(*7qBlol?+LL8RyPdlCy=D0NmyYr+N`H(^d0%}7X#YX!BSikD z1h&v2Vzi@Uc2fTi&tb-Ca@jTmaX*14ri1$)H0@MV#`lGGYjTSZ@te*Jo;N)myJa1r zgGO%rEPDz!;Jf4$fbi&F2O!2@S%c`VZs2`vBqs^KLPK%{MMEP^>`Bp2j8%(RDFFp2 z1cjjIB=qCh^iv?a#Hs>CBjRME)&y_y8W!;dLPe**QlJFsBg2ssk$;~S&7?|`wHgfY z;HSPr9v*(sgUZ132Dv3n&KjM#&p?dwV(w5bWLxgJVjhSEV_VjmY4#oBIb*7bJ^@rU zEsj_(k4S)xtuR%INOd7VbclUb_OyRO{Y$aq&*cz1E#3DAeyF=J5i*aA;)^#8If4aq78o=VT}BWN5q2x7j$h17tetqb^1*Pg z7wjfCq8FW-12b|Mv0)C?$tqn-Z@dnZa2^qk%g)HZUC!eLE=(_% z`d|^f9PV9^Iz14g>gKi2bc+09A+@LyUwI zu9{~(W|3{@7?U)Q+Z_>Sd#bMwYiSV|o@!K9Iq>%p_+RzDzDP?6{&D*{{i*r?sP{j2 zKmPxqFBG(P)VKIQ5-Ej>TK~?nWm$C)SOEgz$FijU8BXH|HZ4URAjnO`^aIMH_HwAF zs$seq+JyN`xfM45M5pEWFCb-R4QLVeGLUh~WmxBCE_=qdWO@|_!SsS{|Ibv`eb@AR z$F(c()HN1wHQ>pR1$5*|IX|#AszkS+N*)`Ae*~bd7jqC_!Jw5Wp9FNVje4&+KN}UD ziT*-|b|kd$K%5d?*$xbdwRlKGL{TsUBENzeMEjfM_`@4wl2}>agljoG^=~JJdWov0huA0#FM0H|?HfIp z-%q~52{HEe7(>dkW^*%;B{A&ifpyBLDsq%deo!fOjqNmjrP}Toy{520=YZ*+2A)8& zL;g-`lTbnitCp|=T8R*(Jcf9{P`hT%Zk9-&p%kh=kyN#fzUW3T7=j93w`$L2BD-ED)aG#q6sa--{l2 z$8J$Y?wk;RofX|RV)&rMOIEk2sMKbe=lGuMH>WOBV&x^mFhZv=wL_b88!P$E$*bVD zu2@^j1J3-8X5>y4XTg4lmY7%@*W0E?-c)IdzY}4>1k{H;?mU1nH_Adj*Tt}AQg1BCAFW%Jxbd#1INGeSv!C%C~&~a zHGE;|Vy}O>578%z($4$_f+*A_BLQbifgVj?5wsN;WRkdo8+MI zLfR|t;!2fova?`?I-h0T7R(WGOcNs2@Lj^txrQ|0y@b~O>sD1-y9Z#^m;Kn)7G_a!K`+e?DVRQ*<*&P}E(5P1CTyL}s}-9d+GvC5fskeoF+o+#qk(2W zX-ic33u^YBh?n*5zmSyj7og{VBPm@!NJ^%0U-lrr;K&#Dw>r8^8Zr9>|EQsKPU2Vp zOWGlX&GL$s7{4*>7D z@+itPg*h5}&tj0;FHjWAV6v?6DmGLAEZ>yya>l0hn{aPDfW#guuMlIAbA~?L#K;&y zt{d0$Xt!~2Tyk@dK;Hk}@1E+3uKz`(ME|!$3h#fi-|0CR{U17+LNzGegvG?KDPG1` z(s&3l5+c2r;Xi_X69E8sF~8tNU4F&gh#pv;$4K`5cpXkix~Ofh$)lY1w+*&cHKIB- zw@GNhkWuP4*0hOBG*?!>*ELa8MXxo&4U%yme|>+X5+Tj7q`6;vU$q`*xlcJyv$Jx2 zk0K2NNalOeSPWy$WsC~3ZY3Oj7r2fOPOfuo#eQk!ekc#S)3n?KA$7-peHXgw7<*Ok z!*P6_@FRQ`>;t2P-R43CvQe7z#uY7xMi+h$1SYZ#6Y}FCm`T^MkJ1PPhuhtB#XDS$ zmMT<19Uj>I`COSAQOSY6nX1I3h3;7GqRTqpx$Ri1*0bVk3=A?$Rs{*DA?}po*ZGHOq^q zP{oz9i_>v{W+Oi-5GR##l24RYc3NR2lh-$2hS z(^?T^zM~frwl7RQE*Li&^}wgKnd6@=OOldtlvY0|7-Z1gD=3^><}^!vV3t0IWkHpjfe#H#Z{uVQMxxH094e}FkRn5fwT?HHu?($gV}`jE z6j3UnTxcWKT*SP-h!~DjO7G82DTy%@w{U0c6_HS043yWCD`k<=?-ZwCkZ#w%U$QYT z6IQfs4qO-5oLxwhZQ$J4CLuvXir-y80gg7RUco!R=jba%9VaV9iLXm1rcE7HR*sF7 z7&xqJ0i6f#e}|~|h)KUNATLFqz}MHDFyL_OnUxZOir-2+iV=9&%`4ECSN?TK%-AYU zSw|PD8g^sN{qAA!?C#FScLTepv4RuYMBaSBTFhUm!Wz_;P|c1`Pa!GOGyr4VN4)Bh zjM8ygWG^1Ms_0@Op4)4KY0uV#<<-9M++67JL#)Gm)O zlrBwOQD3M#UPXh-K&jBVW=fV?!QS14T4Q&}L9CEFMRU$W+>8+-t7vQsCE-~?j~F>d zoMYqxF*sSa!H z;t+GSh}rl1DE1K!H4d4Hw1mWD2c|@S1jKg-W@gpSLf^4D4cZlFWH|?iJyC z(A6dQjKLmBlk37g$FcfkXs5Bd3Z9zc1$N6!G2yj_>4E_UgX#NsUQfolOR0|AK@6nF zS<@CmWUZK!lPl<9dDN>FU8HYFs6r*#HSqwk;Tl)9K9QvnrUl146DVqdtBa! zCvA7F9v|S`sz7JEfic}{M$B#hCsBe?V?{B$AXsB9_7%-9SO2Hqe>l4#RX&A|N39C+ zn`#^f_8Jmv-b4;JOgji8TmGQ- zK-c0F$7RTtV@Jy@SMbm6g@iHt-@O~g?hHk?h^28`X+~phw4g4x+QM}03|+SP3+(np zZnl7J+ZhD+=gTVS$Q=0BP#Q+~CzVy=yd z&ylc7?+(v>ghZQUuoot{p>#X#^R>-MW#>A?d4)dNOHNSe4woK0~EN3Px ziF)!xAu-KLRj%YKV6DFcmCsF;ryT4n>HU?-F4Vz|tN-zf2eY)@SNoWeLSO;0Jd|lm z%d^TDk|}Ua-ET|hAU`T%bA&jzw^|dn81RrN(yRXPa&I9QBR6X+T&0F4s^^e;ORp`cPP1QC(efDkNJ?1HV7@#Lphd znkdeuT8e?O#-r-+sVI~v=j1GpAH^raaO#M%BC>c}P=B4{Cv7hFo+8|$QY3j<+uJRW z(Tu&gItwF}=cx~p7LfSp<;hCf%^%I^8em3|ibs=vs)SX!Q*RlIAG zBc~TA9dTOftf$08Ee{^pi)R}$ghI7y3$;o*LS=p0r3{Gm)SMI-{7u^(T}K2J^qD8< zheBu0$qt&0Z<6PlvKM+3cw4xw#=l4mSw5q}B50UY?nSu`^Ol$1Mf7Y0XSpkD2+3#! z;nq#Xdd8yvxPkRrDQBYUP?c^~Jc;Pd=Hu$u1y~)^I)U?0Xnxna48E@o+rpRK%d7(K zY=?mMP-x#ub$c07(DYLAyej`WCFin5l#|FPxN z08y(m#W*H3wd}z*|K~>zbZq-T3o4S8goH&^rbV$Mm?QVb03YU%kJ$1c1Y#AA1AQWe zuJW!^ZV!w-0MeezRn*D|aTXt>b0IIcwuT{AK=XQ5i?i=rZxfh3fUo|583JzR`I#|X z;y6jnk{f@i?;fvbR55gS|9R?(SGxMKzagD>p~8)zyKmfvj}l^&)SkgYg}f&mZOj#% z0E+Sy5&c5WDF?fQtO6bj?qWU_)VAlNk>l)FKHe4Qb%9z@B50r1+6sHa-$wTR`A)K> ztp8~C+V;~r0Z+7*^}l>Pl;w=V-&E7Ncrzfi{-&gdRZo1Bi&s7>I*Y`4+Gf&~>G!|# z&y<9%-Ak!>m34;{yk73lL|y`5&lGGN#*ze9oVET@=2jUmJDy8@-^C*@ZtYC%ra8pen*X={QCB72s!ByztIzryU_THgu@I}n)C{hq3V{Vaz zV0dG&Qb@Ol;1yjGitc5RU7|^9bO%?nV~TA=b55%(tMKQBe8-nij3U^|c$C%Df#z8- zsDV>FfYq*d1{WGws=HOWZKMig1EsKYRu<}tYM&UCkQBNTL#YGte$1DcGy_~MrVHG zY4O8#hPzt^1&`g*L>cyRujh{+2v`fLD#J{@)r34SzB~_eOo}=|`qj2z&0g zM-DtsRp0R64VIe|m9mgq_i_M}(Zy0)AM7HflW#M4?%hxJwOrFnP+o`26XikKahDzH z$U@M5*K_G~YMLG)@rI*u!_E)MbgGSzx_1+<$ESQk&IoL-p-^DZj<+g)mH``(n zP64OZwB1wl<151af!X>36Ly0syyMvPiDj|Rm=f76>)*VZbe)5Ht&igs4*L<6zxwVG z>^05s)zf?%{ldf3lm7xAy-($SPMCBPdN=RTWX|2R!{?!*cN}q;$;g%i6h71ecKf`s zyrcI4EU;9>bre{SCdBboTXJBac=nPN6})20yryUj3`O{X)chSG(BYF=LcLSzki|Z% zjJ=KQfqD2&&+dYKxadTS^|rU0GBes8s}?063{T=lk=Gn#%>LmkKddLofvlMIdx{cr zl@w6#Hr*lU55|1>oP*4^Vr^{!8#lA&>?$!gI64;CHD6VBrlRYJ&j@Il6Z#FhUSIx< z4hH-$$tox8ffKKt5jlmejQ)}`CzmkQiG)uZkd7!^N$vv`Pj!s$IQq*NhNu@7U%80O zTbr3*E#v@jAoNibazaWeLdp8LQX)8$J&{&4O(ML}>3Q_{3nh$55FmS?@9elkFoaNq?-CievI`Kh&^| z(jpZUAiu}n*KP|?zyrV0@3AyxQcExcH?$|_Y&$Fr)o8^rlsi*$_RXvTgF&EF&Dk); zEIfj|vyHgQ$#U88zJ14lv-)r~+kOWEh63?)eeXs3n6wFH(kx(rIu;3Kk}s%%Hg4o4 zK|M0~s~40Y5c;r5+wJILX9#W~OeFQt&*z|mKZ2J9Dq7iqkJ|oX=BGf8yX6+aTPZ%! ztlnJmcZDobfJ>$Co4(cefTKw!qtC|bJv+p}_ji=*HS+z1rekcQHUdpB22Rz8x!!8k z>0>jifC|3;O5ooXE3qyo-cFxX#TQdG4BZ9@b&5(=tWg`ay@lTfW9h(&=m6$4ukF>a z9opFd=RB)|?xNG*?|_z-W4*(+85!U3yLyJ(CAuq6yDhoHAsfYFZRRh3I8GucT(mU$ z&h9KAXnxRhO96)&-;m{0rfdvCPJ~Z+LqS0S+CDlCZuC1@(d~YDb(aDMJNp>wXM+`@< zQLH=T1oGKE3?|lJ1g7CT2GB+7!a+_n9rOz9?W2&3tQ{6 zbp|3luxK1=m5b}eE@2F%DP=_z043(xHiWqeJJ|Iuh3jRUU`uDQ2mVeUBX-fQpuZzi zU$X!763W-SMH+#^bj@R5DNYvQ`v!iR3nnY5uaK#p8#EEEalkN33f{Ay{iA@%)_Xyy z3jD0+hR3t2!?Ai<99iw)7 zYQj^gV#1O47}Faf+f*%D28Y*Fs@UiB;*+}X)-&u=9&g$p32zjzsGUz6 zH+yOQ?ZD2&Da^LzFDCUTgSgg#@^K5%!ias-)7~Sm4GfTr9qfD)Ae{so4C4j_capo!R(!F*R*AOD7d!ehW^o{deg1UO7Wn`P}yrKWT7vjV}>5FmN$7bjDQA zpHME@zYZU8DnILLxT}(F91_FpL&w+~q?;iRFtJ7!p<%f}P5_UPwgSdwO>wxu25#-O zz5nHCPoe9OIepbN^Xc(j*!^Itb#P@^)W+M$)Wnv zhYD`{q{lKzfwpV%jv!kA>R-)G7=`MT!seD_%Y8TImnmhAI}DakXAR&<<|+n_sDo~m zNR{dtmdk+!O)%|^MC&wzP3J=@jh8P)O-S2|P8y>n3Hwp1GB)l#eb0biFPF+8Trshb zLA|r#hZgH~bF(H&Zk|%Uw~xI4er*#g)8GU|0suH7`=8Z?f2v9UiMpWRVE2>R_Zdbu0r7A|^j(Nbb8Jamhg2E%F#6R)WZIg{sELpjqY8_p(VTx74Gmc?YEJSEVl=N96pN?@g$^|Ksym?~}x&CAinOsqoL5?U9a z32|kP8`~!#WupWs*-Sz4v;rCc$i|0}+jf2ep7OKQ7cGqO%#*`gnX6^%l*JP~F#PwzUEV|1t~;5O2t z-qg|*Ds~c*Cp8Sbl5c=XOTl(iUHTa9EUFfkWhQ>O)`_>C*&&*KUz8HxKznMMB!|0f z3q?ScZb`PK>5A0{)ki(YXVq?yTTArfIIsH}QNazTB(G-aO4afH?9F71-*=ioZrTWF3( z+21nA&}e$Bot*4Ho1a{*jifULux5y1yFfx2(g`VqO1SpK_T|7cC2Er|H^qhWjCTyZ{uQBHbSIl_>OD9Du}X|k6RvoLr|E;a!w_|#^5z1 zzZT`PtXkTW)2491cj?t*wydKf%u`^Rz~*`KEVdH6DeR*MnCG3Q=r>v*Ou)N2}@_mJBRArUDW)Pev=j-w_n`U()5%)8WCrf zin}-qyIMy_+*}dQv!QTgFTv6txD^7dCVz38w4~G_{J3zRra7pYy|6 z&a}s-DB5QCQF)k2KY@K=USn_`j@z$n%w_xWVWLf` zD1-#Ib!JuxBKiyaB3u{#NX69Y1fzb?+ujv2J_)!-4{##|?KbdtEwy@T7_;00ivajwmzggjYQ$IPR2+}+-7%*!I zwcLV+g3Y)WWjBJ`9pD$)p;bT7UjN$QQ`Y%y56(=_Zx>Hsn~+N;V_8|f#h!nQ=g^~! z!}bU4KhpX6zoc`>|B}uvLw2%QHOmhEc1><_z+opwhqYO7;`f_P!l|QP+qP3vtzSEN z(l%iFxyL$e#87DK{F48b>-d8)DR+9*g)=SK&OS zzh)a;mk0fb=ZbpaP0YJJvR~W$=+a+nY#kZ3(wiQ#;gl(G-ImB;Gp9$3`My>-po3~- zQ89QRL=tZR7lDdE(W{j21;L=>Q*KjQh- z|016M^LYDDU6XN4B`iG* z4>ZpuhC==B31*n0UR1QzyU=$tew%EaZ?(Rrtp94cex^uT`*{F{!@2#xKE5goaLSE)_%Exuy zKe&Mi)0;w_eMLX#*+6J4S!U2&KhzUd&D~$Yjo$MKxfI(YQiz#n)>u%uc(K(Dg(CgD zpO|q+q{WYh!C*0qxc-EW^rrT2dRgwe?KI?2>ZDCpUVQJiM0%G!ojc6;p~1!+G#i7B zB?LJ*A7flWD#eCG4u1gsyP!Y{lQ4vAEQ)WNB84M8Dp#kjwdyK-RV?H`lRuEhF(eOF zdL&DNgmSN%V?Ae)Z08yyFZTmW+=-o1F$Tw_DIyxj{*?$-|N1vX4?ZF4^S{Fq|E%|a zvcv@}^z7~bS#ZU5r*%Q(O(b^Zd@_$YtxyZlxj=?r$Hx6IU`v} zsB`GlwB;uBqO&G*=C*a}aaNace3`1N)D5-cF6!l4M#82GpI!0IdrqUS{z>X`3%B+4 zEUW|#ROj|SC!o8Q_9R*=Ub1Cu++U5Kj)A*2xn9}VcXj=n(y!9zT}EMH3%Sje*DlKl z=NqR%tHH9+!5m2~2)z-%oxzzkR8RT?Tftdo8#rmuw6ft}^#;Ui#dAtk3wD_Ut=n;e z6!H@uTM4iOqppQ9Nz?t(;jHd6Z|oF3M5_Xr5nWp83a$sm;_7jkh}*7in+_Q#;N}Fe zP}E}SW+y`2M~W#$TUx?ib1CT~#2fiL`8^Bw2vL43oYR@I{!Uwpswr)w;L$6oL?7>0 zFBdS0I1$E9_!wAwXzMboT$LZQXycn2LC2X-iS6e~H1km(rd|-si&`%^H{FQ}lX3J2 zns#K;i?PGe(bXCT?J{Izf#19tNLzMXA8kcX`qCl&F?bA$lG-q8c`HL+*6_V)B}YUJ zI_>=uZ_RVh7h$Y>b8w&j7)rYSgill{G@093H=INfX1M{3W%68l>l)A8VZXLxEDVxY z?VwKYIDb!~d|E!GidE@yh~pzgSrUjv^fY`CBiZEIjX`Ncmqrb0jCQ-ihzHv{oMwGQ z5!=>R%=3B6t)^$uzC7)!d1}<#gPfWzc7eQOg(cC*9Kx=onVBePenG!5VHl#5$QNdm z{R0Y>LMRdahb@9@GESF=qy$l3zkYDeAOeO#vmiwRUx0^y5PHrHMkIvLfB6>lQmkrF zH6l*o2{F&&q-}{*AXF?WD1|k2kGcbAd^JanWGwm1=MFr+a69)Q<`v>^Y4B|)-5bVv zC6C#wpgQg_zuEApGChmH?-Hbh1Dp>_BhqVZyAbTw3^Cka?SpnmAd-%@_I<=V`Nc4|4XV@6Y<_muqLLD_yibzD9^8u z3E5PPYW%fpLQ`zdSF?i5r9@Y$moO+{cLl8PF>pMFlG94ynA+;%C+j6mYWV3PZO3UR zJ*hbP%McYEQD~m!QwsF5uV57?NOiOnDk!(kEc}?So@9ffS}nkEEULE>=PJ!^6VTu* z>y*CYv%Rm>w@P1QW55|iBiHaGU6K+9w*PNc$244vm2G=&GS!u9AkB`D zr4G86UeoWm$xdszXhKhqpclYqznKO0j*D$+v4VY;^>W1uWvKK4QKgBX$h2R@v7ke`bN z*RQjPtcVTVw}pJRkOeI#l6iIw`m2{uIZp&D;~3L4*le!QyrL4ylldR4(5- z_XtB0$AE?kuK>U>1_~GvbS~&p6Df;esfI&RPAR&HAhp+jUw^-s$J*n6?mw^ZnD427p+eXn0>2OGhv2V6%=!CgnFld?f5L*;oV4KD! zJE`!2gx%{(P0#0J=ePvfj#QGL^w@Kjl4@v3uX`cE<>yJf4Vf(I<#OGrV8+ zY8WtCtau-g#)i;KBwe;!YL_t-ug8VL_X`P>r?Si2YKIXtOZnaenk!#4oB4+Q@e>Nz zyEG|7DSo=_sJidPocR9!?+q)02cQnqP4nLyXV5R62yfX7HkpkDi`zP;G`A0bpKvE?$-!B<4?@vR7+hUZuD1Xy0sd{|_#|@4<0UuUrR? z;xrx1mqg!tgavSD1OahH)||8)e0%|M7>M9OaEVmBwJyi?BdtvC_jRk2t)*H|@8zjW zBBw25oQAaE$_3r~DNT}8Obe8WzY@iD?39V?mN3z)L4v<_u~?h6x?SIu`E=R1$wC~9 z82u-gN)}lSS)U6&#~OB>)-7( z72D`j#gABQ)8CZZL3*1Uc-2gtNfex(S468bPix(RANL%xnLF0Uh!$6fLG1-bD{>lB ztU8+#F~^C6>kA5C*HSYwM_H_|CXX1Db*iXk@<5dy86V}#QbsRmwtY)}Mh`p?D56wI)RAxZ@A2+-dZ2 z^$h+_Qy7Xe%&2Bny=BGW>nro~ZJ`XulPMvTcNLlJ<=20bnah@g3p41JZx}ElBgloL zax6^j=!_1B7&dY&4P?eA7_HOvC{4BrKnXLioGUlto$x4B)h5ISbFf$4N~Uoqi6H>X zu19Sz^xO6)QzIN-_V~G@h2G}+`!D3nOauZek65CmtJ3n2#$qH1{O<567kMqL{~yZU z!MpNr+xD%hRBYR}om6bwwr!_k+qP{dE4FRhM&+gUIq%+f_d9Rj_G@kZ2V>1|pQFz) z`e(v$7M<^?u&0=eCCnTRZDdwF_g6Umuw1s6Xw7S%-cCPn5`{ZSex45E`upd-o?T_5 zfeAayvAA*lY9*zydhYQ}m8%j(E8gg8>mxaMiT-pxn`??jcbTZC(o_M*3>ipDt zhNMsSAbgK#UL*bA-dm&Wt#$t#UxyZHQ z3rH^ni&-LMStt z6!I8UzVV4wO!j{~!*Q2$;^q(Wr zsD7CKEU?~NVLkd|o!B($M#qIi*;bdzpxcfrwe}71(s;yj9Ak1>`Ew@)nbD3^*j1#| z$SwY!k{HaNfW4=m^IBTL+!l`tQc8`ev4|>(_@_#3huIh8I@Lav3UbUsQjLc4XL7eX zEW|GG!M&fo0Q%dbD*Pgfb(8!`W7#o8PSA(t{zCZNmk$!-xvd6p&tCiU; zRNBbkYlULPlCm|rD9mlz0*i58bn8RnUV25II_TWUpOoUf3$37XFm|tpmQAJWFlfVB z!debxA`Fi6g!!4$&c02CLa`~}XpAIx1!b}IelH091#9DLfQUhF2()TM_8$^uJMmMR z#5eAZP}4tsG)cgaV7w+V*o|*-Kw>y9zUE8h0~oGhna(svs5z-8+*kwjhyaM#L+ZfM z3v*-~@Jsvhu%0hEgQ<8tQ+=O!Bs6TgJ-f;X^5_k5^ZMwqf~uu_j}?PaW5tLEV08l(2K15tO#a~vdPBxz9pSM zk5!_^YZsffy_MvN4zJ+WjlTw@4L-)xtqzTj4tEyK-m6s|P@V-o%yq1XGt5d2ki68c z;o;Bg>+Vh2Qk@{>wv1wGK^1>kI-87|_DFLwr(n7R+jSfP?ZeL_r(Te$NByiHA#C!V zwyljN60FFe5bJCcG1-Mlo&=srRYd;vn7e-OUnEPfP)x&_-U!mF&=Il|jvCrd8+1o~ z-ir5ic^zUY-p<@D^Y7SAKTkIvH%0`m=-tI2VHK z6h~%0iJfsAE#K@TVi(c~fPIjpX(wd|LU?hw_ACU@7?0K&oF>gQnkadR#IDk~eyJ5r z5?VWaAOCsp#Q7DltiKo5)-L8%kA@<|f|oMq>zIG=7W=*)e1B7Req}+udGGnNm?)R+ z4`MrZzn(pJzX_HwyfrV&c3I(C!*4;Fnws`O z^YU>`tX$!u9r$(#xuN~_U}J23p<)TntQq_*#Aw+8b{Ix|XXf3fJb}ZT@nq3y@hL*i zgzEHBg>Ji+2z!z7CHt%#!4pJzWt=MXGWyyL;`H-Bi|sRnoxpc9vbPdt+e%)55!Hj! zbQ_EjAfxm0NJ`jHr1G5eNR~^?R9+o5E|;uoeUjfnn0o`%v6i-osqwdVng0w(6ql4R zRfCf+97)C&nl>UP@Y|L7to-~@K}k}8OwSdC`tU?-HnWxEECCU|yxBX0n~UY5_x*AZ zp#$2k1DmyWaeO!P8R+qE?>BBU_#)g!BeKV<7kjnalU+&YXS zc;E8|o%a=2B)tL6_ITjUVPYclnfO$0ro)k20D1<(;MJTe#Es2PlP3yW$sowXvuub- z0d;x`3PSdskn(VNMa-|pY04ZjJ}NXtSYUfMq%CF7{Fa#~BY9KU21Z|ghF)k1(wnsW z5C+?%t?0U-9`cHm?S4j8HzWznNnInAT_#n|jp&v0c}VHsPGS0~)12f|DvXAHHn#Ut z<{#9GyTIc^&9y0A+F@6E#9cD=f4*7V5LETT)&ld)6w7y+;T>%}8+dg&UwK|!zQDAd z^z67}wk9-Fz)@5tIfMk>JSMYaDpunRrQAYBDTbBY4U9HMPT_eYQNH5?@~8AgNj%~E z3bv0-9oY`uW+nrikc=pBX;Na6atIqLZ=iM+%*b^JM`Et`u9B}d1!VDi+DMh$5G_irwDopBxU)hdttFovBUP;{AbPGk?7|dT zh{6>G(5Z;mN<*y^kysx>zCFl;hew~{hY}Dw*a;r)plx---pF|*RZkol;&)MoUn`Uz zNa)gkCfzc(N^-g(Zrors?P+!BD#9(f@o63b+ht<*mpxg7c=+bmOOpGXg4CYav-5eX z>QEP+p`;#7!w+U>3PkNZF+ADfed1K@hOc)rCfTWI2g;YfyFeNLPS4~ijPOuO-dm^) ztzTZ>R`uDTuZU)i!O@+(z!)mCHoE9gVtwA2-Bne2*)hw;bbj8LK5chIX&3CyW<{yW zC{MKPyqcfi$g%m}jgtPZ-cmt&vr3bV5II*H<0^zil2xRHs5&K?AoIRd>+4$~R9GR< zSRuk+)#ttv0$ul=de;A=4jgp9(KT4}H{$y*@(VTq(;IOs3au!pH__6FWve!dc(QP> zx_d4#r6UC_T_*RrTgM_mpfWrd)i&|bD|G6q@z>TCSpF^7snV$vW5r}8<)lGt_My=Q z22W#5HEL(XH2XQRujcwXpnmHtQD6_Nv|#=ufgczkErzf(od?}T)Z3w6HCAM&IJmdJ zKE6U-76Bn2Mv?zxwQEfGTJbG4V9S?XKUeP6Ht>F~3uu`{phY{btAFc+cu=~zfTM!e zkJq4eWPD16U2GCRO5x(|cKe8-xTt(QKTAvpzaplc^8Uj$MTFDe-Ywo{PW_%2Wtu#LRJ`{IEdE^SWNgrEBe(Q3X1wxV?V%YJ2-{#qY#4-{necXCS}KdUf?ot0JgU2ZDGDOGcnP*c-hMWhHwxd2-NKV5843xb+@dD!N`J6pG02HK^AVb|Td- zlPgXlArVv208`nHP}3u#wy0bR_=`nsM)*#@%>0sh1y<=@l1t6Zkjv?LwYL1yP=Cy) z8M7ErSpr~ls8I!N6rJEP)h=${b?WVB!nS4g0OceH*yEu=yD70Dt)2w9 zG}zPN0X|ga$x(qeF!oCzIckC%K?RTQH)P?M-V~_ zgwHL-VzSvLtvmu(<2<x7F@}a7!Mm)Kgm#=j^M<{5Gu?%p&n3D;|arN-@e`dAHgdB-uM0!*GJmPO5e!-e|bOu<@!{rL3%14Bz|V6kF1aE z^Y?x8yS8^dGLz+{;|d_+&B5nF*aXfbiZ`@nKr|-dGA|D)A#-wSzg)$$Xt!25Keg@^ z0g z(^X}&+iAz;)>{T;%Vp2!It#Kp`3X1R2ngH9F(1wcq17j8D465d>`kq#=kB1Y=jkBZ zed`VSpS-;YOhj;Ng4zAp0fJ%tXiHS~gUYjgdw>x83Z2i=$$nCxCMtRbD75{IE-M8Y z?OVjl+C`q{4%)6Txtk+~xt+GlVBRvc8qT3GG4xU?-kK(t0nODRtQyYFAU{T_Lat|o zJ&oJvcq(gU;f(eCEL!GZo1Dy^W7}|KVnT7e%I4kyJs%F@hN@J&CQ~Z5kb)+Y(xyU_(>re^@=%! zOmpz4$Z+LqJgCaG)3wWTuvdO7WC;O!pL8CE;F!idZ+O0|`vLtwq9NO2x#l54KXO?} zF!muq0G#IU6Mir{bmBRY0UcE(-8Adxkgur0gxFnZz37VBO%YY9c&d7FHBd+Eykv0c zQ>RE)RN70khgEc+7jpsI!ois~2Y%nDjD?ye%#x|l1C(#|i6 z_A=mo5;lfUX5sFbbvoCVO8txH=wdU6X6n3SOE%s#%X0Y~6fsx6y! z1&m=`;20y)_r)p=!z^2?{0~M++^6e|$4RRb!X6)oxVEvP$A5bIU(HPYb3p zCGb4h)oOZr#mR0fA1fIO4Fo(1Hf#o9%q?dZ%A6G>c)#!$?1`hLM#FzCJ zY-_4dJ}jPu3$l}_XvK6-7KsSg*K+{m)?^3jQ=VY@!d z6C5V2VAM?@e$($|wDT#w?)vtPd6V`G5cKwJZ7TsaZ!7;kH4FS=;q*-`n{0oxX1!Kg z7aqRqPWHpyWq0o6qYOOOxu*WDJY$}T0c9@8s@JcE;77MG)*S#tt!+bf&P?8+CFhoQ zeVS=LjiC=|TIPqyW;)HG-W$S4#trL3Kph??H0ZvnyN#A*h$m^ThztYz62N3i*ap2G zfC+s*5E;-rQlB@7dPhovB!jKe#g~2@4q{bAea_q#r#GHcK0KtGYFKedNHV`04yJ|( z)X6uI=LPu!ZC=O%M7v|e--;%O`&bmzFwW4!;n8{M26s?^0GTB{S7fd-{xz^^g)hl@ z^rB-0SsRV{NZRO7<+^}x#KF-sF|BBWH@XSw@!Q^06ssc+>*?Cej8>@ikH7ZsrrCvE zf4u6#pKaV&q3H8`_-c^Ft?TC1P^X3>*QZTPlLNgq(d>js%w)n^{59OvXXbrco|D7x zFp~z%Q#cmYB@hj2CDT3}wfObtOs1$_BRLkwV+^kldKt|ts1Sh$o6b5V#K$srjRlAv z`|2Zl!9PcG&O$VVu2$I933p(w6oq?B!&1NNB0ljj8zUW|H>Af$XnArMi={T}m@q|4 zG>ls~algkZ95N>#fsf%tg&o%j9|SJMjKUC3{s>zaa&`Hse~}a;rTHs;Wz|8T@<>5Vj-W$4HhVinDN#AYDPgWCUhHkb1``uNW3P9V?Ezn0fjYwRRerD z0lYL@IjB6FZY%Q^1>~CNZ|ecRT1AF=%bKH`KlL;WTob>v`U7IKpc&i68X_o%w_$K=exZqsNV(RwxVk?6CJLTf0pPvp>>GWK5(_W` zaQhv^#6k0gSqnZ+Qh;3cHEAW0AitSLml+K>rP68UVMCI>JVz-hW~k|tkdHL-`5klU5E+`38U)MG zBnsoD2^#mIbvb7PA`QaIrW&~z1^Tk9)s&(R-Ze4820e3)ANAFWAWv5?_i|68#(B+G z+6a)=g<5vk%L-Ua&@qSjDiZj&3v*FErRymw^`xmRGi9P~mVaY@W1|vPJ&@y41JsTbi-5Qpjxru9Lv=d(5F;FD0o~`2ii@gCII9tTBE^-JY43O<0>WLCbfxS0@nHP{OkW{7)PJnR<{_D*nYnKKrK^EwxD|)`qIGJ64soqC?dFe6qZaN$Q-Y%U?oED$=%Ztsk%c04q>F?!yj_M43Cz1JN@+~MDa$0H+geo>+oWs;U z>j-8O2oJh4Omzmb=fe*=Mc<5FWlrAWYium# zRv+;|@x2e7A^5DZ-9GK1h1%$c_H@4+JzMrYInLg|`e1gcSGG9`Q_P)902sE&R1O>r zcJz(x(B8YC@^1K2gSW*a>gU-+8eJ*D7%ItorB?U?_Emm#*~gxJr;139$EJtj^vfl07y9*QN~;W3C#{@yw+*zBoN=R znQ?4C{ay;)WXIjM8=48UA=R1C35a$E_Rv8Qf8qynnnNzcL_2RFg-|Z#uBt9YLrpio z5^9<31TaN|ERs6b5Q0Lkop^4pk$hC1QXU+4qj_%DQ4$QGuAPQgB1w&s;cQpcdbFaM zwLCen(5`|GRkR?FD!?*XD?Nq8Rk)MStN{N4PuKePJw3Z_Z#KPSO#C&9=F5i@i zRke~OMR)cvk)G40l_b!*G6Hciv1D8sq)MWe(r-Tz2GMR2a@SRX-UkQ~%rVuqTkiL> zB(LcpJ*N9+57n=DiWrGGx&UKcq=|rJ8UgwVe(Z@skTOBUiQY)2WIdB#04Zdg9CNH( z3@+(#+c=ax?6LvSh6D&xbg2T4G-*mRn#w#1bt#=35C}O!Edh%ckgh108F%*pmRW^{ zz^r1*6C&ohwR!$-(r%Ur^~Rg|DlLA#$~cY&qXsF9oRGu(lBP)gRq4~&#~J4f=ha-V z-_B;R(~YZyj+u)R?Tv^HB5&{;1s_S)i?60SN#WKbX_9ZqKdXYmr)s&`qCR!Yqlttq z#q^`T6MYZo;?VCSi2jMk%*@dbms0qk$I(@-I|Cvhgxh@LQQ>f@j|6oBKo~lgiCOyO zzEw~>iliE*Bpb%gTnko$azSa~F6_B5D_3yM@>BXFb20=@#fVhUUpoSVD6rs&rPENp zA}fSEWZa$sr6gr%S$j4t+Xy$5=!}e32DaNWD(xd+L|0s$SK2O zd1Y26E!qal?g)nC{w@E6PcjccR!rCufir+S|6AQ1tGomi^8_vJMC|7Yx#P@SOOm&5 z`ia_lFU$u^r?1JePzOKlj+eVo;Ski^$YblX9l>{3L*j4IFm}uJ*W*1uW$*3Me_0dr z{<7y17}vpVA`*CqQpl>oJZx4g8V1vtETNRLJ8hGf33tCq=mxEP-!S%ec*EbCHRAc5 zTbT9O@7M%Yu%I;O*WWOi(^AFc;{e-KwTA~S_2`wjKIE?*94`H}rr}3_4=Gv1Dkoe_ z7r)u3`AS@Nq7ngYlkev}G5G<_`Gjp*=%T=}S#!XJx_X`c{2h~&X81d*WM-5};BoM} zDnVims#1msyg?qj31beW5#WLxb97zq9FEl# zberNJ=aNcla8UA$8rrpEuZCiE8o`~1&uj5m$B>zuvi4Xpcr+sD5fC0`mX~E0n-+i`7T|Ye!R-ThDB5p!`2$Z3i=H^Q|r>vo^zjhu7yJ7ToFqzVALh+Iy#V?+zhE^8VSZn0`n`ncH^{Z+bT2~z6n^c!w3M4P#_p1 z>Q`RX&`39Q#opV6d)5mr@#)d$zXGNt5+85|;J$tPL-e0k0{+RIfPkK*k+q@TzdI(G zv0rnOyhwplss&*oVd|gS-)@TKP|fLxiUyVPA;I5rBj^lQ)11wBHBLtR17WuX(6182 zBPtrgIbEc?J?yRDZeAW?w$V6|$NT7w0E0!5)R=2f2axDu8^$#l?OH)`s87IvI9fux z_(1MhM^~9x`KLYKavGU}R#bg4SfkPD+daeWTTmRRK+JwUG?CIZM6S^WMRM|)e9;C` z`K3K^L9Z;=E%|W0&YkFILKoy{kV`8Yq8}R!a%En2Q;db}nnrHEQ?7}wz&r85^7#J*+W_;5ePEOcJo$9O6*Zh#PF&LSH@Gt-A#ka$N(%xu|E!Ij0Z;4 zp^iTPAo!$o?y5T)l9AN2@rV8?ccY?YY1hsY;AoCOWlGgW^zd4WHTtUrPG3z*q7^LP(IGQ;UMc%bvkp?SDY*y z!=&lhT;jVekSM##bv%> zMBht2S!I$(Kzy?`ejNXNpY%B_;PLi)fzZW1GmF@3f^d;sXSSn_B(kTdD2ZW}qmwhF zW6|77L=F{LQ)uF}_I4IY~ zR+GWkHvO&v5DO4L7SQOOt%cvp3UBN=ZHIrcvUW2Ynp==Q-2KtBXfT#>K$Jl z0}Ed}m&Fb{VB(!dGMlGdRi=IijmK1hc22{uRhf4%-FB)VPw-K>o*3+)03D; zL8uYa2?BhY9ec|opiC08i8}QiPAUM~fa(R|Y>*sVpd6*QK$+q@RJ~&bUsynS8RNQ^FpF2{q|gS*am?4p(CieJSZ4Wxw$jMW z*MAZHB&kcCT)+P0FaJk=|Hl<4#WfqGFMjEyHpiNgsl*yE3SXH% zxx^ShvTT#0dGo+-9kP14FRF2IFhfnInu#&w!ZQ&9Ej|9t$n)Xvu2lbNe}vKBp`kV( zsGj#Scp&eS=XH;D2#9l+sar2vU0WaTf3A-_zPZyQi*UYT%me{WkC(2+p+t5=ba^*) zA`RfwgrLoiBMi_)n7{a?gyKi48F5QX_`!Rp!xm@@*FiyuKW6swS8_9WkH>3x1+tAa zyt{c@ES3Uz4X0BReoU~BCB57_^0n;==ZZ>OOwvd02JEPxY8wf^-zAaSvK_T3nB^O$ z92u=T78PUv<(KLudzBx5@k>Sj@=I}OID&Y#+Xm0K|BGMRt~-u)lBXwAC<2LEaAKlJ z_gcVZk`VqUK#mF&zhVYqy6pG|XmUOj3iQ<2ykBK7KGh##)o}DLeraQ-S`o`(dlGk{ zX6vj0Qv#%LylN4H<4OYYUw)}jSkjQGI)%QHpJNmj@r{WD(|QewWRqc0-0my=79A}P zt2mz@vn7%WtBNnJn~`o+dm*V!2q0jm@$7^R4bF^rEWe2~3R=(j(c0!yk*Y zBaW%kAt^(##^yw{gy@SI8>zq{ov#2u$G+Oua?X|ZbLt3wN<2`*2KnNb!XWm?u?^)_ zU#9UM`a~4*e)=@xkhykQq*#1QQ+aR~ib(v9WU9_iajv=&zcPC6uq<7@8gt591|2FT z)*ZIC*jPTPYo?uZUKv6pny4)vbT)EYSOwYzOTXo&Ir@l!X3!eJ=)LJgQ)&kD zLmT%Qi(=HwtXyhUZptci;idxC=vvrL3LvQt%q4Gqg>+ z$sd9=ouTe48ma+S*w+l#C9NDn!b=J5+sWlI6M{M&@ZlPU)u|s;xs1|d(>JFyET^Bt9QeQZr4X*BxRn@W8mE7tN9LuzczzMt)9bV$8Rn5R zIeIrB4Q~ByFK;+Am#vtl6}I_|=k|(Pd;SsrjL^MX-lGwk6;-!Ar3acP=#%A>89_Rh zbZ(eWASj&|{x?4DqV!nnprx=Ty~AR@?0BQ0??f~igvD}kuFBp$I5h1a;LIbSW7yc~n(n;io9eKTTK?!EFOM&xU!M!6 zx4&~|8~U~+IbW0>4%Fd2aR(L|PT45Ke{DHMG?DN8-}$Bg+?nr1vV@kmJueSAWQc z+Qq1F{}q|Lxz7D`zEbbVKFcli4@X$I9iqL6{J{yFSdd}iDNea315@UUHJBzq`FOQ&!DqFAc(*1(r z%GO|v3iEO@>g@R-X(W?ZwMhoqWa&QOOADX422_Uo$Pp}lON~sLa zgj86}-*WQ^e$~(WumcJ> z2Mf=b)b-14TGYHiR=8*t>|Z(}Q6yaq!gLLK8IBW)$abx8TPfIqVro5x$`7W3SIpnh z;8KoWW?t`=2XSGh+RF+;u88aYWM^QqD!$OPdFk5=Vw+9pPFP&OU4M#AHM`U5vHGM1 zJp1eMw!}i&A1r?pQnI(+513*C0r|QZJMxTr8^lK@yxkXUG#j~kx6!{B6E|w_LZBSW z@CLq<>)y(lVdqr~g+=I>xqf?0jQbg6rbO*-fiY

VZsv@8;$`?4#(?<@?~X5n2E(a6o2b1*pdCyqB}Apw>bBa7 zl$AAPgpk#fScTKdDz>6HoH7k+%lycWYtbS6@<7*qgZcMvd!AN)oc1O8&Hr)MnfD(^ z{@=Z?|4H#P71#borhaA`0>JfJk-(T58%q-TA)s@tkm14ul<5N0;jC_EC+xu_0AIxN z>AbyotD!NrIrMC-EzfDz;6;=Y=bZnIEXOW>;B3dY55*o5dpvL6I(XWcx{CJJ2A%$G z`7`pkS`bJ(cIewsxn4#TZ*R`KH?==L5i#@l3`Q?{#(}FAgGj-oX#kOpB7PvfTLJqZ z`=njR2pk5c3`{ZFkGXs(t|yR;7a zvOU^(j!A%cEg81lFX%6Oi9~aau6{O=8Y?VlKO!&GS^>SQEWE=)mBfsk9gu5!>RC(0 zOCW?rZkK#(*kU7-G9N3%GjIy7GDjP2=2qQ>C8a$!=^!a=<#938E31iJh`;?UDe9mgwNyg zhGOOf4a88k6`alX#Apm}f6Ql#vghej+d;9zTwNWDKz89WG8qdcO-N->JY-&j|D}bJ zT@_SgVYN_e2kLD`ylX_&Y)5irc@~yoNV{%6bzmz^1*Tv<6KiihR`KN;6Lp-0Dl>_a zkNJv>QZclh3|bVF$M5)NQ05`!nYo`t%q-FU5d7YFqg2Dz9?r|; z;6=~st^ehklU_j~+O%?msei)>=KY(l^T${>Z>ub>y3oL&)irVe=kW_pZq&hA36)or zGZ$~bpOeXlH>FPTYeO=OQ_WA9nG}9Oruq7yGKVGp^WY($!Gwc*YtJ90mzqKo!kY4w zB~mV%0@woJltpmMy#&kL=aAdqPbE@(xZvaCctW8ntHQp#A|-dwPWx1CJ0@|i-xP66 zGsd_*Tv59Wt9r2u!HSZYVr-&-LQFs}F;(0l^7uA|88v=%H28zUdJpq@zmuoLeDrLzvX0y4?fwZB@;f^gU&wTJu@2=xd_fXcp)h#>mH_4p?5>4*bhXRx zLFy=j{&q3-u1$5Z=rm>X3lfg$6RByED1~?+Q8;e!#;UqQco;iDwzg$~b05h(JP}qA z*y0ldtS`+^oD7!5#UHinQ?Yze5eg{f*Vyx3z5~DB{wT}tu|Z}9Vp5Qg$)l5Tb9hD2 zenj#J|9>gIemnO;eqY_qf2R2UlMaX9%tXxE(a7ZgGv-nlHz5xAYuYf?);9iGQ2%_I zDdU4jDnnL>56FWogmjr>DJXUC?dBE;2$UiDS?uNejCgXQ`W1ye1;8DkGu&MbkYRX?>2iCb{yv7B|myGec&A| zBEJMQqsWcUh}8%fc6jD?@#wPyc=JH%7gM^%kev(_{DdWtCkV?dx}W?(%mv@r)z1Ow z*y!4WUB7YLW=GxN+$n3rDRLyVcH1q7d5U)o&_Mzukj{$*X>o5NGMiMx+EHf@(dz|D zoB(SQ!^1aj_3M$`x1K^zsM^Sy+%QOfxpCs1I|J~T%Zru7`?Yxh3IU@8RDloN;QpG= zrOWebXs5Kt#$V%QUfib%wLtMz0p3v4PQF5R8D-r2WI(r=gOJONM(jvrC@0YKB_{Fq zISFzpIZ&m5{hpl^EM^NUv_{l@Z}oFT_ZW3WMoZn?dUDD5&`|X8Syrnip+@atGEA8* z;TJ`7m`IiO$LZT~wY{NG#Lf8yo*clG}#$tzUU zP{1@o^ZuI>t~wdO^1l?XQC9t@dMUmsU&DX^>kc6mbb3pBuFw#r#Sq|2@v5<|I;J`Q zOYu-A+4it~dL?}LhjM>ykreRGMKMa(ZFOyVxNhG4X}vk4@U<=wFcq``#;}#g@xqV> zw&VDT{Biq79SjI9VLm1(32t(`B4~-&LG?5PQtnomco!{Jgdb26#LC=Jh)2i3!G@%= zosOkkQ@+$7*(~GN-Dt({#}Si>0AapcM2zs#T2M0-X&998>dIndNCLH%@I;{CWFjfj zTk5(fJrt1Tyw!$_HY1-7dxnUz5kenEi<(maX~GK9zl~i; zNsda92kfIX(l4=8HaHqV27ggn>C&!I5_8MRV;v?cgs7PfI3kLg@RFEA21a5LT<}Ez zZ9{#A3Wt#7%8{+Yr?(-ocj6VfBWJ5_&<5vKL3Y5sn~Fut_0y^>HpTtu3M>XTE4w(c zRVD0X_D!PbRVngt?Agtl4$_h-QDUSYNr_I-=v;^vs|ag^={VT!wIV~`na*4>&n1r( zG_-B6;OZ37oM~gN9_uWf?Fo#e)Ahysy7CFB=CI~&XlRaGLQtUNIW_@r=K`q+XV2eo z#m6K#por9vu*u;hbkmHsR#<^aKbKr7j^C;uKg5O_BNN&YbBsm0n}yWS_<ZDcbgWY&^;8UT#s5c2U5DrcK^zrUc zb*zq@bs!dvJcU^l-4vLOz;)~o^Sm+Hyix4uyg!`RTSQ|bh&fpxyrfgsird7Bdt_Po zBD5)bxQ`y!?KhV2_6bQ{2>W{ArAdD0dv0kl9|2g`c|8qEo}6aP zQH{fq>G~c`eo@E>>HX$=* zKZbtn@D82Af{7?1?C?H8P>56mCuHON!Incsf{j1>)Yy_Y|n~Qf<0bXvQd`di&!`3ObU`I#KJ{0>(@Ql9X|4 zQ&>QD@V+N!LxU#M$xKkD^eLHB;|0rvyrNg_VOVcFc*>lbblL1dy1yb&K0{bMV|4Ff zPH9ACP1bGGZsYwB^oi|88Dtzz!qU%IBoLVv|Md18dqldga#+t}liY+hN4{4Ucehk8 zZ9Fp-31;OxW9uV%gCpdI>1@h#2YO=;VEURDt~tUN@`l#JXk(Vn&f7Wg$+`3V<^`k& zEdm)fA)_c5gS?9M1e7Jid$$Go@#DhSjAIl6C71ByAWQu`qH z=Tc8SxJM6Q4-ip*?d$u^cP7&sCx)Zk29q4$mGO2~my!3Tv zntlP~u!$|uFeH3mNn`oukxTU(Yk;fMkK$pT3=~2DLLuQR;XxWZYUC@?Luw5T?`}>% zditY3kD*^4GI2sTNz!pVS9B|3g=E1Tzp{Ya2h#}g#Ly6inwgw$c_Ddo8lIrR1%cc?pi|m!k^&MqcQun5VTF#=&~l% zCVVA&@a^jSeVW4E7D2yiFa>Lwp|PIg<~|y~$c&z9cKM0}n$(3sR#RrKFjHOn%CG*_ zti{=(D|>IA&S&My-5X=GQq>X~q_wkkS0x~sdyu+r=CGCYk)jCb!luh;pbC(rBrtP7aQh3CmO)c=;JSuF{RCayS|8 zsi3)bDh~v{- zxy<5AFmit0wxTZoPB?KrKl7kX-b60uK3*0%y;!*2fI_=IVq)=1Wd#?V*t94%k`pm3 zIWfaMuu%J9g^)0#ifLB#CXr4qQF5{=9=?;5wzL!h^k5`?sn{0zh*6!t=lpVlUMBFX z-gp18-v1=QMeqv;@bA@*9h3e+|8>YYG?CYU`5W0Y$3Sr^-p1%Lq93v=}KEc#9yDV)GjIWfOr3ejD z-mzpP%Jjk68)G3Rvo4sQ1;){FBu~6`i+$g2XWmW88<@o_k9}RB}%IsbNw|g&I-_lo~-6 z0h|)~xnBdk&LDcJ1ZaMVsyTcG#tMn2NRT|plO;#%WC_NK6*>7z`=W$?%oTH)iyR@r zwYQ6V#j>LbG)IFq`mr5)5Q=MbayQt2tIM_m`0n&o-M0T&-GA~G|9XS`|0(d-aSr;d z1q<5-2L39rtJ!?uQVra0*$i;NM?(~y@v1l{@lB}9LzVO^O z`}wGk%l?{uSl2V|tY~uVD4HpkZO!$YdxkDhtxV{&hb7h76hzzr%z+6Xn#|<86ajR) zjU|tPIm1o}*N_>%m8224aoW%iqy3r?;x>~y=X#@xu!m>l1ewBcTnkk-QDUPcF%7Ze zQ_#P4rbCA~^8BiE-+!#L&_D3w1Wfh*Mh_U-|IZzYmILBf(x7zRNzut{QW8==o)G-n zbe#OpghhTyNafit+FRgj;|k7dpd+FSYv5@FYu+=xHr-w%qqbXaGjJgogD)$`9(8w* z#OIGa->H=VS#jMAJL9MG_N$>g?`)nc%}$scT!tWMG)qBFZRMeuC?Gkk2tEPzk8T73 z5I`8lOf7d13)ZZiD!q;pM?Sr{wnZPj;R1aTVX=Yc(AkgJ+MAu&3SLtZ!f85F&L$or zxXaTllxcyzx-7-&*?7i>sO|pr)U)0 zYRqIm7)`{<&()+$d!|T?WlW-aah}OdQm)|^o>PY}rzoh~CkyRX%-eYl?laUtp(L+L zzn40jPf>#itH>ujUc=-dS=Pah|1rZ?E_08x~^ykwqGrk-|rCgD3F@c!@i~NTSm*C#bNX9)xF+1=tf)PR=>hKrAsDqq2%Zux6CS=2O5Qj@BN{${tVhOX&x_d&g z&qgi4Jd6z?Uk=3He}{)Z7cl-a1{=Aaq9Ct@`zP{pmC z3pn*B#D%KHJ_CleW6&B%jxH_A$N;FIuf?B>~4K4ETb zh{!8|(v-uUg}}Sx&4piMveJn+!KpKO#*?tL1i4|~y*fuJ2PA1aq^UK`8Td?~CA8@+ z$A=pw;p9q5V`SAkLdQ06%T|_-lq`B={?0T{n3Cv)^oC117gI>xtH-_#EhrevbNt#u zKUTE3)C~lfN^XxZ&)eUDE&T2oX={g(>aN{?>f{7cb0GN{T4%?_6Wf(?W=_xD4P^}u z|J9jmh*c6d^M0*Yl?ZcI=u^)V@Thn{X(t}H%(v+_O5v_z;clr>+1fn)ds8>aT91@o zKr}YXe`a;r6Exka-|;?lO?17Gtim8U$~*Ip)Uo3l7AmV*Z=FwbC@XAtQG|kE6k-GO znc7c=7gi_y{pSb26KhYYygwCS9aZu)+?8B*T_+Lxznc?mx9`9HCJkEuAI-_X+cEzn zhD^cK#{S=PRx)FyWWFGML0ezBbGxWu-a1mfrulMAemUTSh%-PzzncpyWEIqBt;OC| z{w58=UW=fcKw`YJp?RcqF?t^W%t%o=d?NG zrO>RMK$)umyeNEta{Uo#-Je($v|Ho7EZEiq`)UiV=BuxxWgaCdvVJq1NPQ`MbHYOw z6j&95YH)t2$E!F=C2i-F9E`75S~U0267hq;*&AV@l%GqxP+01u2p71i#c|%|uq&#w z8iPSpUm=isb&(Y`==Kw(&-Qj{@a90$>GZHtU9-32!z!Q6SDLjN2iozBj%-riIp8Nb zp4zOiu1o=fsGQ^+CYiiUC{ql&LJDEvvYz*@t#DKrv-s*ISm+hXP(YGFcpqB2Dp{ki z5W`GufYEEw_#>GLsF~Wu%^Vqe@?`PhGzrN{%7~m5vGR+{Uxm{VQ?2{ICk_4+2kyV| z?f;{`DXZBk7@={qu1UqO1@gxrCFhlxiHZraXpjZ5m=YJv22tc}OSzlT7PR6&6;bVd zy~R#-kihZsgr5AZ|;lfX;P}G zk9@ITBDkhJsxskf$T{~U{cRGprz@?&FGbg4e#%7COIBkjxbsOQ57nuY=NsQ~nMtFw zGxHQAIo4KVxmU<-B-9*szb23+&U?*aLkblIZe?$j9#qimL@`uc$d0*Lh)yJ1ky^*a zP2;xSCCoReC%0$ew$>%p5ZEh(nwKnny&9<#chbodhVZ@l6LiHHGf0ESP1@kX4hAyC zb9z`%yRF0?by}REn8UF$Nzt^j79&${kjc)+FG>AiWnUs7y+M-ck8G?aBV)T{Q|2)( zZPmh@&(qREr?iZ^jG^b39z#pq)=3;wIYvNZ8ZFFdl1Ak+Emd0@=))uSXw(-QD@|gd z!sn8uQGHEeDM;stB!U12$Oq;}7+yAft2%QeSM_~EUJrjmY6#Q&P5|L}t~ec35)ief zymd2J5NIx~>fbP94!U8E(wNaDuoMJ*P6O<+hcj4?7flZg{Qt1_jzOZW*|O*=+qP?! zZQHhO+qP}nwr$&0t8ANV-P-$h-*aD|7u|8H+{+{v8Ir7WQk%P(*NyoJUu{gkm zN<}Yk?0jjgJz$#*f=kgqn1QiW58D&@a+qgD--MZ@s!Q>=gxXgxhpfO$@3O3sxB;{2 zG_YCLJQ6GLsgqw&2v)hMOp^4s@6I~GbutPpZ@^(b;y1!{#qLZ@)3O_pacQettrBjl zMCKhgQOz%g8e{hvnD=Fwh?P37D`G|shUYM!y6tk>3KB)h<7WD5{0v)t>Q+mpjPe^- zEd$d|j0Etu+7V5E(bquwTwXDoAP}^63xuf?F44H$MzjPo@EAC|RTwl?Kg8@HWNygS zPCLB4o#0?>tS}&_fj}DIdQ3P-aZy~jJ^dL#N`?OO!jwoyZ>M=;uGSx#vS12IvYUF2 zIKhxn20XoY-PwDuXf$0naTR8TW=kN`pv>H?ab%ds1op!as z(6e)0Qw{L&vAw}|R(DShIlU0?k4^p%pUdD0N~f!KEoiFFhH{54GQuFX zwRSOVY(pW!|xd-`1EVNBZ@irnKeB78t?)2nw;W0DEuiC&U*{>yNU9R0yBIwfQ@69 z$b42-2L8_lwuw6)!!`{k5a3Kt93e6QgVcp)+x*trdupgm)1B~hjLKw{I0-d&X6e7cIbSr}>g zH(%0Hp`DZjS!;47>EqYS+m5q2+@7m{K0nT3{DiB_$96q=sLIrq>`-~l*g_u;+WJl+ zxg5;_8B$(Ng$v6n_82TMOYDS)l~E=U7nDaG2Qq-y(=-$F(zZogf}{rTE;qZUTdrEw zHjAZN=9|+xN4!FPN5x6D>;NH_MOJT;)=?W-E*qA&w=O;S+pQUE(Ku}QFl;xU1vlX) zjzJ&Nh4bHdRO9W&%(zT8t1cO86?+zatTgq5E$8vpd+T$sYUo>kB17jBOF3WOdH`E; zZxbrbq+#`?(?9_RNHb-}j1J_;hJDf%Xp|w4AwgL?XXf9y;Xs&*kYkAnvr*t|#xTWz zoq3{bbGhOyPaLd05*m6LKeuy*n6G5%%uy2CiQEw}H?0jrk*$LN#| z^msE*QFEcz57Qt!8rwz=z;XU6K1$8xR5dVXkLAiXsExvV@d_f1L;XpifA)v9B1ke< zvumq_CGXsS1Lz}De|8?R_T>lBNm=2vq^QU>{ z=R{n`z*w$cuqB!5r%uYC#<2+FgnaZT_C#4y->h`+7a1s2sDVE|jN+Zggrk5Q&wXz< z-Z~$?_Y_m#aiFNDsm^S zPSJ`k87mpY)e52;Hj=cGVa z;=qn9Osvo260xa?DF601n-tdvAgTJTfQo|syN{Uvf50+)%iu!BhUV7#R{!!97yp+m zP}sbqQT^g=v784E`2?toX8{EX+VJ7$H)6sp|8r4z?s2rc&?gkZN=*`ULs zCHrhz`}v69Sa!75Ct$jmMu3FWm{w@JVHIi79Vbtp(-R$$?!>_qN>5jAB$eFsMy2`s zw>I!6pAk9!n`Qccs^I^s3H?vFVi9wz|Hc)6tKZ+o$KNSQs0MA#a>JJ0{O10UVc^u+ z`V~AV&Lue5-kTw60R-jas892`d%b;VY4aG~FQV)@+e47n&gc(z&zIw^zkE&-KEKml zvHXmaoKMr@O<4S^V%QIh#xLgRY7GG*IYQ*cc69(Hq3;r|HVUTlj89z94Nz=X4bUq$ zYMz?B=juK=Y}t^-Rk#y5Ik#GmcpyiHa&YLXl(~D=cd2cz)j<|H*>1P;=IYuuQCpDY zhPa!&^xydR!mrele{B*DDz$XX!nybF*)-l()!U{QkQt+Qu2}B448gi?oZsUj51K6^ z#tNu?2}a75Uv80W4e#;u)$L_$JGGmA1c|*6O0+Zhix5UT(-vt=KGQuRY{)80kp+bF zNPxl(S}mALiocd+o#EO)dB~4fLfG`IA6J8y@%q?mQ0psZBdM8`C7ok+8%%JE2YGoj z9tQGgfOPi9&1n5lAOs7O`2$Iy3pB0KL>(>;kM1@9G0yfU?Lj$qkSW zp8HON4Zge2S~COgIVxsxWWFaFd(Xb?1SezN%w+fcxUkOT?AHysLm7;_wHRpKCLKIX z2Y@WxHpCV_LXUM`&K(&%1lVR@ys7XxNPv|`@OW6BlvsH5$^B3CQxmlk zM#=~RoB~47vtl}NY4c&Il_cUNXKxp68rRmgngnbCJjb$ zYTu}}pGEh&`Q2H(BfAj$qhi=c_e~h@H53GIq9{EQPwS*PC+9g*WAg}^{U}<>uBLX; zMsT|xqS0Qifn8AwBPI5X6!+C)yVmzNWH;Bee?gk-^C83HZ@zWv-+Ca0{s(`Pj!IBUP2Zfw)R{ z_XCK5_ZUV#!67Ln>8^4E9L$^t2fs9zr#s4!Z>#^U4S z>HBwYE_k<=yGsxFoWk-cJe0EKh&n8yMBfcX-M7pQ`Mn5 zmda<`*@H2lsX>44m!mr^z1Hh6UwJq!8X%l@iHBGR-*7lDw`@kBQ>3&-G+C^7X`YbV zumKm)H?euYg#wBYSFG==mmf$KLvUQ^->xC^Tg!+t4inXsgiIN3&B?Tt5o;q+^aC=| z+;>rrpk1H3%lf|DvB`2~n9pgabH`VzE$`QDiC`D%c}GRbGX z?~mJ{9E&wamQv%Y;^g2%17Qr#D|o3jGD|py>Zip}0Oog5(cb!=NM{C2yUFoGWgs^Z z7U&^mpsW0vznVOK=TT%FI|8HuNo130lch)-fZ*sV+a;DEa|3YlfG9;*+4`9YJqc+; z1_h)gZ6_IY*MMJ3=7v&=(nUIkkyYYOmf!?Z3ngo-R~yjimZ<;G`|aQ{XA$oCq0ciA z;Bh%)<{==YwrV{z9mO|=1QQe1)sJln|Fw{}OWj31#tFHD!d^zB;NpLPEx5a5(=D0w zP>vsE67u|q)eRc!H;|92JYg$2g@Bo2J@r8=&a%TL!nF7fHZ?K0)#5=2d#I z2Z(a=Ca$EWDe-zph@z$t9+YT3aDIVmbiVhY_Go@B#KJR&44M7nB2gqsC#Ww>|4qTfaq)tHDL?;lEc14J6nuTI8ID~3JjCmIZqdu_E9?MR-XxODZB)CpkZ9z9+&F?i2 zoA)v^@gQ(_bK5clx`G{k4y)5l6d3~#XalC<7mn0jLWLkaAE$~NvC3<*u0Z>PSMNGG zjkzz>GJs5jg-)=2j+wY_MpmhJ=(~yN8+C)y;|D>b(ec`aLrDpjCa)Y5rt%ydfer0; zs18h8N7DnYxXgPLzNkkh@)#+n0`Z9INO&wh%bNddeJyf*1DXFxX!f{$OH-)W~EfW0Xb{9l$feWE!R^~lX8B`XcB?yob zIkECA(anuzM6FMcM#jq(R4QP_RJdaW`k`i>pR;9VxrXFDeH>om8ff)Mskgv1iV?MPwnp~ojOe4Rba&L%mpAs1t7hdhd)}XZ zaJNJ}{jzO-xo1v+r?!Vjt{h)`sKwcs$I!)YKba$h9;uioZ77z=FN;&o3e0Te_qU6{pN}J35qONRs2?X!58^-a19x!dRq80*{oBl2FuT~Fz#`A@dz&vwSd%wRr&0ZjOD8+dpod`)mf z2!Q?q|A1^_L52jQg>(q;>kmMhB^$YFN&ck;7EFSo@-S!1W=~7aN|nmCrIiJ!cr*OZ$qES=96*I2+b@f)n96EOK6yfY>h5fC3O;Wto} zcXRCMm%B$`^-QutaZu@$9YZEa=gNFd?3T}sXT`> zO6ZCyJ_2R%FUC(LVa87<(&?mTb%()AXrnoGpA13Aqm%W8EF$ScN5!&jP1yJ4;bwZyNNvxwDX@_4V4L6Pf z(Fr8G#iZ#rs1ei+l&7WBOBB4DMwVh3k}w;D-knT1pw1F_DJ7CDJ~|m;{PMKJT}xNR z)r6-kwA#nTS2`O6ShTZwl&2E3+9Y4gJX(UQVvf~tokmGAt8aFl%pE(Sn^p5LJeN%( ztnYS}%pK#QoK^GFJX)5~HuR?|fi{e0rTm@H9ov$w=uV}0tYO7lN2AgPd_s*d8`g7Z z&>fq3w3v@1fjw4ps$GxDyw^p51WluP-9B5^U#}UtXTJ_kB5$4^vUOh=D_`EyCqKTX zR)Bnt@A(6J_{D7DT3bMgf(qX4ikd0rP|R$gRG33KIR>)lDb%5zTU3@qHBS&4QiC)u zI1KrBe8=B6m@C2Go>Dsu;@3c8)m>)4kN%w)Tlb&{%?t^LLF*hhp`Yjm^} zCC3_DTEJdSOygbOQ>Yq2iB0L?9cidOboEP__%vBc1~}?^w>2^k zlQ2-HQdz=*DQFiQy9VMUi?LCRz&VE)K!JORpK%0~l5Qa)j|gV>hg`>$=p72M69j~0 z0$qJ8#&Mr5Ke_8$;D2fGd{#gC<7^&HkZ=vM9w$SiC~0qFoPv`QS=8RckPPa^$BB_e zyD<_tT2sw+1<$J@+MlwR;RP;WM%`g!@rj?oqs-uNu^J4!7v$sgC;pHV6;m`xjPmo& zFa+=4#J-LK5y*~mvxh_^534b4wt=uYNdY00l6AhDn^Z`wm279EURp=&`tG2jsJdIqwD7sdvkv1p&%F4YoEn5g#W_{GKPJEt8HS zK@t`&UMf|JI}9Dnh&w8*Yv3~c+a<{xT?|8qf!Xx&sj0puKLsZ506u+^_-P3AK`h|tOBOv_3%-p#28%N#4mp& zNx;fV*(-4a0uBgCV7jAn3f?Xc{n?VWxH6vZuTdl08Xu@DjjEri#y*sNTXEu|`-wU- zG7Re+WRPD?^JXov(ixYAYb{+H(cEtOpc#+}w0%`i@Oiur6^OxcbvQqc;(a00Z8>zu zMv3g)xi3!02qw>ntc@K#F!LdYgVzcu$ef2DPty_7miE5$BbKv1U8&}EZ5_8(FGL?2Z>RRkBl3^IMfWZ3% zibHp%?=dvAYM(34{+b^?IxkuFsl*-;&V#+Dx?UuDmPv|JWJ~|^(Hbc|Arwy!VM1-_Qgqmj)Kd9`(LrZ`&V*mmOGB8w8yUfnwmu2 zAh}8WuGg{G{Q^YMO5uDn`Jiqh#Qm+_;-w-qyC|%8e{o)9hD1aG7N^$MTG-H6oUk^f zgp;9C!Y4rXsQNMtBSaHuOAO|{nd*MAB=L4LnJNe;mk>i?fTIhR?b~BQh#djW&Ni}R z2H>1=GMTE(N5bwQH!CBqojg482ScRVeda_T0jr88d0->$KS|4yyoI?~k5Gv|;#I4u zXRD+#bpsHuoTI4-7|r6uKbhF$4?-jh8pS)PJc{06a1uUzCgVAViTK$HSrGMa+3KS} zI1KaoqO2>-!Z6zH=pqixEDeNZ=P9e|l3GqUl+w>r`d5xNc8bbvqYzuuMn|u5@?>~$;pTW zZC)H(^N2$8DG!rX9JJF$rhquvVS!%R*U=;HToYjP3mWO=z`y_E84M5!ZXXLV@(=#B z=0X?sw7vOG{IRzAP9z>&aODap`@A*WRUPiZ8Brym%##DjPr&uSox>%bGY|jNdWFIG zE0wdcUWmpJQV1fq5g4AGyz^apl48L`gq3J*(Dkm6L&iZ2l42|#;bDHYEW+70CS>9} zS}gwLY6_qAEG74m%1|Zo8Xdyqy42t%d%SF5L9Po{HiAY5Po6rSGwCQ`)>g*q3b$k0 z_d2BCT}oO@>&hX>E0h6&iG8m$Jw%)s?mO*t#x(Ed$OPvt5h%K37N!$cf{0HX?sD!C z0o-R_rVdCF=OLQUBLjDI%2@(qOC)MK;^*$RWERG^6x=!oT}M?3e3Fvqu`q(%0oFuB z$j&ZP70c-R$7XlDy0D^@t0v-A0;U#E;ZDuk;Ty106VQCRyOV-x!v7x4;P zm2%F2CD`U_(cU1I>3IIBu)mmT^?t1NP-C=j_Rzs$q9FzOGxXC-Ky4fO1+t4^htvH&cbe~NqIF7t;i}0P|VtphL zCR$lGgNz=TdS;7)4jEa-!Qx6>sHrXlHPmh15zs?-sVO<3e-XS+=8BBq8YL&=362n? zfzi!$wBw~~T|W~=s_j_mAdor@4-unp;hMs+rTBg_JDat(qJLvGSG%{AitIu)=VW*$lzmDzW zzG65&I7S`cQ}|o?d*3)(&_=f;zYx;)1mUf>eFmil^<~_n#j*R%N4Fck$Gv^ zn5(MX0L-Nuv!t*`UI)|az;+^t(%j^DPwUtcF#uQn zaJ$AYd!hxfO$Xh<67P6Q4r0^%c@1fJh73MIC~px|4h%^|;)m0Leqn0X2D5?jn#?eh zWP~?WA&t@BE@ov>>3m@T>5sek&3d-wIy0)%I zuR|Z+xRH`7kdi9GmMoHGi5ns}8m}nBHa1$B7(YVcnom8m4Y$;+Jqxz3;|_PWQMIJ| zM4W}KP0H59oy4omE2{XQC%zCyyA4H>(tbOPV-;ZyE3EF4lN&{3D#g?$FfQHm%&ErD zsKm)76-E-08i|$3N-)TZ*VAMj>%xu=FqAu$>bBx7+6x0HQXv_3>y7WE=hyNpEyjkh4ZlaXR}r*b5WOA0mzAimPd^G}vk)tF33!Z_h)^i{#CLsDt@XuLyk z_6(Bbh*ai5flm>G${^$|MqDiVnURNNEQVXj4;kVLVUt90fY>8+4_Kj%0l?0Faexlw z9p~@?1#+x3#Hm`z$+q%)6Jso`lk;<1(xP^dhxx#2d( zVHy)DSML=7r9J%laZ%52<{gUD@?EJo&k!zaf@wmcb{tQJs4#js+~LzsQ^6{gfqxfL z0Hzkfn8T)(h~<>j&NFDJ>Eu971BuUS3!Sn2*DjSYoQz{66EDp|JH+p|?y>qSbN>-~ zx1@K1T0vgabFnlHpqr{HCD2wgxDL>|wfs(EnO0I6*E7X{CFG0v^6kiBAhlyF-dVt< z5qekmPp9nQTI+cTgA>gOL+0u^dwIZHl23|2pZ?=F%BcKQ`b?k5#xsn$5pJvUL!B{%JI#g1q+0>JyVRNp>SCGM ziSB@=SZ*J=WvU%)HWvo0n?@Wr?r+2dO&g44AvD-Leamnc*TzS|xZ#D%IRdg=2`2YS zM+jA1e$BzSC^Dm{9&9-(r6?uRWtXCXG$lMQOZLm8>|-n35U1=I_ZB*b7Nn5PR!J7@ zYSl-CWk*C+CmD2rR8%kW2(u1{41|VO6pcgjJnWOBzVn}P) zBwd$ed&ZnQ6Jz%w0>}J>wV^0R!GMt?o>GG|^lUX%`m*UvJ}C;bA1xjuYv=1O33^#o zIf|kOjv>miyF4m(wPjLkH6XiAujqXipmw-GZE*lv13y;i{Fl6aZENU0~6D4=M1c0md`fjRFq?O#+89dHZsyg3_{?^kGJ;qw2*O zMl5EB1Y#wy@cKZgwkS|to5MW$oiUY5(Mq^uCm67ZM`JFL45Tfo#2^>h*7vS*1|EH? zlEXg63uQ1jsLfBYXNS0Efxy)p(IB0WxN|uJW|c}+PlL}qa!$ZkP)cf>5=q$g58aR5 z9=`X@1*WOTpWqCL2>_%HGq7fyXi`x! zw>Dd%5pHY&$!w-^GDlF6MpiYW-zsxHkg=wGHrup|b-}=0YB|ui2J>j1yu*C4HD4t| zxz+S&8NmCy!+5$5ZS zuYR!qAN|EwtSQ;Ho`>>=6JPg$F%A5l3#2R%Sp#AJH`dSXnsA;5$z;-Uv9eGU7Jb^O zEdgAuCNQ7kfk;n>(GFkM=ffJ;KRfuNsKdVAEk9igJ)IR}&uPTVoluh3BbR>Ipw!z1;v6k3F0On=GIlCXaHF7Gs)7!xuSZuP|c%vo$ zowHZsm)%LeU~RS)&uxYBjVM7&n(K(MQv95Dwk?8jAAFV-K+NHG%Ikvz(}RRddF13X zyr9w-#(Z!Dniqz0AN0yteC^NNGjq8^TvzC*=Cg$&A3PS#rgbu&F<%G5TUFgdzi*L1 zuB}G$P`_8ezqU4PdBaY9V5hyT(^L~5JFYp~i% zU2nUQ+2zsXbJ3^lEwl&Hio-l?k%e+FBgRk7OPD-m8(Yqj=krYF_sQn>3FQ9`6!^(P zYI&0<QLovr& zxnCA*7>iCYXB{zG+kuOZOjNr)BCJ_i)Y(8OV^ltx7h_uA#W`eashyB9XQ4iX#Fna= znwCLy%-e>xaY2bIdLl@NE7}$ss%`P=jv=x{M=_X&=`v|oiD{F#XKc}?9m2VE>wuw? zAENp!N9aI3NS5Nx1nmvY@W_?Ij`#MiCba}bCrm38&I60`?l!gXQ?G_6zCJC8#f@0&!7g8@LJ>w(#2V) z?Mn6+i<$0?I8Ww}ogr>qwCfc2X5~YjX1qiShuWRkfQT*2XQEcZmyNH_FfG%!s;4Sw zL;uy-H9*;ellq~0zVE%Kyl4kc!%;pkn!g-Y`rgQvRd=bnaWkJlM6 z=$QrWSp8NizqtI8Zu)J6N%xI<7pD(~Y9%_5!oa)m;-YwUug}tPH~x>NKG8*i6Ov+w zJ6$pLpn^hId@A|-nC*iL)FgH132b@GbSeL5-}otdSbXo19-*R-Kg`z;uAHIJPOtEl zcNMos>#+q|QGXwhlC#w|^o$ESrd1QMA53i&Gn4AX4kmHtlW#d!?eybtG#ioBM-zeG z6JadLl)Z;|t=FRS6Ll#ml)T4ytyiYuNk1QAvp?1yl72nJYJbqzYq|6MY4hfF zm`JuXRXW_cgJ0lUX%&;**R1sc>v*iiFSxOP6PrRH5lOegDH2hS$yNiL+!&qF*fL<) zon)-`wNEx`yk(ymJx$+Qq?7m^asecvHGXG1o$(0``EkGnU3t)0`0!5tkTu)0S2LO9)v;TC|c zm9*thPmg)(WHb^ATCEu_op3;{X!ABy<+dE%J*+qHw)Ej16s$TVp+b~4!{2|i)AHqp zD*UKFet0tef3k1<#Y!vL$~oBD89O++tLR%f8!I{J+c=uoI#?S!{9{>%il*K7fXHta z@kaBG;y4F$%9hFMCUR?FTE59@YBV5eK8=VYLaT2aFloYS!%~a_AdKz4JC87rKzpF( zEH^1e8wO;{aR7bO^}buk2rJ7&_L?h=x!`0zI-fqpZu;lX2kl93_UHX=DCZBBU29$o zgy%w7&-I4cSQ;UTaMUM5Uf8-tNh|iT!p%@zUJ3iLSRL%=J!4#NAF4hbyqLN#GR>I! zBR344eh6L}0fSN>+y*#$+z2=zu6-V2FFAMUd$wW0gWZ)VHn93hx&s1ol5q$UVyy9^ z{8GW8@JbJ^CF7w@HgNJqG4c{-#N-6XP`=eXCgNbG@E_YL;%o!2%WXDk5=@2hCfDF# zH>k?0)z;W4Oj9GQ&knavnDh%O^Tp@HDVM5KxaGQyPgo5_PZA{)J&r=L$#RR>EgbHf zwPGG43e8Ssfim19{#l*f2`Ta(QsT03=q3vE@T^)WXD@-Ib=2s?MiAqkEt94aHRLgS^mx@x0bVTM8 zz@iG2I7LS4;-yf=8BlyB40-YEa%y-5W%PWpMkC1>EGo#mg(9vZGD66d`a_WPI)g60 zCN2-E6tXBGOEh^l6tor86jT!g7+iFPBB-oP9LnK&C4(T&`!;4p5_hgx7>X(`l~l8p z$1?g*iWGX(8fyhmbaDH46+e*70VwMd7D)R9MEWScXTCt6keA*V`QIq09OP4+w(Ev` zgqOw@=jnt=(i=q5=0R}<0c8x+1k<*PEW{(~p*!=^YEd~6s0llZ*@kNHDLSl-oFwU! z)5^~Go9O9D)WcI!P+=z{2AAXIo6`&&*xcH_^q8=>7b$+*9s@`1GPh(Q+;X_wvr+D1 z&pfyZ_GPx=?^0_O&C}^pJE(bznSK#!gpjRs%}bDh97`FBMU&Ha=q~n_sV`*mMut$C zP8E1oNk;~?syUq>ms`V57LFLkf|60uYe>tRy7Nd_yJiV)`leA}qoTS(hvo$etk11A zE4%n4c(FXWn9j-F&y#R6lS>EII*16a3!RrTJI-EjCs<(|gFCa5pBpUxUJp^%z&!E& z(Unm!S{-zyvi9Z>TgZ&_Jzg9ssNQe2TQ{yB#=!+A!#GA+tPp`)cz5!cH$`}~QCbat zL)R90$1|BGBY3rypKp5BWOOcUyVV3Cq4(A0oE)h@?n%X2ETuty-}+M@vs68@nH_Qc zld3)!USe{qo*MqVSX^E54`H?Ph4)GEI%^Y$Em=}bA zA>vno|Gf&F_eYHZi8V=UeV#2MihnSY+7g$4A25ZjemzuSS?f0K&lgR}3dxMpxb5H9=`y*@C7j>b`LE3 zwYVz%jycLLwa-&>OKG#`x;28=X87~NyP*w9*$sA9@k)g-3XNECdRuDC)BXC3%N3e4Y|{d5Jm(M@zIdKgrtJPV^ ziDfy+Y1T)e)}zI`r_c4NehunmzBb~B5I~J-hYr$Qy1+kc(<1iVkadlUbie-Hh@xpQ zN-;sd14E(zT_gIB3CRDHNdMW2r1kB-&4jiN`cAh0XhYcv+LBoO$RWSfSGBcUpDLSI zHdJgs#rmj&Q6-4;UE?(lXKKp$uz9&&}K$2 z*=M^PO?>~ny+QR^R)M4qFqL&t3j2IedBbheamAo(^P=%Dk(jL!3i@JR&^o&7q zaCJL=nnSmKOLVg=Q~)#ER8A+=9C-tsX(&-lO62w-RxAkWG9`!k689X%U$Be;Q4V#! zvlb!yh7qe!!y!+^sNhVo*_w(zphNH{&h^3lv+&rru5hJXjDaG{W-MlZy$`4HV^l1dn;1OSv_VV-wM$Q* z3VG|7PPrHC32C#qLeJq+abyL;GG$o}j#9sedog9<{$<=HrIe*T{|Xy z3gk#7B{wgfePUy(;{aFB(*CZvP3j%f3#IShIXup}waC-o4n)}R;jjP7;rUkwBGrEq z*#Cks-=~F`<$t4|tV& z7##O*u`fa8*sEfE*iXOTWfccTl!Uu|`lchcJB_9$C$qmQEq~zEA>>Dp*yaek#h?-B zgt(#XGY=ldEG=9yC?!lAhUm>^frq50EbUv)-+*r(;|PywO&V$8I8uJK0|TulvI}j{j6s6 znNb{eX63%j3ZG(Ty%B&`E(Z&KAlXigijmT1yc2$Z-@mW6mMyB`xsXcNI=}X}<90+e zU>||p83LD&yhE)dz@%TPlUe4f0t;E+6sEJ&C7It|E{~2T6a2Lk+o8JAMJB@mn^YF{L z*|nG6K73+U^Bqs{Yd=i!+*@fB`-sww;c(W_-;1xS)J;fUs9kU9^Y8KJ1wqK2?(buP z`ETQynEunTP%w6MwsKN5b`t-dd;YJ#NV3YNB9bchZ&(N`aDIG3LbB+v3}8APK9DLj zWaRcR5rid;R3n(mahokGc#qcR)m9$o$L^HSg#w9KXkZo)3jywFYc)E^6*=^qMSZpBR zzsi{YNI{8#i$TVHt_6wX**x$Z4MN`-?`+)_VzPR-T?l62jVtl{p9`+Y?!I`<0Uv&@ z^}}889KM}X>2}cS$@F#kxdL}h;uGIzkdku%b&klTXQ>V?n$xEmve6Y-l&7VkATcUX z<(n{6Bt%L}79^}5InlU?PaG|JXf4bl$2`)z5kIjA4%4g0KOI18@2!r6Nzu8lwlpOqj#ous1WjhHH2SS=p0kl8$;Xny zKe~k%WWrY0wKNq{GE)%APL@zf+xp%i{>8Fp8-MUIX*%rGGe*MlQkSWA&Bjea@5DXYV3LIHOIR$nEc@p@DiB*tY9>M=VCrsDpD$xIRGV87BULe??1XuPx6?&1 z+%*&I&8R94XHf)hCa_Z#SIf9RrA3OqZgQ%-YMrIoPZAq$5>_qISt*E2ozB)2L zNumk;6GEeW{9-ZA3A+h?n%RcYdLi}+dQI5X=@rH|lVG%~pf}_1a13~b%z}6!^rf;% zema2mMxvXVwR|TJaYcrOpbJpyGn9-xgs1yAHA(P=h#V!CdYce{ivpq#lG)PGU3zwB zOv`CvA3%3XMkrChSr%qxU8xk4!x+}S+00uSqm0`xnm@v3*?9x77-{~SCx2sIN8i&G)Hp{8d_ctYi<-@Qdp=8(SJPvdbNC!^sEaeQieZ z;G31g5=kPs%fg8`)(Y5f4JyH?4N@gJPd`7I1=kgPZ^38-M%a9W?KN3S7*hBvHgI$zANuZ` zrqaodYixuExf@-9H>ElQgn@==U4BnCf*2GA*L5|Yj)S`T>rn*E)u6N(&{+ax?}?%7vGJEz#se8=d>{nQ@@jy8PaSt<*_} zJgiD@dVUa$KvzzbFUtjES5GZWcsJ?In5+vVycEpVb^kivw7ugNF$6GvIsxu7m*csn z5DJWh*R>@Zf^Y~TA1Y5c`l>N<|FGW>h{liso@h^!jr@^|fTYF!7I=@o^dvJY=SJ)9lX38=I*A)(wKeX-@7LH< z@8Ser(=%)JZ}Igfw3!3EK$j%5%X$GnEIO;dONtOW9)Jto>vkztk**2jIIDH4-RSVb zWB#_*d-Hw1PxO-|)}Qw>;sz0|%0R)v~xAA0IODQ^#C&#p<`1H>Hw`d2{#LwhC~ye`9d@L z_Yni9w!Tw@ij=xQvnHxc&9bhc9LVm)PXUV6m7$kyewvDqHcPJAal~BDcmDIiXUOg z0JQaqdk7YVIyQ8)XR>nE8nTQ!Ivd$5(t1dp5ja+e)mD)5E;#fqK-!lnfkLf=qzY^r z;`PI#kEqKzgkJ}i79)Tfk(MHvlG9{^#)aJh5QV+(ynnd`O=l-)mA+x{Z@B+ozzoxW z12a}=kmSYGb2m)dWlO?kt$Db7N)^bvd_&vnQU-@>@vD(Tc;)Ym8&FEze?eY?k#Uu1 zKcLWTj9&NIob>Eo)!sip)`mX7mARgd)q{+yg4AH{xQ3uY&Zx_aKc?iwS7Oiua2%=7 zaa)Q}KZf%ttwLQ<2%cKT+c@@B-W?%8YiJ!qUMp7yuE}yv0%F8B*K{UAxh^7^7z6$1 z-8WFQ&}1sOwoA-n;jnTwpc!WzvUAZn^~^}G6n#d%!3-_;X->pc^NNk&H<$_i3(Ukv z!Ak!hFcX_2rhRq(7ns?}vGaDs-Zzd?b;BVNq8`EOf|(DygO#p0_Ti?R`b8C>{{?Gp zl2lOiXn&%+IKaSk{Qy6xU;^S=;K+lFpm2N4rnLHY`i5r4w1&3U*0wf|v}x$o-J*IXl(m+tmZWCW@}d+sE%G2oPJM=ug*?J)dPH+z}UUEvYTF zFX~^&`-pN>L1>80CN?3Ec%?xCU#s82*5lM;mJMLu!6&<7^&uQ9@sJ0t*skowPaB~K z(5vjscoJqrkS<;ACB6GZB$~Tho}NeEu$+Xz9~}PHMN&6kKFFk()G?*@vj&&yf?!n> zo!#bh+SV|1mMwzlndk4jgbqksF!=Y2hWNLcIsY*mNyykl{~I-ar`tK$I@%cb&AgbM;*J4DU4Yiia^VZj!1&MOS8K-So!R_rrzMxBKIX z+OM(-U=;PkyDufw zYTaZdR=_RlC)bD@*U=qGtSPpP=_(84=4?vC+tl%dh`u-DEWxvzv+5SwqOkgs#TkrX z?L>%s9q}r$V0lId{Um?fc?f}}i3o}%vp_wJl00QGHA4C0Npb>dhO^)?-GV!BYSz!> zIT@rxK2Yo8j`FfI=6Z>j$g6~Q)TAzRG7a+B6v9p;dQbw;bdaL$`0ZR&4T>8Mxw`br`Q&)iOJw2N0=K zqMgMqJw*F6GOj6XQX`&+^AkvvsG*MBo`(3g5evA>-=Waw=gDijVJ{X;$E&lS2`*(+ zE0`3>5?!4bh_PYCq$*V#&f5tvBs0{XvRic?A?_n_l@S|2YVa*K7+I{RpVPo_+D9Xu_1s!@x=O`Y`4YVZf6LjQTpxtYCn(&oNmL^h* z(`xcD=FZC8v!ByYZm{v9@_s=$uy-JX@NfpY4UG~>j-&y zRC;KwAea0ob}8IxC;*sFu#10Oui3LWW=1{iQ)$?>*b%02LP`ftsz~w7GapPc;hMNJ zly)t$r%E(E7oK@Hsl}Zl&F+cssVOwBa<GR3OJJhNNZK>76UF$|x~yC9nX{Fbp1ru|eDmV=vGt8NA&>)g%+G zvYv6J=F&OZ-Fag1uYTJ5KjXy}38mn^M-#*KlPK2iiud@te!%yr-u@9o)6r_;^KRP7 zbH@C7g(gbtCrJ>pHuMT()4M`Uc_6+5d2c2`l71oIklrI2bI6*i*S@8md; z&3Wn#xowX9xc=1}s~)9(OgXeqQ$HpzyfSVZW6)_^A0EF$d`1WBL#Yg-W3KhnGE)_O z=a%!9ixB%Ib{T@TjE`kl6B#a&%*c2j90=FzSNy(!8S^%2OesHE6EB(zbHM?6tpzDNT>X-z@-4|5xiu zR@Jt{T1NR@)4U=vA+aWdZ9t+2&>#O~SWG@dAcHe1gHPImM1^P(3cRwQqC-?YbWOqE zbo3pdLw)6Fj+^e^b(lZJ#3Bg#Q`V@&_9z=8%^Yt7Y-5Iw%Za1-WJkMpr6FMhPG>vU zvG*bSCdbj`tMrdg2juP#AIgJpa74EpUYfBs^nSrM_>ys`&$|L><^XuqR~LWY2(OCq zSMl$l&;qZYLBbdw;F1VVoGG;9WTA55d1z4BBVl)QOgP>k{E7gY<}VPwXOig| zMihJjr3}fwFf?CU*CJ z=?h!>U#z`jaAx1OFWl*L)KSM)$F`p&9ox2TKXJ#lZQHhO+qQl4-)Enydr#GS_lNsd z&01A!eOX`Tnrn>lQ(AI`ZFZwwimnr5j%EDRvgFSyMGe75BadLQW07LadZyJ*3gSbq zRUv=%uW?|`zXQ62OwaI>xo9Lk#~Fr zYV(kU=B0pxC~w%6^nkU#464NX7&UIAgcFqUDvv4;^Ebpca}ozi*=g#~AJ}p>KX~+x zHvjVZ>zH!~*-9&Tw#l$c+R0iGrCf$)_en7Gs_q$U$b|R#BxE7xdVp2#!eUrcJb`%@ zZ~feexo+@rzN+xi-d=>!Pra>1*c_hU`ITSj^LT{?rVl8YJJ@7W;C^JnRi>n&ZN+oCncmeh-c8qBxrM!RD2HnxFF z(^8p&xf$5(BJ!5en#g|g4|kWh^SmLjP^p*7;3-JTTOyY*mux6tF~nLXko3DHyVhk& z&@|7Z3COrLS0t1tR8*7n06dI|k0M7PaH4?mvk=LB;u)T;CLZ5jkCOA234WOT5ReO7 z2Uq7E9ArA}!q?8#mZ|W!g(1fzk072InxYjRZXw(Cn<0>yapp}XiYo*gks6#4+|DJ~ zgACj~FXW1N1XROLS(C+2{8Iay3+8U(G6Yo0BF5%~r{2rCo`ydntOMn_OS+98G}*W9 zKF_*hI}@@Qxks1EcgqVqo%v!@ad=K2GMqKTxY6_y9U>Wwd&9S8D?q8_Y?ArMX!06U z*noB$0q8**M6R((5?XAc?BIZKIT^l1SV(xb${^Yf(~i^OQ<(SMtQ^AHQI9-)9T$SA z$e{_BcAV{_IQ_DZS7fU8iQRJ-SW)VZF5wex7p+TK!klD?k({{Z;zUbgd+iMZ5%r{q z7Q{E49Je2uL4XrPj7NrtAEs0e66*pcH0?fD48O~x@DP(D-J`H7{rD@0&#?slY8wIU zAy(y%4J}#&Xdp5W#cZ#My*CLfp1`>hhX+ZIdJ8+&LfkxeHs%NEr(-7E{k5NLy;riy zI{I)6zu_o>6FA)jS^ef%L{jheXl&cFH~8cOdX81E$RxNkZIfvJkdBE0p?3`tiiwo$ zGu*Xd6Lq^w-U@j)?m4)gh#}K-{?#6Q(VUTiV$m6|HW0CS>%Y;Qkxtq4iMroUV^ts4 zF-hPd@p^qcR&uvv3^{J_eff{kJ<{2Pk<#q5f)j>Yioe5O;5Thq0uRYgiVv{XD`hh; zuiVvVPLu)Gyb&HU?+?+oPk(avP~)rg$|a-rCgWns^xqp0)q!U~=14t=0>Nq=v|x;* zi;(EL4Aoa*xkL0&N6H>vGs$#pb zV4bMtY7)8q?FPx=CNM-Nh7cyV$`Q`^8zBL}o3JLZB#kqIu=gwY9Fl>Lb8-qwROA-l zr@F#&Q{E23aBO5~Gz~*P4)^_&L_vt_wJa6!a@I6Mq?bCS8F5|6BxQt5is4?n--%{l zk<2`wBmLQz^iP`jWJJt2eWI=(J7?quOQL`Ysb>naC1~R%Skedxn+U6w;!HXYz0dBy zVTUHCgGu(P32TpPUTz7__z)GmF%^~8hiAX5UA&j5o?L}H2eUQ}Z8Q|V^fy?$9tK)- z# zAE~QBc)6Hif8pG5%k{Cjn+Eu}0OkBPh9vKi6e^j|hQvC$jf&Fv zlC>1Ky0>x8z2-em(Xrp(=t0(>Zn)%gS@cv9(%ROv8u)XKJo)l^+wG|X+Y?{fBEGks z;zItKALa3t4mP!IiR3U0t=DdYCJ+IyKr9(vXD*QODhnGoCX;i|tPtBt^cr5go+kz? zvgoNAejljNZ-wGUbWD%Ja~*wbiz5AG^P44pTl7ug0zf>>6I)lfe`U`O$juS{xkUBo zx!q6O4pgG?A`W)TpKRTG)*jtvX9v&*qUC{f%3kM$Br3cq^iZhtyPT;TXM=k7n&%4``SFN-aM`+F#^c&0tRX`8HKKqX-|E?HFKI4Y9i1ly! zTvo280g;NSMFG)k=fPfAhy0ANp-U=R`b9w^hd@@(7A9PEpSb?8(iS~( z`AC2An(A$`G0h&@jJtGO$0d;@1coA@YX7CF>mXauNeltQS*j1FQpBiY|?;e zGh|Z_fX8u1h!qS&)Cw9CduY}1ELs&Op^U+u;zI`oOZk0#6FF#S~cx zsQTc35@K>{M;ITG;t{Z{pY$TPKF8S-LA^wgUxqF=)N+Y<1t%xL(+@eumWF629P|M+ zglalIf4T4Lgbb4ZN$GP^b1bhpW{Kie=X#!5M1aT`d#%s|nHt7N-^pp9Q~&Y(Z%PD| zw_G8YZTi@-qXp&MfJTUrTmh0pX)u)($$hp}3^5J8H*x<1Dz^Np+_kY52vg9#<3!3R z)#qyHi`SDz&EyP?b&t0&J;t{Uw=yHK%dybyG(v-dS#WocYX=64G>qyOP2R;6%4O!V zu4l}aDhYm8*CdqPptStLg=%k;qkeYG4_E6!TZxE?10 zYl(S;UsKcHQ^kXMYReO5=a^;nu9BAR0gYF98#4Fj^>)wNu-3bJsBr(?a8@!UsmUO z+%F`lu!SNiff&myOa7KpggB3Bg$yDoK_K5j%@X!KJGawU6-ihkhf2RbpA6CZoN?(e zC;Hwgw3LgjuveEbek9a^J2YO!$UtufEJW*%gg-y4DK{Jm_6Yp;&9%^Byk^%%r5TwM z1b9fje|+=O;fCy33kZ2dRy)C4Gg+>GYhR$RW(mrFV=# zN_4um!6TVIm*?zKB&`2}6H2EI+;^3Nluh={WH*KBVDC4J%w*_~>cTHl)6u;u2gt zoMC>RKKQxsvgtv#JC^v3oU)k%jaUO@mcREGfgzR#K{YIK_SfVkV0#06vVEZ$n(c)g zi_Kdf+N*T(F!FZRmVi8k8li_k1?Tx5I*w2ZZFdt@(NA;S*rNi2q{S(k9 z{QT1e@(p>PvF);!g|cQV3bJGqbHJohqrN#0jNNcAsd4mOc#dAY*9;xWWg7l=3IM93 z%&&f-0vc3B*!4%Ep`@xvO5GY#$#THRHTo0PiLq%ntjmWB_9sAzrOIdTTq-oLEby5) zTD1=61E$0^e9f28l|u(fVQs9g1x&Fiy^d4HcRazCfI>+WMkmSV^u71%_spp26^C^{l!&N?!j{Br84~=Yuoee&EYwG_qA>Rt9&dQ)Arp z7GEmqRx`9xR+k?{tkMpFJZ=(W$c-Xz|0Y}5)WTT{x%E2LqMS@9^!Wv~O{3eJ{VEsl zqZK&G(L`4Lx_&J_W-C-C#54u3i=RL z;II3oZrAnTeyXI}BzO;?Ulxy8v0D;x=-`w9l| zMk~*vG0qoSb_=N5`1z?t8s~OR;Jzdl)BXhMYzWR18Yw3aRljMbm~q!v$9GY%htC}l zDL=xz+*0*rs~3G-g^r?MWB?aex?gCI*$We~;yGuJXlQ5%k>rR=DaqYUMSsqdOt%<9 zFQH_sskK4&M8s`)7Y97lMRw5bL@maR6mB3b{c!RX}EW@s~5pVqi>0{O>kf za`p9DKqdRp@Kzjjg<~i+gcclgEz=4vp9^^5MUVS3(=zkQI`3lyi?nDerVMBXr;WxG zj?7`bo8jnBS4N=rlzHJyJ%xXpL#1IRj3%c#>J>$|2W;#W2el{Y;5Dllq;(B#yFZI3 zZ5Q{#D5u4hz6J6t)FXNY!A5hHALP#c6VrBT1PA30s~g1~#ypq&PN^c6D*v@V8f|;e z*xb?@Bm{>3m3}F-gJ>ekX;n)a+C+&kqu5RGLo9ZF{eh|V z8IkYd60}&aMxMiU7(Wp@9ySuV*tA$4G%k;;)TP3`Kp;vltJY&})LN;g{Smdi^ua?} z_{@J&5VEcNmlHAXN29Lh9ROw!W6A_c(ct!OkFfo~Bgq0Im3c)Z21IiZ3q#DPP(i4W zct1u`BEzG?F!eTnn}?vGX>a&tCrw%(e=`j3#>ee*-=8n*Zd%bJdn>wou7&zb}N;*MX`2dE?vb1}CiU0u{@#o;9>UTTM1{ z7Qf=-!6-FVAv?-8(M8YKT}qnm zZSx0QB&(qN=y&(!1QR2Tl3Xyt;M@pJK>JV9sj_bcu9*gE^)BbZz{h{a5uhxz<2MdP zRg!fcT%kIj_Sh=c78`6SfF-&LZvhHTLL2WQn5A8}IeKe*bktu^XfEi9M$NS8!ju5y z4XfiNSK7B`z6`r4`!@r)k6i5$v7*#*-5YUoPy68T-+4!O{vg_kixaJt-Rh`g`@;nD zUE|P?n9!?|IU%z&m9cZqgKh`-NxA>RtB>Q(l<;+`{drdO@!WtC8x zYdPj`j==_%&D$yJRb} znkg^L`tL#{xzyk$B%Q~B5;L3uwl5sKvKZiqOpyr(5#3_9gLGn~BJSC7-lCZDKm23| zko#xj2+771y~$?c!f;PCC7KY+K}zpX2Aqj7xE*aR1vH!>Q0(c~pOUswvK`Zd;d;RW zehOM#V98}l7gNE~YxOX&Op2xk9aH7mg0d2lHx7k=&LF1e@aT5n;BoN2I49PL;hBoA zMaVEVA&s-Ih1a-@?a2A%zTz!=|7%ynMuV}rec@`i|Nrpx*#5n#^5FFRk>>m9T)%!XGG_^Zq#z7l-Z&8}~`GF z8=196KEKtqZ|$esr&@dtt_BU5&+{0W1eP>iM>j95cm!qB+*jFjc>WIrbbqN6fWHX)^J^V5?QT27M8$F$)S(@_ROA1@J$^0QbJhVr~2z+KWqUgMGwiotH}$U9$PiAuM8MihK^qdDqD~>QBZxG42(B`TmRIM>ksOHx_6a?A z$V^xyQaTLD%@uXPM9nAJj^zGDVbr%T|U*CzfsvZxN++kS$Aa8713#8VIlhz<;fZk*A zi?ysi=-(C~!#$Q5*!g}iW5R@8X$en)xb4?<^q^vH-qcKj{F4+hy5QkzMF)Tx-0(B# z{<~^DbA92WrAd*x#|uWNG8FOxbD2uJ6~Cp&c!?sG(p=e>s&`$?>1ncf6MYRiZ5cPL zVM3t?4HBpQg=^V0MHUq{2DT2K9fn7(BxN%3_%-wFu>G z4^%`H*tk1J9ohBXSIbm+NYdd(JGM@XGzbFG^9Re=(8fglV(abl=EshOhFzQMFfgZ5 z>M1Z_G(}X->fN&+Z0NMibwv#m?eu=v#G`cQU<6x*Xqrr-swgqs5zVM65%2De_+;xB zz&roNpjV7RhnYP+l`&@l=j;I$UJ8|2)=6t)dfIDncSH;9NgswJunU!L?Kl3BfEQcS zYh$irDd-1tpr(nlZ4v`*bwgLq#!QW%^3SX$gYq zq1{Dv6W^wLupp>zQP**}mQ3E+mM%`>+Q>l->p3yZPmb#_0cLr75K5w;pPt#L1a>!G z2=+24CE$p7mB*;)4V4NMLDiKi2%FIKG}0Drkj!d15KyM;&+HEL3yeRM8Zg_r-a_>@ z?TvDOq0?K-N*uC=C4KGHJo%;M-o=kD*3G*>x~u4BbE?F#1roupGY-L%tEEc z%OE6aEQEFV-@~c+I2Q2Cb3NdecfODrY%ukSefl`1EgZeqQS~|`%R_&a%x&#&+{RQe zi8a-IvTgL)y8oVs=AFdRMc8Bd49j4_>l6_LlO=Bwv<|ydiV-V`fNqUpmsXUNDvWG5 zs8L|7B?tZd5ul$UA=|t#_L4OAy)FHHwp~)8vRiEol^6wJOcYg<#$Hd~%vvoFFiTyt zgPQ5M>(~NWptSJx@eYL?*@u0gnH)S}VE?exVkQfU^(!!U2^!lZEC5bY48>TMWVEzz_t zYvkULMq1Q|Y~*Q7s%7gP{fvp~U0p^Dg-LM6k=i6DT#@K(0E-AQ-|e1|a^#7=W8xE& zSboJA{ucj}Fc>pK)m(wZs=hixiXsp0DyeR}ys*o53ABFLafMKQo`fgL=(K#Q_BZZv z5D{T&PlLtEmP~yCylJ#95%cU%!u(zuE`x&j^}T{hi}A@d3v!+Lo7n0Bl{pN(S>jg4 za$dfuSu<^p6!`}!>Gy5l-XW_Q1{1CBA0Zp3S_8JEo<*EkAR?`#P-*Y75A-$qS77mI z$pG^Os)9`7*+4a_@#{UARuAvH@({;<{%vA};pMeDN8=$=5^n!dNe%x}NsRzYk`5m% z360>%mi|MDwV@Ch4~XliV4SAezCy!=SVj|3c@1iAT8K6M9d-bL&D!e^lY=|o+{>H_ z5w}`{tEK@J{BCmZtX&$=g>6MJiEFTHL55-jSA0}hmE~rOb|DS(5ZY_+(muz6r<$gX zKC9vjtKu1gVz~rnVK5r0Ztkasp$?+p7by(fnqV+YW{2Gnj7af>X0?-@S#9#5~*bvOwAO4+qu!XeoDS*6#yai)K z!Zxufb*NC!5nt@EK1xc_haz$xSKeLxET>lk@ic@50&y5fH?xueQ*@+>k_9G&NZFFI zLYPg#{-!0rM(PBgH52oo5+!>pHnS2l9o?aX0$Lh!uQ6wN+%(n4`GnRSClxQLGzQbB z204ItOwbsVv{Fo^>|3C!~}Y<3IaurSEEENw&1k(i=buM^1OexYEa(Dm~MPx3E~ zn%nYlhw4>-p>s^f)}@idmtLm61}sYyuw3Uy%Juy_!yvP$mZAX==zBXVi6O1erX7Xh z?vV68DLcBN6XfADzrUji>8BDiIaNU|We?MPTo@;k!vzb21G7OUw48Xv7~N>40e?~K z4pwZgdOnux+$*k={Gw-dUIsw40rQ58*n3be27kW*Y0qIBQ-J^hmK7?-_Uy&tWBwEi zJle|DI17(7EJX%~G#K4s6|r}pZ39L`Bb7~_qujveYP{2SuaCgigA(i9jfJY)@RK>+ zxUcYwT|kIBHi`JY0hW_I4T5=rdNyY@&Un_b6D@%_yUO#mQ?UdBV-K1m*ea4QzC?F7 zNOSR-lF%;~#n?l73rxy*b^4=JL)6t7Yu}m5u>yaT14L-Ms{ze(c3B|QE zE)Bldj>ncW5g+9snI@_8GF6XMEuNr)-YGpgNlj7mJ+3Q4(1FAre%<4Es1G$UP9$~cT<}&YvA!S zgeF*k=bq*|YNTaCmfE6%9nHRp;yAn4h-SN$U^+)gzntBttjsy@NrXW*D30H3nX{AZ zNLzF~j;K|NaYcCjYPO=MvWP`+K+~{^0i`MBx^9WIzAM_yGN0ScjU51N7PT&DBHg5hAMEO}t`&#y=$v&( zg~g+d?d#?SsV;pBtLw^g;5TrE6C$m3&{$n7W8}@k`xkAHvcy<-QS)Ph)t3uw^ROBb z^l=(%=X;&uF1i-yQ=C`Kxy8vb+%r`^h}PV;%*l8ZG~ehLN?|-IO1l)@A%2F0eOGqz zF15oOQ(V=|c|H0{${q;~<2Df8hsj?f3W4w(SeaCH1xW@*V|fM#zA_ZtXhtZ<&&+FB zAP;O|t+k2MoECZI#}w};Uf+>$NZ8Dc2l{MeKa3gNi5?_8pl1-79;w+tI%9~JU~|_G4N}wod{7VqWz6vS4Bbrs&v4BIQycy%9=YNrOtz zu*8tgf`(AcWcX;P1{2bWMe9O%D*rV?_eW(e>-0l17}HQGxKg z5|(F6;j}K{)$aj1x=QoH#e{2f+EY;8T4f zotj&+0}vLeZc#K?I|{M0PvTrTDgS*XJ0N)X+R{Bx?M2o?eUqxf23@+uLy?0`;cJzw zo14xRIXGz-Ka>?CC4W2D40GIVWtz<;%DxzQTzle9{%t>sx773|vwcIDiaolNLqn4< z&7g5Ng%lr$=>4%P_lR(Qx%bW^65a^0=9u>~p-IX=>@hOnR(g(LO)hVDd{Xe3?NCUC z1>LMfqAr%;yc;K{x)fOBe>1*6>YQ_iPazjE;}rgZk#P?y z&m~U1OLN)_WoWlNBE)T^jFEpLayTcSDN*X4V+gXKT0vSf)lTPt$8cw{cfx*k>KQh3 zOD}}y|5q#M_{C&wdN50iwx{{!N8Qn&ZY^#X@e7egiFEh=i-NmSX2j%aev?vW@aes3 zlPC}UIPK<6+6DDbfYy|Y?K^#C7^XC^jl(uwd9{aNVhi=Pue>9U5gp7~=m5bW7!0Ye zHAx4r!Er)5HhnVhDe{n9*$kf`V^zf#-8%#sxQr6=$fX!?R2PwQey? zWLu-DZng|Rsn?ff2_v+LUMU?ml>_vfWxkCM7-_nM8bU5uU88$WPH+Fs#$3r$|r zNMNWBF#Xcn9(gb9YuU61B=#&l;VSML)hB;EdlZ?KEk%O)EFO@f6eAz*DTLHciP@Hz z*1y_@fUkm`I&{yxijkgC*ol&!om9Kq#8VPmWfNW~h>_dn2iv-uo#7tqKIqDpbPfsP z$rubRGKp2##p9)%A}V5F%d77{ERNq^O{(uz+@L(ejgQYArhpmo9^mZM{nqwYRgG7S z6TIw(rCKI1%9|Umyvj79)`~Nvjv;OrcanX`Ze|B#2dh~1Ga4J8KRiI$L)lyNrY$6) zv8&@sUr9jQQ{>37*fL5O88?7GR+h9=!%H~tTZ>yVEp~Z`GutPlzJ`-|SzEILHXcT| zo`W@W+VGmnCWP6!2)YDT1BlIH2q~mTRB7&q#A4;*gxN+756`&gCT}AiA|BRkkQhR5 zN*ILP4qYhTV9nN?&0m7r@GDxSF6*NU9|l? z@y?A{?e1{XvM#ed?xwjP^pidRK3vmT?*5us#Ov;V$$cvM_+hos>C1WFd$iCQ+Io+- zrS%?oH0|Z*@gmQb^@$#MS9sm_0pnTD6UuYK)1Ufc4^;NzMSltHDeWY(yH6DC_y{3e z&_7Hl-jRD>+;Mt$-jRBL%t_V1nBV;6cE=M8`jXjC_@dqCeBT+e zdHngy`p7z@@xHN7_T5r)@l)9TRJacN-L$;x*NO`NED07(`Pvnk+eW`Z37q5zhi1+% z)*a)zGl11$1VRZL$ctpWxO~R zor~d{CJwxv2x}t<3MEWNFmHqr3h}M}X*aY?G&b#^iT9G*O}T6HujMy9Him_PQJXu? zN_s?kPF-t4&b9+mK(TNSmFaL`yPY$vTa_JY>|e9buK7`rmz#Mrc#*P79a$}=)3uYemS^4ty044B+Y81BZqZTidd7K z4asfmEyAAq<)lhjunksh(p+W;w*JrB3sW*CF}jVU2q+guYHwd|v@tg-XETaoXqudsoTn-Ck`QJSs?oKv5oE6;m8 zY*n@KXylq3%LPUY$MgO9Fw6b<{qc%I7Bx`@IHECLihjvtYv^m4(Xf;%M$aF=ixPJ^LtMh z(ly+^na~?Pax}Q3XcQItUnmUbSUe{^)M_>gv)fpPs))@oQro2bAH4 zdm779RJvE}#t;LHiCoGg_|GUc=@Q9jJe9>2Sn|tW-1>4Dj1PwIBjf7S(#F3UHFZ!!lVE%xfW`=@2qGIt1J zH3xHcV1Vp8)u;Z|tBsU0uB>SkJvo3B!E~PxF}`(YaG8iHqShjcDW<4G6;e=_)fG@!mI=tkhnHz2mDJVFM3)G- z34FdAL4m@DxdnH53^6$A*G=>PxF}RS>t=FILkiOxqsPrETnfb0ib!OnHfMU+wb=bO zK@T@04)9~yjjlW06ndF#KarSGceNaS?2a{5`&3oA0>40U{Ru5ANJSj5`0Sg|VdXQk zt9_=B;`%l&MLf4_ZA-C@>y;{RdVX!~KoO1W)hgdyHHha(fx|Uoxj0)qU{J%@K^1T9 zSU_5ccK!E-UR|`KM`ywOEhvdgaN#W}i7R|J+&E}inr;-Bkn|qcaDz?%ijjc9Luxds zUw-|a-VI@VK)mk^MIc9OR9MgPN5C!ltb;vXY zwqRRnmQzL4P`eGqKgehgh>NRAlYcrtFe$w#?!pR%^DvmbB_r(8USWCVCc4i~kNX8e z4Ql0!W~UphF=tgS9*dhML!AeO%w6VrCg%HaKf^zr!NVpNyFt;}!aMAALR8GW2bm*B zN4bt%f(#2!$4@Nt9m_WN!z2c{Cq_)ufDY1!<=u@14$lo0IwTjxq`8|lgss8s;fBTwb+>af#mCT=eRG6#N%G!9_EZv;DJZkuo&-IWAF1 z4O-`aL#!q+=P61VMD<7Cuc$AFgp8!Z9YtC+o}^E&i0ltoAP{!1Cdi%U%0mz<6@JO37*dQSfZ z2F`(*A6nK7FgQfk^Uh#vfSP)Td$!O(${g8as>*yu%DpprU5JdyE`uG;a3kuhE|&#l zIb}PZ+x43QeF*4e;kmPT)_is05T+rcBTZ<(_IipFGZ0q^7+Kv_xN;tODuy*NywU10 zJX}04-rF2=t=YzOEX8{)+@p*HYSf+}m7`u_XjE6~w63OL_AlP%P!*l`EKGH8E2a4G z?pfz#o+$YH__qkZI7l@?L$0`3nGnaGmnmtLuo`L(W{%g|%&yvIoGJ@Xh!r;d%P>&gQCyP0jtGd38HwMQi@wE`w6(yk8LO#@DaRHp--q&h z09i0iucmeMqh*vkbG+RTipCTru@M zeMXGm%(d}QK*Z-PFy{zpiJwcxR&$a{_%rG@j6x9R_Y2lP2<`V|eDIks%)aRVnrFuQ zA3q#JU2`E_dj}C+dy{`WcKEF=EdEOst7K~E{BO`!SzTFu5ar__3u^}*l;sypaJ6rB z)Hj4dTgV+f9|9IsyKqBD+mt7KsXq--$j4jiGwL%$mN5-3N8+Dq=qY53og#>;&?zX8QGvCdM+_A0Njz+=RT|FH(6x*nA@~r@_`k^?~D|jut~C zG^y$}&FA}OIZ*3MabKwoV#6fVsf&iO(UM9m0TvAg_QEXAhW64dkL$oKK~63EU07O< z>jEqu+ucH|H;F74l6a9Ldcq7bn*RIN?EQgjPe-1)94ds zoMR!N!xb`|@=}-gv)t)W)i)=L8TppBB&;#)1Y6jsE?P~Rs_y0_tgB4T5L{qKlI{-V zb;)Qghp7k zLMus`^(pywZGCm3@!8P}ft|Jt*d8eBlb#F3vd9^RfHs@ZV?4ewFw zWk*HTm$}eP!b0?+H1*fM06}`(79*4D)i~zhvB6z+n24~B4b>yE%m0RMgvHvhIQS8< zG{IpdkbC!1^5+uhP$s80Lkb3NKnOpqRWI)4Auc{8ISJ0cDYgu5X&GLQ0Yihw89dZ4 zisT&>P2!gDy;+A#%U{rZeUDU&Od6+SXJ|5!+U&SNbBMHW?5ParV5Hb%cEpXkK0f%^ z-d2?`B0IHQkr0XFBE^R9eN#XG zydFJQ>baY%!5)N$Cd0Tsh9;wfysEhtiWBeG*H@Lttp$Ql}sqSB$f!7M#uQ0+A zb7|{dwgcUs)1Mf9$|g^sFZ(9MZ)nTIpR`*~KPUFPCI+vlemH?Q@(h@YFA?Y4_0n#A zVB&(vQz0&4tbF*nss~HEx`$|ue5fk<(7n1B6&whmGKu-P0^^NmJVmZUrk3ex{l~d;;Dx3qBd| zKEJ5^8G|I(hk$ffTYP4 zR{hh7*qvn8FEFLM(JSx&luA*OfSOSJn=0<2nl>=ny=BLG6Qa-%kByqSHyClku}768 z4GqdTpCS!fu-^+lqCP=7M^4A-xd+0%{F^!opai^1@w>YMbeA&ZmE!j~NSpX?`idZ0 z>kwNx)LrI=-*QR1PMJv*QkQy_6J#tIvT^5QWU&0ujQQ4$_=uBaQXwRZ^7;7Qxt#yl zgM8v`I{?a@q=X-!`Ur`=+4|Cw3IkZ#oEVA$fRo8nsmt8PF!moCmNSP4pN z)bvG-?Y0Ao8}kZCHPXq#RqpNt^NK~`(#6(X=Ec@VAi(+-xUqfRHoEI_nKjspJ-$B~ z+C12Ks9sm;9vor0m-#_cEb&|w#3t>{CcVr!p@v0PR*szUMr-SkD-+Q%xgxAs)~=z% z8dBaKhKE+x-V^PPt+HTLtd2PIM9rc6)Ot`YY<{f^li-aqBRYy7XbsxQr0+n0mz|4Uu{KgxrzqWa5l z?ca5^qNqF)FS-X86r%x1&jt8*AyG&pMAXJ_xMZ@Se<6x&YDd%6rrm>FfClwGT+ zxPXfkv>*7Rm9^b|Ht00%?xSw+?awWTkDYitAZ1&I$P_gQn0I7M2Kqw;c)e6gOl77j zi&uWU_YttH$@)X6mW3s^9F^G6?Rtx54f`jC-Q@wsNfn+%Psec1?W}8D8@u=44Xw}< zwk_%R#4RaQr8^8mKQ;4$}zML6a<2IBiH8OI})Upt2E0{+jGdJV@#$9UFHl4Do4Kgd&<`Z)1SM zFBx>J{ob??+ovK81n|?CaP(gJ_Ym{D>jAxLNp5=UxEF|ni@G`R=v;MJ(?XW$4MwHz zwhRr$u<84DgYZkXU9f3og7iUCF^?81Hnt|{kiQ$=i!tn#`s%h#78WLwB|UI2ak)g# z%|4h4%bRvO+$`s`iq1#r6?ee4WBcLQ-?f%ALbBfU96KgiJ&&@ z;8PuO=RbnB2K;2lO?vFPb^|)v|0Bb@0*gXZisXtt>vpGQBve+B>(l zN}($mJ`(WbxKfp$l>eoqoI%Frsr)LMrT>pe^#4iU{*TUs|4u*u7q9UjDmTOb)@bsg zdu~{*#?SmjF8f&|7)~yz(ksY^C1JAD4-PK~0H#!=G8nXqKja3#Q8bD4bORrR5jK(+ z3hIbemwLxIC%N%1$0j~nJ6=F_u&nKew(^6O+4E#ss*QG-3Dgra!X6-n4BvyIte$vq zdNkx+CwSK^IlHq>TEmc2JE+$P5k%^7{~jNy1o**A@*Jt`C@c*|7{0DoT>2}mB4}ZY zvesdCEZX}VrK+7VwrCP2IpGntl`=^SNUKy_aV#u81nUde-y;;EfX$p%5zQi5m2oC- zA#p2_5EF{@qI`{+zI;`r#%nZforF}9uJGfmGW#lLKMSjwq$-pjlXzxhaHIunyW-Y= zSW?W-NjX#S;I<6+lZ)|D2XCjJ@2PoWFHIO1KWL>q4XKO82&0nddIE?ezi<3%xNx?H zOnpQQ(+uT36qSN8e~UE8%3u<)^cfUxs{xW^FwTolfuWI)T_w%yV6fxfdVDu({=NtX zzzyQ**5Rg8UneW@?0pKIdrs;vXdt^c1%*}|*VQ6LtLnOpTXtq)1hSN3T`r4bU=Rv9 zS}I(~2MCd1q1?M6g{tV4lJ-WR{9S-+&tYI{yky-eEvB=t+{-wWl-dhNr z`y#_u{vY({|LKzPAIY%)?UM1;X8n7=D7(4K?_+p&XiSLC&d#99!{7^4Sf;SRR97XS zK<6N@gdp1r7UIt6L*Bx;f2nUTKRhSh+%{-w(}4$Mf8(DTLwr4%ws3jWY^^cwxlel!o8AG^ zn}hAI&$nQ>++CRvqu0N14<-o#00lU2VMRc}PN=8Ct`=TL-?=Vc$JqI2sel@G35(@I5J#^bNh6>~R42Qu>BLJII(sHn@02EPV4FLlj?OL zrUXoM5n{$^&43K-kpZM+lR{6Or?u_8jeK~-v_I<#QSSEP%#+4BZSkb>9||owwr$(CZQHhO+qUgwqL+hub?>cu_q?k83s&u3z5449x&1-@X}0c^4+Xx3UBPwXR;ARW)>b(R)b5L6doFQiWO&||6!FFp`@qY~n$D*O%M*_F5( z5`X_i^ zceD`f=fG33m&7KY`mtQ^D~{el%#xY>OK}vo!8BkY7U)8p_>|mjzr-+}zm7gV{rp^p zIvcp}*;>+gAyE86lq9P05pV($8Pg?fb4XdA?rcEBC8iJl4b7cwS|K@W`bcDLpALZ=A+8NKf!upH4-DMf7Y-6S)Z z0TL~eiHfW&s|lAA$J&c^R}AQcG%n>^=!;<($rzggDmiEP$#O6o`i05wbeH!xDon?6QJ?96W#`?pxUrAqsS48cW_oKqC#8quKn}hIUur zhLF63)0Nrd1&Qu{c-Er$-U@-q7OybcsHrWSiY5)ZWZ4i$Iw((=-V?6N1p)(lsfbFq&kHlD)wlp zUTR)5dM^>nYW8kA6_qNxgSA5C$}L!9dDK%&kyjbKw*PcbVJ`1sJ1<26L6y7)j(acL zj%w@ZF0RV5OTkJ&b4+d^pGyaYlJmcfV~3xO&C(DGuE|_re);*x4~_0P$sj<=2Alw2B8VAaQ1yrOBNv6>i@l@Ks4MAB{FP1DS%#gi-M-W7Uu z1QXplJP>!5r;e8q9TVmePB@Fo<<3wLAiEQ1Wr~E?5U6W1H>?01IZ-7|p5GZ7N61Oy zwjoL%=A8xv2*;;())`)9k(fY)&}Pt=lp;gJ8a=?NoWKxYQ#~o#zC3gosF8;jHNTs7 z6dhjrmk3P@XG?zg;$NUG8RYc+G)@-e?qt*QCSRN*T%Ap46|27IOsqGv28|gXwf z@*+JGQBxn2nUWpEzqEHS?yGFD1|n`xKbJ{ zni)rh8z2bNiq2#Hi}aK-Cxs1k+yIVCTtCuHTkLMk8+=zx;oLyN5wRk8)>VQh-Pi8?TZ%cNcYVp}ZDf+F%4^x_G?2DyGmJ*+2|eul6$ z+lo`UIxXT2h;!+BgnI>=h7GQ*aiQd4j>2Iyjc9chT~(jD6#7CrXUu_aw65e7XZ3#A zgg;5^D9tN`GX`db9e1V;BU_g+uD`Ou;7y@jRhr56a_PhGFS_<;4>jCe(os9pD_`&x zXORr(s`_#o%w~vN6|Xh*4%GBE?1Kc2)vakX6M(hGFb=#PNlh1gDocAN z`M34b^4K^3z(#4iAC$tA>BVNq24&!YmNf$^DgbNa!{l%1btI{87X^~Ldk)FHo4MMx z2qf!I$QKJ%(G#1W>FI7ECba-<-!9zZ)B#f3-+PM`yH`O;;(IZg?21nSxx^W!Wi|YKU%u3{rMK7@}xin{gID0 zF>Py%To1q@I3wP)j&~*f?5Ge=t+7Y+{Q_8X*d>6|jLafPPccU5uW4=K@DU%yx6~6y zJ1>HCi~P59?Xk;Q1tY@CbY}9#=0*`R)|2JLfozaQzx7e2b%{ylgon5J*9xJ~oS|5r zA!`&HqjH<&%In>=!#5ZT-66BghJVXJiVXQ0fug;UMc~WZqY@XSwYHVAyxbIgTBdg0 zX7&Q%JG_>QL6RiJuVa?4(k^%aXiMATHP7QsNzSjuZzTF#Q3R7h#Aj2 zV0gH8oECzY5k5rbXP;J4&bxsdX=%c;lg{?yBksu=xEwr`S{QcVSv|LBB>5uVa{I35 zlIB)g$`SGeR!GuIgwoaI zv7ymf1vvU?wEK#UB`#B&MZPeA)G?&D5`bKe^DDoHx*$Fj)tT{oKWJhVDm)6*3gWWh z&`cWGDUWe>FBhA#KiY+^JMn=_s4;lwlV+$3xnBBKm9tFva-{-c!`aE0* z8*74#v%nJ)+)7z-Ji9v`zjj1ET^$y`=A?3Vd5^4d1~Oia zRx(!YoTi2QgF7-6S58n-f|OLWhFCEu*6R#W8V0M3LD#TVgRiRqGi zRoI1l3<8VI1&?LT4u6#bPi@+IghccQ^DyC=nP%CUtnB&zxP|Bii7eFJ)kl1{73-$C zXl;k1s1|!|Zv-uJ5)i=;BBD7bJ8vDzr3zCDULF(b?tehBPI+J`64Lw2f*#+Xymst8 zg>uNu!WY`yPsy}C1eI*{CKTK~xgFpUcgY#RzRy{la3(f^y3lkKZ+qfeMnKeLa6iuJ zLfsa_yQEXg89azw6TQ|gfr05_rO`@=a_#2d4K2lP%{Ei9sR{44pr-9?NvngnS^cIw zGy&%z6Is3PnF=3HMN#6)2*PuLYdCE-J=ftw`-9L8~uQoJzM^|@_fWZ__SZE~F3!eBM3_N&@_`{0^Lst%& z6nM$_DWY$h$E6f<$;wq_N?4gyiCG0%b+*Y-tNE=lX#dM5uaiWSPh__o=n_G3IL?rm zkpU?y5DzY951`$*7xJu-I86VPq$6Q@_QH0nq9}V2p}rLFF}ch$LLTGh8}bQ+@yO^K ztyH0nB^0JJWVkl^)#1>z#`3pR>~yVPHB+M)*(MlGdpoF-n^@i=FMrD7WcKU}y;!Yi zKY{xiVs-5}Gx>oN`9Yv4`BZB(5^IydxGNFy$Fjhx**X)S#20T)^mZe?po-?Sa-n&e zrlC@MQM40L|D%%;47nNNy(#5FtE17EMP&NO*Cc zx3Fb19R$^&2m|M&=Un2z0>jNi(t>qKWM>Ync$H|jWatOzTTvOTp~y>rA*F{Cdj2`W zD>b1wnf+*44gXi*hxtF1_P>B1hab;iAy)$<+kcn`|7(;_N|5?TF$eEBCA3Pxz}T4y zyqUHYNk_=Z3Sg9_=zFLOV&GEkn*cWt>B*)#DQ3>oyp>y6=`w3bYVeDS5KGIln} zb~EXGzj%qs0f??$5yaWBD9u|K- zz@#mVf0KYbr4fpJP%Lll@fnuII(13xp-U9+q>c|0m64(l@F*qZ<~S&0^lnp|D4{oC z#XM((eFKRpCWv&5H%$sc>QjoFP(y`nY)3XDX=49E4~xizj^8ICm~ge6`xey$rvO%F zHd1tHXThx+Ccv8vso&b_(W9EGqnQ`Y6kSj(;lDvjIMG9~z{RxH;(WXX?|_#1ZgB|C zqJ$~nKcYvF2=NZ$ofnbneB-E|vam`l=rd@Ca%#tVREXrSH#bbsRnIu=@)y9X#eM7! z0J)^hoH=AyEqP*AHoZd773>SS9ox7B~WaI#iIi~10=E{ra6BE@yWCcE-p5 zK!sijvS?9nzfV2Grc=&8iU4#_cWJQ{O{#h{adqfU8NbRStN)nRMKX5J@7CNYvFljP zigyd2SirC+)Fd$Jq|80tzk#Z)RzElc?vy^TK(nXV%)c22EZ<21bqbwm7|mJHw{7j( z+_&7nZG7Ma-0VKxw<_T7B#mg*Tjx!?K<&JQT3;tgy_|IloZMg}B6cs|zrb|o;LW;~ zczXWHq1nd^-Rm2IduR=C0dZ~VgS(3X`l#hYYEwwQLNIZ^M4h)9TwZj+EYx4NCixa7TH1ym zzm9G*JpQ#D|E$YtdgV_<# z0h-c~-S_e6Us(?ciYzPxzCvmQh!FWW)(R*$GXG-!b;&K=7PBsGe&|!k8tEvlvup@j~#P6^W0cuKtu+mAZ-CW09 z*;;Nvdbw|&vq>GKC?N%h)W-Pvq+RYNI>^3Z69K{z-c~W?C4ECNj@m*NB!AM_a1GcI z##{}=7OZ}&0qQ$dqKAe9@6h&ZWieWmK77MyQrxLMsB)Wd>9@M`~xE zi3mrT-^a(HnYL`r`KJqn8^5msQpzvn;{?f2WJ0a=Q~`hoQV<=mY1{BSLW-*f&7nHiiq3N zq$3NP!fpQu5+(Lla?!kNNmhjtcPMo=N*MymwP-&K+^JF^M-j`QWf?mKG1VGUEkX`{ zDWlY;2IF$IWWn`fj-7%aIIUmkB4G!U%$d9Y{sk^NV$^S5 z|8DV{Kn-cf$vd;`j;y17U{#D_#F)>ik?~OFI7C-q{?CkyemXEzD-Y*t%xtp|=r1j( z6Jo?XtEaibP{sHwN8^-oMy&8k3poTjCG4QK0^OCpKZut?6I}rYX34$siyjz143eWVtXMogl&dVqepkxX`jWDmIlka{E7KA0{tf@r-jUkwh zS0`2bta+c&S!-KpCIlS@W(D&t49l;J=+t5h=EE;jyEm&M6g)O^9|so|GLlM=1oK-4 zSyW5hLb0@B!jA-92{fvbD)=D=xd{u$ixNnr(ia(in!;M!a;n;f-i&fC_+p^O<*-2- z$3k@gzQCTMaF0XeXx18@C<-)zutFynLNrylxRm8Ov{YgfiI#{C%NZ(v*;);n56PCq z%h^Zan9LlvVn*Aj+dOg>T-u|;-?V9&lXjEx>6ycJ=k)2B<96rv>6xQ;=iup?llEuB zES*uOE6FUKNvA8Sgysk?>%!b~rCZSA}45t0(-MhbnJO2|ff^e@)m>coQUE#uU2=NW4`t!_h>tc%#pTMeRJG zHCrqLfQR^dTqDP77JiZSjwqr<0NeB)yh>&5(7#!Ej~M3Plsv(*BXch?v1t5m zwBhCNDc(8#P)P6*&dC*EeADutIm}rIAhEb)Izw?!Dk}#wVBKz>TDMVJhD;7a2_qfh zhELk~aP^RIu%pVRXtp<}%WtX*wJl`r#yv%77Su)!*3LhXY!9<$e)IYQp$I;BG9!^W zAP@Z*v02J(Lo!`V6~^t55|Gq^O`@#gg={-ToC1zu366(vY3%@@fDP%DZ2)Ht3?PBq z?<4s}>>f>U3m5At)H(a0Oz@fN@l$tTM@b+R`|V!8LA}rcf0qg;`8Sc9?oHq{-e;o6 z;5;LaSn@BLS3E=4nE&Go8*Pq$y-f63Y=M#(2~PgIBs)Lc`3G16&puCnKEs>LhsmPj zK9~=}&EP@J2d2310cs$L&!i8-+sy}Df(TutY-$?RJPx@9o6$Ybn-05x70;eeK{cE7 zmfpQ!HT|0c8;?<2iAL79!M(``+q{I=*aY+1i!I8ZtTJe{f zIz%zT$R+x`<(603Y7LkoR!mE&@l=QB69&{=Ly?@cO7C#&snEPA9-6;ZndthP*?OpI zitsOKjJ4RhDsGy{)@Ew+un>8(O`6aaN~?DPE2}v4_WJRI#~8CV>2qe3{FG{*udWma zQh46b23oTB6vGa&Q4z=LhJc2pC+2df_VG-z$6Mw<8B~-Gb{i=4`~gHDyC1S1^a-!` zQDLvBN~1;~<3;%sqvt@B@J`qYB97LPmQrOBG)~{8Bwu9ry~hQNQEHg2l}z1$R!qNH zf(qXqvs$yE@Y)isVw#3C3NDtCy7#MBz1r|wEV^tqI*Fam#hDkOS;!p?Vq;@2PlWTT z8^jp^B})!fQ%ySF5zYe|hV|skyS>=-aaQ9kwWOXk{P|W_-z7hoB7 z%)$#DhX^B@zMC5H6Ko5_+w0Q39yIhH#cf(NqH=a`wZqNPsGE}W8J2aAnk zmBb`HB@_@-M3Vi~i?*f22&;14f zaYKH7o(TbtV?cZeuD93 z?)c*tDV_n?sXgh`rbt6-c^BUece!!v04v7csLK1ef46iwn_$oppM|G5>6BX2!DvR; zXr?>WFuU%Co}#3IUg%O|GQX>il*}B1t49(nt?wH+m#6Qq#gvCKyqCPM&6Hp}9*X1N zQAY%rBfm^R;qrxXB`Mv&tB&^?lSkx3MPyS&=8HJfs}JcMnNsGhG=*Ip*scyC-BT&g zeyhwWa0X=Wi9KS=6vMe;ex{WyjBqNfT>+_9$K9WSJqozqu(ryAT>;sou-E=cnzaVm zfM9V4w>}6cr?8#I1-%q7*>ad>UtNC=0PqsbLdOrEr!|FpcF&DzF{8Z-FurcaS?GTT zcUIroy<+VXR2X}W{CoDeif}HX-MRGr$&T}T`Rwj2;*RVy64KE<|4`w6aXb-LzaX%V z;^PyYulN2+x;L=S?1*N9MRC=cwp!NMhN?nQ_(nllP5UhMV@nINz+t{M8Pb&-W*>yn zAFZD?!W5A7zeW2cd*#RH?6Ktqq`CkxJEs zcE!udYq@FTiY_#lT`wS^Y~yFqZ4jRXsgWrwzwCVP6F!f(Z6Lg2M$0JzQc{ zHqMBE1<3A|?;n_llFvMK3qi9@uRx+8$U>hHN4 zbxqt$4=6S37H?#47bcvkyn?iwZg+3Z#+4n0_(Mw9^?c-mc%2verPUYnu&u{nF_*c> z&T$Xbeq943doyAut5p=2bkK!qc}_M9TC}Qb(yv3<>ZU<_ManSa>pr9 zGk*jX24P%VCMR-wq+3~jEhz83#Q}U!e;MPVV)k|jleXErvHIwGAg`^{1l2h6{{{^s z&bg{%Y>{Ae5ij7hAd=^iN@y>gw!3xb5ZZ%Z4a@Jlx{m@I_t*AR3$MLQazY$OtCDA} z&^s8%OFEpn6|?7tCYU= zi;cSevIE!nGgEjE0t>GXNT=oOr30I{$`y(7ODfyv*AAakB&Y4Qj_$L>-y|>Wl2U^p zPJQCbqcpJlmg;rF-9_A=H`yx6m7|AGch>F8e0b!2(Dwmm;LQ&#%juM=-3F&t76V$ZF4HbB#u>#`f;Ygk@H-GM%=hB=$2Z z!@QXBmw7afOi4we;5+DoZrnl88E}f1Nc;R90M>O8iXLD8DIuNI*O*6A4nzsy2IWr- z!ix=^OQeku&YT5+tgmq3M{;HL51+^y9|852*BlEGF{Dnk1FEb~)~cz+AwiW&MjSBu zJ>G9y^#mXNN7}!G!|wG~l|U{|$zjgP5`k%(+GcR-DjmkS$s8kTO)f+1UWMuQ@21El`-LDVq!K zn%`MhJ*A~uHkl7)Cr(zNoQd$ZX0m5M-IfYs2zyt2hNul*HY)cm_(QZs8u`9=C)}fV+NuDwIFv zdWT~AyOUa#!;V@wIAwRLm&3R4)(|{(4To=oOl45 zy6Y5$;tDC-en4b$(=KMpRyo6-v1nX-U~h8U&W+%-nM+dj$T~T33^>tRzjlkUzU!=U zY{JFuj6J55fso}|`c2p+>b4l@PUag22uos*d%oCk1eT-Xx@6pXlbez zv#VylJ91kg$X~^KpuwWWqfVxpmqsv;l1Vv(b@_Dsb0=>vX&w2l22!as%Y}o!KAi}& zGe*w7NqKHjb#0CeM7c=IU(c?Hq6SDFf)>gh&e6wu=5L$))8_WC@U}D2m7m)cQhd#N zDbzir5yBK#oJ@wYh@dJG)Z&Oyxgyuz3Q=l-WC7ZWBCArW0A&4#9c4UAZ$(lyTW(gw zoYAii(_~sQ>$YCjsFZQhI! zy8w^XjELg`*6v0QO5?cbl~>-W8dXVAv5`cjt_53#;9R1~*L}aBc*Im$a$g^A%{uPA zsL3hceJASaP+m1u+T3~n@VhqjZFrr9$w4=vsTRU=X^|}J_HAj~nn4Vo`sg}2+Po&! zHAB-Cn}Fd|fUK=o00#wUcT;eWC%Sn(9S_c0Y=gHLwdiY|1T)X7*iM~NYIdJd&Z3}f z-A%E8I7v8VPxM*jf-QZdRG3|Nr5>p)c7%Q%qLC;dufc9y=!BI$W8h#Z4=J^X0cokg z2xcyO)O0UP_v-LYGoLj{si+xOB;f=c{bijL5`;1(?0%f5gwOT-^a8dV`ZP#`dYF!V zN_<8WLP+|Mq65>k-a)X>`abcd0E+98RclcJs&30w*& zZ;W$@dt~CWV<4~NZ2vm>)W;n&SGv9M#J2)cup``meTimV0B2mljp9oF%q%^?Co0OP z5bC?g?3M1XyzpD@7BD8uz<5jRX{6(6WaB9^s4M%H-U3E7k&vW+Kf9vsS({E~U=qXY zAypEbiMEimy$UzyLc9OInsjqkl`1}FabE^revrpmeb?hr2sp%({pfR2$Z16f_PIE! z<(yqG6ap9H2GA0xMwi8@c_)(U3ll|21+O!X+V^zR4&~L0?Gv=@tT$Z!&gYd&-X~4% zPVndR#?8dli;Wwg*3rzn&Ohk#DO5mQNk5*>t1SQ9>Q~_Z2ke)%x3M*{cXU(Mvve{N zvUAe2bda?-GBh*Lb2R$b7NAPm>?a!y=evs7!^lVhgsqQ=X$(9aKFSmA(rd zy}N~h`s{{lqCDU7%6T2m{pRe`=lk9DeIHDQ6Gj)yJ2f!uBB2%Bz@9C3kPqAZWD7>j z6EfuJEL4-5I%VdxmCi3CUUa`f%o8@*5Lc#mSx!_RWf&3Oo`)hOUsIfNcUKjWWgw{p z0!JIDJK7$ouv| z-xst1`_%{`ko0~za5ff~%~(pEZG}LW3Oba~_=w;*_DDH{cO@DR$yro(p4{F0_r21} zQZCNiZ1coj=B+)9M*9qkdv#z{2;(5wC(u!eFm{YT$*_=ZFQ&`S{MEcEpu9W!-8A8< zYEOY#9cpi{sjAK7xG8Q;EAx(Zh1XtW-j?*~N5qjILY{fgSa}wG8x0u7hFX@w2p^)Qf=ulqBU>pAPK(WM9btd^y6u~Y2JHPu zT@RJX-YRmp-b${F@&1w77szh0Xn(VoWo%Zg7m$)Hyund((Rb$EK&gX~qCZ~8bg=Pl z9Pqg1_;-z3PbF_Mo<$74+GD3Ojt0SI46G4?zyFd9oejIl3 z4i;_tCP_GthG6M=HtONV!Nha9G`FN#{$#T)mp*gIi5ff^-Bv0ABs|TElKTP}X)qIv zF~QM8@$^RAG4wPbpu1qJWqL2)j18)vQ%=+5sQB~GT4%L{Gjp3zXUbZAcgeX90o6)- zs#mNPX^X@jW()Ih?5qghm(lHS!sho%*Ws#xN{Wi|fF#$HvK# z`})9e<35v*pTy30+{~emuk)*1zxNrx%rG^2U|($*Rof!8%0olc$e`U zw}ksQ!qKD-fFTlh2)tQ^o>Ezb!KlP88dBHLb9UDp^bV$DhQ>t2bw+ijA4D5IC zGy?OzP9JyqY5-PM(q@MuE*pJ-;~6G)>)75jR3P zaW=BXID-X~Be-Ld8eV6w%|7UJq@PCImb~GZ?Jc|zD`02#Ivw3nak?5*xgwZi4n9yN z4I1t#g?j#KtTaDQ7d&Ve5=pQxy|dDU>RDYdEVMG^Xs_U@%sL^=IysqgZz&Bp3GKFH z+Fn?+J|VO|Iccttv#g&_i=ha97E4_sMdXm!lB$fB0p*Fs;|(YWeaXgmA)HVOcU5Av z6GaF?4Mi5#c+*n2;F0ieb20Y7b{XLrntEiXr5lVH=TYy?kvk^BV+ zcHXG0q=ZR)yKe`tZh#A+QMptUN6Y2u>DARKnrbXgOFFMK!pfzPpRDA+OA{*)O?hMX-H6>UIqYVM87cQzS3DZ5j zE@EsvjIa@T>R;`s6NQ9xiV-7>3pVl_b4dSuz8REEgj<_a z3tGm8x?V~J34|3^n%e3=kV5xA*DFE44;lu44?UqfmDI^NlDa(B+`=Rw&H=9)Syd1m zXj9-`p+5?c1|GO89V6&H&Pz~d?7WayU3#V~l?_eVO^p4|{erAX*Af_})~Dw8Rda4U zH)Z@++u*+KArw`5=Jyk!fO|V3_Oe15_yCu|I1lL#l!3zLcRdCKs;X)y!KII?y)=hA zj~_|ev2ovLJMpQwK(?X_XCed~*wdq}=bx7M)Rh7t0l2IcuqUeq6Wq;*cOxi~CW8^z zXYfu|o@)>NHkn>=_U$-HbLjblY=Vtu@DUVO;B&F{++o-+9)1()F?Uw!YDBlu1b^niQz4_(vX%4b=Z`O zoxa-3^=_+FwWjI>iPH418uW3exzo4q9S2Y3G-WIHXQgm5zba!!&JTovHZGJhM?g@} z?wZ3T?&m^XRKFE9hdU^M5FL4epz>9QJX#4fX3AahdSq|?!Yf*f_XRSMN;9QkQSkOs zfF$l^&-WzhchUp&;+&h-pByV3`Q zwXkoG8Oh0>PMB5^HBhI*p#y#pOr9P?s}IEdJSH~qE2+!PzQZgcMs&A~-9ENqWQbsJ zzK9$grxu^uqS~$8%;sl+1B*&f<<)}vSeVLf= zQP_gQAg5rPR$})xj!*qK*$z#e*=9?Tmd%D?VZA}6WvZ1+FYnTodhuiD2>6ZGn+0BOEQ$LjXPR$&eIX_Ki z3Aq;u85EmJKqq8KwKHZOwOgwjA`!St3aK`-&Vo*nl?`GU2&)~2>8Y5ECrA00umwzZ zp*dDm6M`DV@^PeCnUg1v(P`cNPW01i?9-9iufbueP#%YE5}t{`8;Zn>T2RlH?CSSl zmRrfp6&vaet$ZT zFlMC21bRs?ET6&77623@+3a=QGv^rwkTjUhH3 zkE2@F?mz{yRf_IhL%SLdn3@)&uI>T1FkOWOtFuO~(+(?k+J@az)G3v@Tk_1$oc<*r zBy*=V*72@`(p?MeBo?`+5#t@!@)CjFBDP&*j}nYX2FF7x3bnr#c7Cxm`Via2o5cPd zmVx~i=`$d@3d{iY#9K6b<-(r7HW~o`EcB3L0VtR&NtaV%L6TBAAJK3^I&Ts}?--&3 zIsCEhvjmNYXnoSr)!nUNu-&r+{R(pb65sM64fly9&PnidF@11Ye>?dG`Sptp^vf#T zPhm1cKY!By9Ur|l{2ZUE7LxKZFdveGA_$6!e+W@7m_#nRMDXZ4(~A$a5s?r$gpKw| zSvBp_JA&5mFL#7rJ}&HB>_~4o_9f({VML0`4{Nl`Ie4)>Q&C1*yq~#`)4=y^%AYN6 z3$i>#uPUuKzb+S@fnUEQlL6}xb4+nA9I+0Qxf@3x=Hbf_HcJqjKc^3cDMW#3HjERu zjLos!PYfOKux_qMR|R#)`qxf_n&*w2aJA-Hm(+woVLu^KX;-WjEiC*KB5dY~93zRb z74#k{WplowB`IOMEVaKXQTyC)XZ<#Cj9n>J%Bai$tU~M=j65w4gKA2a78STmu!R~eIysG$=U%;9cEOc@%?|embW&otD3gW z8`Rdtw~DMcP$C!Aw~DH+#H;9||2lhAeJW=RT$OsDZ7nmG6ippDx8bPVnpSOHnLpj} z_yt4Rs;+0Q?4mo>p>El6%oOA);~TAOHC4~-Ry(ByTV0t~Mff;bHYWO)q@qGOTVJEA0`-J#SW3kgRmAj*hj)=KUZ;eja2i?xC zZrFDb?u?0xK+G!i-7KF-?VP&IAv#B6E8Ztdpf%C@un7qUH1N0)PQ7eyAma?+tG110 zoe?MrByiA!hY+6F1hMY){}c|=lDrA|lSxhAwWzm#v!7|!L}|j*kFl^!F`kA>!1i<9 zp&n}gxJQpB7fIMkjU!5h*Yi&751zZiC)f+58QANt5TWwYyJYMp^s@%dI|68oz>UUZ~JD|v}4tdLluv5WMrK6 zbovcLquhP}7zcoX3u^6NB|`uJ=>4yWSM>i08Ts!9UH^`~>Qa!fL862I%3QHd;l*p@ zRNvm8RaQz_p_Zd12OmU*6{=#DW>(&JHW2C17Q7MtK$Eu3Llpf0@J80ZYz6}2F9cJr zH{pDrIfH1~$i8NB~+0 zo4;3MyBz-jabk#`Bqk}c46#329_dTRDdo?76SPQkp{IZxn|K;L{7e;2gf+}e->Ic8kvoISj2xoKwI5tEJPqD*sgb|YRZP(kMK>=Yslmb9wqCeb*i?}hQJ zJs8ay{{_eqZ7oy(2_a+QU$_hkmCm!qOt=-3yjx_kPnt-AIF;2w@JIo>k61Pok2IjoqtlSyJ{9v$A0*-{QpfQ{XhA#|8YL}2VYj~ zMcgmlrdvfyd+OaT4T-4?wYcsG)iB~EIe}1RUH|7L6s8t)sN*_v@SXQ(GPLZ)8j1^ zs2y9ESwXl_bmFqxmjRidW1GYI1C$2KA|srKa$3708!xzAzF?~V)8TGmIZv+Tr#vu! z&gTE^#6kQ2TR{IfpMRZ6R*IPm(hA1Nw@N%$Jyqu@y5+AQOTQ?fseb*-Rdh^J?cc^y z0vUCjsdVweNyEJJ#8bHQBvzv7*YErdjC3$@Vx|&0#3zrBj%+1dC7%FSY@g6aiC;IS zjF@44s9p{y=i4XS@0>j*Z7MzAHz7SBwKzQxd2qtu8gbQnHx2b;qji-)3VojNCj7Ft z%CK2bdvu)DyAJq)cWxj$vbRI<=W($65O1II@G|2!3iWR6f$W(|x03KP<4!Z=uH2z$ zhA*D*wBtxU*!)c0h=UULw@1IbF$Y%+Uy^>)jNVl6bt*^H96bH*Mi^u%dTcp-Z9(xA z>2pExl<9i`F*nAQDDyxvXQrIxFg7$cFjtStnb)@?OkIJ&W^y zwD!x*9#1!?sD=<6K3-%nr^+ifHb_`-P~SZCbn3~Tp91tdp3W%ghz19K#$?dc~m0&Of&y@ zY)x-oBlxGHy(OsE&#%o{nuU!zvRn4-UEJKwFu=Cslzc zmvs`Bnq1h$`{Rrex2+uQPC@K?h`KUpYA(#d!e%3#jm>z;*Kj6gV4dVPJVzJ73>T0Lzlb`YstM``40SX7W4=OW})g2rt#mxV&U*VUYiESv?b zwRRR(zAfzZ+n}&1a;z5X5xUjr4TX6(I}d{zYv$B!VU#MPidX{WLpIkB6Ga$S0>kfW zf~{6?TlyoN5$p=)x^wFY(p!+DIPy(WbE9Trf8n&6QiC|}&$V!mr8o94vnAXCQY&TT zfv&xaincB~tI%f1&(!R=KAO5dNyJodKQD#=8m$p>8kuKQKt2$;Zjm2Ezqm%+^j8eM zBzGb9k9T;^970RntKJ7T8VGYcB1_z?@zS8Iu`_pBkz|T|#YBOTtG3LfsiW6Kx8(4s zAVWI)z@F)PG4>Vs0h((-QaNGze0?KRIZAWHv(V9DhF)h-3rISrIEF!UL5t-O?Ok+l zG30n8Z=)i4#j)(K7W*50K3%UeO?j!3i9wn@6}`@oiOM;NcVZp6LX~Zi>AwDay<~m8 zcy|N{0|XW9A*hK?xET zJMp^&r1{9E+M1S@ab!Yd!u1j_#T=`HPM$FRqNZE8I$`vZu6_Vh^Gu z6Ue#Jq)mqion5);C_2grHmj*#PE+FLuet{+iWn3ewRY%h{Np7zwMcYY36o>t(uDz? z&xZCo$YwE9r;8+SQ-{O9OVGc?^ zD<2KjLUjOEkhUN#8-G3<+sF^k*oeFkcy8@`y&55%UdKt@h{(Fr5-es3EZxXXiMgfj zuvbQn02nOZ=`HTcowNFpNao{!RSgupS!E4yTn-r7z*Rly`F`TQTI*7OK!T!dmgs`} zZ((h2Fda6uXZHVjUU%P_xjF*OtB{Qr@sB8NJGL!tj;7Nx55#8TNAKgd;12w}d|Uk{ za%pfziDE1XcSuJkjgfsZ0(Q4A#pwwZK=NX%Tt#UOZ$D6x^YKK0i5tcy$cz?DUu^`n zS4|UmAW+uIxJ@+ITTnqh*V^6V{(_0Vt*QTj)oq$;&Jy%9Vf)KDqLViWW$1xhO0O7cN*{*oy~*@E-gh%HAnhv}Riq+{?E2Ubb!9wr$(CZQFaGwtPYdu`O$;S49Dw;Ku#Y)b`jB;oO+dtrn>ab{8QC;t;Bf4`t+X;sPQ5HXJ#rTRpzby8qK<~FUU7q zORskpw5Qz=ils{9tS|Ur(7h5cufI};EhYV^dR@pLkpTIwRTgWjON6Nk z(e6H?O^0%Zz^bZDC4J*OSpc#-Q&0G(gp%yY(nZ;YDV%Q(cezKQOzjfD&Qjg8V zn`Brgn_k&xd+3$qrOf-q)_|6COoM^7en3%j4CMGmyY)`T+=}3Y0xw4_-_Z>fM2ruE zAd|1m8RUM;sK3Xi60~xJ-ZIHtliaA>FUFzZ55J6{U|L=o-u72{t*uDy&tPh$IZmFk zxBUsm`EEt!F@AaV4lxRK4~e!=lxvi>+vX#vrb)$4|L^3T`3?6Ta+t4kQ^i=>;8j~% zv#`Q1uz#wS5>y>C^q;Eb?SEUfQ2wW+>%Sz0|CMni#db>f(;^4ONQCAEeevS>LJ&z% z)zagR#VD2m7Dh`}8G)!oBMnl|s2J=3xRMS?1t*6C+}L|nb$d8g@o;Z%0c7fp%pRlD z-bjXUq*(;(#Y>~zsXk*@zABK?3@J@L0m6(wi#N}E{vSS}+k~?;IJ8{ySy*KPI>TT~O;^p)OKZb3s;u|DwjAPs_t2BvI%P9i@GkXe zKU-4S{;T2gdU#zu1)v&@6R#RxlHdwDUFRA-cu%RVdy5~DqS`UBhk{yN=NdJ5PPwIP z7deSo7HBT!CSe$RshBLgi+j8 zOUszM{<+2*%{b|$EIe*CZyE5-Wi)}si0L=zm7Ha@e5Ye0wQby-)536s$40!gUgzO}@VUU7|(+S;hwHWb@6X$uY6 zG{s1z;sE21n!432^Ji(zAwA8C=AE`lAq-2wW#L66l-U!9834%rlw4@JS zK>?b%5t`W=;b2Bp_-s@yox;yu^g8g7t}(>!ht8kP_W+#yciHi=lBIu(cTOTXb?uM1 z`zWD1kl1zoM5UlQj;OmFmcnvKy!JxGqn}$57*#uKwWF?fHg|Ec!2KPxfABEF;2pB5 zl9y4VnQl(D9S7>GqS-R@1f|mIfF6}ftVh0nM~`^p++fM+lvy;AFO?g!$k5n9!>rtx zAqc2VKujsmp#cBc4^Z^8{(Y4;NK3XOw3Li&AYzw|iZ zrLW`CeT(hP<|w>=rr<|!i}t^V_Y=B&idc%+Aap9l&h8-2K0aVJpQC0f;}_exhn-0H zi>uvjb?yXX!fz^qm?2Wdhiy;jk*f#YCn|f>79#TyH`er+ZwGV0 zZ2?_t|3cV^d(HZqOvbolUK#f$u2_B~Dv#7(C?9v#0GBVe7$RncFP{Na*apFnj%-ya zDt}8`ruDN&R3OF_D0WFCzxu08yRw=;{K++J0T`!jfCNw8xsW3ZmPp9kwp%B}HJ0@>rd?)6)tmx~|!wiPtGCg@7#IhW~LPlss zJfUYk!{YS5v^S=?EbI6aNv4pW?rfnqTY zJx;#dMfa$LlK&@KjNWgch1XwS@xSIH0>FC`9T96{N!~AsY?oFR90&naK*8;(z|v6C#ipR>)e#IA&<>>EcvRaIs9_g+BIk>K$6Ao8%h8~U zhX`O-oClmce4QeeELb?#KpLd zaPY5Yq6BXtjvRF&vZqegO;WFpxpl^TogN+pNrd!G!XBS8GlEmW-vMx{DkO0Ve#7k} z(9Gm$4>>n~MiLfX_@|tD*_K~IQ*%bY9kFe+hk7`)vc!1Yx4O_hquO30UNzd=;5{o| zQSD_5s!eoC$TZqD>BoNwH^6)SNeB!W)kmKn0GNPx(Tzs$<)njD+6Wum!%dD5P{o5S zP}m4++_QcN^_ZcE)~#q)W$gOmXTpKPTW)maqn3fnsVmuRD z^*H+<@~j=!_)6-k*)Q4LtSm6uzYrOKXT_5Gv}x3O!xB;nxx2U8WEkxeEEU1An3aA1Bx35N_?r8i zwd?HVz;()a-LgrH=R$INtJ7oZ`nml$+r!%X?fKjWfHOQMe{I#KhSg8;31f7M6iKR%Ly}Lbu&qJN$W~If<2+5ppvDk>8 z;odD@varZJ(UMC=60=~I4I4p=mEtn4&KtiFB``t)saG|gC=kYNF)PfJZ9W#0riSE5 zt?%?9a^d1D`%nQm!TE#3+$-V-K|boAkO030z55q_3w9UF4|S4qBByr3zrj*#F8ygK zw*t>sAvsPc1G~5=!Eg|Wk;c~5C^gaQRJaMdChy4Tkzdn?+@Fm}B|kd?s$c67 zY2ZDUwFs4zHh!)?*gSb>-P9n2QbOx_&4YSTT?ed}C@Qjpm;t3n zzyhc;sF|5+G`%*89SXseL@F`fUuACe@#~cDmlNjt&%=4T~d;6jpR1U%da+Z|nR39KQ7u;%8V0JI`Th?J4(baNhiR-Ik zr$O@;x={H_{IdrnEl2iQl;Z;2Z>dIK%#s`5WQXf`(=kf5bj-!HHlwod>tj)nXM+-d zs+He;?U2@c$^NYFD40D4kl8(WAV93;J7mygtigKB1dzgRjNv6Hgl>-Uljs?CnewrF zHDZ}aCmOfp>@T-2Q?XcF3^2=uK}vt$R;3FSgWySH0vx7oA`L{@K!4JDJ2!vtMT zC`r}J#wELTv{6r%JV{4u1!Y_O$l6u7ZA)d6{DXtfx{>8Ta5FZAlMfkT<^j#vFe{*6 z>(bv+jO_v0S`US5xa(3j5bluf%tP0F8%2CTeu-IrAvd^cMHjwWD^kaG?<_g7Ruofw%5xGbbr-3A)y7xmrdd zoL9bgC%938K-+@bh``vp2FLs{NJhSPm?vEzjIXskMBmex7gu#96saO1b^~gH$e)bM zI|g|Umq#lpv9UaO&u4^$lD7~fSOL-l34!8KeT&`;DakcBPsinn4^%~klZrEqG3Dw7X($E>ex!sp>OPYM@mDXwR|OoIw#q}~U+N`pDM zv-Y>6ZF?*)WYpCXAERwORNg!1=YZH1P#b4pU#?m`j-9P0#D_pXY%PpZOvziezCCHI z8;CPafA;0QyuCCNPpe$d!l}7t#ZTv%D+{naFu{SC?+UCLugfQQpC6xscl#%a#kykK zEv=<`#(W&x7T<`f9qZu``xh8?nvH(1OfQ*dwC=X?4neu;T{o69kmlp&;ck&*64Pj( zkSP$$4lG?fK9Y_g6%ua&(T`~5+mI5zMuitM_w2HCx47(-EG)#o)FtAXW~S68$=Q{S zll`q$09r0yi9QI2+k&q#Bw$w5L^1TSN*e3R86S{IO3tUwo4eYvQ2@{J_gk?cBhnmv zZ$AH&ywYMGJFh=xAm{M^{Ym-v`3uGWNy+>F%^0F$C&hv2kb`8*v&<|i90ujpzKUmxADS1j1MZ;AeSBA~0J#pY5k!Kh`{dwG5d>?xT}H zbD1@uv{qqI$FIs)g3ts`y=*AAP7!~ToI>?W7gP4T`O5f2Wur%`)kb=BY5#n1A)pSu2*!RVtlBW|#S|Db)l$ zA7SPMvV#{i|CJ1M0duG?FLWP)5@)c-xF)?#GQgN>Lfz91zTKWj01^PZdTdX`((-jg zi(6i?sGj8pjk?lXIRSsyhU#KQCf`X{uQg7Fl9KNW7$k973^dW1vupF;aj zSpV@@q5FUJqKlL)evFCWxm?~=+bCt-$h#nwO(pVtUk>tob4{UeWbp~pDc3F3EL}1# zlY3-tx?cd0{7A#RpG7c^tH0)_J ztl8>tVv{z!%MKBM&=VU;GU=)Ffipl3awp#k4pm071s7vc;V@xZGdLDEH)2sKIY)Y$ zhjFGGtR_J7nT(SPiC}=vC1**P2}y15k!_MAQ`RT09i)@di~B=(n*&O6z4)bgFv+Fa4TEo>cihfru-H0NRf{-e%hUwo8kMGaeI z4FzKWVx?W<+`>V?UND8!a+duVu~RPXcE*zmPCZtx)a2A<8j4W1r4}8kD?jO9cKkP9 z?}&b5wXTjHRgrQpE!^3$6nsBET$)fxv)>7Yg|>2!Eg2mV=5)}A{FgQ@^q1cA8f8+1 z(73a!a}lXKBc+3$%CV3h?SqOjT7-z?cvxnz@Ro-2fBug_Rn_a(;JX zq4u8*_>D7)`G#WFtLx~vnS3$IgGdB28%5c;+wk!vFmL1wF$n55D$z3^`8 z3)}x(Nz&r1GS(kuCWZe=(Cgn5XxjgiEBRkC?*HmMZK}KdXf!?Y9B=)+fN3I#!NBNC zdeh7R1QEc7P#T1SL>IbtqQQoQqk(A<5ldRgjeE*g`^rU4Whf|${sbaPl?XMS2^vmqeTupN^?$! z=@`_(NONw70c3a21}RNQ44Zocr_B-*SI^ci!FWTr-U4o146#=piv&dLu^<~1L~FcY z>6Mp48MsCxWoXi3G}})z|JZ(8a%8&VRf|UG6!zz|zB+CBBYx;-yM_Is861DHWAoAO z{Y#PMnuO$He{b%s*&m}tdDTd{=EQmHu6_SUx}!I&J+6G?NBsxl-Esr)fyaYwxYzmN8j1sVzmMR3VX*dt5>MQYVY{`%f}=I7hz4`= z>;p;B&p^sKc*euZvF}ZKA@IgLqT-&6A?Uba_;{haf1zv6Hd>0QE#f@x%h{2`im`i^ z$$IJd;}cAC^5Q@eedMHVX!P9|MsxdaMDi8C-Mts!6NJ;fbla_I+iVus%||=-`?r7G zTpKUr??`;ZX${)ueEa?mra$82$I8mdIb1GZ{zl*m;Y|N-bU78}L~z zbm*q0;X!BlND}=pwL4F#d-B+@ieLnXyXCx_(18zQvQh%LOUMxTir*TN#!r$=G3pd8 zgHagurebPnReU!^_yuw4vI3I>ceXH66XlRBmN3Hl5cYv#o#88fzNrs3k%528Y(k>O z3$t4@=hOUG6O|IFwq@B}gbw{-B+w{zJfA!R@ea{|n?Q+|Kz@ixwhCG`~ zhyh)sXqA`XqdDsp5WYiC;Gc!wZqqI?UF`bc6yeS$#w9aLwCcduTvb%EaBmBAa-b|D7LeTq$V-Xf zT8XzK7RqVV?Nvzr5tv=ma=TR ztZLG!YAA2(2|`7dTU+S@@isvbfy~2#2$5OGbX3I1K!pso2TI>c60EZ(hxu8Xr6NCy=N!d|k!4gJMXA`LFDWwps9kqGty;`!X zC@J!ew5il`#u;Ry(GO=3%Ic`VX1ksAxH<+KtG#fi-+0-zFJSFhM^b8#o9s}=1d`{g zl2SBjh}cCMoGU!fF#T~VKaz5R@!XZ8-Ykc8Kbi(m{c-Y;8FnJNW>b-};QjWO16r}} z-9x;DvN%$Os@YCjPm=7Hb7r6c%_k$5w-&A8RL2i^A4Kp9)8LHMyocZP5~w*BKE_H} zL0ei$yTzhPwtAtH{qq0^Xmo!8o_n#ezIAujUtsyYw;h0izC*9$F>>a#=yOrPxzV!L zCiTimAeNq`Sh2nhf7n+hKwV(lEV&@wx;;QQ0_;jaKQsn-P$!`9kvnm+uv}Q2da7HD z7rd{*p6{XV-!BMXlRe${`#2q!cAeN6Wd%Na!@y+Fu9!T#!yKS*wut~deg)tK3HFJL ziy#(&P7VZ2Qjfq5NH0)&u0kurp)7*0oKB>pp0h)`N~Q{=s#58_G6{A@PItDfre1OWAXFR`S`6%I48r<}~X$qU!anaX#O z;EXdYYIxi4ii5$O14A9#Xh`1FJzlrF3eY@l`5Hec02(Ms=*f%rw!YAVI zXYSLIXD!l42~8IzWl~A?dKu_>c`?-^7Mv=5OgUs%5r|z_h4HZCkx60v`v&)75k#$@ zl8&S5EPA9D-eExV4wL)58zspICBn1FM5R)*#`4wQh#PW$!W?_EN}6s6zDU0d5A|j; zBYx+&0v2qvbkx}#NF$&NcxH6+ez8JALaVF(h~_p+*|7}|wGNI-9X@Pk5f>^l?Fi?A zXw}JxS5ZF>54FC6%)koeiAyz#$RlkeWas?Mp`x6$wqX=A@@%CW@S+;rkx05g_J5Nh(nK2*Gx_%?MKO(Tp4Tw$Y zRp4g(Q~R1lEU)R!VwL4i8rX&wVA^Extdg&HGpfT<;M?6wBKe)ZJB zqfuQ_!$INN#hA3XD1ayjMP4^ib*Hd;Vup*kk*Er3TVzK`+SP-+Uevfa$uX>uiV%No zt{6*K%Dx18fdUE_#VY>$@mdAi0#gAHxx7PWULXVdik|z1*p1jSXg-P~Rm)n1wq?0Q z3+Sy zkE-XferIP}K9Ax{mIZlG0p!JTc;~e>{@dWKt>^NzqO&4`d8I;(r4_16qU<3%x&l&_ zO@EpdlGprFiWYXd<=UlYzHAoEkS6L(&kusl6Pq>AA(kCRuEOa?t_?}VhsYlWrnyTb zh*mq)*hbA=LSBK|m3yW9p?{yy-bZdA6TNjQy%iVPYI_x6Ze(f2^T5dEx3Z)1 zlYd3G*}6I)8KpD4g&xQ+5^`A0c<;NT_+GMh6|j*lEHqZFIB3PkisH`2h9<8uznvX` zw6B%^Mec~V6JBV*MPjXE>miM`h4@w23r~Ft(C2b0(et^p%Z}d2r3tBU4Ym{VfZZpC z-x^vk;*&<}Xnl5dvs`?GIYX)A)4!G;O zE_l3lFg~RfKr@@$iadMCZqNf=ek@V4_|>c0|rJ zgEJcDzE_my{w-FZoDAAfxA1+6)wlQi*Kq1P&N+ri6u)(3^J$)}nVy55JQNZ<`3F(D z3I`{Xl(f?UtNq+l4}Nv>J}LEVr#r<#GHa4~$CUDjMeyy1To2CcO<7 zjcm<5+7!D|qcbh$VOAtmvC8pPP4jg)@aMOX8)79zWalkl#54B-Z*NeBJtBsSJ^^|+a3euJee^HT zOFhT7*q#85Gq5TBDK$`C{_DGh7kK;Lz;TsDSg-}4JVGQLp{F-4j=gq{2JF9C!5M79 zjrVLP`Vdxdh6}(<_J3)HuDZe==@LzX@94&xf-~>PZus?!HpR6hkXGfjvh1iDrL~LI ziHxvd5l~2yKoIxJ?7G#RjgLnAfYQX`lm{ioTQ&;;&@8<=#e579kTt#mKnSZ9Vfo;4+wSjdvdPcPNT_aL- zh$niAH1R15caxEv3ZJrnXltRoJ^%hB2#SL}&LKohL&pbm00ce1X@j+y_y7!K6`Put zekJ}i7(=2J4{3IM=|{!d`U0$B_~V3!MYvM$h!uDKeqGUfG@2NYu=d-4*s^qB`JAp>u`;&pUrvWsbfr33?2VH)#I zB!zceeHqe0h0Nip7;6itz#jA2H{%Veb-TiCexxH!9pmT^qb)XE122#M2IRdYK;2zS zLeZ1?*;@)EDe3IWgoYlsPE#MVDsJL;A-Ayv78J;4jS$h%us$F5-9ZIW^k>uLbc06* zy?VrIOjNZl4(Ip-@9HhxpaX;(B-q^HL5w|sLRNWWB37u1!c|#M#o(tx*!cM!`&zDl z@TT@N9b}Pq^EU)*yCBJ;Uf4KtmNHvN$(<_{tN6xyXO%K*idGLDX%oaYo+72e?r6WE z2f3B}+B5q&x0jp#8>IE=g@%eeMTqAR`Ly|!MDy*a-4;as{U>M4$g;Akxbp$)Y2;F4 zj}%drK#h0QGRm=!b|#M%$g#72@*DJA$1kX0!)SruZ}J4JEBD1azN0x}Ss|r?M~3 zG%=4CtmLqR9yfIWkt#%m9h+qjifjZ$9)e1*P|I)Xex@3zo4##JR!z5!prS^7;@eqE}HXxCv&>k_z)Q5|3qu);O#vsw4o+i_Ik z>8J+j3{Se!J!%hk8v)Soy z`2)8T^+LE6DRPVIiDT0bceDON#vCE$8k6e3jo@&@E$6q5cD&~zM6^ZIq#Lmk?lGv; zqN5oA7h!RWFzX)^CUWD;8fdjg+Z0aVD%%kzLstD^G2%xW8RD`lbKq#M$KC+lnnK=`Jtb*AB({ZzXqhh;@LO#~<%i43~x6}TmteD&}ifx!UdfuDn-kRXK zXvZKd~1shuSR1p>DnN!H&}Fg%%k(0L0_auuOnS&4#UO(icTzhX2XjYzdG%LUHnh=f&jq6L;BnVOgR0_(D8J^>EWthD;KE&0nh>vBzu#;F87zBOHB9 zn|1vbFax+`+F|@4fe0ar?Ku~NwnMy2i2HV`3r=wC&1?z-#^`F06|e(Ky=enM$|O9i zhit5{jEBe6|IIGhgA0uqQXj0cpeApquE>YfsmYClKjNNrwmuf%7szno1)jV#nwDLjJNAbRV?Jy2r^EB8QA(?pqb?FK9 zaj8U0x%nP1%(@ZCl@L6)QkH0jT+d=G`Zc~-fp^G`k*P~oXobzsHN2=BQxXrpix3QD z;&wlGrlf5RXT-mu74AC24VsnsTp5S{o(Y7t2>@YP(4rTFn`>grMGSw7&O@O{4uB?$ zAmE0?CEw@dE3rWY1{Tf|q{;`*fRHNSBEb;N?Nnn61ybS#&hbT*pUF+nltEbHAg#Y* zlwyNE6)Jp_H`W3mpW-30*+EcjIWNROvaghC{%W9L5}6{e=?lS*$oSrWjNE>iItpzgAXeYM_geGi zn+9hg(04>GbsMnHBIlIGO7~ohOJfZHW41 zY@3!Nq z__%5#)#^Y07|<~RP24qy-&KcFbrzIbd||i;mF5a>6?yO8$l|~Nzr*MT>7ug6d8}p2P4_!57vWS(zbG8tI=i-FU=gr79rRMp zI@+W9aLYt00lU&&s$N>QAr-~{yv3`eQJ%=5HNcQ7IXA6x4E(Px*K|bsNAUW~sQ!DP zk@9Nqo`$)2lEHD&(P2hpu%lj~a8#gaGG2{%S8pS5b2(8z(05*@;-6xSY`^L73g=nxv22SKX0c(D8rt0xSJ*>wbUGgDV^mr&3$!c2x!u(F0c; zf*g>r2>h)i;8BA^8wG8V4Ax880BoLfsgLaQq6d8*Cw5h}4p45z%1+P;F}TxrRnrEn z9v$ByaAWhNtoD^TP_pIM4#0KEk5ws1T-Gn{fQ34IY*F0`9Y2t2;opk#X1cHnYj=SG7a|GYbH57$L>J?wJud>c~-!V}Na z6LSdk66OiclK{7eW>3>J9ugEA6Y6cBb2Ij-U+F0snE)o(Wr;F)mzzqJ18*|QTr1B_ z26#tS`!hykx-&ya78y9a!>E<`Qr*DKL1`X69`L#&(XZwt#*UwkC^>}MOZ{kd73w10 zN~8&EKA;)&xMSG^deyk4dF7a;)+uuR_DCbvNx*(>!zA901-X+_quh>caiT+m6eTwc*G* zS9$o5$4(h;#6z}zQ#|I4D|OI>4pPoCK#Qz9!_*->!@QPFE;_@E_o* z95lddtW+(9i6WpkS6hT><<#Dcm8d)$qQC7>+Em4hR$q*Q*(0lHLqLp4Uxc{@K;5^^ zcOp8&Jo<3W+9ziH`^-L^N>rkKf{sr=v|^6sri<)H=L*d#VOGuzxYlcj86L`QQo5dS zIgZY`p*Gw2(d)xw`Dx7}_ZbZqEBr-WfOIjR*|d!?zt>H0w|!iKJ9Qzs!9#RwifMqb z&3}&`7U_;`%?jBM8Plh0juI=-X&6OWX&JOx(a?!vU%ep#OpOlNzaxBJ(t;Ox+_1Yd zC)@`=3D(~rN2~b_7VuLj^@D+ZTe1x4GAX<2r^-N&#w+t21uT$Kmb5_1sm?Qn{ zAk}B}(4_GyC*&9F@*A8WO^=7Jw2jPd)YZ=*5Gz}#Fx6Pe=*8-+HAB(mVqP9A@&mK^ zT-6NgfaV0GJ}Kqou=2qs67UUFU2fDBc{zs*2MJpe*?6@|gFKMwj|U$)eK04~(rLmS z3sPMlEhtmw-H8BoL!jq02t9hFK120BLZOj{Fy6LvmJlE2Fo~U?NH9;M*H_}Cqs^CX zwF$dhS8DFH&fZJSomjmmm*Rwtiy1XL^f;lpb}fQ#6aN^M43OS19yj-5#Rns^!1aD( zoL!P6&^F6g`kp}2hb7VSYJjY+nbSux(F$uofvmaTSRC`kJu#(LTKO_G-s|Nx(fO5< zh4swWsA4SrdTjm$zPh9I6=-6p;U&a4MGOL=l$uyFk5-}2Xqx1>D&2$Ye#ZJ*D32O% zbbBo?+T%`dW&$bQI8~B9;PaNPm)QnJ|oghI=nCV3KA;XSI8!|>wTAUxAZrE4m; zetjp9=mWe+A2ZPaZAMz6n>EgOr(;6+_0tC?1$e{pZy!y(c7wiwc$qS=1u7vieJAiu zd#ED1I}I0u*r-^b-mw(?&_;r|_Y<3AJFjr1&p^&A{U z^&Cw9%fb1tnuVj{BFfiPhc!Kh_HGhg7_P9WF)<y3>xu~M`4 zkxZ|v)#HoLORuNZ_l@!Q<1KCgU2gA;7(`Cu$$dUSJKB*gq&ZHqNrgF1Enj|4g3003>j>Lbw0e_E zFH^2cHsq_?i^$vB6|vpStwjvkXP3+<#U}RWOMk1hmgUpe5}xfF|*6eP6j7}C_m z!wylX4k|C!48wN}OIA15YiBRC(Y9Bn;`*4h!hTE>IylItpK@sylL_ZqE!x_e6$hJ# zk*tiB@+%4oD(Xwj3ox#c7rB&J(r>LQN^i7)r)Jm*5?7yV#MOt^Y4WHa#CU& zM;EYvFPHAn*k}^<`%T^omRDp1RG5mnB`+HavyQ9Cg-5T|NsNgYjmaBCq^TEuilNOF z2+O>!s&r`+yEcz>O*IuY40ALqYSr6OxYRe{yM)d+r+Ex)6Vwd-l^R4^2j^>#=rz@y z>5*w&B!D2{*FO=vVq#)^>lb}ubhJdfMkZ`ySGYAanKqYWb}Bq%G}3fWjuv}!C=u#h z_b{6^BB*?eXMU462HR(uv3h!Fia2Ieruh^%JzQ#1e*scd+TN<#5p%w)JY&Mr;sBA% z-;8vS0XmA_a^>ik9nIwyZ6I|RAA6u3ETa}b(^X)f16JXcnp(RTH8lI{mqSNGJGO@I zv&1K7^;=Yhry~I=Ay-K+UPr7mnyMlv8m=9ycSpBZ}u=0?R%b+An zI-K4Z`WR`73@b><IH538a%ag7)+DC&Lvfd)LozzUV{b z4_EtftCH+?T`k~b+^TGI8!=0zhA_IunR-S>UVufrdppumdEvn;nVS3Y*cd#jt{!;G zUL8EOh!i-OZ3&}`m_sw;bD%9u70fP$DU2T1Qs9k}CHO9}*%i_iRSQ$#WD9v<;lz6Q zZ{k|$2>z9bb?6Vy!1)&tI7jeqWVUMq76O~Vebm0{8je660~QA>@O42Y8g&$XgWC#p zLD>o+C8Tr|)F>k-wKr#6eeZ%AUC9WQbuxX+in-?4vVQJ3GHMTH(fOXp*!uGhgh(;8 zfF@^2s5%<~qUUIz$VNIN=i$d9T}|P=gFG4b%87<_ZG5pTqTJOD zDxofggkKRIRYh(WD~I&lOZQyN)wfT*872_deZC>zuI@b}b21UH`+WM{i3XffmKLvx zJ1zKG*ldtCf>?gxt}#7GVbDFpA^nDKa>LHQKP;E~LO>7p%_E1|qc?qtFk#g2Ymmo9 zQ%oWk62kjXn);;2?qgAnC@8UgeSo7_S{b(_!pcCYt zIOm<@LCF`i^sHSUVsyBNET0VYEnd*wuSl1XpcH@okc3b#-vb~?XL>j=> z4{B8i#GDfhHkhp>=3;k-SX?>v!m-`}v2$*6pxYMe6cmL&EQ@&+$^m%5?~5rupx<$x zq*zVf$Ppr6rye;1xI397?-fEFS2CZ|Lig4i(_Q8}4Mtzuww!6JT^TFzEFxKIm%dNOn+hM9GY0a@>>ER4-Y zv!MNBaU)^i6{0Ewf8L(?h}~N9rBYe>%)BJWU(jO^;KX0R%U^Ik9yoLz`UG_L!DaI4 zx54v;BOowJb@(wOz&0bG^ZQK){L_H{JFuRc=-H-#xBIo*f65}s33m}DGKO=?swsCm zs)0Et9DEHRvf?(#Yj%Y$@;QG92SS1i;++EQ-2yNvV7EuiO1<7Fok_wK)NM#?P2M-O z%1}7r(YTC@Xzg7Wh5?l9aquTtnzG;e{BRqo#Rk2 zQ_JMSF+tTO;KIeWaPFA1v?+ZU;8Etr(QaK)OS4s8;-Fw*qbO<$$2soh5Jd8f{xhG= z8PEe?9NANY6e1>fRwBnpISQ>Td)C91hnWnE?HD0zb`FGey93Wuk<9|05WMFOX1 zYz!_H3y;{9zcycwF1Az6KR-yh1XBo8i2;+At(>4+%8y(+nwnpnt12}p$poWR z4j!R|KE4Q|S|FZD&K4v`l%0$@_aiI;p^+)h#A#8>P_dOp#3aF~3i1t~r{=eEWS?Ua z>JiUzLGC!}cqvOKAFv;l{Eg4{m2tusCF4OWdHlGJJ?6MAsHI{KNEfDi*}f|2utQUR zil48;*XBRlhClA&aMEu7R^{Ink*g>~7m<5ZDn6m4q*_>B%Rf2a6=A!HoXt7zQlv>G zM^2VMd#hhSajB}EY3VVWo@0AdGVP$aXDj_=x5Ve#HP^Vq&}k zEO%_4Xa`=Lp}e244AziYB(15^HDm07ra4|;>R7i+xj7WgS15YgSWH`v=|PRkOF3lJ z9Kyf~mp~0)Bj1QRgsndS$XrfWE66^Wzn>XGq?;A%#Mp=9ywy$Q7md$ zwlEdF2+5cP9yU|hj`CtTC1oDHx}8#4Mz^h*22<1l)Yfmv*7Sr)Cnrn5ffjvhtd|lw zSv+cA_;i)`1HVc1{8@uHvc~RrQLU{mx@ZrmJf(iWaC%9esZvO=_Cwsl0iDNjmZ7pI ztO)vfk1r&I(*D8^9z)*Yhulav+5GhOivZmm>!Xq+*u2-(iGa9VIe*g^(FtjKcyi-j zqgHvamd`4%3~{BLS+ASkj<<0aFKK|F94n>_7E^KkHgnC7MTw=cAO!N@xX9USc$j$x+{IMiZ)iy~KF`ZsCC ztieQS41+psz66(_^&_Ekc}b=RZ({pqm5%7WoK))_tO>n~I!C9!gQ29gXO)!A7S+g*%Ohg9l6c{wJqqfoj>T+V3Qkbeo^5z_Fj($o!F zJ8xLU)dzh<8j<^CTk!Xr>rzRW(FauVoZ%);E5sYRR8R=wFy+5EE`a~J% z9KYK}U(i#%$6K!AMDjghB|86dS*xqA;Tb)^8opR6NKK%6m7yMWV~fA1C-f1J=o(M< zjQZTg(;-B|5pruf;b~{)-flHJIQG;WotC|m`g>rlG3x$KAR$XZ#t|NFNrltel@E+X z#dl00PW$r}w|5miZW^3hIQ>E43Kwl^>yFk}d^(QzJU&ayxothrE^nWfTi)~Bj;&@| zZTsRLYmTzi0uWKbRahS2^!&43tH7u9RDuz6K0k36DZ{XhqNM4`gI$BRyyi`ZKl|8` z^BB{z!Ec~C?sUz^C(Z}AyNe(jiBAj!@~A$<>3?nZMmit+5#r^mhVZ+{vnW$S8p90b zlyc5|&aLp?3;QUF-x2uk8|EKOt{jz%BqYoa0|Dn>l@{c$U*Nxf{W~U?^gm&8ja+T* zjU4_l+5OQ^0s=<<1r84W|2u{2|Kb!uBV#=$OGo+thq8ALlC4j+hRyN!NGFRp=*ILGowpK32|4@{wOwzW} zH2qdjvYo7nHslPw+lgo#IZP~c+^yVfrKuOkOe49xPAgE4Gq$d);I5I)oLe0#^~xwj zV!?lK$?^J)h6e_fkgkP9U${mAT}2`f4T8X`<@=0+cjNw3x#8Alsz!F5MQW}dvTN(= zj^}IZuKnt!;c4p^W;c$K-*Nv8-XI-KI5_l>5qIfM=#L`5YeS7kQvf%H5OuD?o#r4! zex@C>AEd_IsNHk5S+D{FjJ0gUt{ICtmTGXmvU>B5xk78x^??jECLsCQ!`=5ly3jOX=<%ql>6H#K#y zwOQk5Dm3iY$x@W8%jqQGSxA-X5|u^~#Oa64+VmAvs&I`vFoB9FqMIHge*QRkx zMY2N7)@P}Xd#`c%5`sbU#@oX|o!HDYVCSo&b(NFg_CrRc%|;1UHkMlRV~8RvEVW;v z>*7`PV^N+hBzj3F194VmNi_zLW+v7$c9mUnnGeYk0`{o}fRdZ~JR}mKntpQw66A(h z^v1tAYydkoU*QJ5j&sN9YUz5}{4=_Xc?^L1)PUSC*XNTak0LX&aA^)Gfct7Y^x%7% z#W7WAl4@&ft&rtn4Z>rA?Nw7v`tB2?A4XAUFf(BNI_@(ly=fi@ zJ45PAWUa{PI9{hWDdVjxNe(jCjx6>NwczJ*38IfEo^u#T8tGkIQLCa#C>P;8SgmxZ zZlFO)vfeLH^d;_4Vp&dnyIkMLI!zuSww?3GrC2MkIQW)4VlKqKq1Fx?Y;r(;x_vkU z+5^LF+(TR*e01TFgkJ7xEw9>|c)e`>$w$%d} zS_MrexDmUtC1B`E)Jb95M(9{hMnrIzaraOz|A1-M3h@=nasdIrE9F#LoPP>}0qVKt z8O86)Kt`JA{l%h7^b8{K@yUFSF}**p%#_*eci5N&EwrB`rb!tNT|a^?|Mgl3QsZ*x z*~g*HlDdsNDvy;~7gC!c1SWeu#wfkXNc2i%JgKm&=!P~#{~Pg{NroV@n4NR#7QGXy z*xcN=adKJ%Wa_r(nZn_j!`c(m6x&F#|CZ{7H)LblOjr~F7Jd;5Cx3%Gz`WKoz|cGE z1?!PP0z%^&0p}p4|4Re8$?Cz88kevU79RUx zUA!B$^jT8roxsaIw6km6@)_c&Q;N1rfK;a+OvhR2k$u%5tFa@iF`<}RxwsNrLwd~x zz7?jc+%g1ATU*^GY0Y*1L}Br5*}?}j?b}*j{i)qL=>6(W`_~)yueL+C`4gKbnJszO zRuE<)f#7{ehhfee(RDm=m`#T~(b}U)P=0${pzKqfdEG_#{oA*n+`lq$tYfy2Z{7Vj z+eaeY!_gfRRm}k3Zd|atWTJJmhis=6>6)2&4+oviXu5WyOH8WDNIv;3yrr0zN)ENl zUcfs($hkeDExbjTd5hCrOAk?Ti_`iVs8EB=rl$f?ZQCwJV+gKl%1@L8baV^1mL4cL z@;Zm#DWZrHO3JcaYB#aZwFmmr{js(Oz(#y6l7RqDr!ji1IBU4w#EBzq7dIlwovPoF z&A&y@yam0wgekp62fB`qPGFUuMaw=AZ9lS8r+xG{zmSKnS$QUWju78r(Vj`OSABN4 zJ|h{Pw7Y$yvEvSd@E+ga2DXj~a70PTy48_`EyJDz3 zghUyyRJse@`#l(S{u~Z=YMPC!gGw0~Fk|94Gh`TtRq|Fsx9NAZ6P>%a+rCBzg^2m19R z!&%W8jNz2#$qBihuRA5QN}Lb7RdHzcMdU^Q#xs759UIZ=! zZa(Qs^nXO0Kc!k}#{`m&J=#4IXA&C(e5e%@NG!hInzDW#-3i+|V20;kq{7zeRrBlbJLdW?(mDUm*ZhwX0RNEA`6sNgj*^Dxr9%oh zdQmOM%Mx%h?2gn6Pxqtj3GCp5%2invimMNH-1*6sfQBqoVav=2wUxg1;Q(CSO~;3( z#|IXm(!dl|ona%}epsr@+I>q}V74AQB0hDa&UA|X>MrBY`PGzs zI()632)eeiJw)tm3NwxR^#sGCj*LBuWlmoAzIJO86e`9u5|a$AO^5cjJ>&QSKWkU4 zwYnlITlOY4YZIzp4bL*bQ!=DQ<6My#rWb`3C&*ZmJv*mOeV>M_<21x3+(VNz#Fos2 z5%5@zb&affIiw1(%2&d`r)oAc2x{jQ%-X|LYLo7c_|np6Ml{Anv}sY)S>X~3nvJ2J zb__>U#N*!^WQ_==S|ss%KX=i57o{_DoJh{t*;#E1xj2)tS-Inoi7b>}l3ujThX5UF%`%xl^k%|AA5GBI z@ue|{C`@f)wSd8Qn8C5ymVzI-oY-xwgr>v779TxnFY24G>GnMYqGVI;6IJ`fmAI%n z&>o&z7{BXz1yp6cX_Z}E;6HTygSnlUEMUf>YNxOmKz(TV)Oxo%oC7XW9pkA8-qUENA^{30FEGAR4xrcS##gapSf2qh_wc0Y@ds|L9QHURp zfF*FU}`wEh63+S~^zI zrI86rV@Qve#OX=eP>}jC@SJ&ypdT67r5AiL4y3Ja7e$9a0P_I3W>k-8ql8TFWEYQM znV#`NghA-25v0^Lux~%fAFhD{5sIU(gxb^FLEUUac?9q9Ilfbu2I^B0ifCVR>&+lN^ZzIq_IWY#mIWvs%P?e`L)R%!6gnN zxJF^~kfRmgge#6cvlsa{-}1}BWCpUMfTBt+ES6x8qngSA1vRKDDg|^0lCI#PEGczM zNBvQK$SI8-IMI+(NUtdad=g`h;D;I*dNKoWM6>HpX%#PyWV^kC9T)+oW(xLl^3Fel zUDmPKl*TW%BJie(_sY#OF5jSohvoPDKY?;V-ouLUnJah%O{pprEV%|3PdZJPF|IU) z?*PpNHMSrCN$5gc!G#iIKvQ7shRp5MV3XY+z#6*!Hcd<*r6#a{trt$A-oIiET^ANG zibccpV(e=wH;RYKAOzbB6|sp&^Y|@2dnRQ0hG9UI=MtRQFtz8D7Wseq_i=2_(dX^4 zAz@#AY1(YavtYS;(xdy(rA@va(=NNbz<(v?Cq9I|Js=!dU_k`=PfZ^#(O_u_pCMYo z>dB~FO{J7%Wrx|IUt3!BaJ$@lsa#{SEH(joN9%RQ*XP$?=w||F=49k6aEluE`E3r- z(U4XNEiO4Bja&+B19y#!KjuWm*Us_@&94@-^S3D~aD4n#{pqYJ&RM>d1yG>=@9O{W zmFj;_f2aFLLRK8Jnd3v^jxVs^ZMMc?YM1n#9weVPhc8!(&7mMrfCyLGh~AKANHkP^ z1Oo321s0QogXH-gEwFA+mC&dz)JqtBg_X_z#C-QQHKqIG@wz>Pi$w~}&CCEh`u=`d z2v8Qv3S-$|xI8uj(>iFv8x0!Ud$J?euHB9c#(&u!7?wohwdO9Yg3x<27yFGNrff`) z6?M%Zn{FSbSFxvhHQCpV6TOXqDAzP*|Ideti5 z{YwRb58f#nK8e6e10_9Li=97q^=zx?)OT|qL7DuzsDB{RH~EwjI%ku-FBXktD*g-4_kD#%HdTVw5P5Jb484S&U+Ce%;D?$cD? zpM=eiMktXdjuslY+OfWD_I&_p4*@2Olp!Py-Kz^CK6u{zrJr3W(9cfzExZu%KkADA zN1XIe@dft32VbPZge)RI(iikbt+6&d+zn(;bQmN_)sBe-S4dh668rQ$k9LsDuv1ZL zCh<+zY&ZsNf1OXl&UYrAANB2PpW3oL>|nim%Fagp;c`PDfcVtjjJxv_CrAzUhO8f? z?>%dNw!_$rXw54~Zz}^VNK?CXpxA&5u5k!7jDS)*-hSao>62#JHQ4Qx*)+QeZrV>{hJvFzE#=b`Y>>%cN{1Hlr2s2BY_+;=ltP zH%3P2xO3wdEIm_U7Sd$0lQ07ZOW;Jm=*e05S(A=Cp7R60>FB-!ENmcVYCK#zJ^$Q1d_hGbTi=QVCc=&N7nsKeDN&-Mv29?Rm}q8r9t9uHmC0LlPk@oM zjPJU{K9#-mp0?D6fw$jAayRA8f*g43+UrD=d0KM#w0|khD?ZRsH-FBtry&!N4hE;KbQ~ z&q5|gwn=DXan@#j8~MH?#^5D>pFTdzcb_lbE8se$dfm0x-EE$ac746S18>v+GES&& z2_U#kB)3Ym$6e!?e+UK@W(so~j`{ZEL8fPV(`RzoS85d;&su1 z#~40g4C-~Hy^ceL@?SI{{xEbWz}5vZJo-3RYY_*T!(mYK*vU0eyY%o~&6XCScqJ3% zp!;FdK)*Y-NXl;wB4iJ8ogwUbrP|6tvOUBx0;irow+L>n>Qp%@E2A@?$^pcM`SzrUES8K`44o?SgwplFnO?T0CP&t~TUok4u<|W)4fWG=FU1`xnJWAEh`oZx8LuI?iRzNzxKRAh37V!F+BO4^M1tpizs8`<7miJl4<-KdxJS6ly)8bqn~W@K#DJ>lg5ryWBM=skzu(CWn@$|#era^8GzmUhhNap&5n^BFEOhoh zbH?v0pD|T94K9*h2Z2Id!G-_HTa%whlqVh_+&*a}+XE1?R#Rkz0dC0Y`7qPb#y<%I z&`;Jk10OJJLQMTR;p75St}!}89WQWe*=W5o!;~n8SIL1&t-LUMB9O@pjHk(I60>KQ z%r53`_#0G;xZyF!a`;?4Anq_+WUtAd2D2g2vh!POs?0Q7-LuNOeBjk za5t7?5#il>?7frfPmgx!$o_1;ro*PrbZC(#_%@ld?NVTz`gaA~%a4|`{nAmD8 zXC*Rlf3!HcXk-KxgT#OZvz+xwZ8!?e9pYH!0VZnE%O#`u-b8B6MG%Eausbd)zr%Pp z`R+-b_*fwqDt1vAcM7#sY(*TS;uvPd28N>i6%DOLY4_3C4229MNy+fvfdi=*!^a|8 zb-?{F^;gl(11?RYU*VMCv^&Nu?F2i@=WsV^0ZTRV{g?=w{hA1ygX9+Ej`FdWZy$C@ zH1U}QD%+EdAP>zb#dXXdkfU)M?;4Ft%!a6$hRzx!?R^Y&RxlQdf~mW4;}Y%>w+N`y zkGL4%GaV_*04gnLO4R%|-vusa{@)l+$z2djktzoTNm%Vj%f^{Z#6doPt*}re^KR)sF>Lm9( zr(N@v#0!~JdYEnOCzeMyavBNV6MEFIy@%4ure;?hMW*Ir4AL*LQe?`sI7XKpS4xd$ zHRQFp#n&(lSj#4y;~z#5KK0~2O=S&y6>yyg3h#XdSTT5j)T0ZoP+={jJ&RyQOfBM= zk`b!l@iEemw{T{!XU}1onLSAHBkYYBBY&p(!iUTQe#7v|-Dy9%Zq@P5?~i}*ns#~} zr;HiyM7luyb$|fkwT_=H7O^z1q4*q-#FQa_i8+=*iF=0UQdGVb60#~h8yZ!1fRlgV z&Vl}Xtot?;`dJ}tvFkP1W?_C7@zPc7yO&izC|A4OqBc*v^vgBNL9ZcY5&$hu;e)5! zW$e%F5NCqL@MXSfhF)F~loxoeKXA1HF-_?LsN~b(*SZ1&WHuuHcLw)=&IRXZlpK%~ zK}qG2J$II}at@o(Yv061UqA$JCC6Bd-R@g7SOP z&_oxT@hoqL&Ft(^8kd0^n}4XJ2QIXBTijLCXVHWzU~J#PQ|;c7OVFivb;oJ_ltF0v z9c_L^k}E17C@U8!3;u-8f@lLugBM1767LEX4DJY|`%Pn=ZMtBSlF|c8B?{x zP%TYZvV+;$=BkQMv>oYnHQMo*{q!Z`-6eh9=%sze?z-*G8sNIE2?={*8_H>#tUtn+eQ4okjOLUewiU({pV}`xx}BZVY7HzfbU$fmzXwRRIY?;9B%Qam%J=e( z7ZrZdfnWO)A&eBt?y8PJaos+FyXn`SpBol$_`pHGu?w^QjhB}>wyJH6t+g1NxUsWT z8V{4zA)}v$o-B!m+%>v2qtNLdek48$;BYf53hB~9_7?-y@PRcp{Q}y`=G!V4XcXX7p)i*MBkg_$@xB5F&$W+o+#8gJ} zo;);^tVQyhUR6N081P&f4qgVx6EH884wHaDc`yLytY)$@sMYV5{PJbwu*lS5+glK<50vkK4!Or35q!<16EhZm%Z8sk0$2C#Y$7or{BlZ+o|+UpMxmo%FPvkjJ*65E zIx*6&LsJa-8YhonCi&;|>{ppV`iqhXZ4^ZPc-mN!jjBWtUmiW@A0gCHmK>R58NwXr$;Nnh33{Ej0JPb#yYidju*|RL= z77{DpycHnO}FuUCayXY&ERZFD%1dr$KuwcuF z&6>l|k!da6fd5#e2&)JpEisMj>+~TW&s}3wK{{RCq%u1s#+lp7Sno&VS)))vliDft z;RP{KZKril``2sccy%3?`F*g|%0u%~|6HJwtwg?%HoZp0$f>0y7CgEtNvx0zGFF|6 zblev)cR)QVPR;EO4O+q+D!R&PVJq?1XOC(%PyBZ|h^>3q#QGnB{;DtTM5jn-w=RcCr;abpA2a&&Cxl@QD7u6VtI+yw~V1$yv`{cO{R zdxWs;@*8(=^(XIAQ*)YG9|dIMbYIA!4oT#kC(kAvdtb5cBMZ= z#LRD&J);a!3*oLa<&d$DU zYqc~Y!;O&gYa?M>vUbJjr6A-Iwur0vE6v!3;U^}-XH*L=*^Vg6XDJDNZ!{9g$dgC! zKFuMNv2tEIr{b71BPlVC?^S*NSUhug6NqJBTTe(k=FKl0+4CG}7yGpv`MnYq^ESYD zN~QO~=PR=zTo_?>E#aI)uLART0_Ui5ITI|FxPh1A}^2;EeTbu)RMT z{NUQo0)31!Cmnuis&Y3>uzTu9?w7oOTjl}i0ioCbZg#%DS9t!r$^Lg3&GVlU+23F^ zzoFsxK9AHle0J71H5PU=G`4g4KAQPQGLswoo5CpfiDiA1O1X2TpMvJ`Z<~IJ+%P}7 z=2EBZLApqzI0o38CM{&G=bzpQZj96r5H#bv>q{+1IJciSuOQn%l^hhy4%7G57y7}u zF1Zn-AW#R7Hz~Oe#<)a+gi0ct2RA|_Po8iM)>Ur~K?d1~DW_9Gp59zWS;9LIRdO4zT_CqFHdcDC1sD;F7df29byQ%OGx_wtP1 zcU>lSud540mnnut7&I_~dXNuN1~`Xx<5yzoCo=f(=Y3)blWx-jgY-MCYZP;eo)im2 zr|{=ix9L$MYc)ni?z-hKue<~O?eQ#y?prW^cR8^CW0xcUpB~Tm{KL-J=%0O#kg=no zgSp+e>mJeHe~>nIGP5;OFg7uEFt#!LXV;_ZWrt*n{>A;&vq_C978L+wHe6W1(n6#a z!cXuz2M4MAOoy_1pe+=<=<7>dn)qqm8!n^<4PJ#&cDeOGNoGpM)@V zR9Q)14c*?X0c9>Ya8ekYRZXgroz{Sa?H*WK#BZ&eQ3^Kv#Wy9XZzE|%h)u%&F4Z1$ zU{fU~JmlUF120{$E7%=CfcKoRU!G#qUTVUaIB+OjCEJAfo=O9P&na$RS_6GZQuUbidhz{F|t2 zG^vD7?Bq-9e>h+Jd*b6s7@d>_Z1Cr42;Lxbhv62nN|7Rvy~rsKY)F|JX>2{$@C98iMGW}oeGzOPh?(gw8#6!Js(4AJWR4~{TE@980n)k?g$}#6jNhe}^ z1OVE9z}0so8FR#`g`i~R)BInGM2pv(ccILXvZr$Ou}kwU&4nJuU=#HP#iz}VpRN(^CD zKft^9Gs_!j^KY*fs!h$LYa}Ph5&vXO+Cyk;8=BN0rU9l}`Auo82$n7tET=npf?W+t zisTvAmO1^4Tg2_LtW`fHRZ3D7^+}@a!I`?Cyl8=S0Aisa(;3Q9R$^Xe&taDpk{$zu zu0$V`r*em}S+vjeh8;R{xdK0GA^^H@j=(&+6*38|amwHarCq!yIY3;Ogo)~iINGl^#j+Xm$k@#K+nll|IRHG3SnkVot;I9Sq=g%VtYf0Z zGYbr2-qPvMZw}}mzxiuyF6rho=ZeEPj%8NQgt_s(Dg(+}Jxk;#e(30?4U!>UBYIvL zq(S#33+oXu^=9kSFps6VIZZecTB^AN4`SXCjWr5woQFbUoqd7Q$#$pCoq#@+CCejb z5K(ddu(Q<$Zl%->;6=f3K$CDZI(?VCX-rNEI;w}mGR6WjLeL>>MblDckwtyejo!|A zLs-hZ@u2&)BukkV;!w>dr>dhNO3ZAXc4QUs&jCfD7r_dDUTEa!ekp@t(!n?__w(P+ z`SRVi`=*vNpD5nHMjxA!F5H*tu=Y(cf4vmI=KR`xLw6)$fz*A&Dl)iWe|7{L$0O@T zW|T8Pg~PDO7Ip)n=%Wk<8lkF3SE8@CsNOTU24AO<<#^w?)oW;ibZa|RyA~};U5fEI7weZf3g-#e;|#1F zEjMI5%{JQyT=5CJmFXv$$6UB}GdAb4;Ugqx4Q9+V_Hv(2SD=2RYV@g0(dt;rLe7#M z1`n{UvRyJ1x-OzljHd^?7#2%wq_xTse1ZAT{p!P^cj##z*@^bbxV6@vD0e11swEhg zapb)1z%bZW+8pm=0E{4$8k$<3VCeDUYlM~_e}4d*eN`At)0ulLVxgGBn4RkdVvdh? z&5KfTm)EwVnO-t<1sF%AoI^Q6Wfzp$Y4q*8QvliD?yKm;f>$>{DaAc|cRYUhl!gJx4MP6xpZs5uG!0ET;Xx_GvzW<*}4z*P|>H7WvLsG5~nnZZja+3?_C)>$O=RP`o4r&QDgo5H@>-65D@mAq{dniZ`AQ&j%(``??P^q+%C9?fUzeb({`A^Q0ccP$LI`v>D^S!<$0u1%PkJPsx;N-s(YL70a^>TLbVZ}1qZEn< zy@8PBPPxi9p43kH^7%)bC+KFaLjipDmltzKp5LY+3mIL{BgH>Bu4Rx|w>!x&?0ldg zNSej$=|=)b2LQFC?CB>0Np{STYW(J)mX7HQ^!xP)`UdF1RgfC0TUKLZA`MVr9VYC- z*)Qz`dIjk#2K%(Q5QGtB>>l#9xCRII5VB&fi3FQf8JUWsa|t%N2IW?4Wy+u^gO~)d zM~X<5&T<%Xx<$fM8u`bM-ozH z(t|QHO|md`4o21*wFa|h%n$8b)VhXR&!6L*v7or7Xc3Vk%V3X@6_vjz`YGZtZx`oZaxc}jXYVG8@l zTV$yOa+J}%ww@JZJ$NUnyG-mk8bsSSRmoaguRVA)S+Tv{Mn5DfO`Wpvaxy-_pfYsg%}`K*dtypGPC<1$%^(km!!VE4P5gE`$+HAhb> z@b@F(k?b&McA!!xRe&yk%S$QlLS@ zi$c*rzv5qNS#z$+5+sX;2y*{TR@r?Nvi%MabBX}=Pz^aNnzYU$ffvd}A^5BZA4v-& z;MFrKyxkT_^Y-YVrtDooJEmvtP-B)i%^9_D(xR2JlP@f%3#?Tkxx6mbdg)L=#9R7j zEM|2#E^h}V0vY^8&C4THZzjU2rX97yghyiw*d*%E5|3{l_F53H`%xi;x1b?zvCQvpj&78v4P z?BNkH?S_$f7geI?k6*WjQVdOyW=*_{Q-&n5fcn)CO&-(sER~td+$GB_mFO|bGwqY1*rL^$G;NJT|@nQ~E$)mt+oJa_88q2{Q(hlvw~ zY75{&Ts42*Qg<3To=*yUb$^WWKJT8g^8PYNP`hAEG969ea`~mxA26->;rREgM(}^2 zZQ5aG%4-~eJv+L7)9U2?9vVZs#?bw!k<&YE z=x3c=;hP@Z?P!E6s@#CXLO@5;%Z{V0H~PD$tt;LikJZ?@QJ~QC*VEym@ZSpxA(3#h zf?S4Rrd*ajiNJ#8KE0+~Bh51LzI77CwrCjs0&O);663jqFM+wAD&_~9^yf}V{z=pu zhC!#k=;A>py5=wT9Ox2nsj!SEa~M5!hBk>yM}uXUZ=O-NbowWCWq*`Nx_>pTN8uJhPKE0$n073$_Z@ zEN1~Z(mS&CI#5wd?pLB0(q}TN(|bt-2Pgk7fZUFR>v`V;OPsY5FuTZe+`B%R@sjz)&iHor^o0AvrP{i$ zcY$KG*<_ES(Q3V0dSj#3Zmky^QaWffL3AQu$S?O0_nQ2PAS*ye*O&numr?1hPAD=U z?x)~Os8qqPQ90X>i`7k2I**eWzHj^R{yT9lxD`vD5C|uXYqM-qg+HhwijhW>KR`@r z#f28b-LfESt=`O0etC}j$6os}Ma>aC{)xzB5_z5JeVR#nDwXt&%Er zpkamZ&6o&BGV}yIX0Spo(gKQ?DocH0h*v~F2-~sAF_I`v)M#zJ@QD%xzrllZ z-#m9|gNjs4WY2W}SceX3kSkFopdGDEpTma4i4VA=@wSO8ZAy+HwYZen2Z4XB(+Yj2 z0@eN%kFwzrs3EPIG#Eae%|FpYtU)_-4qw?YaOnwn)~u`NN#U7PN*fOw(WFK$Lw6CV zTp`$1%)x>ZzzQj_2S&X00X}r$8FYhun2Qr_w{wlA<}W_yN*DQ5f`(gd;YqcP>DUcm zgW!pn3~n1Eo!#NrK*08aD-4nN*W~dU-l+!SJ4Ai|WxeO$lNQteBGCRjbBTXP+}~rZ z(gXZ&_8!;lPaVnb=s0U|N&47$aKocCAnF1Lctk)_y$EpjDN@7TMkJF`YFc(njWi95 zh0V(AyDGqmzjuR_?aZwk8X7d(mQ^&{%s!SHD7L=;%KgrS0qETu+1-`%Y29(k`wCm< z_4TIsM~)KLdC=Cbv(0hvQrk5M>Ss4J#HE9O7;Ec}bvt=-kgdxOwaqXyX4CCa@O#Td zU|UPO_7Er9Smt_jIIrtnvE-0Pb9?g8<=)f>2T%7wG}?;)yL$+)hgNeFEKfvq^EM#K zzI@QiQLhcn6J!5RY}~zD`%kR-8*uDwr#>^!QE2Dqdd%z|!FTs0@=to7%cChru2(KX zcbTC+EgbtDNRH0q-sE*UOxxKTV;Y~`!R%d1t+&)D-fw4uDxQgguEBWko(5fq3ukPf z!o5E&uR&2=GdI%MTeCM!G@fgbU42_^H?Ys5sGWPgye;~`pDWN~H?%aK$)xQ^yh89ZnX7adDWQ=TuQYoMv=U z0nv^kThWF)aI~Qa%7n9MK<*OoThT@j=yn^gPYs%BM2-y#Xhcp7>S+d#dyB(sY*GT- zoakjx_t0r{Q4yW!V{ed;4dQ4>9Bp%H!q%%rknW0wPzzhh<_3_orHE6*&0ABd!qHn( zO2gIH?Ga?NCw_^g$hw3&u&xg+u&?_-_#B=Z;0R7G4FG5>9UJ7*P&msEcrCQ5^*hln z4j=?o?o26Y&!6VWppH4o{|P^^F+-wsvZv5Tfu@-`4m!FfNj7un)31pGRXs6acCDoe zVUB20N40dWkwGm!G3cO?SsDP*&d7!AqG35D$O%W$26CP$3zu#`Vo3&T={Eu5qq880 z)vI7Qj~?>32eRF`9SFBPMYSzaZ_Kj+WHzBXxY|7h0g~M?`BL#wU&dWgT1*KE{H7Y> z-B(74?1K9c)r{g^LYWY#X()3#2Sw^Raoi@3p{TG@RhCpV{0u7o$#mPaiZib|p9Tm< zQ?;nPM5qUC?Tg1!VW!rZ*P2_3uK&BPMc-W;xwj;&we_H!m8z^|$r{7vO-g0Cnc+#*QqOd6e5{>3=bQAGAW*>iV9A=y+ zEL{YAluaB##Zyx})T@2`0Kyp*QJ&Bc8Yp_b2pgJM0{aiJwds5E$Xsc7pFBp9VXjH; zVPQ9W09_QRdSOj9Gw#@QL!jfDpP6JIJ9bWMdDT9e)qyC|Kux4@w^*6tFqdLiItUPh z?=^gw&akoTlShen?gyUnZA3v<^DLJkM5})N`T+!v2273QTU$G@^}u(4GmkE-?mY6X zp>q36!mQM{jEH8b=tF@p4Xy#$iWViIF+K$0c>5U$VF3tta0%k^s`w>|Gbp<UBH9fS=bCK2-hI<%-hvfnxWHr)G%^j)@GGf4xbns503Mf@{cAO2jPC zdi%w>6P;@FEnfyFh!oO_MG9P?on%Y{4T&?E*vreF@RuT=MlwzrpSPuT#+3e`uk3*k=67i5tNH|i}y|&RxKs($7w`8 zPUDc?oydBWNIH7Do1a%VOlu>bhX4b90$us!Fpr(!4i!y|UE&7^?@DSmN@ePhQajf1 zRu>wS^CGcC+W%%}BkTxIO0AinSs+DNPpS>dfbkjM!kG#|XdF(Y1DxQ9NIzbmQ0P!q(i3E{P>ZLk;R zg16Fz4|f4F1i#Iy^HBYy>KsH#ttA!%OGwhA6i<}lB$eD`-gV#oo9Xh9|5F zkLLg?c`_f!qQJMZ12h zhgT1oFMlf(%XE$eREMWCR$oe8sUMeGt1J-|$!u8EG!RzZ4-^H_@M%4~VH_OX2sykL*BrdzdF3L?0$Nx@WzfH7@LcJ>t~5S#-x;t5Z(?5! zJ-ksfGh9{-eKCt~U7o{`DAfCKUyM$^u{Jk~klvnh6&(^tx@@rD-`A`lkZG2PIZX}e zBBFk|D1?qivB9GoZgFNtEoAXAI64qGAL~;gt4X#C>-CjK2DbT9xZloPlwYU{-N%~Z-%-DR+#M=|bP|D%{J z!{q&2I7s~L2B@}w=o6EX^ice%iyBQ9RLhgf^mf8aN{_;)Nd8sN+ApCqQi&1kJa%2> zzDjQ>hwxxj{X*Ci(;dK(?RyecQ6xrLD({~QHGA}tX8}z%L$M(r5=g{ zd&OlY)In6C-xM4jP2F{ao*jD^(Iv!g{lI$dSmw_E;yWfB!fiuBs$X$|QNF>D$ z>nV*3IOKvV1k%%4tXJ^BBYv?5oJR4(kc(nfE#RC+^*m;&a43hoLaH?~CyXxIweIsQUt$kQOcw?7hjQt`9|>w7<+Rm?pSm+lRCuFyTnPD~B#x-r zCsdje&{X)l!a_pOGx(ECLQ?(I6dAjAp#k_D11f@6d(g1GxwGOAhm6o%;K3LMZFm=$ zGk9}$7&kNe(@n$(8z?vQR&*$=-)^AUY??8W>1R?MV_rW&WQ6iN>1H^FQ0+wc1cWrr zR(A63#&$v;1=9FfYVhH~0-)`q*p}cp?ZYH9OhfJlfPUrrqSoi+%9!vXi0nu zkTmUs$^eZ(IZ{l-yL)jc)$@BU5m&MFKlL*^J->a8goZ}h#ynu` zzU^u-NZM=963l7;!LK^XCEq%~&g5MnwxR2X?WehIQ0G2n6=jbsZNEvMN}s&55g^lE zQqyj!%`GZ*@A&4@5yj0s=V2m#%Jnbd&)H-`+LvMnG%lPRgTCT?=s=?pf&(mCFPM9~JRUk09akIIC!E+GZm_`EF4u6CFbPr#mu z>7)Z8>_;tAMJ0I4s_60bT*ytk55ECzYAj*#hy|a0e9^_ z%B=WLCQMFI%T%!^`v!@kRD3MCF&A*hSXZ|c&@bQTEh=Q5ONCpeu8O5XhKcKE4^072 z7Dwr9C8s#)ykb>0930)yD<5%WkZilYNu%4npgQiXP>(((EOx3DL~KMF4X3)|)D+(PG>2L+=X=d%>|s;tO0>Z@7#E z<+MUT`zkxC47b_cs(crkLne*w-F4HrkU~8AJCIT)wwGvhT|CX<;uRJ~>Z$6~bX66* z%wB%|AI{z}$g-~6)~(7)+qP{xD=Tf=wv9^LSZUj~ZQHi(%$x6b_P%%T9r2ww=f;d! z5p(`nF@KC0bM)R@ds=1GUBe%LQaBC2dPC~t@KLGfJ~2!1O#?z=`_uH@J<^U@*z7eE03*4abFWnf+^Dt`ytutduTpA<75Un7g}5nd(K*1 zto`>`u4a+T@bs!BM5u&#q~1*|+)W|Y%H~gZmdcv}g1(}g&0Ennz7A0+s&P-~l`X7U zKHVnj1+jE2%viGUkQZ#dw|tzdkEOq+SV?r`($)+DYzjsj$}bu{0I`2&AO(7;%b;He zg5;=xW#sJOuh47Q)x!{Rj`)>5N1bxp{1!|Ou1DvmnkFp4nt7M;zF%vvAG_)S?Uqf9 zBfmhLsoGIe+50qy29&G8(a;vL+~AD)AtMN!^K`WIvd)az~%)UC&+J+4~cCm zQzo{H6Ntb=)~mS-SV#bbhvPzk{(XP7*T1$?C=$6FUk-oO6u}^y0Kmnw>~GBpn|=JLCq%tN%7`a5awAJif4CSInos#d zl^=@%CxSl%RN`=l8d^r`FAKg>5AUa>k8xz z;h#z`s8}z1)LI#2zAgaly277IGtbU+F^zFc1i}1S!s{@&re2|H>1+D&du1Ax5qld`5=4D8}~r7KF@bg8e(zv<#yHIaYAi*oi`{c@~tLfrh@16KP<@U8*Cn_>4EmEo;@ zR|WXlJQ=+yJWB$y`p|0M={zaMsth%*6EmozQ%Q6R|3KLxVcLtuuPgkkAp}*q!erEmz z)78Brn(l(KFD|mfb453efk_zR_m|4%hDZ?M7c|Yu0n=Tk9j3W=ZPR&NwAa9GO{2NsmXhx)k$DjG`&`zJckoT2ABLN1~dOE`6)m`v~9 zfL^$pX*=(WX&NaA*(=ZT6;uybpkPjc~z(Avde=-od=NSE0Mhf6r3G&LR`{7WCge-t%TSgnoh|4u{1mNqqR9JByO1j}2 zOuFH3@zM-48p9{5@BB* z$YOKlUM3TBNQ-rNbEhD4g2-|sZ>B4#gnL!{?z5!h~zUK-- zw%#Em`$7V@bl*w+i{!bNhyGPs=m$>kCt2^OHR^d|=gQeQeg%_@z?qn8ZK?TG?nm{r zFSOU|v@boI|9Z;GH1*BAp@2g@8gpH3j@oI-MX2!o3CM()SXY=*z1HGQ^$2%fb;xpK zIaH8bcbSE980MLq&%7%Jmu4v(C$!*r&2J9Y;$+aXk&ExjRZC_;VQj&_x_zZA4ql>_ z|E}~c$5$AZAL%K{R)RAGL{`9f!U&~2=HO)7^g@>aIvXbfI0+r(R{&hQKD8wLi!3#1 z_xD`|REP2vwy zfmzHdPC%leS{ZEjsfn&sP&^XVoUzLGZwpq5pd&bT@QDd(K!g3~F*F_NDz-8E4=SVA zfdh zI-KADNMjS8=*qIby`ZGul5sp*Qp}w|s*bG5nsBTjy*6WA3pk~c@!0&UMt%WMMpMn5($OhMSZey(|N=>Ui9MFJ~z7z6Wy`(Cj}Ynu6rhRhRS2hh`r zKlUjJt|`-ciY$G<)2PG~LIjN@tSBW8aAg-kMahO5U;v|;0xNkZm#Y)2B+?@%VatLv*-Ve}w~{7(fwrL+IjnuQ`b*C8={Wi9CVlV+nzQ{G{k3-? zMrggr2Z+fznve&hM%DZ+*r-%n{sp5bvSpeOMU*N%s0ZpHluNNdT5u**Y`uY_R<@z` zNSdYV&?@9j-5aADwpp_va1>7~jB;+%zl4~O;&51c_;GZ zKo}z)Rt@{xX;GAoq*d2dEA?A~4meaV2^G3JHJivbV$$z_y}CMa@)dZzYEXCQ{w(-4 z+Ny`B1rFz27P}BXlu6?pB!tTT~-jK9^HV`(z1nd z$i=#(aCy?)-^6unol~)7BHPNcy8Shjrr95#bqIIx9wK0wOaG) z_0&dtNw3*sp0>H8+7wR_)!pHlb@J?%`%fFrER4tVCQZxxW+vtmh(mmMHq!l$rTd{< z0AF;Wz67GX4rYBBR%->so0V!+W3c>AUU57PMS{?hJgKnBFK#TnoVt1Gb_u}KG(?8@ z$``>p*;~uLH)V@X!gNpEtC84;=IE!{H2J?C3W;h;U>M#0xn~(CZ~Bt&TG9ERvOY+&}^4* z+T%HuUC+ymh%WB4&Emw&k{#OSTd;f1;l$;Whq`fS5JfI6$o)fuWOT~RAeBLDT+Gxz za%x#4n?ZzHRuocT9;jNP96GlkM3_yBO3$@HI(-5g~hJy}{bu2uDcYkBDAO4|* z0<1My+SO0GZ>igKT@oV&E6WE1aZ-wsIk_jr2@FFsv99JbGili}~z$ZQn3%Dd;< zUVU)}IQy`Xr6Rjq%#r0sV6smSL;E{oGB%O{7ddS@J#Iu}(VQa+GYc;q{t{?Ygp3dV zNFSApA6f3C5ei83avP8&r?APTmjNrMZuBxdc%}1Wy0Nb~syW&)R10T2%nzW;#h*VK zi<<QDV;|x$`Mt=G)e%O1D1Uk%BXkEiSkJb&x>JCvYW!t z*Uk~M+#d`_x}2IO~=-t^&Sijb#8{Y{9@UqxIWkq_{|Gs-LhGM-lx$$ zdAwkP3rA*4bkk9PfnH8!^x|G2FJ4V#3p<6|yfqL7qFHBLfiSw-$`8eFeYX1ZCd7%4CZNmTCRW5QurZQU}}X5U~GZzj4M19-P*} zd2=Gl)~;*tSI&LY+LhwK1}|_DtEalk=h3)$dMk9~3xDtf>#z(@u;CSAz9g%+Xk&Z+#4jROs9|KRIb?<7PZL?9L@|#d)9tOX#&Q^Jjn3btiN$BJI3?GExYf49&d{5 zY{J)KSe_1F!byNd(+_Qz8&ML+Ei$|~dWynkh0vYKtV5CMO1j0lru`SV%b$hIT(LV9EH!Hznv^>3sLpu@{J+Grw1uNa)HoewTD`N?y z1?^~>U=J?Od51!N-Na--gjFju9#D>~5%)$x6^K%&y)!kH{K7GLUkXK9`-4NCl;NG* z4Z=1<;m?|NfHIUHnX7gpSOxZ!h4Kqj9rt1sO|gzW#gjgA?JB*!8_-ydw66U*%F*wt zzjq*(^IEpCC0Y_0=zooRK3A#373#Lw32sNzhrQ!*LU}T-9q0Nz^gM7Ye&QtthGU9}%rc=gsPJ1gL_mS-~#nDYGTgz@E(Sb_A?`nz^8u zxv-c$5xRc-pV|dEQy#3tsFtwkS1blZu8MOjXasWA zFSzD3g3`?_?x3uixn?xt+RR7~wbjEs$2fytF16$fj@E+=kdvRLZj zE_;NXNMvbD$#0Om&?pqlUu}xjAqtSa;bK&d>VLYiuN6WW+{wCudxi2 zsbgqVkRc#h_Be(0Tb0z7UxVY2k&rlS11Gr%yk~ivOn|+7)*6LvUh-GDyD0hSe&-2m z5vsuM(CFtv`eE!_f{-N8Pw%_X3X@Mi^2CnWdYg?3kq* zu?BIB4_&io>bk`l`5MI@0F5DzF^(xvQ&E>u%hYlA-BOP^P)~{6{6;oMwvaOf-W8gd zU3iZ(Msb>JrspBWpM+wLNENQh$1EUW>8c2Po3$|?fg{sF3)!F0l&%AY&6lD|l5d(H z4+7*4D6VdzBZ6a?3m}e$(UzMn=C%TwF2O^jkH%Vv(^(#1SPRp&ggkIe zq<~|eo>saigcP7O-I4g(j>t2mf_ZpbDU2mpo|_6#p)RB!Eld0OoX0EI)Hds-B)$A; zOv-k*>TK(eU07^%aJ1b}WjnD`Yk*c?pdQQ53s_o+OGPuC4>!POv$j=N&TcI8SkT5j z;&(|wC1vl^GMx^eGt|VW9tNv|RxOOX^a8c`2!+jSe!i!jF>wl zm>63`201mrX`k4VKgkx7OzkyyIpLb{Ru0+KJ7OSadMeKw7v|d3N5r2Sb3b;3C|;zG zoklOfDEt6=j3XUY^fPNQ`)&I}8YuXy&vzDB{Q`SKl4jXO?5|r9$4SB568G^*1%+0f zB30eZ_eb7oC%LgwK3J*Td3_`LlGe#*zwr|Iul>LkuF}O(GaG>O332QC#mQH?YxA+K z->UO5lh!4-%-L=Ha^WUp&}zl1KkTvp;6p5pXfQWEo_j$ zn%cc_R+}s;)_I0nf`R4!Jf^}LG**67Jj*;GZ7TKDTQ^D+rY+D&+a&# z^l}Bq8}wTc>5k9B>1>FxiHx}}lel#%D&!Uoy;QrIEWbP9xU{{ZmY6dd0GV=XVgR`# zmNEG_<20NV2#1N>D2!;_o;+llXRz)XDXtK^160fxB8nwB9pUq+zj+rX)8VW$0pTd! zc1^y0xXsApBg`( zKYX8Iw9j0IUn$kv+f3el@!y4QzSVexZvkHdKR)^Kz2lc&k!n8^s4FkNaf9G|mlZcC z3(W%0I$+yypu1%4i%r9?tZMJoChs};@5VNfS;d1>0bde7K4tN}!+%IzZanQ)~9t@Va^sBz~JjA&eqKdY^EWX}ZZ9cO)U!s-9wyq|=#@N0j8{U6y zzIS=uOy{i&JA%*?&s0*NGAt=4bT=xb5l1!SI#ia*EA8EfLaY{+i!1H@ z#{LsVtSZZzMh=k^W0u+wI}7mIP&-b(qS6y%N*kl-fqv$Y5ysGUF#tBBg5tu1Cc_Q# zqPs#(`6lSQiF)fQ@g>wOgyZRq`Y5xCay2HPJ)*ZCqSoN`Q&=2I+q%M3Wn&BS$}CF< z<N%AynY8vbbDiT>A?$amEQQcjM9Wuhi&KPM_ z>m=1x4CoY$#t+_9vdgkttvER1)>RC0Q5MvfH&%3|CzPRpN?zraYnPM;I2F*;=u!t! z!yC?^66eK*XkEn}Yk>oVW-&=Uh`BJJF%+fdw%u=QNzUehD$?12TN_4!(3({b-_!Zm zL~m1ZwD%vZlYu1Ck3k954}b{f=~UT_ger7w)mX##2sd+!`H$*zx%vbX6m?xE zic`Z{^KXKl=56-bq2g?@kBG7RvIBw{$ZgL%#}7&?t1#79Fee~6EF-0gaK^C!^7gDgd{r@ z>5u}kG5(Z#&~B^{5HfoS0T9k)%QV#*hE2nlX3j;+8Tu}%8yLAWoXGn*j0{Tvg-3zH#@g3gQmfpwii;xySxVR&^#tSd$72cghYZ;8wuHPrx z00JwCCcHr^**vn9ec>&om&PW+Lecia+$(=)Pz;QpbYQ*AcmC;kT{x+G=y>O9h6_B} zYL6eQ-HHZ5GlkV`E+}egRx9+^eMF&E>rd_|GV=Iuli4wAx>WeWjF8K5BLRq~FF7LVzFoLqE6U;D+;U>xu<| zpwSu|Wrk{R`>7{6u>D!N zIwX7DI{$2--qDY*ARm2!{IfOgyd|l(eQ%99{|z_2XLGj)+H0~VPhgw;V`vH?$IAYif@5@Te4`T*Ip@v`X+vq6D8|OPB$q5x` zUa?5I*ecsZYi>nhMLw&J3~olPJEN#^v1?!2HJ>-+P@d@?_31#t`;ys_91ay3q)Zr-(jLP+_8lP>kg4wdwgYBfi%8JR`iaQj8k!g_)%VTs^ z?_(g#w9_NVbkbL4#zFfzHL@G3$?ZqP=<+*g3vigvJSB1G$GjDLCD|mDbu+&(bi2=FH||b+Jw;L2KSg zW!w)PD0K1W3Ff)!L$`bdgXPfy;h1LFAxF^U;$tD~K#m$g$*%n3|9OlVcwTyH1=)Bg zix;@x^yV*YVrd(Vu(`X2v@I#;QJggRY>GIvm`}sGT?E#Ckz?Dn#I}EiL*L$!(<7jM z3={DB_R+tMhYjgE;Bw{_>sy@8#1P;om&J$9fWuit3F5Gn=_PDaU*k?jaFMi-ONDlF zZyPp;Ran$TD27hL5$VHV3Y=G;mtV?RNrn0V)=ty2oQ?1(B$nAC6|!MDZ4_v>#y)V+ z%S#kG9OjEM7hr^&N8N_N$44e45o|+VlbJMc*gECSPbfw(CSzNt0NWr0@|T?Yd3NT7 z#P+VLI+q=Fyqc~}r@V6fk36aQeE>L8MkKL(NFV)13B8Rt8dvk2V|9Fnm0g-~!HPHs zND2I&!ipdRZt0ZI6(&Ns{va?{!aOoK{bA{>*A{t8PVNbByjvzihYb4NTyHK1GPrE3 zk=imkG)^{0D&H(4J2H=9Ar{d(>dlrxvOjAo4vbadnE!`i4JC@HCo8Rq&(81BVEr9$ z+;+260^J1gepuEDss%Fc~DqR>%puz8Z}Zw&gZ%TWH2%D(8MrwC+K}oEbZlc+^{Fj zKH-?&-Rx5_s+`(ALO4m+f;fD=LV-q1!`eM;m3vA(OJJ+(aG+5x?s2DoMx&k1k?K%M zy#CQ+vIe~i7(0#iXd8(7g$qd(j**Ovdg`XrX?kKY?wog3nDXWWKkeVCIvC>Jt|lbF%HnBLuoC7X!l(3vxtD4lrnxdOb+&Fc#P{?3j{PytME&1!bb_ zZid#?U=;Fe{-&qhFItQXZzWQ7fb85ns_Mt${;Y9Gl4 zw5Gwa>SOun!*Pi~{)ArZE*#?p%F2fIMsc?c+9*_A;}vs3785O_&-!+eKC>4*<10Pf zmO8M7xIWQw`$~iEpI0Ot$$w_+A-v6<5<>y!u?^k@msUHv_eP^OyY`2|Fq996)d0$c zszsjqh3$r_)d5`dQ}Q;cyk-bxA)f>LQB%NvW3)gK*e$2IFhlr? zCRdoJ5QEh@GP&j-J^zY+)-b{oF3fY1M+b6i+u?c3PNxRMA$IX0`l6zKx!jrK78q%n zPzU6@+G?-oTQeEN{m5a1H(~)^A#f3~u{qTUgZF_u=+hf&>p^-mPU-0>Jv8ZR(5(Hy zhjz1REAE=`zdXwjWHR#(j#wlMb$_{djE+vuq^>x~4Srtg%Jg~G)?vA%YCmdB4(}`n z^EiqSWXz6bx~4SkEvTjQt*n?l^Stq?ty|PAXX)02-yV3@2=PNekYCs>MPyT#=mRKj zjjVZOy3r(A9QK9~jhpHD^N5KbrK-d2F72+@%pr8>QQ8ub&N&0L^b-1`1fLR?$%;M5 z0y)_le%ioKrOm&iYCW-*ym4fFK~eY7iS<<_n_baAd0Xjg2_oZ?h9=wWMX4>zBrS`D zkO_!d^u{fKs|J*JXNwK%w|vs1X&-Tj4QR1c5!ygQd4!=xZnr{ZhRU@>tn(DYPtvlQ9VA4~duPvSNm%nGGdn`quY5*9{*{^jtBdkX zly@=}@IedMrDMM5K~3*Mc;7Nx<&!knuycj@bWwYkklCdV=VF1bN$hn%>jmibVXwVt zX)#3!-zwxx?}!zZ5RyP_D5I*UxS%e@=Wh{1EfP}x{1l`A%0>7R#`yFXZ;wuFj!+U$ zkxf$2BQYS)lH(<#YFfs0lvp&8AhncK|z-wJjKa`oHKA6RTtoy zPX9;gqhan)I)4w`TJ)4U(N-nUQ63>fJ_5v?mU4l+SxHQMcAiYKw5eI{HaopHzf=rF zBXKT&0OO1jFJA$?B$GNn>~|>>4cSzI zUNfd;rUXeNRKy9~jq;>+oo$btb`uMfNDVdAzRlaO74zp?9T_<-UWLji@zdltr;`Wa z3X)-C(%(?1CCaYz?(=1^>*bs?rLEHwSFjBf2unugcxmYBE9HOgT+P^0lnRF!$4468 z+#;#8kqh=KLQ`w^kAjTOKd{9x+oXur6e7;At7%(#nB`-Zrg=?FCJI)e{Im^JRjw65 ztm(T-1X_Njp6c~p_G>mkEtRavRa}Y!8zImM3ZxmSbM3s#q+AqXfHPVICjmB0M>Qs= zX^e!lCOv5nzMi{&bNeMmrGEkabC5&8VZ1Vh_zufM`QJ7B{!O~h|7`aChgJ6(nc|wj?+* zeO{vJooe{YEb0Y6v9cVMn`cLu!^^mQC6*Gs8y@Gdh53zw4pI!zk;y7HKBO68NbLwX zX%A7zAXX$(USW^);N;luHCMomTiwhf^<)~sSme@hnCFF)E~wszesk9k;FhhtT-{pX zqUHS^V1fXc390rI_Ble(&Yq}#>rzBlu0qmXE|v^LM#{6qz{6l6p$x_LMpic4y>MB7 zn=pDD>m7~IBZ+++KCWQ~3_cxh3D=nR(td<<@;Lo~qgf)`5NuwshxwY}UPZ8u@s78) z5qmnZbnfzVYO30H($VVaDh5g;#v$eoT%e3>kzMcQTvxQ&n}j}O5#rLB?;sA4c;1rb z>I$-B4Mv!t=U%Va=P94Th_fjnY|)W7$USYurYJ2- zum-+9HdzSdP!POs01o~QSx8GG3MRj(GzqJN$)LmJc#6k?3?Hv2uo#o_HfNYRGRL`#C#|6+ ztERPv^h)ao7pspHdgn_FZ#sI;M)HqbbA(z8fB}dL_=mm6nyb}uV^6V2hLs*@g&;l@Z(H`9O?m8X}%)|q@M zD9jw@%e{IoujzFb4b)3| zn7zw+LC$c2y>U<;ny4M=jquLQX(3qYwMA#T=VE;Fjz8 z4*l5^yz@u@oK^%y=G{7m*qFG5;B=3UnsQ!hY%BJi(5Zbha@p99eX+E=imd)-ahhLQ zPDc<>mV;(&AK~q}(KGdJ3p~sN(mzYK+jy={{Cl~Ed}C1m{gVAZF^YdT>zKv=YsW58 zS<4nn1?98SO0Bjw3TMF1+iw1kG|CDfRZ<-if}+x@MH-ppM#gXLcN<{oww0=)O?^Nb zsJ@){Ud>+rZm( zm*H^5bM(2>)%6PFLyX#++=C>5E`Z!yEXWYyo~-9+&W-kj zdlb#zl_G#HxCYG_oUZPaO0V5d#sAqHUI%LTOu&;UWXaD}E4v|It@S%wvpmikbtvc+ zq@Tg}khe~?b|KeGm}OL5_xi$QlZVOmO$P|(WX?;?SJYUTr>GFRAz3DJ8K6Cmhib|^ z?x|e|+-M?6l_hVouwD-!Jjh8=6qb&a6O^Md1=3rScTgARD#8HbQd!HYb)1{MxU1jg zpOlp-Ku_t%j#r(eMh?-5_=r7A)=p;8-`|<8i5Sz357xn>BTFxgy%X|KuX{-Eu2f2% zwHha>ZyUWwqzZco(VoA^1A4gmFd;AHb%@I~A2}AH(V&$yT`cC*GfgLF5;;+#7-4o! zgn6vjMm)X=x)@BbHxRdzq>zzB?gl)cme<{B-ITr@p7=;UgdLEP8P})N9QlJ(D9Ych zX0)ARf)jfJ+?ey`031VlV$^!^cw1__3?)(tcgP*u>5L~#Me0Jc<^ZGFD3C%$je>c$ z0~QZ6G?&4rC3dk$fHEc4zHOfNsmZY~p+{&|$S)>PcFClL($Oj%nRNsc2#= zMZD@JXsCUOj9VX2kq%gVv21Xkl#EjWyO9F1*|zgNR%Zt01W45uGM_FLViQRh__5sp z{GttFgsS}BuJu5k_Ow9^vM;vk+C7Kq>)Xxm)nDuds8(_D%%mwus8^9_05C+Sijl?I z5r@skst4&->cM$+#wGa*t9kZoc_1Bs<`mpJElVQep?5VPH;p-im%l`={15Mz4Nz`&{eJt-v9LEy}O``0Jk2elVmsm9INzaJHo^|!^C9N zQMiMKP`JC#8a)=paz_dZ=%I+6uR|+C@~phn+>+r;M#XkK`>Awe!H@!19FV zqT(v7*-41$IoH?NvbT$#)!_M5Y(Z3T7(a~^b?c_Y?0dCsKyvFEYT>7SOMdc?0k7_3 zZb(KB3+L(BJ~x%KhbsmZN>ZKOgHrw^1DMNecy{Sjt*95!!oyZL+n&OZ+AbcIE*`Ue ziPTu=O!TzG_s|T2#0ZFF? zvN`fc^To_~X|P#AvJf#624&i(1#5{(7PA1gZSE>co!PkBl`6TFI&h7ph!OLBfD(Y! zNOn_xHod8I6xj;i7wY`(OrlJwIee3S<9_ip=Sc;eE2ftxd+BG#(5Y?Apd#q;msh3O zeWa~g?iFk$^gYZC57}GvPkYDvsF`1xGpw(9yTZ2um@x3I*)|fpoR~-_jtufKlqnxkST0!T8!+-Pa4_y!s zd}qc|(PC&{Mzx2psp9WIJH5_|J(yC|F<#jAp{WhhRjh!3WyFd-p7R)vTj!{FWjEF*c27GUrLnQQ=wOo=3| z3vd*E_Vm!{pLw9rMV6zbaYy1SngPS9EN-1W0$`+XS5a%MNcvgf`hy_*i5Bo1pZU)p z16}LYk=Ilzw~nv|$janQZ*pR83$9Dd;nTeEFYkQ8Zv@lJ(FxBUTSa$4`xD2d=A#u{ zESjUbX<7;eaR0&)a%im{3HK^75Hui|AG}+ux?@NxYXkjt;?Y#^j#@JfJ#Y8b+FPpL zW5g7z3xU(x+uQ0Z>GpdGhsCm_Hm1Tcxr935bZ>8cxR{jbPSY>H&wqHl8DG2;L36!35O!T+tO`ET86;{O*$ zYxuu-9t}!YG8*5pj?x|;Hfvhw&h#p}zi{+h0uvdF;&mwTVU>G0{PnhI546@UX01Ca z?7sRs&HeDkB_qN^Nd-m3G#MX|Ms~LhxsM*@RV#=|ZUndRj=ZKEGQSgvH#?u-nvQgI35}uQPq0^1$_2djW9$jAUhQzwm?+21M+gC%WU<$472zea`|!)i#uk zl*TE0U&e9Xptuf}2Q72ldX2K50{3lkbLSlTpWI&9`CU;HFOSP88W#|!l35|41! zoKUi)jKvQ$M>|bS?kE#!tgI5ltVbyh>_K2Pms^iq6RH@-!gOJAenWWBDYU7^K7Z{> zG_MnelL}zEvXz#WwqyIdEd2U?+=&j37Ui;i7K)%uo34<^vW5_S*)K}P*xIVofb+yx z-!TARAg-NQC1I-&u$LIUY-hWBRnl*3bfAngnQo0S49~A>nP}~CTgU?fq!Tq3Lz=(# zc=Xx!l0EE66-b@5Icc1D23s(MVMk(jtKXF1Sa#AG;T~q!l1~GS zpKkKk<|z;;x^^%0tDbcqf6S5hcT6=8hxrVyG!D`Ug2*eZ$+5@%44ig;52rAZJfHR* z;mE0zrlCz7;K88K6;K!RfE=5Jx!sC>A_6yEu5>u6vtfU6yl@|u=xU0cAJVB`GCtJefr8y1} zf1_a|qU|Uv2LxHtGf()&dv?22r(uEap$PA(I8P{A&Cog&`+kg>&s-(vc~Q?nMITW+ zob)pbC!55yZCeSW>&AMt$i%fnLd*q~V??}yXbz%(eMz`^#2l(IYHX{GW^1fd^kk4~ z;o?#xZ1T^mO}XbdY7T0g+YQtOr;Kp%Uh1`c3&&gVIu$D+;2L2G<||*}%di1lBI@Rj zGWTX6`U_Re%@{D&pbl-vMi$#z#u)d4!1UkPwRL0NF8r- z`*T`&=r;nCP^ z2FOI_Pw2-~c|!FYH*Ba|$6AI`r(>Q;pP}eJ(ehV9cuIl<&yJh)oc#VW!*j#rN;ctp zFKJmBcdlLu@|JS{%rG=U#8D#S#r{p>=J?o&EzRGJti5{sp3xvRa?hiwuQ!*$H#fD77q#O|?3GS7Hld^5(i!#HFLemSoRJ`ug3a|at@VDVE zA{E#oGgfl==Pi+N{y|GMc4i3iNS^?ao)wTY+UzrTHVCI|wqz~IXvfKWUlu0s~n zNx6O}>pz3$t-XTZT>y`W6M0VydKa3S2xA!3GZxw+Bz?QUnU5fi=kBn@m@q-Dw-FCN z|FsTJJZJupd>69?--FhFzYhOT`Y+;!77R?1PFDIx_U3v97XP)Z&G;U+A}yhO3IkXG z+}iZZ_>DirLSvdNn=5|h_b)5XF9UNqOC{lt889_6+vmqxNwTS%#x)Y3;EEpR9 zGfVjf0}rqhl8i)&`=|#JRqWayjQI^op9(v2;Pu4Sk-Zr}^c)Fhd9FYoTa(H9(^2nWP`2)O#nNMwY#^fRZeOiJKXJ^wRK}nBxk>i3l#rA`Lm-Yrg_TgFhZP+W6watL^G zbe-O8U8&cTYa>kao}nFzYc?+16nxj9ha5qaQW$3F-&)IogR83uF=R*x-6fdQC7qZ1 zD48-lTAj#wW9(?6MW3V{@b@gki^hL4a%Fe3#e@yOHk}!`EBbDQ1~@WAnWX7qF2aH= z_)?i!o)C-xo_`1`)ngTI#)dtdg+L`IS4U^XIx%wCF+B=Sx+v>8a-W zr9vkoOvz6^hbnW9s#sX7I$1Awx-~`ABJPA_rcm1L61AF1jz+M!L5yg*rJgdFFgCepTGOus1zhTqSu@Rf^DbB&lw z%8>R6hC8O?WaA&xS8NBlJ+yR3l#wCY(bl-qTL!kUX_I#HyeU<{Shk$H7$y7LfgA|i zC)wJtknkI4!7g7a`%bo;n8u@Xh@`|qBM|)MZ#w7y^x3rS9q&L}!|LzeyQd^yK@BzT zqSQ(Hm}$hw4O@uHwTVeIT@JK{nP^t%W3@CmV&QMRHEQ^08Xr3se>nK7W<_ys*}BZdd}(V8arghMK`k2qNm{&o{jNMde}xcVn- zrS#c12u~j%RFutF@+V93EjDP0zHEolyL^`nQ+ud9EX({EV{=S+{oq7LXG1IMMuss3Cuo`UIQ2;x0e?10$v6b zg)&D=LXGB91PXQ`=qivcNy_LIp|rQ&SG62AmAH-q`y<`Gt}pf^-M*?sM)eVlf4v3i z&tgin1=qo`&b~gwcEUM{E(13gj01nxF*dbrK;3cMF9J8$_>xaUXL%`nWP448l5~h1 zw?9X6R8ZtmHLJgIDu`J~*$91?&mFDV_1s(4J=C9?CZXJW7%SDU1aYh~fMce$HlR1# z9R7+F8?dq7lDc4NHsiSP513mDA-Qtwd@KaIY$qpZG;YY-S#3p~-&LN+gCtEg$TK`^ zj(&VYd&9>(`A3GsR)UF0RN?w_E}3S>FzF zA+S(KeVj*zs<)FX!VPQVJMFj=l2G2XbDVs+KB0>P*CzPUnazn6ntZAXuk^iIjVJiB z5UWgulmc=(du@t0W0UG~o75#pS`)V`Xyxky_bX`g*XF`RoCf0dQd*e5m}O}jOsaE7 zE-DongRO`9d`V56ON|q_UBP9o1d%XimX7}qXWtYgN|bF`_AT4C?Yd>#wr$(CZQH(O z+x9Knp6b^<6EhR>`n{Qm%#V|qABlsVd#$||PoJ^rrs?;4>qpMWJ?GcevyyeejANbn zqbDV>`R1z9{DvU71q3)W+L6mGph3YNg~a&XQlU5pt;rG>D=H>9x=$W z+dM1Vd+#FqSeZuJ-{Y}{+ zQad1VZZPQ5`2GcSq9^@=*n5zi!#>Z!?Lcv}!QMaFYcnrP?1Du)!@4tkeAh?3C=Bxh z?0AKcMP!?~{y*c<~4xJFeV4Q&X|FOkp9U&cOp&jh|8w+C28 zF-;ratL%6@RFVj7*Nz%?K|w6&3?dn$ce|RrT#gwMcydbb8?yAq(-H^-AP@7YjmQWh z?+DJZ@$m=_3t10CCU>dui;d~IXj?*YUYAk#Jrj0IYx-PQ<87@8dSnsrCKFy`wD5Ku zL45yWdWqJ=UPA|UH5v7E)tmGQK5*fRK3Zod) z3}At{-D8^5<1EPOlK-;hzea|Dk>@p|q6&GF^K%=HcH`hZK>*gy4!pD_==y?%Ut^pO8ukn`Wk*#9HQVgBDk zn`)K+C^q0Z*jc?|w@+*;f6oV8Phc09mh^2a?j1DG?vTOig#5foXGb!{^u+!UUsvc6 z2%x!$`;9N(7a}|{Qf;;b3Qeh2Zy35-7s4VIc0XKm(8BbJZ*)5CdA;p=)&9Kop5yy= z+}R1xa$wEJX}=!YjE+KhR4Vpv4`#?X{CTt61V7_xzZ~nxPREQE=0foM=!4$v`5ck|#4UYpj*TKtx1Fpf(@Tk%6@kLDH?46%Hp67eWF81|?Eng?Yrl zqB^%JT598Sr}?tLh4_(}?Dgd!kh##tkmrLzn_?`mDEX4QsoXwgP~gH zP^wKJgrPht>i(^ulDj&U_<;;+$Vw<%nQ1|TSaI|i!z?g0CwEFXgv`|C!h+sOflNPd zgLP4~ou#^{G&0zIZ-@ATpfYRpM=6N4JU!h>e#)#qD`h2$F}o#AJw|)ntkD=3T2U{Y zqA%63s6Qy4$HfOy$+aZKTK1=48I80(t}?rjN!K6>_7X9bv^iYjDL*S#N^6nPmkRYY}n9h`t6jdU#VC)q*qUxB}$bU#do@ z+-a=sqgt`0>UH1+@zRMsFefQX%vsP+#)p;@a~N`QJ-|DtLX zMj^fJC^;p0epOxo2f<%sEd@IaZN?gMHxyNrhkV^W%M-+tS}HfesBPqZ8UofrNr7vq zH$Q!Dud1q6VF1JebIwT~4}t{7YxGZvYJ`=wY!ar@)WJHF*14YJ!9FlG0%&F0{K`(# za)@Xl1-ONF0Z+o7_v|i2>jKec_&^UBW4U)T*HH^Bc{_o zoI$(&9$&0}L;Yxr{?Z=}Z5%$L%;>$ebA}%^#ZxL)g^^kJwM{9I4-*SrsDtE8y?C!mw@H)HTZSj*fJmSKCP zGAJkVs-sJq!S8}awgZk&q=#i(hc*3Jk3qfuOq8v!1>14Q;7%dju3IbcFz%aNg*|b# zP`-;BzHpW8e8iz$-pW;PK-JHtpUULWP0#qhF-i~gn+W@YvW*->(n1uAc*gw{R%4lC z3}6J&k58z-1+?e|GYHo{<6cXN`{P#j*mH(q+uFY&T=p>xY>Iu*29nHsQ`IzgQTA98 z^5%Wf0?`V)7da>AcnjFu-@DwoY0q+nn|#O_rh}F7KTv?WTW1NC=Q`kHc9cx=^*Sid z{X+%-AaU@M{Jd&lIRwN^nT&EljS%)ZQR1{&4n*;XPVm#Y*m;e{*vv+rDF=DF*mnd| zyaHXkc1R9AC;oc68GG%Jy?{&J@N_Zu;33={7~daRs)5I5I_4$v?6rla)SX0Ys?l^L zQ>|dxXh^Njs70*IhRjH-N?2QNp?v>QFUg;x{j~yVXBf`>Q>62cMk}Pd>6$q@@eJn6 zl?SFucxIsSr02l|Sks7-_YU%1g~+I&3p_t`7#r3=af8o{@Y3n&TotIO(5vX&h2 z^N+-GiWisFi$rx03~gd6`G&;z1p9%5*>T)vq{FD@vixR zPDYBE8QHT$uwshDI4NTcDPUkR%CK(}J4B&2oxiirUx~V{GXhVtUHs)uSg7r!eHF{D0&mBNhkO4~V6I#x5S|HI ztM#<`$EnL;t|ZH)eLsz@{qZIMB}o9VRkHy8lh{|O85`)tOrY}^_UJ&qC+5VSr3vRg zLb)86KK8d4u2Oa!GL#vGd_q}+n(K@(BM5g^R7O*)dV-0zHN~>wvMbx8Si*=gZ>d2N zAWZ95`FW+)ydQSrom($E*r2_izTOf(OnEp58};ohEqxJLSB38Gu@%QDpVvF6{;%^n zf*424W&V{}SnVPAkS9{$S-m{b0Tru-S(>7)RY9tk${Q>jxoRbDzQgBXs?An`4M$Nt zG&f-g81?Y^UdH??93ySI$z{Vg(0FJ{vncRy!#?zNOw&JlH4VNFv1YKkueLUf@spEnj~1#fjKS-E}2c}TNs8I5%HQrlPB6jUj9;0 ztfO`8m;2s>>If7n{Te2QL~D)m=&btC_$2Wm;^M>#VkHR6^Ias_cJw$C$36QtSI~%b z_B_uR;g!RP2|ID8p5V!QSah5R$p1C1q( zMq|af>QHy77pi}&Wn9swSB8TFhkj9mD;^?J#OTf<9y-5yt1mDrQUodswpqrQ6X0^2 z=Kx0U_DP*sl6k|O8k8lxJ_v~Cc#995zo2C59(Tg7qK;kWlm!wWvVhz)KH*STs4acu3UZ{0#Y zzz=$)AQeTK6NpuqQ|7N0Lo1xm?0i0>8uE8nV3eB=W*{#A({}mnnQ%&U-U+@y~5Y*^&rrz!j>`9|Il@iE*8G!b6n+|Y7O}IT9Y`Mh1m$GF?zkAZ``rGWX ze7WD_(MB)0O0peuT=Ablx$Y)Mr0x&%OZDF}zy3cyA=AH17yf19(U@tH=xk|WRsC3~ z5}hD&n({^*fgdbjJSQNzLzbw|WXz;!LgpXFC(%dw@*f}4H3i>%E|mJ>v&VF%+tv5; z>lWz`Y|e1mfeeyl+xbv8`g1+T9)D0Z1RTa0l8%#5UtLc2Eu<`T&An6au5mgBZ`>1# z;JsVLmK-NZ+2$|hwKe0_si-MMpXnjFlKvBhyYAN$qAMP_r&;EB%;q`QcF7_i8cVE;h_b(VdG1%sm z7J)?MHO)AMV^C@2^?DPvOPiV7_gTKgetAY-Rzs>o|GS-T_jb>b6*9HqLXed>VzWGq zJ^KLIoLL*R;{G~^WPkw^6v|?B&7+djcx9x5go!@Qy(EHd{grFm%iPN1%Hw$)dny)w zYpo2sFQCApaI+W&_TKt z{U`~zh<&1)_#1(86o55-x>u;nKZX-U-ZgXY5jR*CxwQ|z8Rxc>Z@`;1hhQq=BT1SS z5c_cd7~X3lwkH2z1v33xiv+s=#zOtSyg2^VDb%60lvdKed-Qj8La6r3$mNMJ>FM#s z7AwqfM+L)y$??NTGZ1L$IVa=N`&>7=5=*S-NjF$s-p5O5I;~q+*731Aqop%DGA~&( zoLXy(HbmD;%-639H>@&?F2A{+9oqjWtNZd@aU63UduClb_t<(}$;x^Mhf%%&14b-d z13mOUct&r}o_qr(@%uu=<$j^(v7ORHZ%+@0^MRg_dPq)xshdL4H`4uvoc@FRev}x_ zGd-^cEf>e+v}`UApLRfNl+bakleLrHB7G1Hk$q8gm88C42fYU_S4*1mJRa3ee^di)FjO9{miN zhGneXBwI6RLIuzUdX|=UrA_&m6|m*JOZyl$o6ERa@Sq0ZvXsxFOYuM(bEoKb3iH~8 zkhG8imo2fmUX0SXB<)VYgb_2`Ic-dd8DVEzZDf#*ajHyuQ1MiZdkZ1_S9^NiVNDeD;0&qO@H1r>hqNySx;dSn$nkvT@{Gmy^ zi4vZ@x0tt^oTufCb&opBNx$>^pz4md=nXc=RdAhy-Qm9>sQxBWelE*Rtk8>m{zBfC zmXeizOk{po7VDP%K+^%U2fG<{K=UAal7fK%ETlB7C0XfPf@4J(vVxlW_kI|SN{Lcj z>l4?gk!WL&k%Jn-m!INH^8?Hi#{5Spvm!1Vdu|;&Qlg#dlr)1v4YlNq=%-g~ksV0D zz&A03^w)uXk%RNX)`m}DL%dAZuL0I415y(bC7cqcO7MxjtaC)qkfH}B_p^U=nAULD zu$YDx5Vvj?Ai7X2u|{7s4@nIL;N~9o-UPS)>S4mtARkBoe(^&LG%X9pnMag7rv-k- z=c9j6hEdr_5gV8g^ZJZILMB0p2&lOoFY4mri!M_t=zJd0hQ^Uus-9;CT$TXazZ=wCSWixd3^W< zP^bmlES9)$)tlGykJK|6{u~N!n6w34X-XSwCX%(_*5`6crh-iCJK;U8NAy};-jWna zNWzwhG!(6Y2w0i~T~5#Lbo6asev`A3Q41oe;;pg6wpz<0PDMr;Z}VK17#nfOJ`(L7 zR}+x2vQT-m*$@==s{uJ%7zoSXd1tNS7}cl5Fiwq^jf!yvG8FCdsmHmGKb7Up3R zXH(7&^1)fGC*ThW!>#Dp`9IY!I#;YxsvXfKuuJLP%LMkOfzJ-D{JEtgELRMxMY4om zbn&OZI7P0RPmmm@b7f%DF`qFvM?M7(R=~W2V$hwmcx7kBizu(T0ThYARn<7!`ltI) zTwrVJA~35!6!h_*ubABU1`p8(B+>KO$zX5~HE-=?BIRP&sAMA~W-#K@h%ba}Yx!em zyTP{jTlwdZ?rZs7=e95f`6$H0wIIk=i!D+zmz0*s8JAqdwGF0S8+iTKbGI!=o~IA1TM;Q|_*>L~@kOU6)_jRX$1(^M(ag5Vmb{$2jUB~0HZv5g z@6QEA7dy1sHIGyzUE(UtTbtRH0xwmL%HCi_-}8cG+hr4UbO9w7*pB7R`^zV-W~akI znyXaB6+&I;ZEZt&c|&Qb-TmJ)fB!S3ijL~)>YGsnko{~YkhFt(`V&3O2dK}sR8=Xejv}5vF@*Lr043M@S1y^*HWV3ZQGR^V65p;1&K+xb>8G`{r91pkGCD!YOCc#MK&% zeqv^rRA9$RZm0*e@f%8_5oEY#2TN|-M#O%TnxTaCN`|`J@ywP)6!(NE?MWB$ef&%@ z{e@l{(UFQ~XQzYcY?ppb(=^?Q8M*bCbLR>ivqBvV+lIJ^%(8286Q-phPbF5QuO!jY zIYocnSUTENYk4Rr)3sJS6Vf&JrF~jNDWJ{56**Ryx|4{Rz>k#8Bt<)(TQ!}pK5iYa zRDLJ-Z`B8(lL8N2C#Ce23z>NO<=YRDgB{PP;2I^zu(_4lpG7Kolmju@_FF4&a1YqD zjVvQ=Ee4F&Vxbj6DGJ4ZJRek?b8i~16!Q$9Mie1rKRD%eWK%~jkO$Lleac)&I21$M z@fE5Jr8H30N}T^n<|Rn~jro&>Bm)e@{_VX=W<5xmnHk8?qrOlLB{ReIY6v-3HX*)g zY-SEllg~~vDjMiSb+mwzR6=0DiQhXh%da68dK%Wq8^Ho4IEgmjsdcl3oPr5{U$^+P z8V}&!(&{S(qYeXggkCw{Tn)VO)I5Hw^{zDg;4NRfR^$D7<6n6LR`Z>0_JKGL)jsd- ze-o^E3@w+DP@Oz4A{}g#uTYEXP?BbUW_b07sEqAY2}X{SKtGq&ccwZSr4xZ>$HpX~ z;gepdAT|yaA@?(0gT#J}2V=%LC}hu)O@G-gtts1+0MudvUwOq6<^^^v7&%#3 z1=oLzLL39%h#`=YVy{uw*K*_^RIR zMm_7v@F7%2(IzZ+Q2S;KI(dxRGRP!5UvI@c11F0~z)?`QARS$VTo;5AtJuBol}O1B zC)GDah4#)ngL0e^H9D`@nJC#^ALjd2Gav~^3;$+Upncwc9MahDfF1{y78CddC6CYT z2pwM$kTWoH1V9~X7M>a#*bJ(Uv&{%5kLtI)T{$SdfIF%Ty<0Nq80-<`JW`BI>}>MO z7c}!d%6N$>d1{Y%<0;TosqF&GgKd-lS2pGe*P_r)G431g#|??w<3!j99zlZ-Oz9is z$9t(=vg$51Um;z=HeRvrthxtEcOM=9Da#x0Cse7<$n(kr*W0gd>E0ulH#*~iIAf$Y z&$ocL_{G|)vE5G~v+!SRvwU-qLegM)X75(9?XX*53hOqQD_5|{lUC_4U)iVw8RZfhs)1WE`kcB^8|`GP86Rx=Y#>#9l9j)( zSMv!@)OB@m-V-M~DO=9yk^2ctRyIO4)&5eHX^yG??c4E37XWMOlKKW*kdgK!Dx~}9kO+{k?TS|5Gfmj)* z)MJzV8ap|nb0XJ4{hNl!N!r<@?8l6Tsm%e#Pmbbd!rqPbCa{v)16pSO?0{L-ddkTb zewdG%SF>HtGyg=IpvwEX9mVXChwN4cf3DjHKFRcexFoM+*Y zUAwViQSc>f+kz`S8b9pX%e?&CG(rtlBQmn6OZS-X!C}=K$Gu)GzOqgJ#>UJ z-5`J6Df|!}=6JM(@D2^$(CGw+d|15WCr-p^OX(azvyUa-AXVqEync00QMr@W?g7>O z74FK3bO&C)umo(+v3v!y`HN|D9K9K=3}?IV-KE|xP4{8Xd&m`?Hd>@GxX$;dwDE)+ z^ps+fu^p9e595u|Wa?(gR|wf8oQdPME;mQzi?XrtLHX8XGAF;50Jp)N&O19N82GK2 zskOU(IVLJAQ3)7)3@<-Au|IHw{Lf|0&8U4p5qRGdHNW@lkI+!yDN?As&OM9pw#tFBev*F^&rXYH2s@5t0E-k+_=N8tBxF%`q zlW41rvMd9gZza%MztmJ3s2^=j_v)dixwS4v=|Qi4ur5?aUwK(KtF8?_^Om=`|D_OW z>&NLWzJ4SrzwRox<%P2Ss7!3VIFZ+eYQ1RqAUK(l7w`$UI4YHG@jOz&Az29fRX#sU zRhCTiS)-Ut!&$`CR0!QIzCwP5jh~x3@1@INQe`=P#``1x*~t5 zS)yw#`LK)80a<)ARZ7lvfL#5QTR<5#)VEb?2A5lquuD^jyw;yTBR6|y^1NTG8HL3x zuN|X6R~O(-uC~-fxf%qyr1jp{`6K39w_Fy)HOGtAHg)mo_T29Ug?Hm*_1z0W4Mz;NRh#&G`4>B$Fwu5Q0mdmgX?*+uC<+>p8(Du9Fxh4hmJz9-^EPE?iYImZPS?j&|#A=a07$_t&&M8A# z0fLY_2gOPhtBv~Cs|9u41g92Mvgj+nX6#cx{~$ND1*AwCD7d+YmT+1cxDIuZz|f(L zx;X`^Db)EIx-iDDT_s(%*OLe$^DNYtuPGNM**6#y;h~o=m9sGGs}q)L4ulX$6l)ZJ zaehgyMoLvFrOj_;-B>(gNrEMM?dl#1ru5T?Wn^OkL)rZfwv%^#1ZrGVfi8ehpoEFKuj zh|tc!7L|S?19l>#GM8Odz?H5ukQX8R%e5%d0wn~qqfU1Kk-W2V57?`0k0^=7iyChI z8Az_Yt#prJ;%!kYt^YtZ*NWy;OcE8x6{-jN(>+E;eZsvu; zZF$IyoK|Z08@V$5O~JzCF7?(9`TOtGfPrtoRVa^hocitKmoAy#Vk>+r^ucs)TWrWW z1Ay>xmkHTP7e>FfS-J?Q>_2=TNkF$|I_=FH4vt2i%bntBoVeAx2h(rxM3rcbS zZk%gppE`$Sj&}+iJ6kf0*GzbJOVqZa+Z7LKMW3_q^b*ydO4Ky_KXm|oAsv3!KFyi% zW#onCR3AM4?UkFk=e(>j9a~kEDmX-SbfK(or&u~wED<= zh96VoD_&h?hg+Kd8vI6#4@enIpV8iHJ$-VbC#qpFa?~1qDSag|C23C(G$>un=vNR_ zpD0Z_r)Cv;mY^G8f^c77KXkA7d%QsD*jdyK9sW+)Z}eF%)l*yG4#VWH5?j!0ID~#$ zoe8$nuB;iNzcZ@!1G#AIVESub+<>L04;Z77UCGxateZtz^s4tTG@%EhiVaehq$2uz z*el1cp<)C2o#c1FTBIggU+*aOW3qWfJphd@wh5XC?J->KW2;|!a(f6{W}kFSIx@vC zN^M2$k|1%7@4#*--OVjvcF|Q=K9}rksC^$XRi$iM9vz&4$kM%%kF)ym3+GRU;E61Z zuu*l$=!9O=mk{Sts3|O)>sxeRr!OIbEWyc_fC(EWyFu)hIMrM zw$n#e?*a538e-?}W}oYxut5!dv=07RabS}EA{Y4sej7mlyE*^A@Jjy=$yFI!S-T$& z)IT%o(MdnG^}mrrX4uhE6Plzco>_m*CP;3mK`56&r3x=d1eYa?K?I;6nVv}*dlGKs zBhK_0*69Zi27sR+)eB(DR*_4<90+qirQd(vyIUQf&CKWm$blOoD9A17i-v0BJUNvi zsokcJly4d5%mlw*6^Z+Gk;d^M*Wk&qohWz?GQKUX^xr)9qxxSsUfu1I_$w8!lf>~N zdyD9`4{5t_I(ST;&*nrYFQw2kq!_U4hz>c?@ACRvNV=u)hc05%4EmZ{Vw@HSAfP10JA37q1z?l2*@UJ=`P;5armH;@r#V=4>$(Q9ef`EZW zta$)DhUsX-Clbhegrjl@#&CQ)tScb|*TOK>7s(-EC1W9TZVog+2j43qem(8W#=;wQ z)%PDIo;A65bg0~4%`=IEyu!^hiovq-myNlrriz#MQhSZ%PaI+wiVE+{$h;)YGm$~O zpdV;%=)spFJ8da%tclB6Z-1J}tNn7jGrW)_ZAkEUh7&d*N8#!Z4?qq})f%$=nheB% zP~4S2q5lC7)yxR!+5NzV;6I$c{~Z1OFS_zi5B`^y2r=`&y0Vg{Es`km*RXoSbOZc8 zyba_iC~yl>!`{5YRqC!>C}>4Tgwi(Y`K`yS2kE+`#y9epa2&pn@P0hF541vMg^~rH z+)Py=`LF!``5Y$G=}WHE+s@eD9zc5N9e&7Wgs6O*(WXF*EGDDnkYhdAV{0utIic#X z$Piu1eM|6xmtlz1=%H5Dn$dxp&G}!dk)GUW18)Gbk(Q zA{ySwF2a<+AqDpGU1aDI8`v7=)XHKl11rS|r_v$mXQun!XUdueb$^{R4PxFD!bR0> z)d%_Rj>u;UfN^PV)iB-f=OsEB^#KAmlq3e-z4+N!bVu?>RNZD#bn-lTsuAht^~Kz| zbwi=K#hf>5wFt`u?Mu*MRV+8)d31az1Co-W8l+&56+EX#qIH4l6C|p|T)i>}h_=Q9 zt_0& z^Y%E-F&iPkp_6`>a)vbOuIhyVb8U><5%x+5#SJlDdhU!kB-aHMc$3kOnvp6u!XS0p z!2aSwK7}J3>y#YGskv&9{Q0*}j$e^emxZw?DNh=0U;0U2Y@qHxpeYM#5+-^kgi4S- zKqZ7QTCPs-@#beAQ&9;tyIy?w0(vttH~h(3Jn)k;f)-Pmoa+!zJX^@C8-L^$8d7{!0>) za~z^56gmdK?1^34XgQ5O1nC8O4%O zoBxJ6l&hm(bXaA0{m005jD)c}#(QwN-WRygYRc5I&fz98NIwez%jS?2_OM|OILee> z0Nppx`ZLD<98OBZ*I@k3FL7D7&Gs|8PrX|K~&qgyKr@(0fb!S8C27ov2R@!ckX^8fDmz}eb{{DII3`9R< z9hM1C1n65lABc(`ji&iZktmSD=`Pbsxxpu;1A6s6ra9(dI3-^aTrttpu&lPPab--f zdvvr8@o;}Om(56}?MPzBn$xv%JNcNI7SN7m6`-TTGl#bxT%4S4fwo;lgZ2Ca8sK;p zDdoKzz_KddcjZxQpz}Dhp|vroklhKIU?m%wv@#hdBa578u@ZBk;jmzCFeE0)y+^b@o~YHN3I6@th9V zb>6?WD2+KD-RVflLLh^e)Et%#{@--YkF>bKp+`fy_k zt=O5r&E)iv9I-ur!MS?Y#@Shphp=bZ_xb3F;j`QKJ$VsCqwf3U{1O|%JAXm4d6y;o zN=5qC9Lep_1O1u=owz-g`2h9(NZ|7siq$>8fy41FJg{~45*=~Pe&Is1(i6KreeuNk z&O5+!{z#1RUB3O1fU1r9yW^k_@I4*t%YK`y^-1T`H4_W>a+@E6hX4rl;;%#m!XUw( zC9tQk6g*s+8NeND0|2?#GZN+cKea`$B>kBh!|~f z(5N)6AQA|T7{ZuA8Erue9$~?K83X1oa|n+jnhve$sX+_v-xGrx+P|j;J+x5H@1$|D<{>Xpz;&kGdLCYhde#vT8MmBe-l}0|w$d^X``U#Dk&a;1lkrAOlMP^Rn zL}=XO6_e7{lK|j?AqowQMAp*P!6Or#T9tBOBimfHjG_3seNf87P_5uIJS)z zvE#%sKCQPVa;sytFftN7vb&>A4K4L#UqM@|ByvLCKIU{E%H%z{qfG)$wecsE;O$dh zIoa3H)+&vZJ=^yh_5k*FtjL$ck9O! zw|WYF4}kE{l#ZS`$?a{aD5)+l_7-)NRCKhK#8N&|SGKfRQL(;jMwpF~ac-`Ls99c5 znQ~@n<~m!(N3JTb)L2jl>@@HZjXn3G~B zjk4%x=38pzK)ry`4x+d8Rz81gsj$GCTAaP8v@Wx@s)cNfgK`g^^*4$r4ONB8z$5Qp2}G`g(EJghreGMtfNDKQmuL(=|uX<-ot-P zM?QrPwH{a=C-6jo@}5&u4enjRJAqXJDd6E5ypOPJs*GID>qom}`$w;UPTjk1P(HSSi6%WN>mBiA=9izVqFPOm#pPOzPr&Kr- znDg2&m5|8HSSoLOR*YLz5MAvC-YLF$18E^eL<3>pq+L7+@sJ1q+}QGX36J+J{svt} z)^h*sYB%Z@^Rd%L5{-AfP#Kw->FP(((He62^W&3y#Z#CXG{tq^M!qL9B*E#kt~MYUw; z_nE-l{$|7oUF7j5i&@#IbW7W6O{oA<4S;4P6?)YCA<@Ifm&E?ESXFZx@UiC97=@8^ zB55930vW6cs%x`HJ z>LZKt!qod@%%#pjqhF-U#-Uj=h3c?e33u%tNF_2C2PNX7S8955*+tu}?!l zeHBJQY!%~CX9_WmX&S3po7S2BVHIDid5voF(P2fchXq5@$K!yfS90vDC>Lc=Y2G8V z9~4L#caiaW1qOR1N0939f^1ls0If1id0ctTc8p+BQ~AYiFiT;Ru%GH5m`e77d#WaoljL*8F;Wyny;eC0(kx|E_OW( zzB%{r>Z`^9uyY1v6Zc{F)QBHJx4fLRY4y!v6hD=ZshAij>JmoI7>`*<+_&TOxdkLM z*ko3+_VlOc31dSSe+|jt>Hun6NLazmbe==Is%p3^+^w` zgo+Ux`rGXPJ{_T#2Qkl@`i0dEd7te)C{(>7l|4LkL|IJHfSXKOT|-3F)wsWCMHM6u zWN}CVaW8|2tYIGBcH-niP0V)$7q>lpOsge^_jdPtbyEJ$3K<>SzF7i?ZIOV^7=Hqz z3yUw>F>4>TwGHW-sGBF9pES_j!0`e#7wvtM9ryUg5a@{DP<#B>wStXDs>4EO(ng#( z*eNzw=PhPeia-QX&?$s58NeiLzL(@|FBRl6%@v|9erE;=O`XL8umu}!Khx&EjeRVZ zZJ%a%oOLq|jWo?hH$@fI4_Vc=X#pz^Y-hu|@4@9Qd9z%iPDgLWS zS|t7&)1hJuS+DqvEz}^K*SF2ztdMwNm&&G}6>4y5cbqD9t?p=BZgT?CsU53zmjk)T z#MK4j*y^5zWy#i}C2?1J#<{D0H`u#qq!0E-0Pb%w^6Cag#1N7W?5nXdJ~WWcEs1?E zRa?maJSfAy$r=@j1WG&OC-2`zM|I}4KCuR z%`N@**)X;fftHaVUq_^$m=}!mL&nXMM{9OMm-RDgflforppJM^G{J38b^_}aKYMa& zYNAgLqFf3B^bjU&GPQS>-Gn-j?8XIOFrNm5^XNP!NclfFfY1pd4pnrN11D-U` zNmHWQ>6S=AtWjx1ORDDv4Ea}`6gFc1Rv!#Plw^!74$qztJ72Kt;WvnGQ2R!#CXz4d z2;|g^QL;E+c|3x;``Y!rQI@|)E6ZYwa`F;OP4Oss3zraB*Z#MF#>^XAsl8!P_k7XC zDM$NXYJ%dW5*rIm&6Xsq9=9O8SVVAHV_Cm<-oL2tW2RxXVy^K8@((f+H$lFC2qFUzf*tNt@0{n_2-(D>{DcbvN_Z- z+bRwwfQ{G8&q@@W(j4v@!|SW$w-(AiNqYz=xDo1*R@vKP#5bhpqvjx9Im)_55VWGB z%9aXywKVln4Ny{(o`onpVG!N zf}6*bSH_=<6-rK?-HLu__eGiAxOdG&zp_t9KhI~f2cXHF9Wxni?sjN){jo0)r8HPK zlc-~=_Vh2tQ|I*T!kN?4Is>N=q@V9Y9ialIbcE*sE>}HG@xEv|t6eMKlJgA+0lC26uUGA-de7F^QZjeBr@0j<@E znW&ud-u1;3X)+G_gMsPJNWZeFUHLSSJn8Iag!7_Ia;ZU2fe8UVUJaRLq7Z_vp1N)V zm#GvQ+I6dr7yU~5`0Gq@mxl(knp|8XsgTDIgS@--oQP!2{E0kLL^(l39l_VNgTJ8F z44*hU6()gk)5<-gl-?1vQzfmQ?D77`1TiLIG3U1}BTa%er7b4gQ3m*hN=Fv(KH6GW zE`LE|wTYsorefgAO4GEZ4%#X$uzIICw1+F=@dZfY$Qb85%@s18JatMx8_l}jkqr11 zp7v=N29shCDPT$CV@Q=5c5AAj&|rZl;XLH6iXfw{`lJ&b%p&Z(m`lQ~(M^#`&!#5YObS${ zyb1N`{JVYt z*1KJ+VpQ7@!z~LGjEJ;043g+__J?+kzD8BIcRR_Ga}Y)$ENh7LjmVhw@Muk`vaD=* z%94$(j<*0x!?l;3$BKMkW>iUfyc~OchHHV)_ByJ)#p|)YYRP+4#!b2 zXCm5}a!>-25q*oL?9s4$;PQG)i8&JJY;C@U*HTLpz7)nKNFbT}7HLw;J)F&3h_+6q zm49+T1s03j4$bx-4x3w2Ta_f6O6$$8EzJoNURs)7Zs63`>@H!Lk}NF%0vydhlvgb) z_)6%7l~(o{i%jh_`cbU&IyG?scZ`$>6~E9^xb2h(TBXPv)~zp`h}q|_8UHMBrfaH= zg|l0)htXVE%@fFnG%*R~mm426a4gGU=(I)0vzRpTZe0n*JTH)tE*;7pWZm8WeKmW6 z=HF9;;(x4B>)U@oCDV(PjVR0>E$YNHo#+-54B(fr(Aq9oep+r>4*@Nz+cDa0-)?9~ z-dSkqh>M7vwJSSd38v5`rj0BkwQ zr7IVz4#bskzzVo!Z>Qm8S6oQ>^jZB~F*5(m{<|{+91SVjEuPVYR(S zL5}vx$q@|~5M)NJlHPvLf9xcex73DkfDe`NIZV?~J>bk4BsqySu9_+fO)l?5JPmzQ zz5_{sD>9HDk6nv)5mF@kEPoFy)CC@mD3R`n0%q)S@83X<4|>d|Z4;r%)j@h@ikXrw zD;>?pZb2v_ro z>O2kDxzOQvI;hVJ7r-Gu;0N?Jco5u)_=8u*9o@f7#l-DoXn z-pw4Zw`@@@69g0iw8bqvI~+ZGmXIu(KPWmNXw04wn3YpM1xU)UA)rk15px#p1cnzNu%XUN_+d}(K>GX_^h4Yb zhD$;E`W`m`w-D@tVbDZ9Sei|>#BC9D+5f@XI{?`hY}uk^+x98jJZ0OiQ?_l}wr$(C zZTpn%`gObS>+aw0zwV9~KO`2WbzE zSKzJR87!awX2)4#g8=jeCJy8Ui?N`SEGjpz$YK?t1) z{hH8&(lN@&<=dB4yAK13%7;w+;|nGOROf>Mbq={xXV2p}qofhDua|mEg$dYX$hSQG z8)m^w*w|GDJ1}kWv`8PpSYCF<@-0*GB8>~?9xEJMQdHNt%;bvzMTHV{9KsbUQI8xe z5Y)x*o&bd{-68R2Q~?d6U;{~=cO|_jvKO8F;U@9EfSE(nPeEisIW|#!l{Rs{p-Uld z=bjp(Bm)5rb^sGb-wsKLmwNKTvv}>5y5U}7!*eEqyvJ8q6wc=)x0d2urzrI^qgQ($y}?FVpb$~Tv0PuoQGXf;Eyh0Lvq|4 zMwHV>>EXy5ihu?w@HvUJQ2|5l7dsdNKfgxt)UhkRauQ?26sjiqUlR>mta!;eSAS*G zcrmpUy1O7V1s3LjaP+cz{S?OrQAOt zB8No9>9PsBFbE910b~Zq^k{#BQi(xWxZ-$cMcz=&M%Ki$c)&IvV9!R`2x9oaFnmB> z^yT!SzBsgk`2e!*)9o>Qz{2cv-B5Q!(?Njh4DSp;d;#hV@b+JyzQez;y&!u7eD}iJ zrQ7bB^+z=fVNfF()JeJ8hNb!@sO=(^V?ws4@q^(P4-g_S$4`y_I>6< zAp=ui|P_S zG3d2#KSx)M5ECvdmQjyC+{Zx=I73oU)Qf5;ITLR~EEgy_=1h4*R^KFfYq{@D<$78b z52HiuxX-91;Q>a-B@xwv{Qg##a)o^JCTzON}LT!q8 zP`MVsVsx5n@r!<0f{asmGumR!s~@Zmc_r=KqR*oP%3<8B*; zP4o0{Uw&;byN+vNf%byD#YPxp3F!eoB}Cy*{Ll3CfcO^%ihW5KBuQ$dkpcHovYW?Q z63KwUBouuATnJ%LSo@)hSTdb}+kGdb0-IjyTd=q{Ql-!q-MAOhOp0#Ui6NI<4Nvst z@N52v7w`Be@naP75o06?{@9gN#H`I@hOthiU^oD1$g^p{KkY?V`$xEe*0P~G zg@b-y}&d=zHJ4TZh2qt^mRoNYVuZ^f9|{T7!aD{kd;ggPhte z2~!7b0ih|2L6#WCNRw&1zf7ak=ft;+_9H#UbsnA zQE&rwpg>UZg`HC)FDwf=%=y`u1)~dKH={W*4p!qytYD^0Vnwclm5K;EL1!4&v@OgJ zT@?_*Ij6A+;uxKXh_M_3`Rs)FTprdF9Xribv^Tb()*VkEGfEX0BWQ{?!Xnc9oL2g__z!O2VI_^ihg|FHo(&WNxqwb&FyuX z4Bbm7o&P7Xnu?=iY`?0mB|zIoG!V||ZGMo$#1XZSIV_FXxdU+cf(W=`Y72lZA#%gR z>g|CI*FQ8u{z%YHXT}SHu9z&qg5sss4lk2Z**>hlWHg!0-I(@ z5X~_f`irWPKc^8)dnN{3ftZJFJ!F9D_y!$vPByD7b%4Y4aZ?JnMb0fk9xWrM1?vd% z^gt))*gn4=US)p7%J|4+@~*+ytwY^=n);f4f~&1?Fjj}xM&G5| z3*w3~&^uZ96W#J*JFBpTJt+aHM!LrV9=wlOj=MZ{b7+}v?y9ZD65A7HEp zEP!69e&UEr;Q_1;#F~g77sY`b2N$Wq$PD5>W{(3}Q=>m#uq%tqDx*4l{X zcWLFo=eWD4LfL>x60ED#?H;xSad#E-K}=%Qi$f9Ycj?7&50%Ft$&o&TbeqtmJT0n2 z(u8oGeNd@fHInrBl75AKmeRb#m_N+GnIWn((x2@hBNPBIvFn-Ok~-jkLzW6X04@q- z6$%R6yk%?K&^8nT>LP$yLgf`DTNVAXU4a({k_0>SKWz*x_|^H_mM(A{$>=e?2N&Ad z5;6SMCz1-PE$&w(Ntp)}PI9+=2AEBM+C9^0W;%Cf;me}o*AqQen&JL5JC&N%x^o+n ze-ddPd>9@Kh#U|%4`+hS6g)6m^`N9dXo-ErOlao*Nsg(*Ow6yxWS8tg4!m=lP3$00 zeFZwCa2YT>(n-zR1iw$D;}5gvRU(JyYq&!YN-VI=yCWY=1Z)l4wvmVHuS%5Vk-CnF zlet#a@dpmC<7&)i{C1NI=?E=?8w~;oE{cne6V;$};k8b(;dyAzNj9UP`K7rnXpiU$ z{nuAZV*4{xcaeDyC&{7aW8fzBLF?V9^d<>Lv%1r$;plbM;!S{f*(4NQe==~j&+c~; zGTguc(mrx$kkIxG1dL&;{ZY%V0tJ8~E|Pm411+SNKWNtO2m_%Y%aW~_(n3hb6y{$k zHs&jO98)?x|A5XgVIdp|X|k5}Meb4glvN1K5RV(8-6%qB8DIJ&A5%SF)E*K?a>_wE z-GS8~rFMI;55ppr+%d0wpeYE4xd|J_X|M8m^_QvuAF>7|;OQ)%dT1x2Eh7sV5eInEBlU9CQBQ)eSifY);+A9=5??)kkcis;@-a}RM;vrJam^&xn zI?}Ql(MSaM;uFw}@n36q`Acu{Eb?C${H|-Ks^cC}GVuw@jlIZrZPZbqK8b~pO85{> zfGACfndVH9%9^^J>rlu`Q}l{kK)=kns1;iJ)z4YginF0B7BA(hvca(zad#DGLZZs? zn@e$PwPE|0%-OUmf_Kp#fm)@vKwV1pT1BJ!1I+2T%XJ`n6rOvz&V_HX+tI)Bb%4GV z=!P1WEbQ9ciK`WA1}GmBT4lQMyv|E%g}X4>Dq3^}KAEo+ZBl^T7{b=U)WTC@2Tx*+ z++gUEY+CvTTrqWI9Fum{D5_=D0%bb=8I7~-o9#Q}<1wO`f2nE!P9dlX2Ap0}mhl5U zr*SmE3ZUdG0*HWc(?m%DgfCpf%5SpEL{a2x)}kd5Q!rh_YzH@E!y$jTaB`m|j z*ep?}lLJU5h>>*U>%mjfE8}9K#4egcKO*gJGL{(X)D2-9E6`>h`n3j938ue=(H`Yd zdvtc#z0@BE5QL$$XFMt6piamA69^=o!l5O>AQy;t=0sP;Sg z=sUk4uare2*hfg&o5;x_3~wWKe+**+QN>716&^1`I(sfV0nHGjnmCXmcvLNe8AZ8x zC?7U_IxAr2I&*4~bcoTqlv>%8ukyNCtw;u_(>k~5Vz^!bE51e}(djZ8pBPn8MkC|t z%6LN95+#zUpsj{(z30JaV#risH=OhCr2;;-Ud5t3T-5InmsIYqtx2LB1~&;e3y!(l z95m5ztG-(wJLlByAugD2tCJilBJcEle12%#gsxW;k$Z%X&brCK&Z5ExLfa%aZ^9k$ zy_9b6(F&z;?jA<{cM7BIKNH0U_+9eHuTk=62&oo1`6LIRrsX&27-%%{NFOs8xk zmcd%gu=g4?pf`(}`gzukUF9}_;4Myiku|t*7N>(sn(pK06n;;RaE0x_X*gN1{FcO_ zi+|68EFGFr8zD*M5+Pk3|1?jLa(5588{ z-9C5lyT+)+BVL>GWu!% z#LT77{!&NbsY9>H8Gh09xzBAKJx}l*NvnKIcK;bbtA+=H%>w=x&!GNz6kZ~cqJVrM zA!8!AIC>=WyGVobZpzU;;S1SKa|4(t?C*ZS2G31ue5Q$1^()5le4`81EtX3_O)2y*YH}1AX^d$g zcQq&)DEJaNpYr=@EQ7N|i$OdN)jO}pnXj*ZM<{%?xx?i8E-6)PM+%oxwm^PRZ(U_UhJ@b%sqSPxs-ST^8Dq|+pT$e0euWLys|1r;p zJg7i-kqMdVuzMU@C1PAV2fH9xltD#4$_~^nbc7*&Re!bH&}Dt#H5(=)$bx!kkdjUE zw+2hmRT@qwstjg6R^vxuGwo799%<#F4DH3rcU^1*avxq-F%&Gf5G1UR(>(D@&7MhZ zt;EBMZPEp&8Qmz{X{AfIpHp^r?&2B;|4oya){jIqV&*>98D5|QS_xDBssz9NBilcKiKm+^O&veTIr{&SI_7`A zDp>xB4OX6!#r_92_{nw389HzW0Z0ZYEGkNxA`djaanLVtnGXxd%oNE?9jsyWLZib% zshUTbsAT&MTq!PHLOf|%C~AG%{S;pg@-bGhki6szQhBEm7bsd;-^}E=>-s)}?b@s1 z{iLVo1B@W3gHj`|S`a!|sWU_m_1ZuP?gS;W9D) zyHVA2Xc?W{9vB29%htI1)ZeQ#~rd52@1<`jh{I9aVT zQ(A{?{9`ZQRiXO^9`#l@F1=Km%sUH zViMsQ3~mTq#+qm-x-*aHX-0^1J(RFbpUVUvwDTOpU}M^|MMI8{#5{}RUU;yxBYA7N z9#{_fi;^H(1J*IUtY}42cCf{ZRG$+pbZh^t)0haZ?1IOlkZ6qD@<}mL1#bZxs*EtjBbhpt2237_3 z(Ck5nmL3Z3!bY(}x~5WPrdn2IA}>b5-8|frucO3LEhBjP;-ds;)B2(cc3x@q4Vrdb zTv-C1K%G&Ws+Wu_`1BQP&sU`f>TOU>}p1QlbHjAq-`ykY3Iyz_-DR*$;#m`SMi{ zr3qZ_n-de)X!OIKft_yctG;K9Ts&sN-i^FFIOZFf#v5A4n}g6h>xX;f(0e=*S2~3c zm|!=U0`4FNyb%yt-FUJ(sVCfi$9|Bi6-Xw?2FUmH3tVrc=NAgk0oenUr7I?H;eiwy;(x#8cDUZbY+vsUsY!OX2Dvs61gduXH@TjtyH2t>8g{&WzJPSGwK-&+q3s()blOBAviVaLRJ7|ZV=p5p_773`bRuE~%00VOa=eNt<6wT$}Y9cV*} zeR6-yG1Q2arJ9ON6vW>%^(yY+J9|3X!C|(m@eqxx=#pGH#6$W!j|NC`@`BnG zW!;^rnZW2l-X$Ot4xq;!-`58TdH3hk0^?*9tLo|J?4%s}yQ8074V%)M@Q|1C)5wFV zvaXN{R0jkR)j2ES9tMTxp7YAEb?d+?vDrf|W(Vn74?XS2n&!}7_${nW>Kbe0y zwbn$FJ~bxNcJo67s2dBrqk+eqir$IeGeVViY%F{cZK}F3Qs)ExD29>i6m21gM;uyo z#prg0kdZ$$%gA}ApzDxo<_oy)K!Sh_Xi;FbLOpl>ZDkE{<6pX}T=R(OR}~-@t#|?4 zuDj2%-E#$O+b4DB-Syy|yYZ&sXFHh%wLE;{TpsPnNVLB?;{C@;ItDRSx&GPO1pa^8 z+WyIP7$vVQ3B-@WQ&3@%QIzJDI;R+i*7|4(LWt3)z`yt23io%k9l4?4u&2BvKg64l zm$Ka&={NzH>3Q4Xx((l~exw`CWHPQ->XL9u96B1wEc{jPa&+wq1j(;7oz5cHlj1dro-sLa(`Gz4;~l z28O69V(1N#UokvNn9(VfV{%%RgSN4JbvL3K>0ursse(#TRme;Y#eL20BT zu*lIotrmVsXBZwB3!3rE1MXalqT(}k|AiJEhslkM<~@7C^LfC(nX&!2nqrlfES_cd zc+U2?dhNb%HDT-ddftKuAab3F;k0jS3%n%g;;OCrAmy zOE#b%kHAT+Z(hE7B8pT%so)JlPntY3^s9-$Xdd^yJ3N57*OjMA6z#A6X z8>hE0m_qM5H&_r0PyV(P$Yx#Q7_~Ao3iCb6v`@UKzy<47egs1%V+-oMb(3W|W2b&c ztSCszuRdhIF77r;8+x#5@nY(59&)4}wGr*ID9V!2JmY=dxIgSkZLQM)JrIay#ZtmZ zaoQL(Tla*(?Lm#Wv7RV-JRLY_vexXHdL4GKGB6I0`64m3L!gE!o#^i)!-R}TRAw9o zO93QR0--=6cRWS^aHZiUB)2PKD-A0Oh1=HX$U68}cfV@(;~Nq>&pzjpXRSXz$Iu1GmoH1L4j>1MDk=67#qXN}c6fC>`b5y1*`!3QkVl%Te(G zM6Hqomd@$}SSh+%b(r{YHmA;@gNS{ta9zP5k=z1gLR`H-6y^l+!ch{U48g!!@dOj^ zq*Y8rE@IlId4*QX1j(L4;#1M)2ye!ct@=P#QB<41uHe_SRpbG7G}TnY*5bBo&glFJ z8rmBtraE>EQ=B8OU*_xnSU^9_k#vad(I*?h>PxPbe+__Cx!ZCI1-F1 ztRl`Gd+nRmgDl(pp4^h+8&h%;6By^qC>ET{O5dqH__DvB!nXzruG+RkgLZ}E;tjbKh z_Zx0AFb%cVb_83_s$O*H9Yn))P|V z6F|1h6Ls$DI$*Y#>CXvFQ*6sk5v3L06d&N*mg%BvQ8io<=ov+)T;uR5ZQkjJCgt!+ z1Bp)*XI?q@*y_hRSg{e+8pf(YemzWT=7MWIY#iMp_NKELPSXm@6Mu0@yT-488qETk zT~|B7ghG3l>B8Il*$Y1SfiQ7{7{{B;ogUut3m!4reN2#IV3ShbYhQd{#C34UG9!r2 z5$g+I9$T?LCqEl-!9YOl#i(OoCvi5z6!Qh9=_NDUoBx6C>@18C%&JxKO=F@-$C50b z@4^AG#@V49(fU=rGPOmE_^82%VhJIk`(?0Tc8gb9R!BlHQei8W4COi}Xk2R<`kbls zOtldBjRPcDjTM%`9=#cBu9Li>XZETl@w+c+rxvP*slz89)u&G2o7QMqlozZvfJ^n3 z>Q4QaYWQ!~`4bNO>;A2xc2v$@bFdp`tRttRXVW*dDdiW$iWj;~mGRB5ki@GrD$k=o zSO_xSUT`TeS$#z%yZ4#>=H4rz8p=Qx>N7cfkJG(WXljFA`bt1F_IWapjkL3B2j-RX zZ$MTicItmlOO5JrPM+2MqMW*B7mFu>V!M?R~!V@WE%ZwxMYr! z#w85m5xv_lKz151_?E@k3h9O32YcxKFOs&PDU^bKwj`2>{pO2|n#;Dm7n1Ut2gQUC_*pYb` zIPT{r`HFkx;D_|f)jqG_Zcn`wLUp@m2p**-+-_7>^UV!JKCq_qbmryUJx6P8(g5HM z6Sea8>>_OG0q))QGghoZ;hK(QqlMaXi@0X54JaOBg0YzG)J_U0tl#O^a!t6dfqzgb z3&Ebf2EvE4f$60VJ7|eHn`k3>`YXj|XNY}L$5p`oY#ifMsKAREXI zk?*j}5HX1v-+7>BG{QvVsRVe<`mu7skim8unvGbefV}*B@WaGGC~JW+MPf8T#itSu z|7%N#3TIQ~4U#J#5!+~zlWD0?fCGb(hizR`Y-u3K-UEx4jrc6F_ygX$3CZu~v4y!K zm5{Zv=CuYy^DDZ4c=LvTlRV;o976bi-k^m70QkAiUa2Xi@Uz(et^6nz07wff@zaRQ zh|pQ-IU8C33Tp@l+5sHWqiUHCdK(3xN$!BMnABo#=!r9ox!s0}a$dT<$qyYQjCS`*} zM6w@LdQHz~W#f#v-=DdVn)9M3BOBKH{G0I{wg(%={WKFS5E6+fji`;_lzag2gGv0v zK8S?o0-GIPgk5>0+XLYRD4_<9+V;>bJ`vUBqmvyGXbNtt{Je%Aq7Tn?Jwbr4WW_q z?t8`3_<)8y-BH}1)uWsMGCHyn;37--E&~Qcpw4?y84g#+W)XH^Wgu=~P=ii|xp{`U zIIuk`xGSSMNfOIakEU299m)qF3vHkqWaCmFX8r?l{I1{Wkz{lprvt8U8%rG&Z?=wJ zUXC2NIWn_LES%l#+?cW>swuUcf}$z-bJqtG2`QnzF?>*MQ?2uON`>P-B!PTr9Ezc; z9C^z`#DG}~0FnCg(Zv4wDE3)DSMecaOXV0)a+`9U77yrUCWqXtQ z3E7&bvR`QSkhzMd{(WsxMgQtzdvJlG1a<@K+`G)53373K5`MwGp`#EJIpT!n;8 z_hkz9_G3y+mE;`p1Mw}wz>pE#;m6d_R1$? zMM7&QmA6>fS*)F64QHg?rO>8*9n$U$LuP0Q|52wGu&rvztT7iP1d?eyeDzs^|zckVqsV0)H18c-VaF3gftF7!f>hh?KDsf0S*fb#kVftx$(4aaY1HZzOSo$dyfF|3;LXaT_EoOa{Z&$>yqLJ{50gCk? z0}Uh%fWJkJhG*GqiAQW8)=6FjjA#Nf6-wduuy7s2*iy-;Z2bwH=4x>0Z0D2lMbPHr zZ5U*ed4n9kXhM`AH|EjNwvnt6WRtzJre`_)HVOn;V`%b!ZR+nji^wYPrW#=7MeJf= z__J}<)5)QT&n5wao{w3(0)Hc)`b+F0jacFSCi_)hBor19ZGHE2s-GaK3+zi@;B#Ki z$_Y!%_^WUK7gohX^&VdF=dU4xPa1LKz=_6zASpz{q$~J`3Fec^zortC9{cbWXU{9FK%-?;(>@uklSfQXj>2*~48CI!F?{l!(g+%MY_ zvqvHs6f@LmniVcnex6GbEwpstx&HYOP!og>gvG#pg+|kzbwMj%m0U$=AwFh~$t@?h zHf1()zFmny$Zy<{R9K&!r}7a#iBg>Jy?l^<{EMROZk_q~oDgstB0;yF>C!Q8YWNxq*ijk`5d}HA2s2C2 z)an2wgj~_Uo>uoa2j7?iuOc}sIA|Xqa;aHsF$ft$A3fPhaJls8@N%w@7XCG7hrcv7 zH5W@`WcG#&jNf+VM|8Fq!$1vV`f#8J(tYS?4c+?q>6X*5`SeY%^mOE$kdx&oKxfCZ zxr@p7$>(rzWmAEx7WP?7Q+Q|K^Z7$;tj+z}tv?8x8Le#ZEI@t-URfsQDsx4vW&YLv z>ond@5B*d|I7QrYw@9iG)CxU=`a;zCrg8p8+f@D}>$~N_+1!Rbx0TSoOgbm_5k8BS zFrF*N#1W|q_L(KOQf8pm$l%02cYfvMGmp))sO`2$r<-6I6wo}XfQ7Z&fZr@yXniMY zEKn}AWgNjw_vEfr?^^|>KvN?_Oa0TaCN+9N#KPH}uBRJVivwsSx!z&qeQo?-Akky_ zm4p@r_yeqEVH136HiYC{iP2e`^p>iw?p?q`IHO1r z9yn+~#__H^^o5rvOdh6dnIar6q&fXq@5YMGoVcmQc|lS>U~7&UgG&>#OE^|DAZRWO zc6*PWzLOlX>W*M!k3>PUBGfBqO2C}ASB^lLzUeU=wAZeS%*y>>6}OFRxTNIT0n|A| zO4NAR6j*hM$WC&D%shVYqVd5ERN?WvOgj7YuzX{1hEo$R_1`m`HI#ZT@73g%Gu@Wd z?td&|8lT@bb;DO2*n)5&Io+@mX_1#Gw2_d~=?Dqa6h&h5zEMi}*T7JJGo!kBxo7AV zvs9VFZ~Z_l9oGEcG1=enjemU7ByogjA2XhO}paO$U6;Z0iuOmnSQYTUP0a5feS|bp|=3-e!$| z9$q#p$eTd5Ewvy?7(70XDx98pJi^kG@JDh$f>T7S$Q;8wvVIbdLmER?8Vx^f`zV1V zW^jSnlu2cZ#H!CNmnS}GQttZ>CdBI}a;F3&Bo+d2Enge5b5`4;HBedkYwL zHBk3Oflc&cN7+N-D_>#1p(*WLyU>&SvY5fujt_vdXwnnMgH8vf6y_{=ATf$9iNfAY z_ZA*Ezp8b^u3i2dN7F6x6ld;KJb&J4o-j%FU*g=3zu)Se%t&?G^k>W!hZO5msxW^) zQG*S1EUbt>SOSmvSOg0?L7BLb;KlFObmH24`^9PZ^7Z&mTRE0}dBaeef|e!Ky=t{x z1y0)G4MZ8OM7^1F@naa}WhntyX_iYyP%r6Lk4bG=UpiLYwqzdp4)J8O1p*UzUTj)K znf;bkv%Q2}`2KpIe{lzEPUAM7x8n@TZd+W;IY^3OGgh}($T<(4WO7(4ar-==VE3iX zAY0q20eq{O;M4gmYWC$EUL<+9I=<@2M&5qow+i-DT)qD5oGz}LQ=WSGx)ma8;}~2R zeP9wG3-sw#pgkm^gls?*&kv*Ldmb6~Hw+YqS(uw1-+!`Q8og-NyKxVV3CN?5=UmmJ zqDSxgxIj)pjM|#BNaH=u&i_0V?p=TEZL5(}3^6>=Mb428u!&DI1HM z=KABW8y7v+!l&Wmk)u_+3tXWBGBa%(Z-=YXV5gtw-(x1vyd$BXhJP#g zKehiujAChHVq#`(@*g6m|2+8T%lhvI|F7`oKTh_q(USdtvg999NB@l_|9P_i6)ACB zIUF?4?L1P+NtW+4M0K| zKR*`jWo?|E_98_6gxV1?grx8d-=%XBFG{UUO{#&wV|2(~fcU|LV$hWvALkHP!my-O zcqltEaBl;_%_uH3&M6Sz=1UPL)^u2)HNdAohR7KgIi+5%%r_d#Ao%`ve6@cV8R^!~ z$)Jh`sYchD-49YdDlm$P35<(1f|E8Mc!L6VED{)Ph)ijaE#qs}oao88Bt)%1x|C?r zdj`jXk&UiTF1bVx@|jHJvhR`3349Ts^K-!GhHw$b+ZQOa;@7_8X(D&xD6WtvUacma zQaciAgjEO)k?rtt1u_<&n%c$aMV-4}NT@R`NFvJY8_d;r-Coj*WLGaZZelO-#)-?R4F`q4p88R0UUmeei#w%;FlH#sLE5omlx67P;^EyzDaXL} z?H{p9iPW_8l0q&YG4TYn&?vb>=IMmM(#!xA{fp5#@NwjWUGi2`rrO$U22n7^5_jF; zH)M*t3nDyUKxj>Y(&;{~H$A`xrm{s(DPmY)Ympg+^ANnzX|LKd{hO;=e6*Z6C$-zF z8R1E!6jdO#zSGW7mXY`dFE|u0BSe0O(@C{(od!_<=Uo#-m>PV-` zC44pic5*UN4&9tM1#XPFz!N4Ylzscv%F_|84*}Fyx!wpPRwjbyo5J2t%_14z##sGq zl-eW|*(rmAD`%7?g+v7`7^!=$0Il?Fs(}(^-q4rhb=^Rc zW5#CvH;^j&JRLwqTvg;_?GEe9hQJ}oG#DR@mBKA8azQT)6dCYZtOV@FlMfv@@}?v} z-&C0rpG{fcyI1zeoqcRdRYv4si>~}Vp=y);K9vjei&ZW5ZpFjF@dhBN3TkDosJXE^ zS0wL|m(venB<7!Ro_uctY`&#-J0X-Eg-|oGgGebBG?PM7UU4?}vqc)}lS_7Gk)nx* zm+1mHQUOHbaicCr2D9v@w(-{Rn z0D#3T3c4S{W!=p2+DRlsqAIY^PPY!lwXmO?rI843b?|F5bH}#WhQH4cs%C zrG%InP<=3uyD2b%{}#hyB{(UL#LZtvI)h@M{Nyg#d}cJDOQZCg|}U9 zwqNZaiq|z|ULdW!=VLyf>e0zL(D75sLj>a+ZO)hRr9UFr~tcRAUVejiUpobd3E1^x!`(~klM4sqQ&HjrOo83 zy4M`-a`;I4OtRu-wOMF01{^$QTJj7+%;F7OX#Te6(OzZWzmJzAk0NgPo6 zQ|R#!0;Z~hRo9e7{u<9FxG=3V^NUssNH*)^ngI|*<_j}5-!TdW!Rr&>1sDhqHc6B# zB1n=B;4IUTwx=HT%xZ$wlp9wXwt0vQIDzMq}+LPPbOLDC5y<2WTayaU4f6MJJK zV&YR`US9Y9?(Z1#lH#{YCw8x~X-Fq|Yrwt1JBY@Suz}pg*}-+Ct(AjL_XzY^niFWU zQ)Vqh1vnK-@sx-r1IN6&2B}RBrpP1vHuQV(a9-x3s3CYG#%HH&fZ`VQKE!S=i>&qC zr^nC=V{UqnabvimDsf z)JLF9t@EEwl5Xq*eR>zd6>b*~_ESLQb9+K)3{B2sb{g;QHacV;h2~-A4pSl#sT0pz z=506Jl($$?1ol}+ZzwYGq=i10tY!eH4!(xFpUIODg8?y@2^EH7wSu?Z9v;qa&fMI8 z`9-*~^#v~CYm+2TR~t(a^YNxO=Zl}f{%qi|)}CtyPf5OAm{b0ZGpOpblkTT@68Auw zVJBr#-ZZltx$Nh;^^Im5J+%+Qn$-I7F6_5UNBvz7EXU_riH_?NG7iaDc#En)Fth1P zm{t3r)u;4x(5DJIuyZqPQ2t2K~s~B9%aI~N{ zk>pL6x2^nTan;`z_n{Zh!1udN>F3go`Gv_*IjcR%wJS zk?KrJZA3sGp&AMpSFTQB?nP!P#3MH*Ts<0IK5o>_QBYQX^t*g7hR-e1@E!-MHLlC8 zMQ~)-lk15!2l|DUL1zEz?6pzlRHsl#%%Msl6}rx$b4XpsjYp=5xB+0CK~>G$<R)XH zWlTPGP>vw@*S0f*i5WeU6J5_yP=(FpV!EQzUX1;&rtogt$!q%E#IW{a?Ij;j^tO$Ub> zTxgZ!ZaIJx=W%4=kxEZU<|8?XflS109b2bssHCQqT0)P0{;cCL@2yU?&<~{+>N~Rt zRW!ApqWP+fqN4dNxnb723@1wl^uptVBT41DIqc0f zNS7p?tj$x;F2=2H;Jmh7ETvLsBtsE?aZtW3 zcre#8KaL~Qvs3f1*-d3nwu3!@-@yAPaBah@qv5x}J^&SZEsHBtH4T<0yZv`!D1_yJ zqSS8^DFY|iQPZ!H-Y8r*dePCGEe*+T0XU!#}V!#$fta*R~^v}|3<_-e(#NY z0qnY})b@lqbatP!%;sdvzldO)BbF$YhMFTSJ4|&WI5y72p3UL$JIbO651BFXN6zYB z1g_7GSOqWBA*FOt;F#o?K@Q^!wFsm*{Bz%-Hiez)vV0+N(x+c9=iR{Db`R8(@Ly)t7YlEmDQL(~Rlk?;VXkCM2*TB=mP zZa_Jev7L{{8Es}uJ<|dVnXipr$@k3PHXBGnXk_bUNj3kIjgunl=(o&s$CC_g35+ZOEV#I?#FH(#!{ z{bU|at6Q%WA8)gz>G$Pc-KX+g^)7gN9IZhsO^Y8G*Y4Qe5tt8*433*(_aim~&Utjz z>Y7=Et&Yc=Q}kI}GX#a%Cr=zGQvw(+G;~kULSxvCP^P_q@Q#1%oq3^W8{|B;`ZHb+ zISmiyxy$U5Y+nnXwZLQh;L@w#%z?Hwd%V&^J-QGV8du_bb);oVArIt#%gZ7^Y@lgc zJ6@f*yfw?etnp_}9b77Tue8@#Dq&h!dn~_W%#3>1_CWi<)gA;}=_i?_4ykGN%qise z>O57ug2%*s6$X|x`0$-wNoo9kb1<~ld0vs_v0ja_ul1Lv2DL0&G@oBHpE5s6N@P0BsSI)aR}b9` zwQAJs-M4?DCml{t+?-Z_00@!mu*^x{UN* zipwz}0xfH$NVy35%eqUMZg{N91XQzKF?-&ttn{(w4*-$Ot1buLC^e(&`n|jLwY~QT z-U32B%>YYo^>{}qFLsCm$civR!sCix$;J0AZj0m1Wsmw@>1GCMNV@;8)I z^7Qn|^o+HP%#DmJ^0v;faDaC((yikP5#dbt_m;4ak*)I)caqTDik1oY4i5MC;Z6>B z3kyv5^KD2G5{wH-36iy9fd7)$c_2*{*8efp{^$AkypAHEmFQ2yzZK%2+W#S&^8b+b zR>75QNw%PvnVF>&vy@_HN-;Atvy@_HW@ahH%*@P?VrFI@-Ky%Uy0`01_q++SZ59@0 z?y*mN`0=&eeQg69OG_hzKl(!){*BxDtAp?VI|u(o$^6yn-#H%gHp@Tlis%2{=|8xh z4)s%;-DbqktS&zmsJlv4$raIX=hOQhJJu$*W%1p!qT^&>nn=$YDT_8nMao=-Zu${vJAb$Zu4#Y2w$pkH0z3-WjJTNYx0au!6?JiZbYZfyLp3_=S{) zg#zs7BK74gLo}h+^v302YzmhlrM`I4FwWu$I`VF4P#$U*S?HY z9;4QEWPb{?ie*m2BF@H02?nxofy7`1gf+({Fi`@PoLN!<-`lCs$2thwaXWDm+RJH) zl(1JPJajFm+;v=5Em=f!v}Y;C>R3;8@fFIL;J>2Pkv>zinMQ`aa2r4^aBd=`5#{+z zB7Q5ju;4NwFmV;CRxU9^>>z5bZZ}eBn2zt2aBV(60aC<7E%=@mJEss zemqe;HuZha+3_cL+D3*~M(mgcV`m0l_C|)b%=K|VM3Kwho1^<%7(f~Hez#!R85{yx zU0J~NN`qrQlAjaOYqSkXLV(qpF~Py(n1JR{TiEOiXCm? zW78q--75xJY24%R^a|jv*b#h3FB+tlZ;ATuiTzI3EgVB59iW8Li>g)z4trn>DEK(>fim=T}XFm;AvUgix3Truuq8 zG8+W)jFLb42x;jkX8e)o$GYhbZxR(T8*_YneD#HS51Fs16rO(*?Za$-IBX?%RhWK? zKM=$cUJ>mCS>pqDu{z88sz{V$v;Jmjx|W19$Nls|4l%53DU;8OOIK2*JLz03xaflQ4%{HahaSim236MrV*G znB3-lzxq{<<0o~kr}wVEs`RSDyan&s#u{AV1cppWFA?|c$27JT0pmP z+iV(4+eS83%i>lv9UU!Cl$I&_PWi-R|B4)L!rC1}m(@(EaWz`ia7TY9MQs==6bO>zlOYOA4Fd&#)eMR8R2R3bM>uxU#mH zwpDDjA(4wgCSWs|-WTL?qau)m3ypGpLi1e4k=}EZ1A@U|VBSxSC?Z?R<$OtLHZ_m& z+$T=etUgw|`aKM`ED=Q^*lDCD5>GYNd0mXkk#DW6HJ0IR}pZ4WHpe9DSeL z$3JS`O|PzAb5dO8<|ghC5VRPsnvj)QPGe|>u~`SMO^}L_Q35{MiPf4j7-77 zv}CvT>O=?eFlnx;ThwsS>7`_o}gjpa|xMcz`>iUw1Do$X2SWcJ~ zpfs|G&ihzT7=($jksj(|QanE`<4wXGC}N*c#m*52OM_csJK|e97<$m?>=Z@u30Gi7 z7zCc@OIdXVM<~9YOHrWBm7py9m{06QK&i$NV;c3;c7zTx#H|j)s8w4|>|=Pa+83~D zojD}wtx{8?(4VJ@#h#+g;a~b4q>&lo)WwiFgmp;0BG9MQLZIQ4bvX0t+Y_j^k(3@+ z=Nr5}0B9|}E7>ok&7iWeKCq}P%h3%zu&BPWwHotBaMeNx&eoea5F^`Xgf^$AqAQBo z`we_QkLwmLsgB~UsUkA-(D;O+9IOR?77JlFFYTx?8?5QLjKR)$%o=G{xZ!EC!D?kp zm0iFcneR-H9A;Od$P!geZ!%#CPmQ^SajP)%NKO??znn}R9EAUEptn3ljE+oD@?i4S zLLB2zbG+ri#8udHGaY0c)JSJ^BjrRJozwA}C6228UIym|B^eEBulqo1_L?$@5lu*l z?kHRrYz_Dm5Rv6PT!-sIEktTIp+SW@NmeQbx-?}5Hv{ywO16fyXKN$mp;Dgg3i79C z0w5Uw>rV=eD;YnAeVo$)IMggo;#kzHAvjH1K6N~GgLtHVNa$4+734HMMw7U4F2>l@ zpNGF$vlSw>a8en!v^a`Wdy*7aF9nm+AlGx@@UGd_&!JRFRKbmYEF;B)Go&Z*PZQ#{ z-5gPZWi>t?D|Bkg+ZU>?ZOAs}EbfIbME1+%zDHSOI)A9BmN|tu268;R3|3Q|$Fxp& zW@yg6jHTgIao#RrE?Lq#Yp=X7d)2axs5N|NFy?)1xEdv9!d^oVkgB64yce&u+II!C zD1uZbHv?Y+oWB)ma_P)V>&~314=it40PzqR$DmHa-I$lE zu5O~MH(s80DrpRxqFHawSb5h4q-=f4s*4xBarhArr+bDyohrv1!s#gIY9FU&tU5ih zxEFL??XO(a&DQcZ7MalA@tM`5&u@M9So@IWA%kBBOPYOo&3A13z)7xCG8>K1z+27W zU(C=_D3^@8A9zN?YF8#1?>VlSZ#Nd#Vx`5Q=(*ff2ixMGIKm9JU;8uCOQdFulnQ3- z)4J1ZegVw!xdN?C!|}II&)m{)ebYKr#SNq8sVjoD7I%L0CG0TNHWym4d-*=z_N4|% zSZj4~#=u-atFvUo*S2LLT$%k9!bZX8CbQdm|F^Qxj?;cNS1jmdfS{^#rLe(NG9tm5 z&Z5wg6pD&C9gFICc^~?RIsJPMkvTt(QlO|qSXa(uo~-l@LbyicrQIgfvMo$McI0JV zHx3Qz<-Tg(CL5Nt!xP5`qQKx~i)3==Z`fk;I9~4u=cj!x-k+;*{Amg>Z(;8tOh-7J zTX7oJ`36O@h4NNG>YyLo&Vxs!oJ`N|r~GwbX=`<9#ty9sCWy{x8s6jCW1_RJ=oBsy ze)e?KC%&)B?Ps%^jU`9Zh!r z92j<9!v3U@0Fm4EYDh~)&#%3jXe;2s#^q*~I=&vGIlbD1&t;TgR{;D6wo7+)xEnp` zgBVnO%$ryO_R;sGI&u|G_+`l+X$@O}gill2#c$INA1h6r^~>7c?qaUddoA07msw>S zJn_Yf4TP-H-bYq-0+Kk5tHx4pKx{zx%PD%`1rluB+7J!t)ItO(gs4=D#Uo0{&gH@oyOV*!TE}^Nz|dV zcPpDq3XiImzGMHmF1v$0=-1}ziv6wJ<8q4NU_zGpeb~>c#f3DP7<=YN5(qZQnlw8! zbAn~Kk0al@{F5**cuikD?YV=oCdPH2B z7Lbzs;GgAaLfF5-7T$x(XzQ=-`+co{!IoiGyFUSh|6GoyHLaP#?{_+y0T?KPt-vD*}82l!aqSMgTmKb~k*0h*C)6_S15-h5=#QSIS?4h@$H52b-b%{C*QNSh^UbOql^BTtb+w zhk>1tvZY|0gkU06c_hSRKibkfXJ_bD=OMC-Oy-yn3OO>-7)9Kj{r9WoM-#f>tc+}g zK*1lfdFXNc(Yv^@zim9`lQU52YfQY%)o5;;OYH~CtllFC=q-W!(0&nOjV6>G18k}o~gjVtv0bC(4 zBKvk~YTm1ji_VAV+fF;S<)|X*ibI7cN|;g@1iTO{*cx;%Zi1C>LEMK9(*PxUZR*k! zl*kQbZQttn00wqx0gW~h8@RD~Hi4!f;1Vsk4Fh5b@tQ)NvwUlD3wdd~M>c=Z1aeb}N!DEgy(_nBz+F0u+MSuy=dYpQ$z*+y11{)31b~%At4%@0_j##6y zNfM>d_e*jV7?e_T@#0(7WDt9f4aY%>;|e4%7)9>%9`f+S@6dI3o;{Nf=1HBmAdM(N z$#OSHce{A;%QLDr6m+47rfWzmPge{pWBZt_ug{(r2{O&8vvD^l+Kodxy2UmYol_lt zgVtNSwwg^u;1scyaAA$Buoh=-0vUPrqFKCO7ysV&B6WUA{Sb`Hxyb6Y0!T z;C@p!fxT`{+P#nX`O4mVp@z^>#Q2DL{&H5{$hEPc$;%{Ck2k$SRMcVjvqfav(V))& zW`i46=j@Wq*N(ZkcMkqNK#YP?I8>_9Mih&ytuh0~JScRUxj*+E?ky!}>0`4!t zc%EtR-$L<%tj)$Jj5d02zhgKFN*_LFSNRrD1<9saSrx; z`CahDin}A-GEAdBL>MlZsgLlmC-xu|1$}(U5IwNw<>Nx+bg%SK_%3XKR=T81uQJBs z@;u$)($`}rYpo&XOXMGYdi8v9JqxpWEarOE1k)A#eE;_NOW=c0<=SQNMCyi%W zONgkHNGpLeWp!kfufz89#SWZrmm3KX+Q(>t9|c;G%f-TPYE=Q!@P?oCuoe`vdtYLu zca=yC3$Gvt^5z%&+@#crX;mdvh?*2bJ82$?2S^W;=?^n&ZDn#>O5)^2kHULk%wgY| z;T|Gee%+>deM?-Mp_ULROXVQRNqL*kY}sUi1hCVdWr) zCpMfMH_Dx>N8T9rLt~4$=LMer~9c`nt{>>3m@rZjzsuu-B^i9zW5wT{R zJOr4G|L74`i&7efbuT>NEG#fAL`fQHbRr?2a)EQj9gyr{Gl2@u78RBWThHzwtL4Xm zvkD59GJb46A|$YI>2`PIfjWC%k=s$$WQVx|q$?mL&}ttI%W3SZ?FCEv7~mI^M5}-Y zR$V85T!&sm2c%dRjjzoS9XpAag0v7e)WfJnwFHH&%40Wmpk3F3vlUKiniH@>N^-yebx9$t-Na+DAx^g`lO*xO_KLOeeH5l=W z4a_VzMbEDo!1wc0HqVm-$Ou$Cl$|eAh>)u-l;U@_k;4RwRuitCjI*rXBd%t=fZuJ* zE44C9;Y8YK(#>=)&0BsA`d)|XF%3?`UIS>?4@OBonHkoEZ!0|lMnx6+F7`z2OI2AN zPy6rCIgkAdZ3jqddiI5+Iz>S?Y~dhc1-}(lubvlv)zb+PEV}rfAt8v%^&jPNgR>T!ZJPetO9mw6cQRfu{ea zQhf|ex(lNkI;>u9EX+ItnxyVOqB+8yTqq20eBVUr0?jW9 z+VeN8U&`!+jM*)pfQrgVlgI~^JYBF?0NR0RM^M4hX8|XdqZ)!SK*QFa(^`J4fy3H# zp@@NB>qM6hi)nL+hq%8;Upb23i(KqVx6WaZ8jf2XtM?PHFjdPGH4wW2T`puwZ`T21hlS6qF`cV{c&DxfyR`Q=zIFm7_zH< zLyy0{&Wo5`Q~1cUAgCOBLb5Q`5&BVCE3mc&?dTV zTwoP2+iZIOF&W64QY#GXj`qCV5pG5|LQEEjl)F%wA64)*`w?@ooNqR(Jjk`v*I6;X z3mb3S3LcJnh8wi4vSGU>LN9b+He&v9uq1=k8E|IP4+Y{!Hn+#!N21VFKLmmB?PvU5 zMkUw@U6f!}9jdh8IB*a`0OHWGuTIhFA<7#7y?J8fM#zGuEfeol2c_kA5q#$lto0r0 zUl3y{O?NPH5qZ{1VkJSZ*_rW}Z{Q`2&DK&2n);y?vo9^NHfMt*jdtXwS7-&Y!V4!V zZR~fV#AUyiFDO`v^u=*IP@QIGxLK$269jJ+M=!s9PEOa8MVhP9V+2)Su+T3M^!Cwy z3xM0Vc0`%{O%CUh zA=cE@L%@VoUk8Zc1|qpDkS1zxzBo1M@q??pM!fsE|$aMXT9U3&oW3?oocM+uwTO z(}1!;bB@_J2a+wq^S*Jp~pmW0uFB|isU2RUZL=CI(Z^GkQ@)*j1ddI=H<#90S$iUXM z3HfdiwuxyEVJ{$Mz=J|X3DXs(&}e5Tx9S8(g_*O zG=@rl(svrEOv#5fTv>nO;X5L#5QeT#MKGR$wN4z?naHnkNZpp zo%%l^B{(2TVP!!uk8qPY#YNvG@(9|kq4a0s(OMViRznL0G z!k^s0iD=cn_i93qbHB0sjcKFF{@_r)T*I@>y}wtlWm$L@ zwtDuIz8%359z4s*X$Hfa(ds8^k4vqvE4?jtK8hJi{uv5#HuYV zpk1`6FCX&pN*QR2^RCpOvb2cTrtD=q)x9BcU8!}IEO>ax(21sB2elN@e`G_EA%1T` zLxgSwns+Z$pM=9mh#|5k)_h;3e|v+piW%@#SfAh3lJepw7&jS(r*&K}S)WL=GPPz) zMF@a!KS}@PUR;e(YO0F7kYU?4!=SMvg}jw)-uVcd+0X)3lhcLtoZ5Q!IO8P{B(R*O zlSPp2@{`AAfQ`8RC{}P@lf<6$Y`Q&bH*sUJFBJrPlVb*xG;rB*caQnNt$sJ^2{t2F zp4Gf0-idLh<>gaPbL;sfK_eFLrY(Uty`j|d#)FHk5rglj!NEA{6>j7!E$QlqSGL}l zXl0jl&QsthmMDpQ0ewW!eKxb5-VL!Iy+A<{EG6ow(+Sbpc zg>+}Ed-ai%z4M1Ub-&97Y)NV$2B*FUNQg=4JVh z1yf^nY@2nJziNFvN=0sjR zcNB}5M`pJ4w6W;)MwiQRjDHg-+;cM%1Rq7jyU*v%y7`w*pV}0f>bqU7^k_7(R5M)1 z3KgEOX@K=7s9J*Z%Q{w~vNb5~wlzj9zpivIDzG6p0W}wAyS_ez5vIr&kVt&duwr_fn!B+j-1NYgc@0 zfVr!nT~cYGWy~MMNvW>bOtF8X&Q;`T>f1dw8$&V^^J@>-Y@f?Ek5dqJt}eVYE+6;U~3BWvB{qDsnR zno4?QBqOP&*;1->RrN?-M=4GJp@<;Me1*fZVtvDBSeGK zWR{a@`-nQyCRPY*s|QY*g=#m@kT0p`w^O;-nr>M#_Sg1PAkQPl2LxN8Am9XJv1s)n z>DB@o5ovM4)H{?}R#pWTO2GvWk5!;~%zG!it6)s@)iqD5w$AWnkd z_7J~$@1zdaOb-s799U?GTJA0Hy@RzBuqFC0%|^XfFJVNjf4f-OwYcTV$_}&fP0%mIYYwitu%|WG z8R!EvU~hXYy$P+8Vd1t{%2t?Yhv(AYBlaqTTVE`776qA~@zERCrqKgm;W>Yb8{Bqh z8FLATZ=kt&ga3n3fcR>Z&HiE&*uHcR{($3u2f>qn0l~cgw;=dm^aAcAKb#*u0^iKf z9}JKdSS1obkerb-723L{;HI-O>9bfZ9sTFt={oD76nbR9b8v(-NW>?Jds35L`-;nK zVU^TL!uOOgQ#(2A{B!Whw>j?3TAMj(jmY>C>9AasE2A>h6bVoC`Ec4;ckM*!TDqgo zBAM_{!L1}3CO0#<;OS3*fBal;%?RZ`DB#Gi^)L282{Kyx>%l)Sg0H*(z&@CmIhs1@ z(;C^^IOzWy0r6Ms|19J{`zLE7XCr$vM;dbn8*3T|15+a_y}vp9``0G~{PTAHvyj98 z=Gh$*O7N2f;S~eUR3s!gTj!d1ux(6bzu(8@U=(;%XX|IKouik5}$E zoFN&@ArOhf$qA`qRgS}>_G5O@+F;(P9f)-~Ld+jLcVNw%g3Q-$-EmifmnSzWhgz2= zHYQJ*yJu$vPq^2Pw5qNZ)4%eUOsjY?atw4$pxzmjFgjY5DSuwJK0ZFCq}h!NKmESR zqR%Fa10$CNqKs)RI-)1#c}t!;%j2yeGlhSgp^}~+D|WB)W@J3z5@blt51>jAhZ0B; zQb3avGU1U%)rY)s%Mghm;Sqk6(n=4sXIO@K{)XQBEewDgFbXBB$VfscVZr^HN=+nU z@i*i5+WA>-OkCXTsA$~jwHqx`#6%>>7g7VDh^%o$aelgNDZbT^HDX!>NYFs`frgF8 zE!wMB+Bna$i_jbqneGB4%ed08T{LySdm|uQTyfb;+X#_eycbtCyhxYGgf5Zfu1qbh zye>F8TDTu{qC*Cb&c0ETGQ5$rq9(;xcT^l)@8ItY9Pjnv6t_LCB;#UYa>Im>Nc2#Jiv3b2TN1Ji^!7w(Ou`A68ceX4XKZi< z+LTYQ_o#kC(tE+$ctI&^GX*#yw{=q&*lSCWmgJjLBvd6%(-)7h>)Ktswx1uKj9`N) zY}Bz5CK5K77P_8v6K9Z*kn%NV3B)3kK= zZ4Q|f4_~11dGpVF<1d0*@1SUGBVC$Nl%8*-O+bmhTn-8VYxh2Elmrog|UthT_N zmj5=IMV^9&cMP_yI-xj15tsm^*6^F7qdVqiTHdKC&*PdLnr?GO47}0OnnBg%O0;Zj zi9raVgVD}Y%i50pw7vz0@)cbS;6Dh1p5)~|UeS(*!{*_x?cjK&cZ@PY}ivU_i%Ewl~{tVE(7#V7#CzQot`gwwPXHNE;} zFc&P1_MW}6YC0M3e(XarQE^ z^l9cD2ip!e^~aFa9i;A~G}SIypyk@T<)_PSevP-|h!?Qwvw>Hco|5L@uAn zrRx6Bh?Wfc+1}*r^9$jt;_N)1Vk+rurrYMlmz^$r&{U8@_-a~#IkgKJob{yWQoZ@v z##TcU>4DMeR50PUT@Dn?eYln(Uiv5~X4P%_*)%lT}mnQT!jw+1|R19 z<(Tl&E}Yk- z(R|B*D1FsCm@1}+HIlsa=Z*v2@MFHWQ~95-c@NEC-P)I@x)71KyqB!IBt=Zn43p1P zf$EA%6TPH@4_G}1m6a!3*=@%!&B&QM?hTs1aB)wlaL}mJzh}2{1Go}l(c-x|#7wJ^ z;g*hbwpdB@0(^pZ{ai7~F91rKbC#s2)H9*UN=JZ`YNyoN1zw%idU1*xjL0a;jU7Rm zqDz7=j=2;?3>MPR)~uT1Zm3X;pw|A?T=*Sg?6>MqtKW*SWkcB2?S$VcrTqvkMtzKu zm+{+A;U7-b{a#M$)x;Hs*x`x8`Xbg?63=UE+1HJ&(rws+W`hO&ic1ttAd#E;x3{ zvp=g#3?2G8%R2)M#rxB+hNOB|Dz=f;(CH?^nlHT=_q?7nQHNelBnKG0kouDi-Kj)4 z1NtZhMe6zA8t#VgSNWQo1t{?MVw6=YYOzjUs`yMEw$7b5evPN98#p$=h-GNTlccy* z4^FeE>PF?+VIc~)sWt?k^1oo3x950#$GvMb)LPpVpO_6f&OOWd;1C7c3o+MGf~iXD z`>OC2@|yKURO#d^cjA7X*~5c0i;t_gpDYqVG_Yj0G3ouc%*?zkJt+T6g3IEo2>!1` zROv6N(0?9*|6ip-|4Kz+C&r+9|CWk&>gSxog~G=Os3`Y0d~}nf7R9nsxP^RlsOi8p zwK;4F1=1Yh_wU6xGeYl<|N6|U?5S+8T6iXC{f3&d?8D)&=pWa246(Ed4JWVFAFS}e z5CN4aM4=hxPUS3H)(2`AH-1pUzuji z*ZNm3ijI@b{`KIW7s1!vf6qn#rYdG=W@6;vX!P%*Vt=*%&&9AmTmM%N^`G4RJrhOx z%Vz#_G3`S$BBujGzYyPZ7T1LR+Sf@2#Kx(3MXXsKs!?>mSj z5rPSboi7q?2qLm=5lE&Hlur$6s4WSEIE2Eips7GethX}{E^PGQ6~)xaWV`ar^+-xV z6HNyOkS6%i-~`JOcQNF^eEQRf!~y~zAW@1f`11n=JO{eZL8ZBgP0BJ;Gxiq6sFsgF zRl2Un-Q?|l5A3kK%nibyd$frxR;88fPG@d@L@st`ZL#QU=1RqdS=uAVDEijus>KbW z)cGi8Qq}WGb+S`<7SYq|?!xTcQeyU=>_hkc@pL5;@3F_{bw}6Cz|MS$Qj}&g9UC zhK&k7r=XiHu^E3wlhys;^!eq*#q%d-wu}!$kJf0xY$}ju9G)03*S>Gf3Et?m6$;pN zhu7=R$Ja_1;yxLj!$6)lQ+F>%udAB@xHC5d6T%D;RDmxhM=UGUM=UbKh#4*x1+cYO zpjG#%`d(fPw&;bG#Uu8Q-1jwyc?teGn@`HaE6SljmHbP93@C*7SY3^~%g?^QGVcEI z!QJblP3{u?WrA^=Fm%1QC=gV7A(Rze zVl)W35PE~N>L9R3;4W7iU<C!hi!p^O7$2AX-E@WQy@Cx zJNS_wY*|v#boM`gpGZ4_(fSK;SppN2dHwXk8@6!Xs_&^%Qt~U%d{LcrF!@Q&CR-sP ziW+68H}KeTdD$sgq`1c!Nq8nv&K`VTwqJK_Jy(yp5L9U)p}f@7hmr``6zc@uYnF_i z^>}+ao9W_f7BJX@Z~@%jU2eYtix?dtgJx$ z1Otc4F&;o*7ZJs#G0W;9bVQ$iz&7uo$^_XgZ|ZlS`AwrdhTV7$D)=R*xwl5Mj!)%P z6#EA9Bi1wzqbE>WHZfUtb-=|wR@i~}l3hBf&r2=?jkD^PBZfjq4qlXm zdQidZ)B(%1E!im~2tTz)AwGrPTwQn}0L~4xXm;n4Bp zz82z3IM39<7<9E5ut{9n`ZLb1ES>j9>Vp)uUuw;_6s>bHqv{6@RX59&WjdgX)sM1U z^kf#y57VN{kxp}lzkW7OH^X10AkM}+L?bRRTPh5oRrCe=pacGJ0{50!j!s(yA59a0 zzGj%q>{lqj*|vbP=VD%jh4u(5i4K4a3xd8Op~$8umUJA>r&gUUh5!mqLLi_-ek1Yk z)E%DsF)hI(JnTckR%$?P;6;;sTKo+9I7h$uyjjizpKu4h7>KCdE~pi^1^9%brvsUR z!Yt0F-I!fSWm?Z$&YUcH;mBCtQ*)fi9jV!1HA8>)_{jBpL3n7km+rYZw52tYLGsK&VE)Ds^ zK;BApTe$PwN$w%5=ye=6IL%YT^K5R}u^}ujk7G5sB@051zPqz(o4hd>|CI|mRhpOG-Qyfi4o<)Y(rSSdW6oM2 zs@$KP;rH{Aj7;Fb7Nm|21FPiFssk+EeNCM0G=iHacNv2*UDLhyhgUm3w>m%<=a-XF zUAuvlp5^eQd`YWik8k=87QePuaU0EUA2~eZ`yZW~2TnMucU-Yd5RFi+p-ak!c^R9t zX|V{BNSWT>yWv_C_*;vT2rEE(7NlfFjVaK}{QWSj&0R5QeE=A4MG{8utYcG4@+q!d zoj?`1Lzeog#-rXKYj=#uwu+DlaQlRpU_)mWss+rzCz#Nd;b9dk?ys;b#I%?lnCwk! z8Jl&M+~;k;igQRy(`PEcav9<4cbC_aDq&T}mglbaiMcdW%h?j&Dj&6m4iGkM zv$z%5jXC>-!J0+{G0B9uLre~nGimNX6&LLrxG`kEM4wmV0*s$KrYI@{*WgYiFJK9OuKx~OKZ{u&q8;rHscj z5GeK%)f;_Z-;}cS-;{42{}!$=nxqg{zz_sJ@oOx6PNnnkxk@B{WdEA#Q7vD@!Nr$6 z53Gql9|ZNvxTP+{7?1|xoeRTx8)w zbAdFWW!fI0@z76rKRb2%naf`W!hI&&t8{&X6L!>{uJk=ZGzW(L->Tt6i9ce){K=c-etzSSWcS|&;jt@5*T>!cSt0^NJ> zKX~KBJQCZMul{K2Z~u-?(EgGh|7V)~e~}*l3!D5Wd9HnVIB8weNW)$GFi zd3&@vg8xZB$=*g7`?iaZ@CKM6)$UrK!03$^M4=r^-OV1AM5617sQt4QCL8pJPZH?I zoAxx;{>24tvqzclk8Cb>$WNzdJ*Z_0ycsF64B-L+)Vr2x7JSu!!i&8{V>$c)T8xUU z_qV;nZ#^9$_<&zP!fsSQ?#;A-eujB4SD`2uEd%v=)z!XFpDT`;bhnyv_Wlor+*n8c za(P(L^_BtXn9Dt|Tf1e?lix7KhBq>LIu@4i6&9oXX&GRjFjes6mS>i2ttWr7}LK_pGL@{1a{Z7&LKA zA5DlFHj$o}U2CadcmO~*sPkYDWnMOXZxiGe^5~cXfWt_{gqq~#l$p>=lwa~*A|n^ z{E2LL`pr8Wr-&p!BLB7we${ZM&uVVfOS!^E&=#jg%C8JPjzvN@v0>Q@)1p&HgssOa z%cIpuRsyEYWL=q+`K?GbKN)hoX4%YHlro#G$JyIZW^`T(ZFx!(?)WlDl-_>nAs9kwmVGn{@U!o#6!0|0Qn@`Fj_{);nv z^)+_m_=lS}Uti5|X@uWGuu(OMtz+z(A16=sbx6Xr$9HLYD`#*E zMaT{pk4p#>-3#R$C3G&{{=4=T4PaOT61cCE#qK~mWI_VYp?CwP696P_AT+2)fK0%h zLW_=IsnGnDcyut1-tVIgTKQ~DGh*+%MT+?-eM7zYeo3~Iiv@-I(y(rMG(B;*`SZU_ z?qc27kD&I}?slFvYF1lbYxyF+{c`@M#ruOpSjI$`GcWZ zSS}VNc>ES0RIMgp;D}~iwh?QYgJ2sGtqGj@ja38W2-o%l&$Df%+qtTQBsk()vZg>E zQhJm{1}^nA`D6>|1&*f#z&Wg4GPIGEPceCeI}*LQKMk!(q8>rGzkX%pxm zI0~~pb1fgsceAPC?nSNTQKgA33&Nw~sXpwH=;Se>e$5tluam==Av}DEUF+d7IZjYSNJzn@so)eJiB4ZRWWZ^ysY%IG@9VwZhGV?bX?OQ> zWy5nLhg{CjuWZHx(tbudaLvDl+cvUpy{7Ye!h4)$Cj~##(FL!zTTV2cnPtQUhgXm= z6Q!0+o&UOIHQ{g%mw9cb0!~nlY0AU)a`kY&wsU9TfXxEA(f%z3?5o=19wv%a#VfsRz z&>svYaSmZNaDpKe!SsT;3UWGJgax1y?Ey5xdW<#@JkzMgA5SU5a?s!Zts+HENimr( zwSOyYgo-*jek}YnIll>CCtC2=G*Bc3I3`nP)|ZM)Dkb80HG%BMFZuGaMS)zk1e6-& z3v-EYg*R9O6;K^9_`F)cmiW3_#@ATRDfhKqp~bRSVu89$s#VIaba42*aQNVS=!%N+ z4YQX^&qX9vEWK zL!;LOk0e;BLdb$`@qqF>ijX+pdYBTe^$#5q5W*5zMQ9)w_hlGn3Dr`D*`yc?@~X@9fbIW15+>38UY9y-d|uIWkdD;SzU zq6tKYu@e2B9hvI+K}~E^$Ii(_ZI_8D3&hDxq?FLto+*;!5DB5a4+jS`8sY0hLKlKZ z^uF(tf|Kw|J$hB&?qo@;bR*6woFcJ1Kh7J)1dyQ8w0v3K2lotB25J^{6n@DBHqX~A zdNIhWfpS&Kw~-Dik!)_ep)4h$n~S`Ij`y{jx-IX(EH&6(dnHb%k8)qEm^t9afi2>K zoRyt~lXVIz72RIpmLbU%K#%Ki%Lg8CT$kOq!40E2$G;ouO5c_dAq~Ym1{}aRVvLmf z44BP;ofTwiA1e0PPP0QivrtDNliCSWwtGHb zpPz;wJJ~*~(^R7kgCU`tqp!%7BZ*bm5;ycm>UQ**M~Eubo~v|qBcUZ1@*iXPVs`)z ztoE-m|8V3fPU<~M8!c#1juNDc2rjn8RyfZXDDv!EyL}PW5aBV<$l#2ZYtMEV0)KU0 zO_btP)?I+Kd9h49&riT+8RblHqP#yM#@70D{5biJVbATOoo~J*-M%6G^i(q&R%x^z zwD#ctJ*L!xgSfS>@?v}JQ7T?y8LuN`*TLX?E%sN?0Ndee4r@&2fshA2cB#AX@10x5 zZH0IP)g)y$s~q>K}s4HtD*fk8N&x`eO^vs?~06dSP>? zjq8yt2$*!@gq$d=I^6asu$2Dr`$c=qCSjXRHqpU2sKIznTrs((l$7^dU6TCzcX>P zcHp$4Veg%a?olh32Bgi&)Dy0rWS*_gkV zIu^b;@+scob4)$G%xQro8WCs;qpgSGl}A%_SyGF!>`SG^}$$D@^!;~XefpADsr^P=>f>$?n_ z{XdMo18{Ba(k&c2*|F{H*tVS=+qP}nw#}XF*tTukcK)1mzWcrBd++)0y{l?g%{A-k zx#q0Z^;Gxh(W6;Nrr}k8hqdOx0NW(7168adBLi7X*Uu~rH!of3A<5+z}`kz*ko)3W)MaTEQtPkjGlM8Tw~?b%bTGA5h~RO1bdZxK8PUHhgTcq6i5}jcs7khgjoZF;j4n9ySr~6~rj8wj`CR6&^?Z{f=>F*frE*k)K#|n^ zXukv;_~qOsV)5m16d?P58{*_PAyU`zVF=b<5`$X$L(Jp15KkhYCHWKI={5;c>8Hcy zu3YF#A7=`kk^i#uBUpL?sMg9 z<*P9xyWQ@qsFThdnb=mYW<=NZptkJmlW~O{-<9Q@Vnd?o^xz z1?*%Ze`L1J@G{1UK!vp*CKw&$;U&)2lsqWaB?GN)m5=jKf@)KKc}$6h0mG19jz(5R zC(K&j7Ppc?sIVl(YH!ZRQuoaCYz&+*%VlI?w|rtmcKS}&su-eM?%g2B`Xkx8?(Ng& z?$RbyLpMDwei62&xZO%%)Y~a4rYv>Yz;HKzJ>hr_Ogl!()&{!WyWNeLJ=*$VwiC3y zy|)9U+EdrnaMN@XNHa_o@j=+}@{`ysf zg~iIVPuIE2Dy3Ik)@<>34M|(ZH&ILoCA>+}GVKB(q6Wl@>b|cM@bM0QqvRyxuB3Q~ zDH}r7>wtrdsN)>EEa&y913|ktPj-&tXOEnqL*E^mR4Mp6Y@;`TU{SMg6f_bTrKjpF zl(geSGgpb;8GR&3jT%9Pq|r7)`jx~i&gLLtA3IFW`(__=Y zhJF6jIVMz$tS*`EW04IfCxj6wv?k`JB0$b&1*7ia1fGYR(2wfBl2B7aOn%F_r?%AV z@NiDIcIi0OZW6M+O(4ysCC{0oG@`Y9O#b$an7*E)n$OTbS#_rCb)x@5au0{KcW%ll&KbuQNxIXB;?F)X)e_TIlK*tbD?(4Dc z+`^jXex;bn^&E%DO6nyWJM3q*@xC#BNIWmv4~VQx zMMrl&bwhVV6qKSGED0|;8hTj{t)#Cuz}})AS=|gS*z83icRp;6%}V;?NFJ3{klEs0 z**W=LH+_UtKl@N8#=>s6C5Fd&j^)ol;wpA#QEoc8ENjwO%=~cwlE$EmHD3!eCg6GC zeZWe!4af_rlQLV=Nm76y9^>;U&%haAZ3ncX#=y@-1owEQ4BBSZ`^%n z)Aek>kYM?TAuZKnlFDG*5>R7GT5frb&%0`qHiav1WRCnxb9RjH+og8JYuIu`lgE(4o~Sze)$a$z*I!CP#6>wCwrA?R_EN?Jy)kCxEV(47{F9L9a$(OIafLa- zerv@T)hB1#@>YHA6(#n z!&Com^&dK-|J&-nP5*_YE(`t7AN&u(6#vuozcADRRV#;GHpI`&7nJgOujMKr&XM!W ziDEW$NH(M^gk0b8F;P8exxq$qNw}Tr%dV}tcq^%3soyRhtV(x;P3p3|8>iOdjw~&$ zXmNTmX7MLoS=CW1ny=oYctVFaurZ6h3NNEMkv1PW?TlCF^JdyS=4uu;O&T_Di>F$d zSy^v6)**~kQf?Z?tJhSBsznDyjlFr{&2c|Hg6JPJ2MeOJYONl)Jae44G9BenBK8A@ znXlWN%lGhxH~GwxD)f;CwE*0n)Qxbu;&tPXL}=U$uMZ9}fuwj7+0aamt|q@x&5P$G zkc920pc=!*Q<`up8KI#q$zj_;g_#d87F_zYx~&)Bt7qlFGSy@96s)~inap_OOcMJ) zEEiR|U+PplE9KjifWE4hAfF@nQ7t>M=y9SJcc|mIE>-K zKLrzEG$86x2pw{{A}|n(2CNV7AZ-`@ksKo)l3ocx!3t;aV7P}+?k)N3>yX*enN?RE zZ_(dJgfW=2`=Tnv&KtCh@lkSt+23{4< zn@p6SR*N+Ux=V6+zQr53(2YN=$`vYPCA7&K{;`Jpa!ayrAcqWo#sy~7XlBv$o@=+_ zMLuIm53`}T;fHA#P%-~%nM01y{zp84L&#Q4{*eaCf(H!?R9`wyDIc+S^VnL)%9)*+ z?osfbs1L!er(8rx*xug%r&LifchPMTgZBCI&m&Vay9jCrCVFK0bgc4LVVocn&R}%Y zp94WV41y6xiVYb!W~)#YXOKx2Rkl@1#O!oxmHGLX*hWb2e&%0}%GDenGnnC^vYH;q zmFd3+ilF8yca+sOxAm-)euhaInFZlnA~OLNG-@Q?DZa4oR6cq$v)%pN*_F@DWXr%*Ei{4;AmA>D1fclI*0$)vjzDP6qxV+S9- zc5V}9tAzTIK65Mb>JSEVZqxKLEviP%=05F%8yi-g>X|7GtR4ePR?U?YBN)(drpN0baI7?Lv(dPJR2ZNI8oIB z_Yb#FIAE98y&2E&Db)6?$+H8zKDBB64l}lbZB5xBI{v(Y@H)_*)?eFlU6&&B=pSAtl|!qKQ>|U6eUlrD^JZqChG3kx^7@u5O}Fs6kTt*oDHlVZN7!j&S6eiaE<^zl%5w^Ab2>N_B)y zC&STTq9K}X_@crAnQc32quyE>dkfBZU>)W!xKPX{a^1g*C;WyUdVJ9d@g0*gbo6@x3>v5*VwGm$c=pqfu{sN6S6*Yz-h{m{QJbL4Dvs&jK zHFc!(MujV^$W(7eTXrWnsAUb4npDguKKO7hu|uMHl=*SKdDos*#xm(kn=2d70iJRC zO@tZ51p45O!Q!U1CGnQt{(RjEs%p3|Z}y_p9#Tm3jMykjBy+{MZCLvRaR?h9HwqTz z)bwD`DZrC{xoV}Xm^eMaVfS(8X?GWG&@{S$da@N{v50O%kh`Jr3wb=#$PkwMN;$9g z5prb@PIIMl#JU1|eW|)2d<{4K-0k>Cm?WdN-)_cZw%6o4y|Uj#Y`1t<2J9HDA$IlL z(^fl4v~bm%S0o0)n$^IJdqN7TQX`yAToonjk|ZjwezL5M5s5gOQRg|IqdG{_+>J&u zbOnwO>3!HX3NQNgraS;Dqw8^d=`+U7qf>HVr>VbE`z7C8Ue~Bnb!)7&)zfD43Hy&4 zGFq(=65Tg#R~hZ!12-+<{~3Y&2VtxKJp%bFWFr~phw8)s?iK6U#sT|{Can<5hf0z- z>*N54M7Buy6N&obB4hd@TEF2}^E3`!fi!S8UbH6g}XKxXQ z91i)4i~7y7+W%AvD-CBB|GxO&pZ~+KUwtDzYbQrD%YT&joD zvHRbi=Rfy|{a-Ug* zF34uVE4aer$gN^Vukg>&2&X52SbPBa-@V0_+y;`(AI%@F8{E1ZFE=dF!+{hNMbCOJ zQ)XA6%Nr-}EeopzfthwWkP|@q#PkLtaEPaUKV+lF6Mu@x82$t@_f7P4+RpNn-j1Un z1SOJ>Q~epN=}8f}+c)2>o@htRq!>9Mg?<6QOK-fQqX{SDF=W_JBmz{;NVx1ZI)RRn zM!#hEa{(3ukP;IFyQvsq2MBdn3VuMK9Ee6>nKg|9HySoh0T46VZ5KZS(0n%w`S)>T z%?8T7C+(bORQzBIL3V6YTG4RloQSdx!K5|Z#>cA%1Mq3;WN2(~VS18ky+#fRm=I{o zF7dA7b7kR*=a1T3kIOnNT}Z)+i?muDcHEKC7Vcwx0jCBa|aoKZZ6YTc$zRWG2HemWF2D>1#>+o z2cTS8u>lcJ`$uyT1!RGKExLHl8RYW-{rjd8-xCy2^%O&W`TeIj^my>>@D!2sBm_kS zAQ5QkL=cPht7nQZL11E~`wgrusZLt8CuJ%?kBENVroRMt?;yN}Y^(#)XVLv~?pZi! zc^fzD%NwQB*)-=F5^<5vQE&fn_L%xOcpnGuO>JzR2I~VZW%4Pz*iE~yl6qQ>tn96Y zt{SQTaq+|INEy6MYq}}HmpABSRrfSdqIkq?8uZ>Dv6mT4!*LxbSx?^RIrJ3_)jm>r zuxu}x55qcJr*-O)!}^BP`hw>1vY$bBW(^48;ka4Sf|KMX9490)eE!;0t(9~|B6Vzc zB52J)n@u+50Ex+XgA4SYL1Z5uy<-GjjSjaA4$ZaM@0`1!9QqPuCuIqqQg>Bly}D{& z0>6P2o9?EauH1y0NF!Bz8$0e-zcoAVY?(h2beuSfu`b&vz>U>w0Ddr%MPh&H5K75+ zN3<}zJc<*&2os37b&h?iFG%-VmD=P*vzQsmq%Dj|Ylcal461eNI{pTQ=$PUQOy#Te zkQG=JK9ge5I1}Pwu77PT&W@Zz;0}M&{t>Bdl42c1|NKH#VTrD>jPqQl{ z8}}V*A!unFF<|%R=Um5Qz0E30e4!Aq5u2navGMn`Iib6l*eU#}30BLCuI0DvY4Ugl zDk}QtE)+YeZv1+GKEl*miFcYjVtexRnaFcqULT;IUCQ~H!`Gt=hj%~`QZ>VeTxW;4 zV)~OT0f<|2e4^0;?pC> zd%_&Ej8>}a!hHZ0=L7+X2FtTFL3D`Cf+QvBEhJmZ*8?9GZ9CWbEy4TYPs!D8CSk&l&29T%;+GsG7|D@& zQ^zBrutw!V0kjP|K#S0WK&_y!?fK>++7ze~%ofdZfuM!nCBys{j^rK1-AyM1mPtrE zl3lY4Shlb+E23dF#n~?FFMW8Xu=iNrQ)OMP*DxVO$Ktp!VbQ`qt^ zT(z_etJfu2;g3`st7 zhB&*ZoQuaQ4()ff+?fvq3bqz(3DZobUFtiylaKiNO@$@<4e6V>lZZ5I-sK}(=P0fQ znpO4Q`Sel351se6#UF}vKx)}gJ&si`Zfsk)&3IcyZWOt;J_eq&h2eSSv#^6oIU*ye zuC`-ax%KV_1I+AV0ij9>_gAsVn1x8kq~32O`%#b={F?Rh0z zTv>;hENoBYY%W2z>*DuO79ck=-=^4u6@=PTGbW14RbWm5>j}0UU@43foI41PBEd2^ zm4Pu7q&MxwfEV6g`qDZ}C=^pL*pFDvK%Sl_IL{40F1iol_HqrjQ<&t**1fvycQ zGNgu`ZGF~_y#5?i1Z8`qFMPf8w=m;J%h5svLxI;%qULGem#k;sIt39R?wjsxQcI7< zk79&ySU>dzp^zmwr=7qzs-?Af#L?~eHMh<5Mg=kLHzj%AYHA{GoilX5c$2@;j#R%z00-e=v;w=Y9;30K}0-J zV0a>g>5wu4be8Qt0akl|o*AXW+&DmZpyX3oWUS1($ZvM4f7-u|6l5D6j8J2`A>H4tj<<=)Wc9-!DpUrU?? zN1ij{uz&gby3#qvx$^-}=`BDB)C^O9$x7u$lrI)wwDq>*AQC5NV1YdZk`AV8_Kxl^ zLc2+Wej5u*NHc_dlC)hZedM?^2rY6!()*s6Bs(x~e%e^$xanoac;XQxGj8{p!C{cZDyaF_|i%G>N__D7dWHKc3 zvQ#0fZ%2xMRsZHsUePFLipQy7PuM2dCig|4G z`ca)jJC)_{`b-Nv-e&l`KJmv0MpmXwT13H-Iy+TeOnDV8u zLNH4ao!~+mG661S#)4p+^ZM!TZ>LM=@f=Giwq48(On6fR0xN#we)03ASfycB=WEPk zz)nqE$#V(ma3leH$q;yLhR;V(!{WdMm`s7}@n z%TDX<)DzjZ&2S+1M=as-U-X4#6T0U}Kc^XklenTRi$370m$z}?At z>7E>>yw0r|g;_$fnZ1jGn2{%H+1sDr{Y}>5!e8U8R5X!w7+t2^E*q$)gA}ifGd2^9 z`f|NbL?YkS-9%K!SXJ(QMxNNFQ5inmL>+!9IovKN{SorY8Lq3}v*m2ZpgZO)(^HXh zE1J0%$!}-8;BlYh_1Nd(cxY!Gim8b!b#SQW0|Nkn z``s=1S6cM}(0p5>#?@jGyS~ z8W6P?HRcNk~(4lR*BNg^DVj3)p^VoBt~d{TH%t^tXx7-xZU;nnPt|6~zUGX&hZ0 zy~gX{dhy|Xcd|;Fe}Vfs)7x33KLfE`qIC-humgqkH#N;PxB7hX8ZmA5NUe#K_2L-R z4u1;1Zck}=mHJ(>#GGmew}60 z$UCFP4t$|ub2)U9FL&1_jN6WYWvldbV^WozA{dm8>kH7w(zrO(TzrTRg_v6bb z{PPVq)HNK|22s49YL@Mb70kejvzW}Vj>78pgR2D1gj%dg6GBL8@teSEhiUM`KOVSK zI{XR^U0#)?iFtQdleg zxVkuy@l@78+qrmoxHvrQPVqMxelFWkgghejkQt5CTqokrYcJ4yo>ov8_fs z*bS`BUxjT03x-o^21QT>g@-BM+C8`3WT4XXd$ytKq@DOHclk_j$lkTD#npuBWG1GO z6`p>id}gOdl#$j*MAU9qK<8GzUZoM>N$nc(XCCLL3jr9B1f2%=wo^z|H_@C;Y^p4*o;hoQq4_CBi zoWO^Aec=3i+hDaEuK??YNzjP=`yx)df${;AWV4Li31dDids3R+>hCF8T8G*pU(=*N zS}}hmqqupx0-ho?EWn`vc4%B+gK`aEkO8(F5YI2xYCuvzoGjpqs@o`4RR$g0TS%jR z1!^=D&)PDHtD#_5w*AH!L5>Z~XACfPtgv&rE?|799lEw}AYdy3Ity7R;@5`Zl?!~Y zd2nvH=WH(eh2gnw`3ah5Ti$vO_m0zSU`ftvZlV7C9b3aSz(E52nql{p5BANs!ThR2 zm9KRZ)1>FlO|f&763fsw5WtY1#B+d-12FNeAp@VBftGpgKE9BHJF>3$Nj+eDd}rXp z^f(7ee!e3)n`#R|L|x>2*-NhvRD1GXr>+JV%O$okERA%_+gAiMgA81o$dhQ;ALMJT z3+Bq!i=_dDyJ)D)4x_3uEWocpy9)%Di)*yjH(3jxi_@Elwwn;qsZx7KM66)&m@)#T zGI|PLyBmOL3eUa4rTu{}z2i!(y#`bHkNnWPVn+iqg((_`NJXVNTrBto8N)hQKImRy zLRBk_%o2c5V=@U!7-2=+OevW}o>O93!qOID;v1&V;@%KDyaLM_E#@?tW@*u{AIK~> zkOQ^{X=1U4%Pb90-aZm9gp%QazqYy;rG2eftpPZ>TtPPZXN1!e+<8z;iF$94)DhaH z4lY;B3Go|SHDKAU+dC>Am<=Ug&(00U1iF?n zl?~|zo~Q|O_5RYV8JmfOi*HJLL=wo6J|~x>Ik;~mIuDT(!i&?J5+U?oumpWfCY)M$ zIcExrd3NG*9`2r!&tCTpjk%a9)(0Q8MD9nD6A>1JlQ?=SBz8P)Lf9?ov62LSJhYDr zWR>Iv%da`wtr4rRU2D2|_EQUc7#>&{I$bd)m8{23LQxct!w|y{^quVA4MhWB4^#l^ zJ6ixqhTH+4UQ+ak(kx)yki2aVK-wEh>2^Oy#UgWvov?LP(*Vt3f^P#?AdJmXblCdZ z3C>&dM~OAy9=w5^C1JZ7f~^Fl6v%yy3gnB~@}1N)$MM<=6W(k(VB*!Mk2^@fnM!o% zMRlIWV+7xj0NMBgzS8VwSoo2uJ8ci+N9gAtjg>DsbEn351*iqC$N7>QdH@}Rw~#8urn3LON%Pv1BpW!bT4v_N3H zkh2Qv(kWt_^2{y$m}-bW)-=h?ue^@}aIsJZ92`c|8p{0EB%f0FM_5l0inWAIje{*I zhICvaW+MBt?-*RP!bDHj^T4=&ereDE>DJ|X?t+MxK4W+PlGYu_viXyc$-sUDAC2-p zgQx&XFEvmc_g#@P74a$#6d^iDrFHXDvUBQ27QPBnjiZ5YgzALpL92qEt(C1rhw4m= z;7pPYK5THJ`~kTV{R_fY4&0itr@%xNw*|zE$dUzU_!l-of!`Nv9ii-+G0l!FzFM3* z0fQJ+l`_Sny%pwhSaT=%xjWM7c~JX)LNvUY#yr}>o;UD%`A#T=I{QP^2Ek_*wxYZj z+a+;l2?OTix}nGIHt8?3^MYERqrB(=c>hO!7j&|9?p8~Wz-IJWawLr>Y7D`;%#%r@ z#(E`SVpRlJhi_(p3jih#9?cq?bt+JPH;m*$-SvzXK9w?*n?hV1B-9K+Q3fwo4F2S? z15DX-N-9=?Ni6@UQZNLyA_f;}dIIAlT$$~SxQyh(yy*gozw&*T&HMC1{ldh@?ZpF3 z{FNQPhr#L#cdWh1+x|)te|MS`dmYsaB@&9dEF@1N%0nu}@w{3+A-Q26PQV*BAyWx0>m-EiW>g3GVM)l$Z-bT zk;60{QJoxO`t%!)i(aTsiSgvS^uC|Q3EO@EE+KQxuw3!!^EzQahm`SMo#k+OuaCyL z%Wdd*A;>~UP$w}GRAVQw=)Ot5H`EZ8QcB?bl?LN7MHV^qT1?PAF)y-O z81(5^wBpL9Oce?n%F5KZxMsrl=UP%Fh<`Lq7JuvYCajf3Pd&A|J-PFlOLt2bHa7 zgUc*O)&bGOG^Dw~qHo&IuzJ0hd) zUH$VgOSRG))kmkg+V|456VSW=q*Rh@CXiBzg;W|t$Uz>%_7p&xCM_J3&;zPYcl_<( zyzD;{%~V^S#!ytNklY;CSQK+o|Jl2^>{>@M0GZ z`*G)ES7zP2x$RpP$KlVxS}&LlD&H3_%Yx$>A1mWJicB9Umx;6u^Q;4hE$mECjNCg( z|HNStmz5(N8v-tC_aEoL^T|Yx#u1p)&+P9}1TVs8W{hKXPbuu4aHIpmSAW)zgK4Hx zRNX+QbFA^XRlz(LrfZQL17$d|{sd-FLF5wPVK|zvnd<5kwNmX`xzJ-A4312h?0xu$ z0Zraxbr1-Mj#}B_B3x1TCIff+Z67@?44dq z@VT>hKR{hA)~}g}k>fXdCi#K{o3y$T90h>|4yIupN9~!9xg4qv7*q{v?Cpu9RI-ai zV!U8&xS1F?r^~|7WOpF_P~WM;>H}aC8a@N=_FqTEn1zIG2wEsKHxVn4IT-X&z zP84&rTG2B!dngz80}k1x{Nj2co(bNdo`v5`k-e!4HIJbB3)7FOhx|lRifkjFSV%S@p95m*P%1P>eMttVqv=a8cKI?A#J9mftuhK{?bf1MV6?=oK;#5HZZB6O7z6f zAHO2zT5b-vM?^TL0jXmxF-P8cA_gN_M6}p^YgANJRi-+?M7wCMZFb@gc(-z)&C~%x z-LGqC_iHY9YzjwtHc5K6KG0~$-z|{m%mi{5z@ixGVD}r5P%@%m0!Jn^IU0Ys->Pno;&%H3;3U}Xh5CL=8HLU(cmHZ zZVGTaIfqA`omnGVcHw-FVr~c%)7_N;Y=KZ&;Al&q&3MUR$z`VO*ZC3&3=SG2OpWov z?V8m$O7BOZHe$h~v1u~>?3tQHV6ye9Qa3$cQ*`8{A-Hg^_BsxFJ1nrL3JF3Q4&ZDm z+0kc>c4@(%-;~}3+yk;jn<~3z_jtt0D^1daW#hWwf6`q0Jx?ASJdqRL6G4DzcD_Gz zO}lQquq5WvizpVd5juSs3(hgHW2^-6B@044O?BA6;x@mTdwn1(7L(}oPUr06er7Qu zCq&K5Y}xio2E6-~pg(_!bphXy)>kE^m%{sJn!@(OU{|e0!`t#f=2AHh**w0OiSM3W z-fP~Wef=|CZ)n&Jw)z18piT9!bp5;6{ky7PsUh{P3;WjxnB zo-h%w`|moQDf$c?2zEU?Ux*h3!K_%1ZG#VzkM30Z_%lMTG8?ylmv%e#=OMW>WLum6 zCI>4xdE@%tXp!xpBqMHB8p}jF`hr+@2_DRGnT3;EP*9eSz`GYef^-p?3ZWlrgF>Hmu|YdS#aZZp)2wr zGoh|qH;!mvjjRyvUkVRD@~#*RP4bgKT~BWdj$E=KdupvGE7mI~Wwn`$P+RU)gB_VH zMHRYCS-v*1yf7u}J%x@OIp&{M_7mV-%JFOiaLu5EV3|`ARsjvgJL^dJPn0O{r*;VQ zZudKKRf#le&B=5Z2O*Iy?m)^PKvzrX-Gdg1^YY$>{N8s{^L&*Oee1~FFuaU3(|>pJ z>qq|780vR{`BS`Tq5i>$s1v7n{h7#4WH(Bin7C!KJodFR)*MOMU%q?#Jjtv{R-qT= zP92|8!i|%llkUtKpVsvc)DRuI+JgiL0H722-%+W*dmHwD@HTO42S;N1f4Q4if|cx? z9P-dt3b&)|u+YA^P~d0)p#m}pzhN{YT9dUNsDLZI!@U zjW=nVYWT|bSlN2j>hD~mZPFJfAsk7H*nQ3x$qEx04_Zxxdg{GdAjWhVd}K7lwm%#o z$M-tdT#;DAaMX4~7QN|%16_Dh8 zGGcd03*SlQ3J}$X=sO~-mduT%@mJOxYwJxgo&2hm%YeA4DPOIOAn{I}11RAlWi5|B zk=pR#)iqR5++#W!^@*1%RHLom$ofSG*$*08g{ePSsVhLMDi6ttv*t=K3J*Nh$GD2` zrCLj?YAAs0NOa~KM>AGXq80_orUEKXsL0BL2m#Tg;AWJ#WK|T1JzjKOgCSaNS_sp#s|df#-+M zT>Vn^YpyYEhPQTcHWPfh$*|+VOMk*YW-y8`__1JmF&)lyP~_pgpyp>&DBj2Gm;$7X z1fUal2p1$Q#_x-X9IxT^Zyap${==n<@^t&czFk`3dvpE^X#KlO|ARjMkDdG9w_9mF z15-0=qks8ylp3_I;z82qWc%g##6&4i1EnAXF>s$$ zrj%>h`Kh^5dDWV}hAC+B;vi~yXsj>!Vyn_xwUySN)5bQZ4P}?N>OWOQ_#czJg5AXU z1W#Q@K3PjXoerOpollzvq5w?8ZYUh<}k}IPidoJwC{Ek~`|Ba>TtIat_ z}*Xb5IZ~b-U5d7l;f~Qn-mRi9uG@jSTiyRY?y* zlp3bq@!xkzDjZqJiQ{T08dw!qqonZ<4v1N5GNP!&tMYZ0D#78*_ZiuCB8TkI#X1sT zi|MM3McgtDhGqDc?$mW~P}-G&m7U3>6B14G?l;)>*-L+ng}LhK z8VN_@X4y}YRc}{SN%KD5b@A7-a~V4rPehWS&a3fkQrN0F%yzYo zAvU$BR08%!$tq%*P#Fsv!dujyJk+J))YwvH$TE*`F{W7RtpTCr9ZoiNRAYMe3-N%v zNn`;hboa%Xr=Hfo|BY7I#z1{Ti3CMT)>R?nceTy&t}f^N6H+sKq@Tr<)RqoUh4UHx zkS%n#z(2fxRdwe^{WOhde;Unx-4<~RRrY(S8z;S3Jp zw{CODGw6W{w2LSZq9ZY}wO}{d1`fq9?yK&sXqY&8 z@SGvSg{+7%!%`xe-DntvHt&OB+Z!s3lVNh}IQueNLnc(lg$xJrL3yi(8AFCmR7r*j zqrLj2rhd-fVN3*=+6Wdn6>5RrDfH2iN}qef08gW?qNHL)3^`(!&PA&RWs8RG3vuG* z`iK@FeN(#hXM+?o6O_sW8mYzYj5sL#n(jaS^H*F+lNUVccCcef(K%Fai8jlT+kr`s zGN8~-^pqAHz{<-WD!CWgW5`+7nJ9{-OpZq$O5FS^ zE>;|lXf^G<95;JGuN>z5VaGM^&4`QP&Ba}&8`I1Eu=4|8(q55|r7Y*$1V}qcJCXy( zelw>6UE)hAUBr8nFZ%ysh}$Q@SNuao>rZu3o&TI3eI9%WS6o#|&#a2VjHEm^f%=m0myxeS+jx3>m!KHI1~v}?U|W+q91Ej^wkJxCQQk_Q72Hek>EVl;UN^iGnF zYdpT(VrO1|aQN~vZh(lr9TMg@gj4=Pv`0W>7<4=Hh9!(Xj8e%b^_Wp=r&KctaDOzIyCM&sTT=f@L%QXX3KHS0GmRYO2-* zV9EXmWbmhFXBy3xpz60Q-s$5&o=XZP-2}+chcY~Yh&{?MWb{JU)QOWB3=&S%XFNB? z6Q$njKLlehsNeltP?DZaGDFr%Z!SdU>NFL449tWxk%R6}G-HxX$IdhXw&<5pS7T;1 z@%@zCHW&=6ie(C|g+&{CRzvbUU_Y9Ynv+| zVvmMrR%3oe0kUqdh2{Fl3hRRRqV!~iCfY1`!xGS|S3TkMqjy55`&(ue%UQYo7-Uhe zMp<1(cdkOTP%!9UGJV5>UUqW<7g zTD80nRw=Ear{G+wp}1)(*uu_D_NY6{LS=WM`P7b+s<9SOUe)|tS#-F(wQidFouO$v z%D&0=g(Set4QxPhnMJC|v_c=Nd_2sC)s*Hog>}ib2fNy0)T!U85baOIMy&;wB-=&M zXcB!$X1IMhvm03@A1lzOwv-*wnqrCDiySSN8M^UtvZQ9lC<>FvdhOMC^qs$Skaj7> zF$zmi>y}3kv>DTVu8iBoNyJbSeZU3q^j8$Q2rI$0Q)G{IWFIR%!4 zO3Op-FXRq~-o~TA>sx(dCnTnD46kqo)VO5#G4PgKhefw$o{(F5k=&A(TLS^lJfb;6 z4$lPI{V~@+wYz1-I-*mqzi~91RGqCJO4lDX5&$(f`L7BXVL2nN?KBInf;4?o2Sm?7 z4Lj1}yVT-$9xh0{;MP4h2MNzvmV;LZbI$>mJ!`*ld=hJRaaN*u$NJivc*9*zKDtH? z*nZ0H*^r*PhIuZ`jz5CjM95x5B?cek6N8y-Sl0r$hI_ew=9^dNp_Now-QS6)k~?zX?h_s|V=Y%=Er%^hxphurkyBZtJ4MV?pFLhE2DEN$Y2;7WqQ#L#8I!Su$zX zbvo2Xl<=FapGq^{oV%^w2CHcw?L*?TsXfk+=-dX9r}q9`x&=KiO0!--*^vxXn;bKG z`WzpiGID9fauB^Shulo2LN9sZTF>wNTHbhikv+AHJoAII8`vFoU5?O%bYS;G+dDp z$%)$Q5yjsSS{1q)quP^<3$O@3>puH9{ppU0oM-Eib$!uWN8qm=#iGrSk!dV`p%lt<>6+v|e z6n%&ws#DJT_;xO&^#+*n5X`H|dNsHNY-J&8BOrRygvH&DsEuv{I#ou?fLKbP)P!w{NwnBNputCyJr5VBKJV<__pb?mYCf^w1Qfz*c?x zG@yUJIQJTOzJ^;_5S0L5br8wYO>a9$(QlY+&rID{kktcsLqpJ3Ly|jptWM&KWts}e zY~t*Atm}Bg>u|@q&MG5njSyb?d%@rQ5{3ndBT<2~6M-{Ufm0VClQ;|tm+>#Z)v8n4 zAX7acQaxbFl^MXiC!n8L6qL|mz5KEaQ6@p1<5`zA45 zVnA7NR;s#u#p38>X=QsCePQcx4SeqxXN%YM}teQ?` z5ss$RI=D}C95Xb2Hj z90`HK>7rpvmN;`f5q!!<@AFVwGR2r|)V$bNe*N7PT^4GuNT^|hh> zi)1#1tPa>)=czsiW@MYbUJk6jKfJGSWp06(VWxXLkwtS7)J))$i`Aq|$}FS{$p^Cn zzPun2zX1?mD0+>Fwmj{QV4^gSH0f!1`ElEH6*L@ffRRN^toe{RIl9a3U@azsxd!y9 z9L}hZFdTgItrEVzhaU_)l;L)Q4dBNQ+;4H?{!9nj690C{NbQqLa3hg6tw{20&l-g2?!13APRS2A+l0|?dq>++$Tcis1sGv|v z*y+G+*;t~X$PjV;y4tI=s5&+Ht_tc!Ly~d6tJZiL-DeASR3Q?K-tBQ76rB5sAC>@a zRHZvw$BeM9gD(0bJG9mp#9srDMn6wo_5FGG-_L&^fd3{fv;O_r@><_oADZ`+baPZy z&ohE7DVai(wI!RJESw#<-RR5!0LkT0Rk?s9yl6lQfK0x!Y~z$egGSSaol z`2etLe3y>bTgUWU#@+sOv)~WnibwpY2s$-ACJ?WYQCZ{z`eZ%;Ve~tOs&O)Up(iKK zP2G@%ap*8nuKBAq0KvMo*{276)|zwu#an-)Ak~?s_j|5>)kWKLu zUoCvCJ2vKY0tJmEzFY1!G)?4OuozL5w1jFP5Au|vgwAzTRtSa>s&=5EGu?VpW^9f(wgOo>DU=9kcGmN@e9l%D&WM2Aa93#HXSHJur zIgX2$H;Mh*A{*Zey#3ecPzffNAAQ(#Ab9=(>F@6gEshX$p?AY2xcI>(7OnjyAK0_h zU1?*uUHz6cY38U~`V84~JopI4eWKG)I&kHkyXPO<+4q6R-2zcNrMf+WpvmCyngSWW zVh`vgZP7u(P+R;wxZoM)O^XB`0cqxRm_B%inG3*u0|pU_L<_-b6dG~gS&`6HRwihL z{v@Z`?lM)yCELQ(qZON`nA>4-Ln_$}B>4Ol-tE{u=}F&f8~1+-e;EI;zGdxgO#U6+ zUdkG_3d_h^Ds8uo1C8fvD7r*osG7@3xZ+ZxYOfUy@_hVYeX?`J#9EVu6k5{ zusyvW`uMye_2BVb=R%P}XWaJ&B5HerOo!F5=mCU-CLN$Z_4bgX6L(-`KI-FI!kZjC zRGg4{Asq|R5<{7(jf|YMGmK%3yub-))23l$gKBXP*h7R7hiV|c>6Ya-ZdR|Ksi7*PvS>GMpDkq^drUbPq?rxMM?&_{c zufCLky0}ckb6`u+&YJHBWQNHgPf-ul2Ui3VnWT}DrQB#k$`{K$Pq=^b{GQ&7Zn*;&3Qc7hu z!6=#1yDUvfh9(&=_i6Ia(&Ol)k(}F*&P{ zB%yg*U{cZ=tqw&y&_;ohS~#9J^1)DV_gKo!@o-_t%9BJzlSR0hEQDGeeCF4vJ4v*J z86iQ8_AAmTBX+_|Z_G+=W0>`?2?Ym*exLb^`*+}9hc@7Q9 z4r2=fK>Q#OsrjYsW4w1vQp(4cBaGhDwR5m zBq_E_61Gd&zI1SF>=ex^xzcz=ztCqx3ibylm9X6jJj;warW}t^K?X zWd-JGzW=cYYB!xVlLRN9Anms1Nxq?&;3vUpYv|WGu{pFo(-byFw(m8z>8^(@b|=u2 z)rsD;l`D@NiL)GwVDX0dYJ^C`Z8LJT-4K<{kTqA8rYE)sMbNL7`N3jdPbl|mnp4eZ z#t6))L5{|HEwxq6CC7^A8yJDahfcJz6^{s+)SJ-G_LAkAj-jQfV7M17jegg@+%igD zYW-cDi2P2MoldB1s5_-Rp2E4xJk`LZy%dXBLBUouyOOS7*v-E`uog$VG*%oDkA_Xj zqA{xStuljrT3TM8x-cmm+7ozT4}S>4;phHRDtfdPu5nE0WK(@q?mI9^`gJ3fho%6% zL3xeIwt}#;-h6Eca>(1F@mSmsJgX`&Z>R&I(-wMkMh8)FsPF;QkPzFX9h{4r+n$V_ z*i|3E!&s$QbPwHKe*Uk$-FD;5x|NFK)sv*mj}!(U~7=l&!2Hn zB2IrHD;duh0o=j%05?d2MhPCP-|uaY2;jM1n&2ZRQTAZ=R71B(N)O8&^0FXhc|qET zum;v+9i^>wQYmRi}igMG!gFdzQRDr=VP0zJY4AT%Xp(Dd}dS_WHKtKGTN` z3R@b5V?+jy`9@_@fE%1dlnzVApvZ3z^eJp{v$uSu5p*;`V2(%*>k@V|s5=BSwALL0 zN#*M`6sR(s9E@ge0jl7Wpy|f14LjL2yK~~8W1`A6P_~*a*YZ&A7B8V4d#9bU$LJoL zGy!HohaWX|J6L7SBZ-|d|BDtz6etR;x))LXryOXq|E#SC#5&G0&?_@JkPTlnipm%D z!CLvj<89#i1WV_{L^-H$usHEpK4M4qiEHAoC5!WgWqcJ_UK?}(ZHA^@m^#<^U2iDP z8j2Jn)?w&#w-TMGH z^wZsE8MF+`K6sZ#B!39825~bpf}dO2%bs6Ue;+F2?}-bYj(((YaE<*6dSiTs#v=Vg zbHQ6dh^isIc7dMtI0s2H6{^pjZ;aRGbM|kO1>bp3xjER69}O`7H-MD!KY-N2X6_r1 zN<$%uZ^qR6F1zsu*3FJ~5Hph0MT+_*pRgdlD6SDEB(VGm9N;z5WY|0O=k38Y@|0;V zSvQ@((|*l3_S!zq(CPMh2cGHM$3ogb8mF$^P>vN=8pPh1+{ZD8JcV=wfdO?gZ(IBw zT#HGMOPdSd_*vH`?UT56tvJ};}A5MwSS{>W7y-*?XV+Xv~ov1&rJvPYk+h#!PJlc z%pC`|NsAGhJ@C-&p)7qNUf*Fk_4c=M=|g*-w!6N_lIX+&F~HV~o$gH(VM~2ODY<)r zwKMnlgWxb`*TL*aGjfH6Y2QrEZ($gUTMQ=68QGp7zc-B1uF@UfpkP-az{!gsBxzt< zDI3!coQPK8yy_|cORT4jQ0{Pi9}4v}f6|Fx!}Zzim!I0l5Q)_f>zl7H^9dIEpAM53 zhyhF!K{q|nfOm+kemNSb!Ckg#fufS@D8%k2CaYyWJuq$7YIFy9sE`80zo{S+RpX*A zi-mLmP$86vu0RIK>xet)f##QuW9}c&4L>O5gCX2Qm!Na;y+lIa69aMsj1qhY5IZ8a zAZapdy7)QxmF@}mIQ=$a(jyh`Fz2>oW3NAP>nUvKP!kIKzg8%HRw@5-I#BGJ*BxV2 z#Y^cW8f)QKi?V|Z%S6>#pg+L=g$_Bo;im|{(P7B{bUG0H6FSthcQCRiQgGBWu=pD# z%1Ozrf3t9dVR|+*vD`vW;55MC1i?-F5@3E&@X|Qq@-opuF9;2n-Wz2LutMH)Qlg*l zzduXL>YIdNrB3@hQde1RwnnQMIQ!a^23f%m4-4OaqM6ni$Ai}pfpwy zR%SxfTk-K-nfPrftYJ1_dkBGp#~FO{D^prEwKlniWtv6L=@HTWU4?sPI?#ancTJDd zh-k#tCw4}52Ak@^3ROBToUNq_aKm*%Y{i2+n?8N=?DqEgR__NV4jo`Hm4l-AJ%u{8 zUcHGbjgeP{?UCd87;57=e!hZ7-fEUIWnX^IaAxxRrGDi>wL$)X6qnusi03DZ4#G}r zp$p3AzbOCUkl0P(H|4+npOpXG;`RUW0?6t)es>bIR&cX+)N>VfH88SuG_$e(_w+}~ zuUpUa!EvXTBW?t>S*gzfS__(5M@s0#K<@dbE0&hQ@h7^LpH)mKhgw--A$=$6`SL1( z5pa8c;TvO93Wegv9Ij@rvZF>nJ!Ru||G?Ul!!d@3=EQJbRA0R26O^*TMX3$w1aw?b zGBq_lnjOoZj5(Bljq7D=ZQxx~-hR|9#}wafl{t}h?IklD;YQ8^&!#_LL|sRrjARU& zfa)Gb7bor8FV61;NxnJ{=TQ;pGI*M{Bv-^iW!wd$H!R6!`|Ppz+P-j*xb2rXi^LAn zbl;TGHjUPa#KsBedm34D_d_f!Z{^~8boZQysbY;nPb$5RgT*E%AnRA}jJ>ZEJ`G;qF(d$oK8aOOxQhf>l#7IT#RCJz$6Z;M zu%%PKXf>mKWxsoDgc4m$jg`WZf^o#MQb*<_;{}aSkaam}$x>Q{E=|Q!VXW5!rlXv8 z;SIzBWWxH%D>BbaAQ$7FRq|(Rf)+Md?+oxRRHw}^sJ}Lza|oRqitqU2{hzcH_a9>L zZ$HZad3SF$|#pI`X)R^^>6R{&ZY%wVO;$WTakP@$xW_NGO3%$H6rYP#3TtTX<$T45$BP^L__X(ZB7 z?>0rKZN$#{GcsK2OAm2xprRe%i)px+i!D+&N4PIBT$m5tY03<71#|1F>AH>7jl}7@ z4a6C%>5uA4>;68Cc~=Q0TE=&)VF(-}KE@ippKIDOO@Z-k;dQWc7-vcY{1}c%is9ZX z)X`6xsj_ZnyP6p|5cy0|U9&a8FD%TS5tj*x)vPvWZ`ix7>;NOH7q40$4Ca z|IYybC&QJJwV8p9;opXQRdH7T3o2f+{il=tF5z4(7N z5C~>a7c;7m&SRc727*@~iK7hoYMOZ)5ROZTWZ(Mx8Sc8l+p;E8hBIFlg||L1WG9*p z%_ob>KEa!_CfC2%r`<-Fjvx&}(d-4=F>4{PF=`s0W~F(ORae;O_L^$#pgknoTVTGN zyW)3CZr?$h5H)8}{z8}Dj&<;q)gGm9(q&Lk#q5wL`|hv=7QULh*!%LJ83dk{7q;5h zs87O~g}D3?#Z{N)9p&x3eVB?1n>XDThRa^@YKJW74V^z7-BDxFR|Q25z6y5>gD;Fv zjBkXWpOd}Yo+7)Fd@z@SyL|8pJoQRXb09{fCcL+&nNz}1dwhGEhL|g}o&Ez@=IbZh?e!kqqt7kS&mULY%RN4U?;kMlK-c}G z=(z{r#9skFS(n|s8hlvS5Vr*CNH^*&kCKBTKY!CZ&OxWS6E#G72=LE`SmtvQ`5oq% ziLht~8=d#eP>MH!*z|;4_8`(l6wYR@y}1j!qkR;7FhOG6+b#PBquu^!t!6OrN9*sO zn1d^_%c%bYEaOX-dAjrGhZd{r8~j#ekKqrQo50CMp|C5<5xA6LxvtaT*VyY3fvoE|AcGeYiR#B_ZJ5e!yx zMaN8s^dcz3=wsP<9AX)RjG|(Un4 zfL|n7{ChjS`Oj&HUraYMEufaj-OJuDB=_RTL0*VQUG-o{GYXE*7?UY-Q_p9xiF#!H z89kE=-nSBs?WLP-@sCgopG=Lko~@4x9&7PYk4o4}(%hmJWzuEgg49$6}SYG0r-}f=bV)?fptji!Pf=&u8sN z6lq3J-GjCvIN}J@(xYJP7&5jDJVU)HJDM4XsvA!pwY@gHT-cKwjP8mdGDU{mKQ7#w zA{#cG-e6oe9$7Xnz$n}ubzN4#!6K*)Mf=MpCw+gjJI-M{p2g}>p0E(~XZ;=w!UYH6 zT6e`eVYw(AsbSr*vT=jD;DS^guWZ(-iA2>_FAD(F#$Q751aMf1Ibw}0JdwU2&HY#z z3T3{g-utq0e@DQ)Ygb29unI<6#5C; z6^cs^xoE?K4jy^o<4e;L6R4*kcLDhvIq^QM0u~D@ORC889_YKX zTRBl{>)db&(I}rFl163%WDeAjpbJ(vg-5Nos4PSBAKk`|-Fm+7NmCy`GoQJ6%YAmv zKM2Q9WE@|oE%UqK-lJ0jFgAjSu2r*p*9phtoiQBTFp zeFQe+b2xXqKqNqK@uT!7jlN$ewJFYl2W^jBGVuvJ^Kpqvad-uznpW{$YcO(?ptirZX+*&Ljt zx*Q^N2kf|^7Q-dec;8i7=s*GN2f&A1q|5IH^`~6U)mB`GqYVd>qvb1HUI3=r`X4|x z_YFz@p-xbkC}k+-(5v*x52Bv&(1laKqgyH6PTG_0kODrzf+Rh$q0io+52K2$HFd~! zAXyP6eLZHa&3lINp!Z~;r3vA0G8~)7bsH3Q=#V)0$)-eDx#6{LvXImRZd=Z8$!2c2 z%uL~-ACu{jx%2asqq>`*dJQ^H|V`X_uWdwzNr(@a`^G6VeeQDB(ySO8X zb1!D%%|%xf;C0Ho0;w_AOV(BSrh)=1BDuEa=!wns$v!LHwlKkIjY~-QX^qFCf8`Fx z_#jjg?TFoUEKkQ(UDM@mesTSFG-wXT;D$$ZEEPo#Z=?K8)hIemChUX5Qb`lHoW~~B zw9}FPoBfJZl>JF`TiREG$pjqy5gFuGr8pgmEDuo){ z6EgVBrI#ZKB+67~>heoAgz4zBpo&+?%kW)I&OJ9KdHWY#olhRqtoWv@i2qZg_-_eX zmjCEs|7NFWni(9{4&;R!8h9Y2w8Elf4ROS%M3BOHGMFA>SXP#!$>2Otp<&}d zxINu?&wv9J{-zQJS<^i!`Z_da6{^&^9uiDpjlnGDI<2z@sCwvXL!_{uBrSWFYOVHo+zTc)L_{Y&?MM4_KRoGBa3DHZ zU|$`VF11nIp%)pqZn3z?Z&<)TNaZ$QYgyH7u z;|zgthTpkUiPHBQ5>+Kk)ItK@cw#eX*fFh(KS0kMmmT2%8r-$WL1(0IXT26qGzJhd zmqt$Gb#gkF{^0mKu|(%O@#J3PgDsg+Bf_o0GL3YlkS@;*fZ#PF5$C%EP8kRM3}Y{w zeF3l3AoCKrffC2i&X&c1%=r+~dUFbEx`}S`RnjDA1Ee`-SFufeB&gcuNE$VluZUPx z$SqM~`L_%L*oXHA_8XyF{?E9=`3DNBU}j}&X=ePl`y^9Y$1*_)*g5b44W(X~`y$1M?4G zAFedNK_ehmNe#PWjz3)an{<%ud!qdTDtc0Iqj2}VCCO5N{x}jWXWQSt2x;eXTuGZK zSl_k?xR_WHFk)wp85YThn$paAv9)p1C#H;AUzRoG>fW1>AVNCPvu1{%77rt~!kcgj zPwlB1_lZSvu&XQ?6|w4IshGNjv^FHk(sToi6+0|2j1Vpqt>_(>AX1}jC^pb0J46j{ zc=Dgk1PLg0rAW3hW*9m^a6=@JG%Y=b6cTp>J8^NsQoZ7>Yf$WNh*vi{_olKjoESEO zY!P1x<{I;4oV}+M%;#1J)X9JMyj`6HO7wikb=e)A(O4JEAb*Y{Hwl|9S=%ex>{AwL zskcbLr^2!y)pF0S(&G841ms+lk}k@1A>Ltr%(^7LAxRX&R13mQQe- zz1LLozK_`sO^i1xMO1HXKsiA29VK0=z$ghm4mrN_IWsh4;#L6iM9$Q;$1C)J1yLA_ z*-lb-;L@ul9ot2`^sDbms@R zp&1K4b{nxjC@fDZ&`N!MtHL~h87_(fIVxH~*1>{*4gG|EjJ&^6RK2NLSPnIbzP~u4 z!&*0Bq9Z^Zk#gPkcLhjSIchPe!0jJHBF`&MyMMsFptIB3fstRqxKwtuJop2+oruD+vvr=c zt`@krIdfB*P0$}AFpufT_UkTNoM5`7MA(?Zr>Ctc%2ez4!laxGz^yONp;(6XNrLiq!4GGkGLO@mLT_!^| zX4Siv5~=$@Jg93;mSdU(ww{<6kB;f9qjy9F)s~w^c(9^L1)*ed1#?h(f=GGDpa(dQ zx2Y(tz>l~25##2bLZ*F%qTrA*Toozj*naym5`>1|8I=>cq1~HlP=8kb5?|_U_)H`N zf8)~b2w2K~A873LHwiqqTLqR?wt6trihPR)w^>aKSH-xU zoGVO#9;g&OP$8`uqgN{<8^GP=azWA?MWRTwfE1rmGH0Rm-2C0xMsA z!qM~5@Q**~qXge|8tVXnvbn_#VswQ@T?MP2Uy{1tQLyYcaYgtN=C#%X>*|#*gi{~^ zRU+Ig0}?EY-&a4E?_8;L?p06We{cU*Z0Cux3Yz(R86*o4|Zn z{ql9;ZAEd3Et)NFFVYp`rsVOh6oW=1s}D@|7bQ-q+K?R#J7uodw0_^*lup=MH z{a@i+rvE^m)o(!_iF=<)8oOCdoZJHn*fvf+xd%ud9w9)a&XCWqN%X)>A2u{Ul-ezH zr#_}c6~~qT`dg2`Bmy_Z)W~Xmno4Cn#+jbh(dhy_*||grYsm|O0pehR(Hv}KsLIdX z4~k0Xu%<^-puwyaWk_XE+@#O8=ac|4Yv+%dV{Fnn zcS73XhXeg12s*AF!X~!LWjNyUjd&FQgLvLN@k-@g2&2aZalk0P6ecJkpod4PC&xih0>c61?1~d-5JFF zY@Zbi@<*0unPvsnh0u#aiP1=sY76(9LakOfoFzB-gEQ2~0yZ+7Xx!KuvSEk%2>n@6 z__HStAM0ie$Z*G%QFlV0rQlwp3%FLUHeCdCI*4JEziQ{XKHlt;PQMcRfc#>D3yCnV z*^aKrh{~~wOQF@-rv!*Lo)+ORM}wTxt82xcB*5VL%9Rr(eoPvoZ}LZW8CA@f2jq*IpcL(_%-g?1vBjskw(GAdR+0H|}S zJO{j+ATf2k{xT!`{fMn}G3?XO*xkTfv5z%-XzSf{{B0J?7$(*nq7Zf}L#Fo;S8NO$ zviVDo{0hbihWti5y8jdH5d8z%`H$ePXlieyXZUxnFNR;Hj}9$p+j@Sq!mlJJFUTM4 zU5>$LDuXLPU!H1$tk$2B)YtLz5=;V7`pRz57 z?kNc&wd`f8>NbtBVCLf@oqpk(ga9&(qWSGd-N^(g31I=RSR)3+2ws%aTBKr<*;0CU z+g6FK!0l+X?}zZj4tM99VQkRr*nw(mLZ;MWd>mOWeyyJpYB1pN7a<5m>u9th*W*=? z0`~2LGo_FE2P|pYJ7=(u8T|_Ai*4+St=Nzd3SwgHYQbKC(y5nD-BcukwC+*Eb$M62KJHw z8PZ@(t<_)fxu~x*GSJa5;_tzPiA3@a{D|Y5=%DkBh9uY-1{))e$F-&tG}C^IJXniabhLFG zjMdrV)wz`Q$18-Si_2TdHJMWRW&!7T>G7DHLNXWm-9DDyzclWfsZ zv1c)H8UxU&v&aZ50}YoYEcjs;OXk$$4xQUYkv7d!ui!4|Nio)gdBGhocF*J=F~&uva&5-EJm50nj^`1JW?`{NaQaU{u!D zn*eX|r+j#@cU9jQT*}#xJq z4K|{1^ql>>l3Cl8XhLu^w$tHtwxeN=j-z2b@XNNZp;EsfNB4UH{!%N!j;B8~YiU{R zWlSQF1O>0`%goMQoP{*S6EutVFseCydoZP3W(F%YFXs=ph#f@$ogD43eX8c=^|+uBXHL#O zySpTW=Zj3rX0mf!dxFPY!Z>&q+)olV>Gno+3F``a@IVL^N5~);=!IahNn`hqy(0F3 zR8s^1P+Qvl2&(#rrc-*bq<2|JZaAg)Wioob)WtCjj26n7cyx(vj3{}suK;WHGfBwGnZpGaMfDu_G2C>XQ=Sq$0r~l zre;xETo&Ve0i9M^IF=Q#*AC1Dejwa}X|EGg)4Q*5$W;oxW_S#0JXcm3A(pD{p)9Vf zG7YgeRV+d}*P^g`Md-M1Yr0lxuv8-~HuSS$IAK>vI!C6G2w42Y(2O!9a))}5!MO4T z{@}v=O5ladzWJl0dzW4RPP=lMY&xi7I=n2pi;30W>{HcjEjOQ2NUt4xi45V&CQoJx3e+fA83liPH}2ig3f-ambu;Mx;b`rtrMtW~KWH zZAfIiX+gmJVWw-KabjT7Bd6v01F;NofL}lR1EIiDa(#DuaC=hqf`G8t9@Kx@l4Cm; zny4|KO2T^EbiQqwbhlHk^7204kp4iuj`aoAp4ZzWpsmJq1+uxlP4bmc)jzA__cdzT zIx-4OUc@-Z*iw=WjTh~mc&&O%UB_NzHY1-K0qhq_@=xxG$dDr4-G#nI>*U2`wGPcJU)vG>r$mpZm6&1iCr3*!8{^cNQ_s zA~xjDy{1QQMeEuH*~am>w3+Hv=z4*dKPg>mfS}xvu`8OJ{^T*>sT$|hjT0iH>+}Fq z7TxTCB8&w|RS&}rPX-1LogH#isFNn+4Z>7vOH@6H^$r&;CbMVB&bPeLQyD>FixC{40MP^USW>WE9N`r}cq*fC}e84fP#;&^c&a9Q9Y$Af($_EAURT9k)D`svh$;)W0(J{ zQ&f4K!Uy$W%BnBc9aC0pa&lpr`7nVnAw8(a;x>KmryQL8B*bEaND)u?G0}J~<9Vt9 z{(UJH{~H4H1*IwSk`npJYkiJ|w7g6K#$qb6Gf(!ii=4ic2*WEl;=a)q_0ELm!DxqM zdYl8m!_+Wv4G(qc0}k{Yad%c##sBBRS$bP}xMYh?9xTxL3+)H(M1C8BwhvLOeo7Y~Q+Sj9Ak_k48Qb^I7;U zxl#jQQ=)}UuD@{DxZ7lvA^Ox9bg~g>r$d0)X#@{TMVNNZDZA1%rvNWyG*0KuBwD2! z$1Ba0#8BC}xj(uxXlb#1Db-tyRHar5oD^vQ)+FeOFmpuJ+1s*xUGcOJ4tRbi$bP?^J z)vV^wY((2e)0|&|{c3+cZ8Ms*{b*x7e$>=6C#IENM<#J978LIrW zpfPNAVHc)xS**y*G8MCmlZM!^+9kzgG>S-N3p;)#llM_sy4jt60I@}sbB45 z4rU@obXW@yWw|il+0_+aE1{8aDIc5ln?)X*P2*$XnF#gjI%T^q~Le{Ay*%t&UbN)t?@n9@zN z8d{1y0=#5Ae7$78$UJCnyv|<+hF5+e(AJ?MY)|u~J+r-a4Un!3BV-%Wl6+#leGb6Z zM3Z{Qc;#Jf8vwFP?%@TQr54i*ihaqb=5RrQAd5$Cv8K=U249nDtcWDn1BxGAR$nt8vOfQ8Ci5AvdCt83`Psug_U8IKIKgL+mMhPb3Qryl#Y_$fF(F=GTvB0d zFM&<)Siv=xg|k0BJUxZr=j;svHjS||aYw|Og6=zQ&S>!);+Sh7gA^2yW`RM5Ik7lW zeS<7xi6+&@zp{W#vHp3=-zyaQTOs-HEA*edV}ho7_JV(vg8TOgoT=(ztGMj-Id$3T z;gZa(UfCircd4(3qvjlVFd`CF84SaKwkpu~8y^qTA{NDLRGhLJrN#iyP7?Qq5SCL+ z&@R4@n5^KS8QJ_s= zY=V;5y9nHN(yJy~cj&U8s}_gNNF6!U@pp0NUe=lX9omDTRU^uoSlsF4cBF{~zUiV5 zND&u1wqn`Eblm9&Y+TMb%8PLva$BM$4XiPgM-vIRKkfb^ZcMzTa97wAQH>Eu;e>&j z66DM76@?y58mBadq@?R^>f*rF6Ol4Fw1;i=h^x7tFX)$2e}KFSmCNX}I9Dk-Hk+C= zuwOT-&I3GtE74d}C)T;YkjQa!DUKKoH<|_-n$Hhsol_#IMI5=Qyzq*>tcHeeJlooI zWl$PHK{gk=yYpxVxu@-5Q5*gu5ew;q{MD0n{tUi&mwW*1BNkQSZ0w8#)!#bS!7=uQ zZdR z{pxfl3Qm2Dx_b#_r}3;B*zMtL=L@`iv+~q?fMBFpr{iEt((zWVF+3a8o@<~?+|kxc zuKdk&KwoF62F+6aMKF)=LF{3~%4!uHmpDyZeZ0UazCM#;N`id^7?`lasrVUFeN=4_ z$t`KvA$H*&nv`nuQ*8c-Lj0h7t4T)(XL>QEx_h>Bo4qtJdf>(^Ltw%!VSYuwyTSCc zZ4^mK)GS311;rKRC9%c+f_o#-eC>ItrG&4@@}A^KW)#`NHdF0|YZi-=xyeS(k&(<) z*#dQ7z!OSza*#deZQq+XY@M+h20v&eyeDKSI19ejt^hD-daV4Vmx# zFI3=rT=pbP0+UB6RPy6N`M!0R?E9zJ^8TP7r<+%O`TQ?hn`L-EoNG{_rU z4&nG#9J{0MXq_qqfr#=RNxlOQaliK&Aww0PCL>fT1oa$FjUAp_9u}b#n65WOqd>dz zG&fQ`+Vu6DPnDg+M2dO5mj>33d_bjg7%VTAD1V#2YLz&COU!er7FRuA z9`3&w$I+mZ9;h(k1hAAua{>t)r+79(Wq{gmPbSzlRjCXW3RdcpV!q` z7~HB0Q#c!*L+WRduMqv61G@kbz1^q^x?#5)pP3l!n%<92nEIsi2|vAElP6x&-x=(Y zjoU(hjhA|Ronoj`vEB-pEy(VIifi|$l4O0DeTITYYPJW}Yq(NpduJ$Ct%b2%DzpS! z0d)nbFFAs!bnh?7EEOM^R_=oU7j_W*SFWzReCL zP)=~Mw7BM)OT+OT;h#C-)V?1PP?A7}8&|W6K#cG3Wr?rguw)PT=H68R?mslNmTr;A zl$FxyrZNPHu%oB(*}`M215m2!NW%SkBK?3Axr z!vlzhIH#WGV*o@+LZB;Z) zhp751OC7zvSubuQsTP*hHl!nR4;^d24Z;&3`xx<4m@9bsh8RW-)uuD*MlblNIuY~> zPJ=`bdsY%MM*$~CAT{z7&_vbx zM(KK(qjx1z>y{%qRwuKoFWH$7<*P5L*l(tw>}6aZ;XaIs^{9fr&8`HVBRo0 z=9*nwZRXjgZV+r{h>L1)kIgJlQ|_i2t2%s5UVuy3`u3s6xG}ndA?EvOOpCc^q&;#n zwSm(jWhcYRX4nE*&TXfTXr>=sFoYgO41l)gK3->2w6Xq<*Co6URFd&Ri?L0&(aJsb12;gCd8buweQtlxMv zZ`eNQkYs&jym>k4xv_n9gA;fI4;|`rmhk#xcir*UXTd2^DgpjzWOt&f$U@88YH8lJ zVU$Jvit$X!$3Y`!iz#ir!hPP-8fuMyA5bt7yN0@Ti)v}jwKYz}dEj znu+skz8=(T*9A2>N(1?fGc=}U0!dD{%wnPJC~ zt{^-ySk=Xp3h4}J2La|$b5Lyb5r({fjeDRHc{_?w%3E0nuxb23^^D!FuUQKxNUH1xioG=_A18T=BKPl#p)JzQxYtT=Ch7if5YZqv)$r!@3*p`%^A4n^tG zL@s+eb+`22yZgkYk&pdK$TVen{phx)YN(`p{GIuqcqq{5&D!%46bfY`;wVLA=%^`> z`aIrmp9D1BTn2kZdyY@vyE*5r)rI{Jp5_aYn;EeTBpR|@gcw4FTcBQ+d-A$DP-*qEJXMO7a9drG9bu~Tf+YzrJ966BUpUuD4ltwgj>*W90@0WLZ)PqJEeOkY7+T*%zNWC{32cIcS8KG4VLV4htBwy zrVDymdoq$xTz<0tC=el2r~1~CiUtx)ms&MR(T!jB^%`9+Yu2=qt}k1LHP4txu}8Vt zJE8K7y=_p)C^SN!8g(KRc#9@ms0}XLO7ry-*v`gJZTCeL-AI?@%Q!0P@&Yp}Rn(jF zEhEdfcsc-{9Eq0m0vwz27izk*(EdIFu`Zd!+|;Yi%lDJY22lOsChJgYy^L07IgMFz z@wt%Zi7Y!8)~gM&?2)L~na1Hc`7Gct6B~bX+TJmYS)SMeRa@Y=ThjqQ z2u{5sxS>V9AltgJBG`vT`SxXlC5L9h84jgWIK(UViKgp#RYYC&KOe-gl$8n$@I z*x(Y`6WT=8xWIn%0FKtmE6meLST7Q`sA*sKX3 z8(?#JePA@tkIx;gYxw_vCT-Hr4sMSBC(tFUtgeME6p;VI&2{?=0fuUr z8VZvLLm4&_8uf<_RV*;1Ft5~(FzZrrk(qD*>*#L@&Pp%KD@s-)s?z03=(zjzeKf@A{rz1Uf*br5j~V}-91SBF8lVzP5u8pm)ZwT^ zfXXqvg+KnsDtL@qJZjG_oNI_)Jp8LpusFaBZ~%xvh(jl);gfRA-USQ*24sWP0A&a> zY}pokqmH?IP(za8^2lifwQTwpo)LS5LvG@)haA)P48kArFWEOOJ@fXU z!_f$YO~L7VSiGe4bJAw>p-?3XLAY`849YK_nOKUbQkqfPRQn7tUKd#cuP?2x0QWXH zoT(eMtcY($JXp~$t(isQf>Y{AP)eZLAKx2Ke+Hv)l1!_qZ+?^T8~7%W`jh8rXdJ_c zDVRp-Sk zif8A=+lt`s?FV3e%_x6O6@Tha3tdmu?Uhx{`CmS534%D-V6(`vne#Cq^_CUtFu&S~ zQuwrIT1K1-vy2cY_Q4zTd;B7U@$_E1wiII-w{yt2tpM?F;-W9#`B!k3Bv{3EuW?tr z8c2z{*JS48>Jf;rr*h|gS$WKmK1O_CahP6L{pPxR41J?!$JXV5cxFl<tyV&|a=|(B7^c)dc zios#-rOt?$jgi;Q#(4Vp3K@GpnfYMw8Y`CW2^9yP2}cu8MfXnITrLSb+;d06PAAge z{g9B6r3VT8TU2%8Y$o1V8EaH3E4 zMF%u8{VRHk6dG3x$?62OZm8#pUDuO z3H2RbuFS`L)dcE361!<38Wvrh81I>5`EjJhFHaF7mpvH-SdK1GP%S$47-n*BO7{QzU_+4lFWYo zszvV0k7)^?H#LnboHmSum^U5i(qlVGYnRc=KWgW-l2n%VmDWop!=^=+$|N}LZgWxL z7Sxa&vy}N{KiVD|ih%iJEEtc_fJ-Ay#V>djsmwabTGwe_-N5?qufpRM2r`8&8MV41 z==*ud2R$JX>wnp>$ud4u0rv6HE{A4{`zaqU{Au0Y8Cf~sNq0+CkF(N*By{$w_KBvQ zdR27xRBvLtyz~ zv4u1AD14D6zayjpjUF`-@Hv*5j_$K+J?dD{y74kP9& zxi7~my{|lVtt{BQRtGFcV_$Rqn^?#_>ff4>WY51tg7kQSno`$S11Y| zD2q@{^+`re{xQUrqdBU-!HzEFIqAQV&@J_`6`b-_;Or%9hAplOWX}sYX%Y?cU*ON! z@H&dVK;gAqIm*7^q_v1RO8SIX34B;;vkq|g5U&2y+??}qREs}I^~Y@cC)hru#AhsY zwiocZ4hIKs*L3ud`WYp={$Ei`l>bAN?EeNf{C99HX+srD6g~W7+$xC%2mzB&^b;gu zPD4*A$|57WtSMOlPz%$yOQq1!|L)Y(;K|fen9M-dPj@SKo?-jNS*H6m_w@Ar=<4D( zS>LBrgK~dn95ynFlAA<5xq|4BDPHbgM;u=&SNB}~RDR#amcBN}FIi4wnJh8KzC+zu zSO>P^6I=eTQTDcW9BfGiU5AlU#*z7^9SWp9?d{-kkhWVWR<(*DkCw^Lly2ymIX!nk zz~a|h=YZA9PV7@wpVmK`OgjlLZ1_lLs0O@-tvzN%M_$}%M8d4Z1a-_^iU68|G0@lh z9eCUz#vN$C~3Nk?WCPC2*9 zojtNF{k85j9e|trRjYM)ir)AK1>Xuh7@?y&qiEoMEtP(`h^w_lcnfU}}sT3udRzoW%gc zgem_o(}+X1Wr^1+*7T(fQT#d&Q6|j>1mZ_mZJU*(PFZ43PpT)f)-}Aqs(~yKzJHg_ zDoAI@W*6bAkqVTuB6z?MNnY=<#|4&PWY^n!NqP<-W5`!3ve~>KKb0>YW3=k^a315O zdIu=mNS_jQh=G;_NoLZd=bM;8 z+8g^B^of}g{_NEM-wVzEUpo&t{<|luPAYDE!tj#ToMey@AmzLkF_j%v3@kL3Dzkpd z$Uss9b(*Up2{IyM;9^O7t7P)!n7|Oii2oFSdU^*j&-zVexXkwCcD-cjK`7Y93=9VA z;L6uG92)-~hzijN--n4m)6JGfZc)rLaunHjIw3339oa(*7xQLFdgcw!P|TlsRjy#e z?8Tk#4QOBF3e4k3J!OThONjK8@BD31uX`rJrY^vN`x4TWJ2%>mhd?C;^YzS`S>dak zt`s1oi)d7=jq($EH~72S+pTDv9pxra(VmOr%<`Yr7iRJBg#^MAU~|bAJ?h>%Sa~sz zeR5RM7ohB(-M_snx^gx0dTpdi@nyLyqWZpU2zB<0fAGC5&=pADA7D$W4DQ0*S~a|6qbRJF@DP*r4Ws@RV2X zu7?=lSTk3fH2-h#X=IX_c8{oxX?+(L@cE=RkAsBSGe+LD>Q8 z>_V(vQ@a&@4^?M_p-9leHBI?yX z&gjfjb)a09*6j2tQpVD~L!KR%tqbl)YG5!J!lPH(O3UfUHTpOW0 zxwOBYQ7q@@QN=WLm|MtlO4U6@(GtvCIp*MREEP|f!vCrjCDz+J+RcBZnd1F6U%kNB zO8;jh@wm5uJ#cVqp$F5vAf72YN=K6K0JBLJJ?exqj@k~+L3`wD;!>@2+ zRca;{zkI+7u?TjO7Mjj1D9F+&HONAHrkM~iB?!r}Am|vK`?|Y6kGTl%x-cls{GP*5 z1wTL{3%NVW2q|+F`Bh4yn`PReA%4^%U$XdBF*606>Zo$-ZvqzDW&=qr^plyd$GX98 zC(l3eNtzr&e6W;rUE^-^T*tB1^y?s+p;}tYjTBYe!oJgg4M;qi-CruR80r$(=DhAT zek%p?D*@dO^r5Rnsc`qPq06E!Um;Dq_9GRc4e}SY#%nb=o*`!OPq3laOLUNqP67NG zQ4-X@HC2*ihSw<(XzjFY2ReUL7cu6_HOduF11lKL6l)`?^{^UN3V#%HYGNzl{@$Ze zd{(9a;VjQJ^59xX#S+~Tm!j+=cL}3lQi_>Cp^*+UxiN;b46YBJ5pJ_ys`Ju#o>dYZ z=S}odE#Mdo88*hRMoX(Ey9zC=Tc0v~6?-#afa&VmGCh17RxL|Oci#Mm5-pQ$)KlJI z#qPk~!@OeA00YOE3-tJrOYgb&W715O)Pj=$_+5(+7LK;hMcqc z#_(yncruPMl(C8>dI#e&VhlzeNR!I`vUWUNsjejlvZ>c4^!rJsq-2Knhq4bYT#Baa z=Sti!5JqCv1j>9lP2SE74`$*7<#VL%nVgP~Vn`Q(bkJ9g7sVaQlRRjI8|WLDF+hAX zEnM%!V@?7Cc${8j3lQi*^zmEPy!(;I+2DhZ-@St zdrdSQ#bUo-c-88D)KYf(7FIDbUx?#18uTH3YRs@pl?t-A0`*#OIym;q@yz6Xrphb1 zsm3QCxX$=jDRqd;M0axVGkO?)iMThMyx|Jq#x9|nz&jeAyt?*-$W+q zFLzBr$Z0^GzsBB?HkhIROt50gnn%U{AUw`x!Q6lE0WvoEYL~#k&`@=-{fM|vZ}gvg z>tf3_WS!hcVc+ggS~x8uHie&~^I8&)11pj@Rt$4QYdJGxmXgrv{vZ}SBN05a6C6p9 z{(5orj@8a7ie$Ut>|1Vi&ao<2%(`vF?E%h)I0|1#wDUoKS{}jwGO94t%w02KJ=!A|%M}Ue zTIh0P?NdHW?5BmeikERl)vR7bwHMT-^*q7;DHMPwdx3!%Cu>PY+Wgd{)sa+iPvW1m zO8@UX{Qqq${NHB;gEMmCGUU^9Fpr=7o-h#czB}6T$UdjV{(YvA>V>A-2}*DnavX0O z)ts|WOB}yH0DPf|zyaA>e3`Cna=w*XcfoRq%hKVrKP~faEb``XS+2x^QA9ZYJEiF- z@J936L2G;PPkM63NgKL38qAZA~GI7BzLQCtba~ zCJ$@7%5LCieb*}ncGDJ=k;!iKKbK(LJqi`^mFY2xyNfZTtADlw_#6@3w`geAf{yyE zaXTZL(-kJplptnqh{Qi~xmOBd~gg4gIAuNzyeEFOY0 z8_cs#i(XxJ$4~85tSnb&cxj_Rkw7a=eQTJZx6$zNsd%Kx*>ykjyPNhX4`A)+f&o2a zUz$r$^%Pse99%Sy=M&^(7DEsn*eAD7>uJL>m3i0TU3mWr%RXnyh&y1jh-Lrk%iqDV z{O$;Ah6i0O8L#-nRcT4T-`fP4KH+pbNp*ITRyw_9zTv#dS2T9ku#1)V3uSvqXB+89 zC89zh6P=S^tv3c%<$S~%w@eum_eHks&=i|tbzwQZ#YjJue0g@8Is=z+GDv8A74*^u zrUVFPoV9KZ)E(-qiP{ZI!o*4}mWYdoCvufj6_VkiRvdzB?Lwq#MoANN-6YOr_j7b2 zye(G>w!aj3FjRFHj)z1P|gh^V6pYsBy7o$16GjaZ&( z_|`rg1bQREEepP;eti3a_hI1W+Z3yjX_I}MVdcu4N8ZLxQ=EAw!B4vL{nj(mt5#!k z%;PHyhcs12`CpoXpR{;8doo3eKCBo3Sqm$=Tn3vudH$tY;!nJm`glX{{T~^_F*!_i z1<~=o2D!zU5cPxQ2GP-9-#ZNp(*xnyRGeBteId^Ae6G7j%HgxeH=f;wS4$zj*Ii77 zTS;Uyi7l+9n?~F_5KC#g<)eC^L_8l#UE1X=pIV@}>5q79l4;SSTXWSg&V-plK_)2E z+ue!b5$s!w(rjgP_PmU`4`%!9x$_6aeyiOzETg<@N`-UQ353@-^JQkjUbBa4Jzm?| z_w`&&AOFQ&N84;#Wcaz%AcOb6&CdQOh8+bHSF<1g$5D^fvT;>k#(96}wsgj#MMwgY zvH?MC6bJ}h8l>~+UVtD8QBzND-lQyZV-74!S}@akYHO4(qg~A|QV4Tlxw5S4uw08q zRg2PJ-S;0_FJ&T~&s9}#^DR*eJ+nO-1aw%bB1fBd>pSlc!ai3nMO1k$8E6|3IkgQJ&)S73O&{GGT}?)7f^H?p*WBp6Rb zCHX6Y3?I!*tc9<1)9GAvTb|poWKYULRHU!ky=BE-qM3`rQ@^O}yH5t>g_+n+voUB{ zeXgU3>JSHY&}JfY^JH9fzZ)hUb)zw|Uk(9sQ@^WbCXv3XuduY=bTW}83`kmSgN`gY zJl11*x7sBf<4-D*6MkYG*&~cb5WyYX43y8Ovt>T=x@X8&A=C~?__|Wd)?ZwbgO|#M zgbC#_e$pXQH6+Y0xgR{JP~q~xyR@FKqMgO62=T0~2^Z6qYT{P_?Y2yZVb#O|b;2B` z!_Qs&$QJ|)NqYa()61;zSZ^GQN|wt;2gPrO!^?%o^j9QI6Vw?CD&3_<*TBM))1_gAPfd8PaW|ru7uAGEv2ou4s!P8OCeEW9aJT?wB&myi!KL%fQ zGHpt&fwj>qM09h5`zX*{j=jzkHZ~oHVrCtc`;P|K>Q>4=m1~9yWm1u!Y)PszEz#Zl z7as8|Tr=v*h*%SGQ!l@Z=A6G$aIk9>ix{;>U!!D`|ES2B@Cf{Vd_sQ8rknvu@X(m{ zfrc&Bl_uB*`%HMZ6N{B$&*!LA#O`9I%82q-4x6}IBnkF1PvO1Hb>y0gc_c6g$LvrL zD`uG$lV>`(zb>@pHQ$YM!-ZUnlw`WaH>trBi4UA@!Z5Xp^mKpsQ{n|BZbL4GWZ>r*?7B7DSH*cNb19q)G|2 zhreG|v@*-it@t2NbL3J&Id9&X{po}^7(Wg7HFrpBi0oQ=W=6X{C5QQ!PUw`LR4D2} zR(Ga|Gq(g=`JTJumGI^)X$}Pz!aK5<<&Hm9_C!;M%^B4FaitoLRhfG8*NTC=KVE0G zUIfWmJZ`AXf2k@|Fw#3GCT>?vYYkQYD!OKPDU^SR5m-siT6dt`sdr8_(&6NBO!C`m z&ckpTqL7e~bWJ1b_5b1;YGf$OKH9vT>?OCTg6J4zsy+Lv<{*vLr>J>{G#!m8YkZj^ zGg8S~#u{Lk7*W7b+U^)lUd3fF1ovPN`2?UvY8)bpb z%3IXFV%7OC*^P=nu`61p9UJ{%x+cuD7TZQm3f6F?;T>{uTt)e zY2nLYX!%E39QIe4CYfo3aJGfE%6dIzZ_N5q!KJ*JeIwi3@ASBBt8yi_vj!&h0K(-w zsf)1O*_qqTHG)YSI-}&&`_+u3P${?aM89s$b)e0%+O?(#3|$V2hK7={;*sxUI^i{k zc+X(|CzyNYX46Jab_^hwRMR@v$v6GrI6H#*>pYHUB=OEYL|Bp_lAE_!iCGZiYe&R` zRIWt*__71yA|(s-;NFivN%ZB|p~vi3lt&Nx5|Xpj4Dyw<%G0+B|DS<}FeeIDS1? z+MBvUVP3Ju;l$Zd8HFuT;?SPaHJ(`?n!O>g-O)Br4ECch`mMtILIL|{ckIV!bbO&A zcaU#k;^%dq$N`hLxAVDL{vUsP5%b-GXWOTAKx`}mdL^6J=yY)}>Z z-O}mRt=h27S2Gyv*;~`Z$CP-c=mc>S85x~YOU=w9qkv5_Y#o!`Dk{J8O81p98A~b4 zxagcyk0jz4Limf-6G~Kna1qIu6Hoq7#LYN=p%V{Zw#Mn6spE~FSUhLs-!H9JR*U&| zr44!1oR`qwi0HS>XH85%d4~_hMTXN1arc8FSUu!dGd@KpY^-_~j`6$d1hI1u4x4A*&FRPSasbt0}FgFXa zUW}qvia+L~y0s|##1%}4=-76K^QV24Cv`h291>oaDo2&|@l=IsZLofvpu()hX7>ED za&Wq7*NiM*?Au)#JFVocwNorUO^?bMr{rrit4i9W-|*@_kbrYOf5yXGhPWf!a=MZhx@P z5ywV0H`S=OaL20!-w9@D=XiQa1yq0r^d(shfvqlMSG(|CIRBcl7|V%lPI%rKS3~TY zk-DtV9_9`2=Y{c?CIjYOHx>Lm0|z~mpKtgG_+&#oGs4*vF?_$h+#pEac;vp&{kkTL zO3Je@<4?}Fey1`N{~T)ID&j8lVb4laT+wPueXOuZR1??-%RcCHB@>4xCattbG&p{( z{@vo6WzFL8;#)YX03L3OZWioYb6y_$@wD0rU8?eGKpM=d+7T;JAnuc1^8X&R-kcP| z+t8V5DT=*Qa5l$46tU2nv!tgjq}f(#NF7^IS9KvMu_u0JH3FAZhktz0VfRncaF?4- zPnKyLY-ITa1gikiIF1skomDdxi&Ue9_H2Ch()+7w7S2$Yoh%F!vf|?{Av+d<_7>d` zepF;2A+)(QjUe0G<9R3n6CtiMjnnR*Da5%(>mwnlX8Iy$PXix+E-MeT-hZj!SLXG% zY;EeNAqf0iDO2-hW6cLCn(_4fl=F^^ekZ8?Q&*Te^F5{InJdLRI_kc+#Bd@^KVsPA zyUyL9J3*MeuMdxdH&Ews_y1)g*Tul%$NTiKb8-JS51Z z@688%LmXdbKa_Uc-;e#zx?In2KcZtkNcXysE90vOC)NBT{ zo(&0KeRd{8K6ZU@cB@{OW_LxNEAsjSZq=#=0v>t{cdPvB2z_I({=t6yQu0H1ugZId z@~z2xChp!)dZRnE8hupVt-VSKrt_@>d_DD%y~f;;4@`T`MasPuLfgDkGYWa}w?^?? zS9*gY1sf80jyyK*>g-Ggrac)#7+(4i1#5u~aXe>~Y5=o7rxV2on~f$imtcfLOOTN` z2P=}Zx6F}N$USrhjI*c=ZZA%vB>1YZFT9vY^-+PG_h2?WWD3BKb?5RFI5Uo2kRyp|MwrJ!?*|tHD}mShTb^l`Ly2*E zjr=ldGN~(pwkRB^=9FWipZ0WyjLGG7zs(48Yz*ygq&0c0!pC?BA@{x zUN`W2>n;xDj|mvCP2|J5T%;k*z-FV4I`kMn?QagPF=ofOzF zaN{BOP@;nENU{G|x+e`#$UXZF$RZByyH63zn{j?bG8)2)GFSIYf5cQ(&5vju_-KhY z)rLoaV4E%lG z2nL?MoMa1cFOAASgDJ>5`C|JN9N<;q8mYW_>&f8~;VPg8m_@l|$k1a{2Ik34Cfzx~ z(a8SHA#|44hsd?x=VqJQGq>O>Au4Gi@FsFlFnKK6P_I}3FJQPafy*)@I)SO_#f&jMJfP z+d^Xsv)=qz!^0GT)QdG_MEG6Yvav&OXh`P^bFDuTjQ6N6I`aM91dvU6I%GS?gAiW*@@u93{Ur=tU^hZ=Z5M?5 zK2$m^Qo#`JV6omBa&Utag}}=oFYx`7juP<(9(}VBevQ)D!w;1kD)#>Gr7|h~T8nb3 z%}Zc@+zKfK2SzcBImehQ$P5@KsR8`sZuaeTBz+;);qQp!LM-c9Eo22uko&om*~vBm zV4{YoZ^MsoEP>p!&prlr3tyZazmr8k0#k?_fqS1UM&JxCc$*|Y2lgc--y2F@4%Y4~ zv|q~JTCDYysKy^-;889h2r|P56$b{|4kGFeH73ymcv>VRc*kx$HTriZLO3UYVoZ|W z{p0}#-whAg#=3^_EAmW-3onWY#SaCxmm8mdHDB02O!FOwc5PjjTn(rznxD7Yy5}Pg zWGi-m{LkkRPO}($b~+L`A4_;Hj0gzV;uTPP>=W&UDmaR8I~WvmD)7|*frDqUI|I{! zeu#*Uzrqr=7)J8KGx2mmCe{d8z@&ep2?3S{5<_!91EOrl`N`7)^B3xygLT zPCMAu2MPA0#}Cz=0@<2jqUulF7&O|78kj;w%@r=6Y;H&Fe zibQvls(;ltJs6`~Q@2ZP)u(isD7g=T{)P*je^_RPl=q4}!$M_^{vK+~mozCWND{nbg;r8oaNHMz> z@f}Y?1gQvLwJ8VFKRkK9JUQ|miT|CBVC5$}Sb4nzvcPnp0B9v-PeeQA*-cr)5E`&M zJx^WHm*y8DfcY`0g?3DgkU>YfusKc0mkS)O_5T?RdZ^1GtF-tK+G_9WZMf-^ku;SFAW z-qzdo^Sko8j`h8Ay^i&}g1z?d^W6#Yw%g5m*~Z!p@x4;GX7;`Mq&oJyLcSj8^`Hc!@A!~(4?NC5?o2#xLpt2| zAPq!3Z~xmJ@^!!fuk?EGgL!&AFu|?8j}Tz@US2$3pB*0rU$`AX6kq9`E?8f>9YHi- z%bhM%U%Z_zGGDD7A4p%`ofjeSW$z;~n6%g93)pd|i^wt~ygUzK;d;9uExd~jbs zpO5(pzvF}PDznoC_e#Ix1K<7oF*Stj!sl*4&-aSuTDJF*9&Enj1MM4iWdOT<<`V#s zcjj{ytaR5?vb*T#fZ&;RWdP+LbM*%Ms=XtK=No<{1TDPy_$dkZ*uyy>=zHa{+vIy? z?HCTvj-6th4#r*ZAWrrU>7UXYN=Om~me;}DuPZ+Kg-Z(hk(q4W+wQQ!UEO}39)ta9 zz&E{*j9`S`hY&#HTO45p0gn>N}R&|G0K6!91@* z;RdtUZz%n<_d=m5iEQgSydT-#`MpK&?Dh4Z-r4$FoZk3)*Jn9;o?*PSK^z^#JGU>s$tCcR z%zm(kf}j*-+xqTQQ9Ty%de`53pYsB8`*viCAq%$H)EcOur+Qx`bmZH~c&H$s##aVV zRY5&lw!4{aRvRWxF#3QP01~$s7AL~QjCl~fZ*cD!Cr*bqJJEiLnHoN8<}CWK;4 znG%p3Maich>IM2LBTP-EO8A)|z62%*eWtMFFm>1pWL5rRXBiw21NooN#9zgZT^AnR zK*%y_4am|G@2CsUYakRqwjO5Fq6+UIWS?3Nxt?d!#2pAvkAP$H#jyyapd=UlcgPmZ z8XDGszMK>iRF5v%4LC61C7!>`L;oRJJtG@<5B=%(vtEX`C2Q5UsE9YbC_gqFsC3oa zsLZNl=ts;fV-)9Ji=YjDsLpRgM2i1X0P(eNLPZV@+JX4cw;&@c14yYEqG3Sg;kcrO z`|U)S8dGHCPS>4in9EnDGU~f%Vugs__?Rg>MWFH#(uiTmKe95!>$%|)G`CFDl^4ep zDg}M;k>UfBpz;`_uwj!EHyPsocR(b=g@Oz*@lLqJzkjII46P-g@`*HYUC7f}(00f@ zp3If_GsJ=s#T&{(1V}je-b02g#P>h*j)34-q(e1OK!`8wUi%^Q}h`FQ)7AdQ`db3Sg8AigNdW=K@X!$6NH2?K`SE`tcxT^ zA=&^Sr7rI$M?sL|8UqFsB2AEs4#47o^7n(kQq%v=N5ot*t*4--FV82${5};d46-I) z7CS?-qLLvJKZC14RTU~$ApaM^1+h>H;tAnGUpNB6impQ~q=I0@385+=7c@bH6ewX_ z$O|i=)}UtQ;tO&+G%Gk6L9um&g&B~0P%~rk7WoCL6`ITtMQk7!<^sKpkJviW!Zzq3 zh>LKc7xWOq1-qavb3o25N{D6^AOi=?gs`G4hNd6^oEpnS00poYOhBj+u7F}H3KEzK zf`xgIF1bQ57r_FyObw`1EECpBpqNKy6exhZfGopF(IS2p$c41v1QMW_4qt+?LM=X^ z$bmq>HDtrXv~Afnm#NnbR-+gYMpBFbM6>Z>VcKTy+RD_!hPY4+*dxtE0FXG_(f?Cv zDpSuAEKe~&iog;9kY{Sg#N;w@n|4FhDcwUc62@9s*;)E9+h zQ4AC!*@po(c-l!YtM_&lW$Nofo2}Rq}x&)OUDlKoyHNEW(3HJ=8)TMGxF5D`-37 z9mebZ3#J@SZmfbezYt?ufi~QWRn(KlRtnV$~qzob?b2HgIj*8>1wYKUp<#b9sC$H<|b#lN;pD#{b9I6Eb zq$$pNv^llrZ!PKh6pTJ(kr4;`OrfR{KYJwmZHMP?-7@Ig#JJ*mS~lPt z!@J=X0+-Th$gc$!-{s*C#!rthNSXw`yMIFw;oSM^{T&Qrx91Y!5#H9UFp_t%x`5jY z<8NXs|AHNyGOfT_8meHdxazveU%~9X;J+uW;6RGCon=S5>MeFRoZ4D1^r=%y5w1$> z+m<>L_j~b4hSfHi)6%{9VDF`+xvlM+)c~_6c$hzDbiYh>FK@;+D@c&G^_xw`JUdDN zPhpeA^Ecr@5fOquQp4P(1%EMcC`zVuIE)aDZ`ILWl7PU_2re#8-W*Rwicu^XYBVUI zO-auZyz7p;nckX_^eN_9?=@@XGW2&3`oYTP;yj(l?6Uf_=_Yhr&@xx6r*>-Btv=xvJM4_lU_ZUM)twY>rF6lfqN*A% z{mJH;>m2z^G;6CNW~w3DB_~@OMlzn*Ix=D88iFfc6ZrA%G`F(5oClMf> zV*I+tV$3y$-DqpWo=5Y+a$zE(h@GO3G~954i=|tun`;CA3_?}3L#R;(e?$p)soToo zDO3D)MRgUE-Z*$==C`lz+*fBsADfM(IK}M%;9qu=j++`?L4mT2%8XAPtMcd3shn>W z#a^2YOXd-`Nu$lKyYVBT4s#2?zYcPZ%o~_+EAo)JD-$7#V6BL2yPGVY+D7N{Np2aN zZY4AoB45^P7&nTw^&VYHTwdvE`|9xcMW znZF+Dv-{O`iRCxGO=99!SgN3OeXw%!Ynt0%rb4b|X{o@j)V~^0wKd|m(fvW@7Y)5i zT?Y~Q474wigk45+!QTRue!pvJJG2sjod~>IJK(}#dIthd3!Dxf4l2>ST@lnwOU{!0 z^%49xetSp~6Vq4+e|gzcoj%}mmy z#j6we>${KjMDl!4E=j?wC!1VG!EAg=Az4*|DvHAwPJyzRaK^~{FiSXQ5ltrlYOO@| zMTC>OsOusV`IZRXj-IMN669Q=nbPsrxpO$JEHSZ1xgli{u}wOu3W~f7XPMuIc!*M8 zmTHewNDOR;MET5f)|e)lSHJoWj?EV#QJf6vAfj*;ywFm=kEyP;$?C?_{fVv!2W*FqkeXYw-v*u#&Qghnjq_MZ@{K--}3%__)(n9 z^U7+GZKOoR!g}eA^VhW@zdk{;dNFPyy31wR`^DbNDeczwfJsAq>i%ScsJhSLXmwGR zVRiM2L&#s4(-|Bpl!b;bY=0#r9#6mfk%@}W?ro~Qp(gnKTM)DsY=JS5>DR|-RQ!DG z^)VFuh>XmE2w`!N^fbE|UVznpt`9E>8=;6E`%${%@TRq*)<#UtNbA%(0b-Y(u8;g` z_RKX7?_V#sw39y0!Fl5<1OpSBtX7wk&wWXp_itm+Qt^2|ukZtai(nzNbbKMdx>9zN zW!zW8a2Z!#Lz;7lMKPpuZZ6T=EHvF?3%R+U*QtAsL{Al1^R0uoB#RiD*hu`Zef@`1 zsdEnJ%XbT#I!CuhzeKJ@dM&?CHq;<9CEE-CEP$cFccPEw8q}tWVISn9is2muP!WG8 z1xV{Jm@~EzAqdwO>u6@$6(=+-nUqv$HqH_`)D7CCnO_k(?0o*fi@^>T4lzwyqrck- zE%Uxoq<+^u)n@#CTmU0?)`4L5=Z@=V(NX>~jY{tS$bL{kEPj zis{38n+2;{9BC4`^c3Y8bR8z26Wn2mgcS++J0ecTIJxtf(wYO&9jTU%ST z@YXrFl1!_aCVX4%^q7yA%PTEo7|}eM zB&m}WT2%G($(8BoTr+~%R9Zy~frAu@@IypnX*uNw`*WR}+wyX?gWYzhu=hRfh>cnq zC;-${v*|5AuY~8hG;f4IDs5!CWy+0raDFm+_#sInoyM%{60yEttfW(F&HZk+c^X59 zho^pcre1C^tl0hZ>kEuEg}Za%$7rtNy05=}29KOE!#LmVnLnb0y3C)EnS8k|Sjk2y z1o{<|%BioP6ez(rIV1&`=le27I6|#!GSP^IW8lAA2iv5uORz8j%ErV;{|{?l6%|*| zb(w_V?(XjH?hYZi1b3IpN?dAaA* zu6?SiZ}(cg&OW#53h)q;xF7zkT`5X^{zz%Mo%PYR;67u(qI8@1n`bNTdc(29h@ac? zOi&QQkDvBu8;PNU^UuWc{pEXxbo?TJw}0i8FN)kym*1E*<1ZLi+=N5X%IiCsysb`& z*LHM-v;Op34NJyK$?H)gny2Yy`G%Ia{XA_}__gu9BEiJ(K<8I0b>~-VJ>6@nGZ+m5 zI@hxYH&akFl^ahV@%iO=VsS&W@M!SPW6e;Q3c0Imq(t=|_86J3p5uHjsZ8{{M}8l) z7leJPEBtl6vY8%r(_qt8_cE*gKVPEdY{bqJt**|5?Y+mQo2q?dZ0ybqikrTtuCuuc zWPYEk%$E>v4}1E+G&gU7RED}J+T+_SM7AyI?ivB52(xp2e}!+L;Ar6Rr2QCftGioe z{+n;YwVFY( zM{~UDK|Nqi52O)}>PNhh7(b=~R3(K0rll%jP z^i|o}*MZ0fa_MKXM3H7#-gx5(G(NKCZ$vQ<$kK0Rz9RHcA0VdhMoS=jvyN}ma7UXV z-Y|@>(-^|*JU3|LeCfBcR7j$P2m0x|QIDtxxalC8)hIIzZ=!Klc+qqRDG=j;F5N-) z>)Sxw1FH0RnVjfpLy?TwR55|s<`FpJ_BNq%+mXrJNw}PfAqMf-?S{|O32dDpzgUb^S zGC|afjw;kL8^myx;sW{9BYjlnFAh9UrGpEY5zAOk>?)LSePSj`fB-HC z#L51QX&04HbHtVnio~N&sz2)JLpJN!ns`CvKHv*$wi=KX6^+ zdmgM2UE;_LLUQ39_Q zf21?X^&%}sriUS%(x?o^!q5KMl@)utctuNzc50#$FWZZ?2u}a{PX{5Vp+r4ZQc;%e zMSag-Sx8HXc}k?hneHAdfV$|G&LrPU371CvWt?L_GFR56AIZWM5~<45bRrq&=yse% z-gF{axK#2X-Cm}bd{IN?UdB284jF!*E@R=cNoaa%^hfDREtMp=dUE%wl1l|!t^nbb zR%J{+h-48pohnvA{}%~Eef=1%j=m&ZKKrSvqNlGdTV5YT1{b6F(`)NX{!u946u35~ z|Lql=q6nvO|D%w?DeQ2H`9BI7oU%$QtN$lF=I!nH3qFI9`ZIaDrNkc(xhT%VK}6J` znQ(GE490L&hFZ}VN)?_TkN&iw$WE-4+37iO@#QX8J}UOOIieknXj$oHX?*%G&(9DN z-{)ZPE-d_YAoT%4`e4)}=7D^An#?m+TkN3S%I?Tj=`ZZKcG5~^8qAnG2bDtkza)z^ zgW-zFCV+}ktLk^k~2brFGVbq`(hUYj~ zA;cqLkaIxckrL_;%1z|Px8NF(dz^z@CA=s;hC;DNUf7<6q1Yg4yq7-M7^L*mi~M6L zYiQ&ux?;nGq)FXxoFD%cQusKKrX!X+z z-E#xX1bX@D`!TIQ2p^&f#e=?wW_2@PCe?rtpveIS{Tlsd{c;k_CB)4H&3L;qA@Wdj z$PdW3iktY?^5*pB>^p`b^w1R0L&9ppYLW-tjzvfWtQu07fK9M#7LpDlf|w>^6H(Lc z&1xyPfo^(Yw&;WCX^d()^k@Vnh46zmLELIBxD1^E8 zsgy;^@R0$U3DU-u)_)X$E`jE7q;(%Tpa9SuuC(E!1oRffjWhV}kq(*!;>I1+d*p*o zftqm!-#@ZJ8$ivtFDWn&P&o5*Fw_Oqj6Z1phy*1EdEgBiKN3MrK_2*nA0Dxw;-KS% zIbsW%fp;Mpun!Rbq+R-FWN0wx3V+Zdq!oq$!A_KBcy58wL(&qZnV!30_z>+xX~ySv z7(Zk#QJVR=ABGO$P8?)-ZiBHy{vSV^RoIo&H4LR@G0DK;YFDH@5>jem+&FfJ-nEkJ)G`O!=`%GMB*hGPav(0@nLIbn}c)fn(6Vwq+&GsVsCNj1~Ru_97&H=Dz)eD3OUa6u%#Ngfyv znoU*OacTtsGW?Ct&z%ppiNyQJ1JgjWp7d!(=g9&$wV>G&r5%@6Kv%}S@p-b)%|KG| z6T>d?ipwH3-r`x&j9h_F2=kTeo}QSmRyMy#mY=84M=P%A& zFWoOOyt}+QJ?}j`KaPn+Z_5|aUJ}#{7azJFmOuo0iAChMU5czOIcHZcw`YYeD`q>x z6!TSBpJyRb}M*Q7G#Dd&cfe^0pGWbq%(+y0!` zo41wnvREo({4?UC8K09QpefR>a5ANki^56x7k42XMHBTY>co)Ngsj{=hN&-tNgHj! zj4kE~g-epa(>V=iR=hMWKucToDU^zeF5#`SmLLcUj zcfAAjpi8x$qD1UZyS7MZ7EG(7H4_z5U>|F}mVRwUKCBrrRv7%CwDq!s?Hg&1v~mcVh<7;XNRzp24uV15nO zhO2G|e5uu~rjmVg85rKu(z3^vI;sUBFif_~D_kCC;?pIT5=;p`OAR$H0j6Tv_w%dwFm9`IiPdRFr-J?xvv<(U^ zXt}8V$;H)?@WAZT6_oVA1je2&tOaz3Gd^}iy1WgS52y-MY1*Skd2!w8Yu*#o8!#=5 zcV#H<#{^Rb|IQ1sCIB1P0ex zVAjAnl7QO1W7I*XJ*%kQH)dkG;L&9<;xUSc60Jy z$LufNJB)GjC!x>#t~02ODPeH!A2TR?Ei&AI^5VExjq(-y)oO0xJr#F%lxKG2J+TI$ zGEAA@k%A^~qdv^=_8c|po=#$82p=(xJ_IX>hO-C34x_aULuzs>EZy?==i#O!eJmo0 z>}!lATWnknPN6mDR(ZswamtYXNNjwKLm?Q!ZDu^WROU7F(Ix%cm*{Ka0I#s;4B%in z;qj~Hw_$oQ*jCgOZFPY`KDHASsOm>7x91h~Eu?!3NUjMoA%TYs2wI6l6R&FW9JEr0 z3?g)AigoEc$%amkW>-*L5dxBXe4O7>q0bW?wxblGwroc%(YGM%afCQwIhw|l&$Elq zG>s|jxkh~8IbeGCnwosr=M}ZbjvnfODug&d-GU=|JBUVYS4^T!N&HtDpl;A}U zBEW(XO2{Ht-?SruoNxmqWzKSos3L{m^s8F#h|wWDbA(6Ga}9oZ#hB44dR}E;0Usc z*}?wUs>q!nIhp^qw$e>}xs(wMo}JPM?I^0kj(fs1V`mjp4SIcibg}2Q z%4oBqzK-W=IkpWbCic>0yZ!{5Ryqa-5uSK_FKG19d7|0-8L!cFO6p5G`=i(m>-dsOZX}7HQ#(Qc0ofWXAlosb{L3x)}M%#WN*JyBlFT0{Dsny zB_)5?Q%zNt^S&UyiW^NZBPaLMfOUJK6K;FkdqKsH{EakEA04-9N7SmEisfn|J%>ba z#xk;G1Apn?^lRxL14pS}tl)5RqXFxm(lLYQ##Mpbb1UnPE^4#o%DNkyT@D>b-vVRc zIqq!vy(l}OQsc~1}V2)=v!j$oyFr%xRwrJ8b4Nx9~!(qX}bxL|`$eU=X z@pt=a^r*4Ml|le9oTqW6)IISJf57iVYAgZ?G~M6X{==6RRZ86~MUzgMQKh$+my9(4 z`c-bhxq!T|*y{$Q96;VPJy;k%GVcsg#&fqSFZMoXwe)MM?jd0$E`MGXoUST5f8H-M z#OEu^OCK=&m?eN)oNyqX?A*q(C+Ri056{Zb4G}_)70;9q2OLQ0vrOehJmf;+7#Sie z-vUL%lB~&P^^vsTMCVR#dlMrNSzi}K{&#;rXwL>%N@BEQ9cLn8Go=Q%cG<0Vj2^t- z+a{Cw{HIK(TN?Q~8xJ_`jSNUl4Q`0|k#RdOG~v7pPMgibe$cdWj1E)Jhlr^U(=G4# z48Bc%n4Z_3Sj%Db=e-rPGG*~5=65wV?)<_TF=a8`hG^$jHx9Q5b{EI+_M*%9#$4`T z-ga)wQ^=pBbp%vuTgyL5#$jPAVFQmK4ryr@(?qy6Ra@yKfa64JD}KWNWr_ab=!`Dt ziqF-@^ZRdvYdC+LIoDHDJ7~Yz!sBfR7_H0d>R6k9W{RrYC($D8)`;%mc zj9+3aK0qpzLPeMCz#zpEcF`_c32dlxX`aV5_TgG!oI@3Lmq>7Y5GQK z^3T?wz!;YKNQEp-hKI-%;?pB$0?on zSfkSDLfRuu5do%$jWZ(p*8)I(ObJaMY5rBaz0;_5RG(b3Zq4h%m}bDtEeUuPzl*kE zJZ0K&IAzw*SllsAV_&Ucl$<1>de17Ri`TPn4*^A+$1{FU3kblJQ0I}C{vjmcQ)EeY z`i(yTinNzun15BwXm0Ob%1M%{IiOAHF8w;-z~ty*8NbVFP&A5^@Du=uOe3B?(JOVp z42iPr+>r7kNHUua(G=V(FhQ6j)HpP@q32>ot#){4Q+%F@xKvhGbp|O)K+gc=Hy_p- znp$5<>+{HOb{IGnGr^32ou1mn(|I47yk=6C@|(Y92b`mnus&Lh7@A0UOWcNvwyyaH zCzWy*wRQ|#89h>f)e~MeA;)Mhp95;ENq+KSIfhj@M0(tD2fzFQk{a&RZbCBf3!3+@ zRzhu{ZbAZ|jfr}=R$J9bHcoTBv;3Y2OWXD-Jy5VvyhyXzTWeC`C!sJ4EF5s){`sxyU;JxMt2)1ipWim zg^JBd@498Osg3XcqA0Q&hPf_~(-CxfG4@xP6jiK^2XM^^z@DMZLwEx$z}EH3f0u#4`|7BPYcLq!JN|Sy(ePIujWD>r9Mzj2pGq^G zUkL$!N+VWUdF{?JmZ?Y@UvTM&X#jVoa5IDmf0sqgkr$d$o=k+l!=mQI3r=CEpjCAV zWa-b4C}}B{(+!}XaQYp$vX{}88&DNXIpWc#k|Ifx;+a0+p3V&{Q{@hj2N4Txx z9Vg)gup`)3DJNC}q{I+zv-F^NI(dDp$Qt#o`xQ#C{fWE8lEml~~sUNhIg65Is z9l<7;I1wYPCfZ=)+@6T)Q7JN!+tx}MEByW<#tr@|gA@YJp{$NPf*q9wW;wcyYFvU{ z6)z3#P`h2T*Qo?!lgrL7WNg3;NKw#F;@bd4k@xc=f!I%ixgLr16jW~VbIDmuL*Nv~ zkeW!sz3UUjfREvS1wgo1X}GWFa&qY?K!3CoJy~8RcqKtGA|V?Z1I6Mfpg)AX>2D6bw8NL(4QJ}?|;`O&IOBV$8QQY|+j86W4fKS33(}_f{ zx988pxJU-c^k0;TEkAR0$?8%ZpxEPg)xVcbjp!gXV%GeRHFL5=6n(Q|Z|S1@pZ3~@ zUOK&{8xl5&5xo5z_}_TH8+lVX#cSo5A%ntl3epwrQH)Eb@eHdcTh}L+(f?^j{*P9X z1&(`6eW5GwPPC>V4f>jI&;K4CQ?{DjTKtYT6+_$#iMGMf+gLUggPp}Do)%G*FBi9S z8@|A4{g`kY_yYOvaQXbS-oXi(S&a6e&l!js)pNN zIsa{AwPt<@fpk(i#0`jeGbp6>tWr7f3EIZ{rZ627_bH4wu#FpV2#?3x;@Udn2#)?^ z(OIW6?1(2f2FiJqb3z$i)OFxN4{AhTwZ0Cprux{f8@6>ev&?2Z<+M=l!_OPHA!Y;E zeHBqAo$8;?=>byMaoqBe7wYC!Bv%;;&9Yg=icYRgPr33N!Vw{(d`dlnBNiKWZotwe znokxlW$Squ0{gVi?^j@Ej7A=1QuQi~6}EUwc$8yP&NtUfgS?6&dY_()2Q=?2z*X+1 zP$iAB=u%!@iw68V_103&+EhS56rG%-4H?)OK@y$JuP_eN$@C&6JYaD+X?`SII&jUZ zC=v}hWMXoxpg26AKNL1K(@FJK(wX$=>Mo}^^v5gp2seTwLVY)V=TC{=Sw4SzB}()R z;bCmw9$zQ1PwLE;bBC{lwZPdN4>!aYPiWo>PCJL!dp_R^(BL3OoBn+2&s{y7qgqQu zy>qwHkNKX}%LdaeutT8nGGVTf1e))GPtoI)n-!Ej*5@;m@J_o8{?+)gh-$X@{PXY+ zAU1tiC0tO|63pNa)L=TvnB&c0U3E`3$G;yx77MV-37x-+nWGJ>28DAMB{KRak+N#Q z=u2%5kImb{J&QemZke6$Sa27WHTK)=3ZO+D+@6zWKde1eu&4}tzQxS8;S9_4Ji5`R zvV|7LE^XPS`Y)fj7NsoP^X8?i zl%S#q7RFi1(fv`2`Jzr#vNs# zE4*3JxccuLVO^eaDh*s+FiBwkkP%^gPqhe$(?=<=p2;`J zC-4*S&!f5530q>)LBqOT{l3T~0#Njw-ZAI%7tg<`Kjb-|(>?vbKjG(Sw|K4u`#wIW zq0|73DgBd`V*w%cHjH<9p0nx(@^uQ7=TMZZnfuewsBbT*;1I1V5&BbAuwLS~g|FTj zLcwapCv3l;ho6U+aChPnmus3qrMR=H3l7zwQo`95#Zs;$Y33sCW#*O9IrJK$i`zty z#iwhsXLn5s#~>XM>2CXSkOkgs2VaN4Kq@3Qw*tMReZaY^GyFR7S~B6v0csfQGua|E ziyN#dk}|Ln%=z5w`MYH!+~hG0cPE#6zH1O(^CCZv@>em+)mX`f2Yu2YyM$Wo&JsjD_DWu2C2K0? zemZDYd@6S7;M~D1wjUrDkcCAVepMQ)oG^!N@+b+`S-i=FZv(zAF`f!M4h2gt<=oC9 z11tIu1C;iffx%2%$HjxFX?(f6U9fmy#qwddxfI?GzrX0!LPcbm}$a&>-*_ z|HDbo4%^iuJ@8C)(EQ3+|5_WYL-sNI+lvKIm|ZEBf| z@lXx<^zB6&xF7Qq<;5%@OXpi3Xb@*M)j_xZb~YDSQREzyuz3SC?3GFK;bFdr(hWE~ zJDIdh#fm0BuNc7H;l~ue3SlpDbHA46crNxl^1w`GW;alR;ru2od@AxEAf7$OcItp( z14Y>|Md^jw4Nl+0SJ4i3gkM*9VyVkRJ}#EV_~b97i%{MH*KJB+*zxz@j{{(eG&2D^Z=Lzd(roo^nm9&ap0=)ey)GD*OnEWVup3eMl2+d6-`gVOOMK`HAhZ4!`8n_CNU{~ zmkatWVJwoMvQFc^#1(8i+n^IWBE#-5mIl|8eImpDFcup(`Tb*d%R$V|c_WwBp2W2@ z1oOj<%VQEe5DFhb6`V+eZ(`OYzraov>QVFOKx^-vEHPrAn+kc3il zm@|hcL&S~y&0(`63*A11{VfSx@H2M$)}>FlL;NAZMj;W`;1Ok`5M3~RLRwn@LErJ4 zA8f?Y0q!i&$lh>n^A@g}zMkvQPo{_GSa<{6UM`$HrYO|%TP6sXIlwVok2b$*aUq_x7d zfN6~GPw4&*VE%-$Z!W}O%8{mB@Fm-$2*m3p5%|aG0k8SvM4yhp;PLz1{=WDUT;EYH z)4T7nbF@^_b}`rZpT_1$Swpy>nH*ATu!#}v*126>Slx&=0A>!+OK^QN*$n~v8CEufA22CfZPmW8K5zg!MtwF&2F1m3pEKUr%}|wA{Zf2 z8r_5BD#774wD&=6Co~&g3=9*5x^RR=T<_wfjr~9chAThb6P2<&nm|?nesF)bBanA$x$Lp%j4DP=EGtzW?MnxM! z>s1(YNX7cd1@V(i4bHj_{$z?j4L_@f+lxHkD~%{j+N+Ok%nkSXmDkx^cV>*V!d8Lz zr7buOCwv*A8zZeG(J5{cD=oYASMgF0tc@GK(fRBIETw&J{1)DOef&w<11bdO#tC0w z+p~!oga_wbwgN3^-2s3tQlJIB`z>HAANZm|@l3+Jch|Fr4K*`*E(9&sDU5m$yijJS>F1ovML;&llD zf}^gn6E+(;?-jt|%L7Hto|}8%Jc8& z{W|t@q`%>ZZ-!V$YG-gs$s+<(pGevQmNw!RmKPj(U79e46-~6RxZ$4?%e{Cpi1YFT zLX2*qF46f?Q5&uwqt|z$ zv$Lua{%tmY!q%4&Bmg!xI!%!@6zEm+sKnD;6A(1~lOmZb&^zf-iKJP{+4y#>#D(kw zqlmX=MM`k*>S-T>6uk}fEY=|**Z2_$d^p0+5ms?c;RW(Zx}7oid*ez#eOMScDSZ2T z=E5S~9Vu7ZA&SEOico2v@^*y@e9l|0UC*9p#;ZjyI;tqF4kpP^=|B}^2cM`{hY>k1 z&PW8^mdqrt@GlmHs&0-jN;1r7RNk#3<-8Qwf7afRGQD&eihui?_Qo7RilGHN1nS`ac zi6R;F8jDtB9QtWSz!B12mhibDHQ@%!MgUMNnQfC}>`T}z*Rx@#acX4GRtJ(nr!k?% zT}Za3C>-J*bqdZuaLRNun7Ow4qt8};!alS+pgQftV2v3- z>Ty!azLKxbUNE_FB@a}}^rJDZRM$pYIp4m6W7xzrYEq!V?rr_b><0T%BX?4LGbbBk z!LLL4zwqTRG^S?0_5HAzzy$XIQNBJi+mrka`@yU0_XZ`#lBFL!j%%{*4dzaN2L*Sv zO(V5bV7BzVuuQqW%8kY1G1;`u$F$8kl3hZwqZOsS>JxkpPb#Y`Tm?MPp2_PlP}w*z_ObyG73|< zk*UzZAbTx}_&kVEv^rrp1{crvYyZu3Js#$W+fCKuq5{1YKXa`Fpnil0XizuKe(0{M zkJ|T;U$i*l7jr?xf1`>oj??)^(i?7ZJK3ENGQ6j%>SMM?6tJAEg@JykxsN)RBYN2+ z?v_0jYXz(^%49}6j@ATLee0T;mPnuRn9?f+0QGP8RT37?C_OUWzyW;~q#n@^6;PpW zA>kU!e#NxO{2;?1VFQ)TyEw=8!-AHgy3dYZrprEhS9_N0d=|wK#n(=X8>fhp7MhZ+ zaK*wcq4=Gc=oh|N>XR#uEIO|fm8FVtJZga@gfni3u4Ej~epBR75Oj%|CxPjC6SCPR zFrDLl)4crK3lmT^y~Ndl>P=>^E_$f{*Hw3}@$&s_K=uGf-**f^6+7zY%twLg>cw_m zSG?M|bppeXs`Er{OaSXwV{JFrk|rymA89y8xq#U;^NAQD7 z?kDGwrb9iQCP6d-$nQf8eTxPqLC9~r(o2`6=d88u`wu3Zq8n&^qc-jXsis=X>#}P3 z+rF+pd<`zx0DY-|DqkjZcfP(eCY;VGs_gX-%7Xe1ZVq;StGvj~vzHqc)0fX%Cgp=V zwM>BEy^mzlE0qTJ_cE7I-uWXkHb5}V#ZBZ2m!bVVO|=e2+rvEzAQxS2d{9SMkyEBPCYfUnM)5=s@?VL)kp^esLD^OA5;E24|ob3FPSM9>xGC_FF z%d~DgrN6H=;3=p=d(HN3{_^E0Cd#H??ewLRR3EMhtszlb&mX1Exluub<2>2iTXt0b zL2Kj>TFngSd;$C?-hQ!#j7nrP$-PBps%xX=IG#~H?5KSTM!0)#YYgz19<+P5^-*UV z8P44?5?`1^T0gf`_X7tLzN5$+EA@4#dduB>ya^-g>e9+XO zbM2COcOuLi%Tv93`(T4WXXkIoSbYN&=zQg#*RbbdEyhhEZ2D(gKfwlt+Ql+944)rm zb3r|0S3%qg)?l_?G2~%Q1m2(CPJCbzL){bvqCGJ6qHNAq)p|ezfGa)*^TJ+qR%f`Z zM};B@*AqwvMX$h}2ixk(~dCCGjAQZr3G9&QL zNMMZ9f@Pe}I(&NcPZs0#0ffW^SDI!c=)^vG_68l0ZwcxF!(6NHx`n++!Bc;}jCsjI zcSZ>NEmyr*whFrwTYR?(E;P;L*Z!KJ{bmYNUvt;^V&nn2k7@oe_~);NC(pGt0@3fD?LiqNjvxj2PAz6~0>XTLd=q;+h?@W_@oyfh+u3b} zm-%I%W5#21pitkIM0B6KXj(zvjC|gQ6H6NqmADym_qs0dlAoSk2#RIZM;({E_SXN0 zR*1Rn2vawjq*a$hHg2J1CB0R4w{gKZiOgqlb^`*VR@Dt%RRv$4F~Yo7#;pWe5M#%s zXlz{L7&?=l6Q;2{PYxTmkZn&V(=Xx9wk|YIzuhNdTl|7o_-ELe;K0>}OL)LhDbHwo^I$pg!PX z>@j-sI+}fw{@TJc3BXK1&q^}HW}1(=5twQ}ns+FKLMWccCeX?8l#aG3k<2;e_K8g+ zuDI2Xy_??)WUAQdib(w4An%mOX5y%u(`UBwo69b=u%-O9i&+NjN@ zVYdc4PPw;`O;j0{y)l_A9LHn)%_-r(V(p39wU?(orc5KBbsr|3)5pA2z89565G?6Hn&-TozW%bGm$(6M2 z*ECB*S7Fe2dQ(lazK0tp9MOzfhr|&Zwf%DSdb$wfG;Vv!XI$U)3pZ{*u%kgQ&rX)14v z0gL-Y_hrt?{4yG7nBoJ{rr?xG+1e0~WAp{gttr%} zvyHpaEON&m|({R4qDv<8!a4Ui%IsR!KEv=T#6_Iw|p`%gXB3rgu zCX8ByaXYC!FxE^_Hd9cOUk8(00p3lMwfN(7x*Vju7Ef#07Ta8FMn~a3hzPPOd+Pl} zJS~Uh@@+?RO^GD=*I#7deSy23>*@oF>FxB|*CbTwA?j}f^Fg8M#NF|V1M?xFdEMI+ zn|aM?cwy6z^?ZbQY4~BlAvHY}3Dq^%mpa5m{e&9S&HT4jtPCZLuFAr8tn+$}YW?%J zM1ySVv`{)P7kU=eNK;!q#`8f6z+S;sV2^-887%tG_O@J3p=Xx)!n@blh>Yb{cpen4Xd^t2zsnfJr5~& zw+Ta$Pwa%|#e>UjH3KtxrqJQG>rU2ztJNY?SK&#rbrAK-6@+P%EhY6(Lj32=Cxh=o;stU&YsT(4 z00OyU>!G=tRM_&Qe)M*kqw>t+ZvLtQX)GH&>k{svBUA>nv{ z8-`LluRE$gzYzzS!q{4L`wg4lh;KBk3ZWzVCEowkw^R=PWg@K=NqO;ON;0tZ&9s7F zJ2Uq*U@Na$q+NHkv5K$HrGQS{u822Lcvs)HCgAo1$T!iyLEo$<%8NhF2A4O5UVP&{ z(PSR&8$~~FjV&v**M&uN;>o+-gX`l$d}YNH(t^Yu>Wyn!shfCX!82@~y8Ww-*5aZ> z8nf4JS>~fEC*}8RSxIVaD_#pb%ulLrwoxS(0 z(GDL9btRD>E|w}%Nxl!&_f&ou*gzFR^#ALsxyDh#H(U(4uq51K-N7DHYR z(Y^S3bc%Ml+{U@G@koZ~@2rg1sU|yIY{C|6VxQ;Pz^Lf&9C#qp^h=v?yY5i#*<|CY z=z~E(O%AGC2b0HUjK6b!tWgqyM!i9-zcZ=*rT9=-21GoR)bY%PT@PA3kc@EO(W9Pt zb$8hLb<08MMyul;B4zL5?_-w!=ukcN7Jp}_%Xud9?O~~U#x?N{fiB-n%u7ASo+2)% z+hYOwe1*VG&iC*SQaP8k1qw@KV#zeK%H5i|^PJIU>KWqdiLc{_du6Q`srB|jd=pu< zmBodtcebBdbyN!raNys*pPs%Ma&SqG-bV470C&FaZ@oo(Z6|ZS1l+mHxcVA{v1~phYKa?bh|k&*82g7s>Z&S zDJtnXu?dv>0hVlZ1to>J1k7Hv=a_jP#GhY|Gatk6Lht}KmqD}4teh>Si|wV0D|eGK16vuM%ZdJ=|)Jxh8YDK@q9If;sXLe-wKk%ZfSSu%i-lFpY^3Pj`;Xn9M9V5+p13{=staJcqfehtJaNgJ zgq5=t;*%sC1S&+!VkB9l{&DdrxvV+g_{gD7F@Bl?QRo1@Cq@qG@YRk#t?A0z$=Vrl zKt<{JzVJ1kPRsg52*qa+P-0qRu_mM?DPR!8SKp#}6)UR}vW#qSp>NQvlTTR1&uG7h_~ ztU_esj>f&W8abqBPw&Fpv!;B*57h(oSirdV92UtqWRPAeuQCf^tE^8_QXMgu|jw(rR2w5=!cR;<6g!NIo}EB+`i-mggpsH2c7_8St|k`>gUGjN!kbD>E%r zvOr5Cazo#k;O`|%9_X$hU$aMm<95(9%Sy8`u3Hl^!mR5^Jtr0v?)&1(_n__s_lb;# z>u5K|e2R7D+tZGFYvLT~=X|v=7nDlQipa`SBvwTQ70`nMol%0snJ+F{^G_~C7%K&Y z`&dh8zGu)fiZCe{C)$T$#K&dreZg@XsG4YHKw7Im5P2vxnMrz$UlXp7pX=w&kx=3DlAO&|3laoS0wl zCrCm0nuq{vRr}Y>`xjeq(3Z?|(Y?~z0n|OH7IN~*;1?0KShCbYdMbN%NWUfE6SGLajJj%6#Sog&)MNqE3J$ph#SG;Dcp%=w1mjuJ zfBWlHE zJG=9dY}EXQRq5=>I5tk1c2Jj#EZ>J%e-a(8gpJ_%M5#g(Xpi1zLh$9MQJG%OM$#9J zwf3&uYf?K`mUY}zWk+Q3^$VNtU)RliM?Qy!-@Xd!wXbe~y~c#U7J3ue>??B7-pioW zu7LocIuGn<3l2}s6>ho}z+Fs|M>%g{S-yBuoO(HY$dHUUx zH2x~#szZ*aru`c2Zi)-L#pHJJzFk4$ol`zjgVjU#=!$W=lYuW0=eS;NbAW6$T_^~h zkMNY;{68r7xWM|gB08U@PzW?i1N1kM*p_X@u%BjWfO_PQG}Ogpa|Fg)c4>4 zh;J4eoL8aO-W)(#RUT@h>~xc&(cUb)DnByCu1OcNaHFR9keF-8wqe-c|9*G?a+sa? zi;%lnudz8Gu*y0VG{sK%lil3B?p z;gWbO_>Nf6=tHH51%j{6ccRWh_W9KzfB}@i z&Pvc!De%9p&6NV;|3UuuYm!)!!TSQmVnue=netgkc9y-4!-AR`pcdfBSY^Cy-2Qoy z<0prSsuPi~5<6>;eoi^Q-s^UYTmuW`vkYC`$%ZxsjKy0McuCw9vvxTjz3J6C1~4`e@Bhx1 z&)T-vE{(=bmur0;)7YpfR4m>C@U6R-xD)w$PpLId>iO_Ci1pYp=GZCe&;aT)#SOea z^S7x8giivV>OYU=W7&L$^t`s~zgc7eDYJ9CiEJ={d`#6E2QlKy3q6M`K|U60977x+ zy`M26yd~ti)~~B`{^U;wTvie__Y34h&l>v$dZ3Ez+?w_w3zO=Zq!#Tri?*Z0P5(My zTn_D=ogJMn-BMP??fT74@_y8EivHX)I(nE%eu@@zt`qb59O>0oTltg3swv?q8cAzc zFiYT9o|*fXgq3vtZxd#&C+h87^^Xw4XPS`1&~tW+YD1|V?hqR-ujOB0a%%nSQF7dx z!#V!L?oAj$qqAMao9qQ1kel%ot041D}v@638KMD94N2 zyI;$KU7ut|&ye{Js|JQrsmF27W%`Env`I(Y_InUyogy)%KmDfir(uzB_rW1v5xjG# zS#KQrPK`V);`SF)_n!Rq$6z!aC20|E^V3*KAQMD#aoqS57VCuocr(9qC6(TJk5y;Ee7 zDQ8jr{5kp)13n$;TkzS#&VA9(-lb`&xqHdo(y(f+Qqd2-y2UUmf1Umva{}^{sL*Ki z-*qMyW92-S|AVl%42mmix<+x=;7)LN5`qPHcXxt21b1hE;O_43?jB@t_rL(bUBAim zyl>t6Ro$xlXZ6~vSNA?Ob!w{SaM-r*u<^c$u%XFoXtXzTp1=etmJ{b#589tBrkoPK|wwf?0}}Kg6ZniXgE^{4PbxF>w}r zk({G%eTRPP^?D~~zrB{~+FN7hP|Z>JrG9@aI<*px+9cGZ*AMT-O?_&zn&bt?3A?X1 z>49+~K=Q|>8_oKnNIWq^r`85#g#WajgnRwDCV;X4pw&`2jOnS}T7UN38(8D(Xx^(s z9?!Y)W*sP&^NGW~682Mit5|(ZyWvrO<#1Q==9{&$fc3dwa~Y{>h+Ls}zv~ouHjj;@ z`?+QpK)zM~2j5uOaAn(ZFXIaitI6$l^NZFOCWE08)LQc+KU4?|yIGPn(pG%%1cMsL z9f;~+j~B?T_5ShA<=Lrw!ZoEOCC3nb(f+U2jd+1>AaeC6@9Jo^Rg$s>K7~WtJ~fpP zfTT153n_JIn@5r!A54y#eGLhoM}p0$c-q0l=Yb-C8;C;A`LGQkQSX~rnwstR4ja7? zX|Ml*DJfnXJ;(nA1hn$6QWi1DXwsVhK=B_){$DUoiprw)S(mGAC-`i3CkVYkI2c)Q z>>Y*Wk$jyKEZR>06Tb!n9!8f?EE6{&OGl?s%met{zt(JR#TaUYKZy0%3f8FeEr`Mk zC%x2%zLj03Zu}DK#g_B(lpJ{cN}jASo}AYIiF~pk39lMjXZ#@<8Hb*gNmsnMTIi7a zRD|w6{#=NThANc}ep7g@T0jc_F?|v-q`i5bG)&qB|*|MMnHwKfMECj z3L)eVambPh(@9v>!+LQx^*fr&73=;+yE@hNi~CVNv>NJoCBwe*>mBD^HBZNO#|r*7 zrmPBKQM=wM#Z#V+6j9bcP~^#ysmO5?g_E#Shv1WTims2HAyrllM?(3tMH-;FCf+$9 zGnlc33Y}eJAPJKPC;tP12w?XA4TrmjA|VsIuo1ID88WlO{BX!g^5!G3Z)e}yx&dDk z^!Xi&H;17u7P{woTiHLQ36%egvx_!k2q3=uX=~bL$3HKezXaJNFGfzJ@FrZJI4bli zrPB(yq#WNh#qbmR1(}4-=6&-1o~;uB`!~J|a#5sj8~py(g}W^X(lx&|PvG5&By$b+ z?{3OZVehtL{aI3bE4(I2E=>5QaH4;D*grl0pKgiQ6u$0>Vu}9Hh`cuV#!qlEV8*9> zwQKk(bSAy4&G7@60itG7Kz^+5skgD-H8vi$>CwP1oI0iBr$F>k#42^}pV}h;El28(8 zx9HFkEdK+XgZjs0kdSWq{xGl$|LZXlA~`1e6V{3UeG1i`-7k&s+~k#wdt>;~*t!jH zHMro2w;x`<%QAwlI;bB_R`Sm%_s>YBbzt<008<7%Ly3_WaD=EPiH)GNo^$ZYGOr9| z)I?Wj3|kEVOI##~3WI!iI5(j~00;}LECmvgeR0chwRU-09X6pkwDN%Vc*pqA_BjS; zM7(@yl|X08T?+U^i2`x7i5M{eaS~BKgqxB*m6n=B`<#(7!GT1uxOp@YDo*ledoCq4 ziMBZ&Wr7`veKB(%qL@$ZmtP2J84A}ev&y1b3!Mr$x}rxSCyqIy^3>o`m0ycETA~MN zlk?571u(5!#7?>{sXOeHu5^?3*eXkr2r>2yDv)wnTPw{5m#2Xmm0%J2hBNNYj-C|XOs|ncGaq`Sq{p_7f~R_vhH`tBB$yvxHTKjUH|lQdlfK2 zha`}Pi3^o+v7=F2P2Wqv0+U&C3qe-144X!!BJRm9M;ps(QE$5?@4QoHph0Gg#=2~N z)$q25v2i_fXhRCreFAPKvbQwgcW8G}|DOQ^piyI8sw}8`)<_r5S~)OG+WWWoU{U*@ z0%M?Fqh;D;g{_W_OB@cjBpzOM^S3b`#yZYnXj5h6n8G5`ss^RM+~gQxBmu#;r+jdl zady7?dcr^N+#q3A=f4U~&i09|Rj*Fw^g!x_!C4E|7uNzzBopmWB1r67*ztdIt&Iq+ z%vrl&o@EtQx&OXbzQ;i=P%r`xhBpuM#WsARY30d}JFpCB{;L{=R}rvqP9Mt&|1I+< z4m#_%>e%paTue0kmN7@i#zQGrr$)~d?G4*tHR8om-;RAQ8;X~9A^JbYe+sZ~*j$vO zJX6}~hWRJ;l1vbDc_T_uays&IqqF}PP_i{_Ekr^Olhokh5fkI*A>?g>8#{W=ywI&{ zjX)VU3}!Lh4-0NT9kM}O!kz9Dk*#a z_UPP_ZWR{b%8tCc(96&wZ*$l#1qOkyri9tlw~-If421omR=_C)h3ZO!pN)7Xx3S^d zzoE-;@`jx@xwy{dM9W?f>YttkOEm%{M%?CGR-9ECFLyIU z4EJ)-iu<@e*(YA$!G_8}W;`$X{+=jM*?}(ET+YHcfw5%Jl{{T;6Q#Y($F&aEoI~(= z+?KBzM#`56fROG+h*P30BM+}GNZ(#SU{Jco$Uh6|lcXv#P?p5yh7uDwp=k&2L@Bgo zLGomv94>)D&i|uP(wc-p7@}@aXx(3#n(gVc-Ss#{Ck&ihYEZlnX}oMCbR(PR>b}MazsSeoiEBsD+}SJ(5;d9KB{kF zV4=P$;{^0i5PAR8;!F!x;{6vFhH${eD`~$oL*(G?u>uI??*!)p*N3pbF1Cw;g>fDE zP=Z2mTl4Pn4rY=z=AlNN5q8LJA~5a3)73E-gSSV1Vq&g7&4+FcU6@!h1K&n{cAuXY zfq}(f1<%z+n*i(CLD%uN6}vj(d>yyxECtR4)MMB0yY9T%%Is0AOXD^(Fg5GX7Zu7; z5sG@d9cx1Uiy;r{t+lYvfM5~Z``JMf5{;*$(-HYqfE*<8@W~#m#OJVeP0e)zdY-GEJ{`_g{>tO2x@Dn zJ1OUjNJ;nZaokDNLRJv2=r!0JzO9fDo6ya*Fm$Mb^7FErTZrHmJ{fCb`aZ1+=x$e= zyvz&3?f|rtL16~7XZv831Dg=JZ97Ni5X-sGzO4$4u3$?yaMoCi@`v-y&+%vwsUrR+1rT;?T_!ZH#bQkB`QhMS33<+zK;(+-5yPrh}nQIvBnCeoL6LZy{2gh$oLL^F!DP$ zh~b{#4n$LRP;!P|F)yEI!2OZOr*1~B-}+>{Obg=Velkp^O~23aO|bGWf5|=f!Nyj6 zY`xl~_yy(L_wjci!6{HB$;(Ve^t9gsAQ`DdNcdLxN{7kx_c-RdaL6%e_*nsChVph$ zYp^}RHOQ3jr+4FMpH>t%F{MWPh9+w@Z=hl2 zFpST)YLU}vB*^wEeKVTGunN&9+;b5PmcsCGzetc_R6RFU$j`!D-Jj0ac&ZqpsMac) zW(UzAXiDXFxWUR}c)8^E;KImbXy|O4i{Nqz@6_B|^{LIm7!%#;)0Ufty+tTo6{&$(e5)%!RV*kG~I;fyH zIi6gfZ_cVPS$X(X?Il!>u`ueX{N#0ZqRhmvg7RAk2ekifCf##v*FBCxbjV;5F$Hn6f#+r=(F`B|8) z9Gb4Pn54Kyp#C^pc_LB*7F3J8VmChjjb_NASVT6*15TGwXqS7X$AOFD)wR0y%;v#L zlggs@KQsNR!`4kpKPqaB-@=!>Q&-^ZF&T_@X=0ef_t+i3Yz6QgmNxB|{q=*B?^Xh!Mi#~ic~I}j$J(9bHL!9?S!4}*%82I=!?lSLOjG*9^m*9>tgwH$? zc$ay9PCf}cV))Gn-+BL+^qU?kM3D0!C@$1FW#ZJ*hm&Lm{Awe(PsU?Q|rM*kB6On5M?`6dIUVEPFe zvaM;p&)y@DhZv#OFJ(NFB9Lo|j+N86#UPPu4L&IkzBpEgk{|?em#sEK3CAD=x$)bW z3KU}r*Fh@!nTq}+fn5C~n#l?<{cue~Be=-a+`$k*sD1ZbNXMK|2w&>viAL$O!O9~( z5iR|j2Qa>6xlIN{8y72HvZ9&5paS2as?VNDrCzipbN~$@e=n#=LE<4CvrYdoUNp$P z>>&sGPDRqwz6%xgyCiBM+-V1uwd7V+DjeO}1GzX?hW8VFxPRF#St6SM@ujXzYdOUo zB2NJBM+=ZS#mLvGDsdQH^BGjMU!~mzVa6ZqI%e1<^xCKubQh_Gj`fo4M+4&7ro}Cn z_)bYevpPfp`-chWbSuw9{%MAWgCP>OfDL;6SmqAka)_$yS)YEc1ghB#i8 z;>ehMPRT9!q|4a!u1+8;H3?+o_zS}u2hd40u~zAsRcaLS+Y?K%u4Df*_Um~P)WHQ3 zkeyQ%X+av9MJqQ7?{R_R8%VQgu#xu;AoIZuqJzru$^q6=k#wvrFedxqfL4rE4OKc| z!CMXbDljH=r~r+j6m`pPqg}Id=c5oi!(11lJnJ zw|DWcz15W(MdW&bEZ&ykP1BF9m+eClZnHr&Z>&-2*X zPC$$C3*^Z>-O4VaoCYh&ud%Lef+>I~k{j=rVduxg!#^kAH^g~GgeSABZabw%rC8ky z|DB~N@!$-L|F=8koxZ9H72w|IoAPen#{EV?a)q9U{_=(7%D#Bp0n{(B!wSSEBkz?5 zzZL^RPuPNb6DPZ0RQu&(C0;+GZLB}}zwH3Fe(jO?t zTF#=6djx)gBW&+Sw`4igB-zHV+)3{iz-5?jo`qb>x0}4$>f7G99<<|AhBr^3GWAhy z?QL%Y+73f6&x-*$$(Xuu{e!^)3_rrV2%lHvYe3UA9qXoO^?yvWwY{wilk4YUv%Pw71#>%p&{d+d|NHN zEdlzV@ztGeReiQ8(iK}HNqQ#(y2JR=7WXRf_Eo&rZ=%3Jg+uV6%O8@w0jjTqN$;4TfXvHZO3$N3WQZMU32xhzB#s*I zb21Oo@LF)rHcZ_jynP%#>Z86Clg~nvmx@YWQoOSquVi%D9*lxJ96ka-UyZsKx;50M zk6Knwm9iKFFqz>hhZx3uFPE`M!M=76!#aO9Bl2);`GEv{-T@Om0tu>w!rFsc( z)j&*(_n5o4waUCU&Avo?YUZOB^)0`&@^cxp7uWg=^G+GJEb6~d$PB(aBu!h}k?o3n z;A(#ePB!}vA-}CB<=(AD2&2BZ(`Cc13yK8OU{2&z3Np4}CK27MKV54#{H5GDs;t;) z{IT9z5mW&q2xyVls+C_h(%rOJZE-MMeWtle=RRBi8c8}Um>BjJF8oml1PdRCw~|TI zRmR(BW!Axh^I>nJ!kTT~xt@dXiFu4W-7{UrWDyTNKM60>dCs7(w=}DP7JGH*Q{Eq} zGGOw-e~ct^!RfT(4|$81JUwLmK|R|{8Pp2}sttJmTCA)1?g)#+h4XjptX7Iw#*#rt zWWQGIe~H{b(qywqSJr?2u5&?LYf_MRm2MEA&^)ts@RVtIq2AMW=6I<^$nO`72fMYr zhNoE6pXha^M#x`{H&fK#=yi3(<)Og(o&Yyx{pWX}yC2z5 z-%Ihxiu*^MF}K1{wFUwSabfGIwV^Uh?PE2|i< zao&->TZt_>~Lo`kT>B|7Ma27JCjVV z4Gq>7*}=beCgEHg%B(+S2D9%>Qn@zNS$pEcwif`Kz)M}PtG`?u`mFa-g93LZwOp^U z24~q}FUP|@R&BWkXSreU$HReE9&rZ5Sz+6Y08!wjQa2A1D*7^j5_l=q&BK7&TZ$)H zy8Cdqm&V1f!5S+&xPP}7!o{!5>K7MA3mP7`dKB$`R3^+Rz$-1;{pD#K+t)`N_|Cp{ zpOcz(dPj5Q37|gmmZie;xJg9ro}t0>Jf+3+Hk4<%`YFe9cQ31G>WhSPSAYH&smZgl!6^*CzN6o`_h42wtQ3p^c};Rzat-Ug^{ijV?`AGDcEQaL84rC0RXf3Ktj2@+Z=Yqsq#hfe zo~TZ*^VZcg!x@0Ep7b(#SejU}fh5f=Vmqa}o1gwm?3fR>hGBO}if)0VK*u|x1-~^B z$(IkR@Gla+74nJ-Y?UJ9qyCEwy*;%VmbcoXDKZ5y|{HNyf{z%8b1e^iAQko1Zhc zeb$(6l9vPof%a@us2V_)sOe*J0416* z5^7z>CgZSPC&!0k{?_iKR)Zll`gM&4QJG`Inw6L}lU4#lTMwP_AGr0@Vq%(S%V0&l z{zdt0Df_7`x=uj%)9IeR^TjtIj}4y0e#RB0b7tH5p3uLp7qt`Jy<&F20zMVWUP}HF zAM`VfZtW*hlN~6VZA)p$X1l`SzqECw2rHQ>!^LkGEw6F>K)Tqm3RYLfMa?)f3ZDDVJ5^iOj%*s9 z*Nk*KWL8?4wD%pP=*CG`m(B;uSqo&tnRVPuzKyz`{#yP~)nVgJVpm)1f8T$-%y3tF zBI(+-?fLewf461;RhE}!7kL<+w)$960Pqw|l79at|7*~yL&Uv4wQ2ag z3*io_`n{+*h;c{L4ziQU#MTaYpEA8dA>8Vod2Z6!vZ9aYWOzxW(E+Wh>0pceIPwUE zaNp_a4%yla>*MnJ5S_T(2cH>D_jKSr(I}gDP&(o5!oi?I`+fNh*KfNgbaRAEmlj9V zK0hg9H_Eq;`Cgad9x|%CX1=7s!0_+a@ptb-`@~OV_1!dNbOLFoFt|2lXHd9+ij8Cy zCWiH-1_(Nwh#eJg%!gG{oA2wbhpS;dCb@Q&iyaSuz1^vq#U(m{jKDVZW_RvDa|oA< zw*r3C7P1I;QBePi%V1~otx?d|8;_@c2q97Yj06od*IlTwis+*}3_pH(NV7%AjlOv< z2s!gS&|iLeXthgNBk9t5nnAnnkq)%hJHk_5n*NmBqC<QU(4bH9O5_P+>(gm3^|K`L1~HwI(>2vF zq_|;V>rj-aEbZ>eAl#RVE2&qi)_tEF=qf&*3VK5{Z7Q||1--R{KL}@V8kSj|$)f*# zNW>l_@Uo>QVa3CkW$C2z`56!Q+N_M-5kEG&wNGCX83Hf^dni7X^- zs}P)ta=17ggOQik!tS14LzyXQ8vxCc>BR9fgZ4syY^@hUV_7i0hK|Qr2HKYnd`u1- zUR)tV21iEi`Fe;LVWbV26xTKg7ABAoGOmvfhb%9y5j4x}30I0M#;ZzWpEhu}K(C=F zIBmOwTnkvwPmDatD2FP`s}W$W1EJPXGzeRkq~U~1E`Bkj;mT#Z`~_AnP652ut2`)D zCQguMSbLHq9R9qdKX+nmg&mHa7?l$Xq_h7T*ZetyE2@!svMEA{aCmjv;>4zYk+@~B z3Tj9uwXM6qvabb5eU1_5W+9u(v#umY6t}7q3#a1^(2Pzd9xJym14xs9ha{(zVuwAT zt^3LtMPM_@Ll`lMhmjfdXtkbgm0j%`?h>~GdoeG(h25kGZ=yOYND?6r`Ql3c1@>${ za0R1_A^1M?5)sbCiI2x=2&$Yuem}dnhS1MpTEC}?Pg&thz z)L}R0#WitU74h`dX9e_K)rB9Ljw`T|SdMcXgWU2eb0j(dHD0_RmW~sGqR!)r@6?;( zngWTgc=~r1|JD}q_H*i~YR{`#?oFX6+~Kj*M1!B5j|VuD{m>4lg0i4u?(~5ATuV1n z?sHl*w3`L>u?%lez@s38ym|wv4#0>PCWwXbbhxO~vMM#sK*V%Y59y0-?}Ki#^(42F z;w|FaRwZlG-_uRJ!v+`@x!$gaVRJ-X)k)D|bL|>59Dmbx9<_~_!!@O=FTBP16j1n> zZ#q7-9J6=zh7H>b=ANu$&l9+*)VBS8cFD{vvL1HN)Gl)RDJ>^zZVFD?yfJ-4=GqJr zZX@jEAkw8HURP5r3gYl!^b`?{|Ni^I$Wcx?4;mNPe^!Kz6!;^y$y z8tzNBI8XT1#N5x0Jz@js1@2A&_xotK8|vl^x2v69+x}0}4g0epT9dRGr{=D(JxHa} zq-CXO`;x2ZYeMG$Wf;&MjMnb(4sk^Td*fr02? zzMZ6_xF>46_6fK201IvTG8KGhRv}A_o?VoeIC~KlbZ1sR%UFp*PzOb3iWghEs<*$l z^#j58pSug(6CzBS+%niWv-DUGpm$T&W`Eo5E6q0;CQ9b}gJ1GNjQU7e`t`Lf!{?j&_JO-lcDMp^&ytJD>5-5TQ%#l z1kcr;Z0R9a7Z;#YJ2JUhOvqCus&;af^qf6yEnUpf-nb*)c#Gu$%y9)qL>fusvv z{MvUK<6D|KF$H{s%udl{ggUUg21Sb+M2lO?;1)Ipq2;!x9*I)+$Jd=#bOB!Ot*0~l z^9i(&);9Ds#+~rniRvAoA{*c-z8IUPS&^aIY}&em-tp_^`LC0p9#JS7`|qPooyr@t z7W}T4q|x+C5PZ_;H;6v~E2^z;(~xW`L4}k1#1L|{JSF_oEFrZKbr?P09Y+YVGx_Sg z#3P1Je76XWAe;jG)cs3{R;HhC&9j|y(3DC+>wNqCBp`x$cb5@Q-r3#K%2ADgO($z^ zoP!vKCS?1`028cHf7Q1{6uJ(&78JTK`7PYs+{uvQLF?94A&|o~Yyuex1>|6o(@-8j z3pT{3FD6AMfy*xTOH9l;@>YgeEKi&*gz6C~i^}H&;IK1!=#WD6;IJdpY9*+kqvQeg zWd`zKIiQ9G9tsZNNvbuR z)RU;?sR`~0=`~?O^hz;~g!Hn%cK!-&_Pn4HFZKjd-oY8{qVj8k>wlY66q_;dCJ@=P)q?k0WX;#m$J}8rEoVnU5ZE-Heoc}+ck`PFUE}?J$ZMCK>zv+l z%j;O-UA!Eqy1_V7sJdP`V%pxM88fP4UduOKk_vnn{aQn8MvUgtj@ibzbf8F5Xp&mG zLQieJLRH0u273Q!ZTv>Rvx`Dd6W* zk9OIjrCY}-(Royf$`8c#9-z?h#`y-JKB~S4!4uV49lcH0)4<_V*fue79J5F7(nlm7 z0=-4Yfl*Lfqi^u{j)4$beVMWL-U|nDauId1vfCh(sN}i%+8Un93;};Ep+;#~x2eO_ zvw68v>2r~I2j8?}>*&*vQ)==Kmm4cQ!K1rwA3B$NCS6~0?}7v`71soUNfsUa_h_uc zyl|(aNRs=zYq8I_`sCqG(Igve>2&a4@Q4=Gbg$B(Eh^N4kNZ95dIW=gzFl=^k z4iW{NyBrWJciH&|vtS?!3sY|@Eme_3VYeHRDV~Pp_*6XI&klybe<1u1Apb!>+du6e z2>$~}wuGJwG_%MQ$0SVIqSH=jEeic@lCDq6Clij;=PYc3rHQUYcE9bK6vAi9jT2#7 zSpEi%EDL2BtU(PX+X-#9oGPL!*ncdH@Ao2z2q{aUYib5K`M)}1I(+KGMMQ~bG%9Zi zAdB(;kyH=TgDesHlXL~k6r0@c;ofZL7}^q`ig(4*h;QnUGSVrCvxu$Q$#(-6L%B1$ z?~Uf|m~@AdG|UO1yP2b!E& zplafAj{ipQ(GqjFPZEFvFQ^l;Gi)I!3vUr*KoWTp#m|G)g^uM*cD*BaDJXaAI~L3- ztgb+TA?@tg5wXb66RB0bo&z>N7&jO`XlvIBFqXz#$WdEweL0j)4{DuG5}ioofQ@ui zjb&Aw!0vJ>$=u^;>)!X|dm40qtL;TY0!CoEkK-TSl2qD?#EZ^&vJ-FA5-5 zdM6nAHAxEv=VGUj*?kgGNrapH^#yU$m`0xE`x+HWIt8P1Ifmxd_4z}m_luu@2g2_m z3R%C3&H(6jsA=MlKz%lX`f}!^so%x$a7}XXanV|Q=J*8cKbaz?9Awc^ln6v7UE8+@ z*B)LPuh6-nzA3n+kV5&XW^4|VZsU3{QDhxUb(YzlMT;Oh4CA~MwyZRcerH5HYIAC&_ z`^DQaRsESG-nwq~BnjmYr_R6MPu~B^ZbdK*mF{=o-+#r0*kaIiP4$x3J$c%PugeKPwB?rN-r65Z1bB>i$Hj4ESb7H`{BVEJ>|r>O<6Q8ZEZeBMpjqYgqHI)Ap_-j z`F0Hq)sbLWy(5e65E3ip*f^3Q9HWndX1yql-#b7&LLZ?%lP}m*v6-Y3@Yf2^tv8&b zSU;MYlr2asbNpkz-s$-Zq}%BA2q+l1(rV$kfBU&#m}osIFABxoh;4ax?9rc&w!x$wFX%9fkJ*6t13gzHy?ezO*<|ypf9AQBx z3O&I|9Bjc;(y4`|@p1R4gUQEIrQ-+pQ)8t8EaCR53>zrcAEh|!i!jAq9ye@YSXefx zdD@l~y6oP5JA~yRF<+RUoQr+dJK&yvTUky1VtspfU1OVO+||BDwM2~^@GyjESg>Ya&#>!Gitr8`$Hj$FZkwL z6L0(SN7yje{m0YDpZpNJt;|EWZ)Ck+KIX1F^dP>D1(kKN;N1qSsT!mrLp=2w5m@N6 z1fZMtTV%O`@A#7)ea$$Y|1L4X{+)pII`+ODv0Z35Y@kFB_|vm3#rTG?6*lJ zi+ZWKfhxIN142ySb@Af9Rx@1^u6b98;8@Re8SZm}5PjC00xu)*+ z!nnGWS?y&8x4}cStvmn*8yR7(py9t(9^nSBUr;X=0Ncg87k7I#TwS`X=hB1TcY8ft zufYZzxnbzX!@*XMaR&TZVg3t%@5Q^6URRccf+cvrN_VlmuFMDpi}4gocR9VTYzg02 zhyUIvT&7sg9Bp@P<@b66P~Qf1O^$Q7Ui1Aub4k1wb^VXGw=}~IZhjI!|7u;HJ>AL| zb?~4?=>}!9-=?_F&8}}Pie7lMqI92be!b0k7@B?Ak`?{9+roeDd+|6H?e#zQe?Q3o z^|~rb_QJTp?;n$K;h+I>n| zMR=id#CA1XCwGNb9CD$6X=ceu0-BpbLiE#vCV z4g`(AOQ@WE*a5_6z&oER)TZSl)cwkJX0g9Ii89DdTOvUcHU?IayoVd-zkb_%ti(K< zj$V)6pE;^6KToYOOEOrGnCcMGf5gF?&%XFseMNBXSF-xPAUTWaYnFcg)f^j`c{|)o zWB59`0LS~;r)~g8^p~hopl{9M2oSRcrHU5hX(@_TrP{;!13JYe0>)PH=A?u1PlINu z=@_7k7wI#3&W~)z+LpM=6(H@nw0azK2AI{Z-_An?66$e!#Bz4$I4; zZVip~f>3@$oPmdzOdEwE9EKaZ!zEsZ^YH|KdvlFbbcb`{^^#ENE#ptS14Sq)F4IH= zMOjWjUTO0_{^-j~%Rl_%eEH2NlK)X>3}8EcIo|)(3!y|E`n(Dk5z>p4fhtSj(Kg+^ zth^vZ0{H`}VU6K_!$#-<9Y;N3%<}Wbb^hKECIK@Hn{}Cyi9W40~d$Pt*Tx|bYxL3)q75bBFDv*P$Ca<8Gqp@iU@f^QLSLaXPPhzy~ zQ@_HOR)<^M?z!Kdg*NZKTct0Yk}dv!G~Uwj9yuS98`ynqE$!4Pi%l%Yh%Qv0tDob_ zG5aiz{*VP#PWb$^e~*;1%+b0hMEVhf>#sZ{x4%_6v*7b1g(```xczRFF{C=3ZPD(! z@2bvs=Qw!nNdK@#om9)EXIWwr+Qy)?*|S)(S!TyV20h9?hP#wvTKs1M=X4-_*N z1S?d`5(i)UQITD_vtC{^gz^6Nan*MjhfgbZ)kwye#o5I#K2~|(N;MRQyS!1a7^kXOc=D@ zYsEOU$5&?`%+QrNw0ANMTE^4F%9_YVrWroVkHqhf%uu7kS5*vTif~37NeYri9Kj~F zNDxAnlHp-2;406-S5>_<$tYk)F_DuWR+3-Lrx;mKqjHj0ze~ecjm}~?LuW53F& zP|ryD^(b7{N{kMa8Xp6$Sm!!pSE2Nm`zVry)N7 zWyOOEW+FT+HIkj1SjQ2On_%TM1uR?%}nKLsxC7 zR-i>(hh=Kxq5GNPIoM0W7~zANI+(#knJHLN)*#ueEe%TDNKo`M_4m$yeU&(M=MwF> z6PTxpe<=IK9wdmWuz{<->#Qg{(t$ zhTE*;KZ-oib?{sA2zg*9XOY-Jz|MI!)}$}B+N$2es3B&IoylQPU1+gpaZhQ;sZ)r= zWiKfUt%3B=^(j0+oW2j1`eBoWO+K?lE#r>ODm{ie-~+4KJMCmKYTY_G{95B0Mr^r*@r5gd|fLJaU4AWq(hVJ zJBr=|UK7Q73H@be?%gdzUnuH&4WksAlz2Nl{7Q@(z<(fC@xJBDiUB;Mx` zOT#nC3gs$a^!WSMLK3{j?oEF`v*Z{H(jtF9Ll`8J_HB4}5=l-5l@+2jkv6W!z420YV~cQ;q? z-43(THp_1#Uo$7B^WjNOEiz%WKVzj6{|K9lSGwjOP_0z?7lku46g}Zit6|In z<$-9>fWRt(%RR9yl!h?VqQSlda%744<8)@88l+d*lk}lpwPlFADO`R!SSFe~xd9Uy zchxygU8QE7iZtaJ+kQoL50o;C76oW+m#cD%7KkGt5S#D>T%M_$u##UK?ikR-6&mLC z1DT$S*-c&*T*1Am(j^LZwC(Af*p}q11~s-*v%-LTMl7{(y~_wRh91rX-HK1{aaYPq}a<~~2N1B}s@YF~)K<`V@sp5^qE0wTBQ|8N&;7bC`PWpIs zh*jZ7<_gj}*kWPW!S=5dtAS2b(dEedmd0}W_>%w0WG0;T@z{^dxf>C~jxPi{HA$7A zMei?N3M!B7>*-2R_t9<2YFACtzQl=X&S|EFve~8G zwC2BCARDa-om+_ukm2?=8QaE%g~2j=Sq(zXS7`PJrGAmq>Y-C^Tq#DK_iq*|#XbOj z;w`R(;a-=S)vp+fRf*4@wGwR~M^_8Z+JIL!vk*B-FcXMGV8|(Onqh>bw4d;A}WSO+Rb8+o4 zZfOM2TqNqtr5u(qe>EVQQt?m;Y-?v@QQp7&1OBcB-7=eC8IEJ)soN20vZ= zEr3uQ$^j7?JhDyrIXS)YW;#>JByO){`4?E4P8Jhph3SrwRw1p&uNbBp!L7Yd_u?++-PvTxJ2n7c_S(w^$ ztR9)rURwt4A3X~WRI=rCaMq1x{xUsEn=T8i9?LE9 z3J?m`aHfa-I+X)A=1sJEY?}uE8bCHe!JRe>!;B$npHH7+GcoH-Dd*H4h?wOT$u{ZN zTlFv=AC;TJSstAt-LCnS&fKF<#>wXc-BLL?ItBMndF$4<;OO+$3~*8ANnG9FYZz-h zk;8@W+?Oi}-n=86??3Md2N}6<4!YJ!GVZjg;sx`p>{iB5L8=pS)FjZ11B8exSocYQQDLTDeY0DA>nU0Vf!f^^E zX7IWsa2Qo*@YWfo|F#hn7O8m;TS3%rFeyNL^x-o=uu%uVqsvsKWWZb+l@Ak^A3c34 zWY()%3V^vh;Q=1p)k5-%op>!A_T3a8eTq|8Pl6!LlJBlyzVrc!@6>As?K$_{PD5#P z_ImW(QUKQ(>ox2?nNHH(N+r^;R|Zv;H}e}lE5UD+9>0RgEOUcHzDv*TXWuGCi|`{^ zG6l=(xwxC*eoL%T8L~WTWDhQ04ZVMW@T-JG>{!cbckWmV6dYr)lQ&ntw_pb_9cB(H z`7eZu&+@9dR<()Gx>iwXWkkaH9&1SlWTjZjkdQDcs0Z+9d_qx=k5e3t$^-)v*0oz1 z*uX|3{zrg>5lsicqfvpM2t^kfi-Y$Mpo)*vX6yH$if8LphI#2Rl#jJO%QdP^MVb!7 zeg$v&4?=fFo-e^$(v7%Q@#w=3*8_irvpz!r>-X*>&?J;TDPbcw3qBCeQWcNW>0bBAp1?WfRjNqa*K?Q)t-j zDG%MGTVj&jEpPo+Std-VoBBXj~S^9Q5&8ezJ4Y+pDW;SR!y)oFIwoB9}Hp` zoz{^&HO9Q$q6~fIPQVmZk~4hP(o+J%3AdW~q8jp6kXe%c!a__B^|+F>O@?m+&iKj( z_u@ng4S`qnADj7Qm0IH{n~H7+S&pWM4C{;a_~_CqE0~|&3H9XGC+h2gW^Knd2{_WZ zvcC9zvV#>&EB5Snkr3zUWpmNl(h?yS1qHTeBG;Ni8uD(M39>@7K$a3g%s*RVo2e~^ za=xGb4_{vy6-Uslo#0MzcZWp+i!YwVf)gMM0YY&1-~ocWyN1P`MMH3RcZbDY13^FD zd+(3$$31sv&*|Qp>YC|2RefrDx}WFqF#(9Y`ZvPS|HmS?Z0rwL@-}7INn^42$*O{^ za(RQ1Nq6c!p%6V`ydS6Wp{4^Xn>%}X)&|>1y}|yz z_t*pu78VI#mj(OipAR74{`3LW=BW3-H!2>i{R~RMv>SR#e{=OPlKTz0oeFlaycL zVU}b$D7H{DqUZxg%9f(Vzjn+>GL?dxbygt4GF2!5;iF<%YA~7dl~k!M;WSV6Y?LqS zY(tnOX`>t5P_bV58@cSbZA^buOtq z`W1J4h4n)e&3CT(Jo!0{;~%Om!}0Y_OvSJJ5wuv`QQbAHIKV6dvogkH@rcn>G!_RX zNR{eLq)iR#e#do^s-HXm)MxQ(O(&wH@6>tQ=31(I)@w4`Lf=j1sxgq%MWMx2RK2mx zwcM2F*Opsmm3}VOP5wq9Tv)Im8*R(hfEV>qD>UD~u%4v;eG_mZuno^zL(~>Z$}?DF z=07bEjwch7MR@8Nx!YG09A-f=IWtX-T^IF5Gp0cu7vVw-X5J%k2qxC7+PEyXMQT^c z@$~Nz_}MnOcW02#(JZ7jD*!V+xAF|NH8CpDV#&3gLG^*E-eA{6QLeDoL^-e^<0mf2 zHaLAYjj%;p1c&k1GW>jBYO^G(HNd4tVo9Mzmv5mbynFKo z3k%cOdN|{&ApZ|G+XBgJW&cp-Feuj+h;(BqpYeS{fE)qkHrDR-YBJUDgMkK0%f-Q> zB?nm(0;QWOR`)~swx490b(JTnEGcHyChf#I(;C#VY5&&O1}ZIEY>7>j0^g}FThPZ7 zFk3kx*g^-J2y7E+8zu=quV5fCH{iu}%+x3@Td)&8mmEeyZGlAD>m^o5lLG1YoUvLI z`LBZdyYOZ9hRM35+~Iw+DS`Chr6Nn+&=1QN$ zxcBLe0&0k4IO)I6qqx%PPI7|7uz^5q|5e^qB%JTVAH2?^nak$x9h*yZm-`Q1sasra z{Qe?&h8`>Ms?GT*H>^aMU~-fWCQoq_3?{cR>nXM?G3wo?+psZ!Bp1#O7e7Eis zmhEcuZmpMsTyj|Jm^#Hp#%jY1AgEaSr{cP267e?^RG4s& z$8xhXrc~+qm3HrZQJBT`&f_Rr$IQfh&s8Ahq0lDu33WI49N18JluY!2MDhCs)Y z_e_LzvA1W3oOvmK;TqL>dZ+|5xMWApxs3frlY~z0{fPi(eEIrJ)`5C8Ch7KP-8AEX2fl77j4(hM9UeO&P8!u}Z+x{?Zq5scIk-Vbl&G~#>d=E=?c9^4>+kwgR2T9aZVBx?|y@4gT%ePorB9Bl?>uf9e> z4Lfh?&*b+{O}*W_Oh13W-==^Y9?rkXz_nHNfxT!tB<`f@V`(`$jgdqhUbx5{(mmSj zBsuHhX9DrO)o1mw^z+St4+N9N#>%;27OU4-^(NV`xMFi{ZSOn`{#jt`TJJEdn_7I* zCruUN7;t+=-`M`1ty#(*ngu+8s-n(ImU+w(=SV5Jx)hsvY2Lc9rM z^w2-eRZ<+D03V@t?~3r;{;81P_UXLKIr;rlaypO%2K&M5&-ZW6IbiVD_HoYPpzjXT z#$lkpo^kyuF$K63g|L=a0Yr-ZBbZ9;`m?q+B4qvNYv~t=WMPi>s~?6CqXGudUA#)z z5oY9Gbq5pKpzyg}QW5>+w_X07&%7Hh5ZIqpNBSVH;Ws78U@y^Tz~b5~X;k4buU{2F z2t42dL9tNKcWH$V$LpT~(c@nAxF0(1-YwZjE6m5=27z9l20f^g< zC{}~h=42fn1c!?%Ii{hJ3;#hUc&%VltTDf8$lN`2zitH1F}27@eMKkmNmdzFd7Z_M zUD&G4^iQzuQ~iMUy1slO-m6bex^NtZj^-{FU2V}f?Yh`tS>65HnCudW7nx&4HVR$|9)_C&MJh@Nu@o;1LG5$S3Z$Q=}?L;3j zOJ$h&r%K^Rtxu{r{Du>@!r|pqwqKa+hSkd(C#g){9W+p`;+ZHv<}W)DrlCUrU<$4# zLkB3RwK$Srb!^TjpG;)_)2ePool_9Mk%{sI>Pxifq8Ck%0=zGcg#eB5%mSQW^Ktfq zJ%8`EScm`|I!FHsHjt4(5j)ihmi|vp-i>sxvJ`LfRS`7>-GgH&8xhu4`kIrwQntNM zu;!Op57yv9eIV*;<6N}$kGqBx5KK3yQ{Xhq)Nq+u{m#+2@kK0c8Fn*UKs|?}^zkid zJ8AV=cI8^FP3fO<+5T32@r|`!`U>J}!`2t#C0` zv;MiRR>{%%l~Sw-UpqhWAPc|6`eyPli6)B3(MGSw@RR;(+TmeveTC?ZRtG@gQTRCV zhzwraU=z|7?v0~5wAK^c$p%-rmUdC5#CZcbn$c0GJFYrDd|hv%R5b=`3%7vz`ju7D zo7s`;>caNR(CGeoqJ_4F!-rqm%Br@`W!)aKReXr5oTqsvsd@6MzM;#j_DCD{W(@lc z>)B1dE;0 zlwFo}U+Pb3ouK1zJ&Pedl{CAvSyH9Fp(nU1rFd_J?7uN2O{ZyCK`RB#yKsLs&7-3( z5xHOHeyh_!NS9Z&Ws9Pe+4O2!53$M5v8WB>&AY_+E{A2TB^5et3?`*ztj5JU*S4~* z^$6YwgsHt$hwQZGheWo2lw9kbtQ=9?Aw^x`Er{3QTx{ijB7CP(q7r%42*p+BB;j2c zSFCCkuiePkMp=qcxz>t6`PF-xSEVb2c2gSGcF#D_Tv=R&&n#_AbXfLwPV3x1GJL=6 zJUsaD_d6e=G?&e|=r-~$TZ+TeU$135i8!svVHsVW>x{|w!?I(ss)LvroucmM>>tHg zfSXw|AvE($X6fRpG0A_+Sk5jpTR1_kC}YuNG?;%_%hj?nbX7SpIJ_6ZAFb6t$4xHG z;3KPley^<@Yv(HSfOL3?M$tWhWY}+m^m%p({Qwm>Fq++-J?P2w+`rDSQ8!=m6b)Hx6 ze&eepd4K4`@K1suqP6%*k}p9whO}kKazXVgOLBzT(+PYwHViG=`nIGrl%8ZRtYz5F z!`QP06{SmW#_Z~hAey$RwM8|0uk=o-iJ`&b0)F-#ATYD5oj<^@KmFGzxDbp z2*dTa#3%c21-C(KB*NNP%j;yQR&~cWlPOgw0nfu*zeL!Uv0Axr+H87m+vs0fzL}tU zKA(Ej@k9s=L8EH-IXvnVh;7s5GE66RuJ)}V*EgUgP(;H3l(W{N474N?(J%13zJ^(sJwF$QNeulsWU93Vm;6Frg#z1;VLxVTXJNJK;r zLXB(pn?NGs5h?>vg4%sl4;KyMtV}tHkvy86Nj8X!74?%)#E*EnBGbtO%R2jA&IDO6 z^ED02I-T87MW`6By%{-G7T7#h)jkP$?@9bL+?RUEgo#1u3E(s z)s_yH;L9=KkNQ5;GH6*Rv#YEG)#tUhBBx65$Weg8dF|_gOY{+Ayg6%X>JdGPMo- zQU2s$+U-B!E2T_Dnk?@cx&&JMFv1*-rKX=@;U(^GVbkpR5V!vacTQ^ zJ*Nz{H(9#|E^%I^TV9`xSno_CLtKog^%KD)dy`BM7fWjWWN`Zcbhvgu9CU9={KOvf zBMYpvJE;Y6aiuPRB<@V|LtJdB^;5v}d+OO>!R^T?h>Irm6LW;!7*r3oKL={&jIbMr zio*6AJzUI*pSWUvqfx67xfcE#B-Y5%TV5{yRAd6b*Z0NA`Hf%g0THp9zu?YwK1q0Y=0Hx$sMsa4t+73 zMD@5fB7WkI5g*Enxmp&g%WRb1?;JQKII~=ykqy2S)7eUbFzRbNVr1?!Q3>;t@Ina8=WbaE}%Z;;PL4 zoUtvfOZQp8vl8_yH-OGCeBAWn(4$3`xGJsR+Vo=Y%KhY(b~UCww)bfF!V}W+gW5i} z*Kh>RZF&*x@wfvpNbRREz3B6JOaiPi#t4pXjb7fBK_2Tt&z{8g+5LJZ7s(ziTEzBQ z{mUj74VKsL#0_qp61CN>$p(X6C6+B7#My~`!zP<^mZ0~T%U*l+0Gl%y1#Dv$=n2Gp zm~tNmJQ|U6Ck5#hIvTz<9h!y+CH7^QZeCbkn-Oy*^>srQ49adzJNqrKzYyaTT{uCS zoXN+Bx<;qn;ef{<3x2V**SJ%IHIcEUdW+ns**qy7&^`Te=t#gR*7YM}N9a?`H$<49WGgkhu#k4k1md zQ;{_L)0GpUuOo-6?sQHnur>TYUE~07oB*2PT)ckmt%=G>iz@0bBZuF<%^!_R! zGoh~numXsB&JH?Rz5fGnmxz)`2=Xet_y%eEK`vP9kN|x4CZ>+1NYrN=U8?eF?^_&=V;(RvvYAf8$v=h}5B!(%d0(XU-=K?*2FrmO^ z0nF#@KIdA82cSV}(E3NHd2MxepW#SX_q2OA0K^-01Zh$suSyPDAB3O4+#f(|bP;YN z@GO}79%zjz!fh08Z*uXvsjLz3tWE7J8sRn$7lXNvgVs1AmS5`Kh|d!GAIvU(c(nKu z)5P|pnq5eFcsmgL3dZ0LZpmETRRhF9F);&M3|Du>fM)}0nylXSakw$;ZUH3D6%jKI zCxG4cfS#p@a}xVm%r9`S?&Kieiqtvjy%J;a9Fq%64{uN6oVb38(Jj8KJ9CJ)Hg!%` zuf#aq8Fsett^mL(QX?(;I+teUXm#Nu&%MW&k!mXEJKXiV-afqA9`KQr5mvh>y^GPEJ2VD-3SFdwNy|p&k(NrnWDY5(|e*mCF@>zxfo!8s83eLQ#E!%5B#y`I5a5K%&*!A*&A+)vvbNSYZoj7je9vYcx9s!GjKoB8$x{ z!$`bzSRsC}q)R_}NF_|WoRW~b zQ~lzyed(sDfp6V+<}s}aOoM(c8a@9wyP;h?WsTG8o;W|YS)byd8&(Vv${0dArXXhC zWcqH8!_1RQ;Ku~?S(yR4YK?4sw&B=LGlDO3`a>`i=~gxk97;Clfv*X;KW6oZSkwF} zLa~tLhQ9DFd^KD zgHJV*SqQ>^PDr+3PGguzry)|V77{LT9jkWJEi4~^n-XsE>)S)<+UeUHs2vFcD(l*D zc4T$7=G%2>KAbRwS9NH>I27&oRmDb96IDURXsy}JkHvrj6- z@#swG^1C%|u=K|XS(9o@G3()lDu#9Yku$su{+z!Lt~(D^=U#;Jw6N(NE&;lPs4JVm zBFn>R;HEAUruSk;dnvc5GNiC`QjwSzD|K987|S&6Z6gOHmL8|6{J#I{lUyb$4FDp5 zJY4t{VgN}FkxK@EA4{GuFos|VkF_Q>HN~Tyuy|NUZ!0pS0ckk-D?}Zl9e9=u5OAs2 zZ=_iY2gnaex|BU%I1RxvjTX}Z0#o&Tg&PR4*Ek0(#}-(`YrVL)DW=(fZeWVQj`Se_ zI47A_8ZAZxiq~Y0%iBi&bWJ^%jl#qrHk7vGb{gMlG4l-2>ffTJXgr&L{>~VI{pSRm z&G{1s{@{0d%u+(Uv@+k8a#-qTcUyDV0_*CpJG%PJ3G&h|mO0Uz019}Mc>(M6m{V)- z49Zt&dF^+d#?Xb>)R+L!11;Hrcx!x4kjUPa^hgKKAT(=eC*- zp#~4@5c>2(;s-9~n=~1w>81vWc5Wx6;dPphGuz`?lf#+p_(|^}9!hzX+#-4*Juh9- zYym9PxXxfpdm8I6G)gE);-luDybMUQ1+mtdy6rn1)<2_%#J+8of1|%GVAM3qL#c?u z%78{RZ$}cmjNNTyQY{>ZJH&JSYIE$&R*kHtOY}nr73SMLDVz`3c;72mnJC@-;qp#| z*yvWcnEl-wLgAEtoV+>eCkC5MB$Vq6s8%xXdMjI5D9`-i7ET=`_%8FQhikWkrtsxL z{Vyj@an8a*(R8SZ>_Ek0eI`mBfB0u7$tvl{mN^DWu??YUN&(kvPO@21;ZoN#cisi} z=E(}B=0YMzY9SR`RKlW-R#o>*fc67au_5wBNm6Jz%LFJbjT!vpnO4Zaxxp%=^yUiX>d<$ihuuk$$in$Uos!{Y8%^1i zYQyQWoMk7Bl%oC&EU2Kl(SY0ps$U|DcpJa{LGo)h>DRSO2K1)f4lD9FCV6xT19ilW zlp+3bW+y@q>QleRU`nu68y~IUYd0|*!7H!bj9SNYQmAj`K?1$80Qc zq4N{6I&jo5c#rE+QoYWDZ!Bs}8Aor*A?I;q=brC2_H8Mn6?NuAQwo-Q6hF-=@0Z)S z?m0P-@OPePNfg4RTt5UXbB^vO6UmOD?Tn~@QK$oN-PyPEemBntY*+7)`qFrj;KsdG z(;oH3=#EL;G~%Vrz(S^q*0_=5B|MNnb$AJ*Y`BxTfiZmQVKDJCn0u5Yjn)X38+-#o zO^gw`x=1zsN;hcZ<7QAy8Iyph#>2}0w%@sT`3Bu-p)^5w$PwxUQospZRZID~oLY#b z8rNy|Hl4m^DT0@n`zPGeiBS11ZC)XLHl565S<7Dj3-d^A;O4b-8<05tY-TarpJ+_OA#aOi?pctc!z%=BqeZs*wI)$a}HVw5{p zkU^@f;{+T3C_HSkCK@F+)1FnhuD?k0h?@Dz{P2qB zkOVi}?y!<_jNiE{b830Li=vs;arN70WiI!$Sfiz=BYvmFt-|h`dAoVT2VCKE@ehht zg2Gh^!^vV#4+KqX)nBO4%Wg<|xPZQ7*@B(M90jp$OUe^^$>^?{^5!Rf*8)swS8oq0 zR#Vr0F~V7D4k}lh)|gV*YNYS21q*KnOtw55a5&zKgGG|h5)e7V#VymGQW|Y>I1|9j zNe76E(uU9tl6yUpBYPkD_l3Eb9!;w~k1 zd^`X*;Z7=kFxFzdc<_oAd|0cjjjEtwVC*C$4}04qiftLoSh69YK+dS}Hdz5 zqICRBEOSEO_RkGnnRIFVnJrqu{1Qe5pUgpPTJ*&?ol(KSEXI=We7`Xnr2=p^IBnux z#O2R%qhn20^ZVdB)^UO7-hKz4e=_zgA!1!C#jBOmr0N*kD#RZjdM?MB#UVWj^Ne*Y z*~HuBwpqha>I{AzM!;$55RJIxXqkIcXg zJzwIh+Yqku%10Rvs1Nm+tyJS(qqD8#G38-v6OCAw!tvz~SNJlz*^EbLz&%e}2}EA*cN`{_41ee$FcI|*|izcAJ2~{f?mVH z9A21RFYX*cH10W3()JY=xc05?4Yxb)Gs{4OwPpI}@<#oZ86WTzxBch&c>A3%PBDqwr(ng;sb_f?s&?#qv_-C39Qu89d1Lyfawx ztTh<(bQGU+*RG&)btbQJd!{mWP9y*0P$E9_KqBdJPx^I=p zzVD|jb@Z~2+VO{(iWT=eLtC?>?9-)sTFJ$yUm(q%pG*yI>V}F+&2_XZ3_d}ip5PtK z*)k5p(%q!0Pxd9=t)Awl8HZ0vS*0=m=g89T@jjhr7{QY zd9730nN$uC)zBX@_YVm7Q94Ke?n`}dzEAEf%Vnq?DZHC1Vr~%{I*@@D>K7Ul`XNv; z|HJE7)+AKXq-P|}xg6qrS~4eb@$UrMg_xrCVWTu0C$coP1DlAVscH+cmVI(WXK+_I z>6^hP%Uz-*I|CiEUF;-N4Xp-9rPBy`lJ%Na#)xc^c|$3JW^qG?m{lX2R&Sw3Qktih zX}VSxdMWdC!P1DwtP#qmMly|7vkx~J@A)n4N{#r+WR>Nk0%jSzW`Vn9UZLu^ctzBk zS~o}vguw+s68pH$Wx_B@UB6okIsr|}@9GGDr|7+vBGi>i7UYK2q&cc{c-0ll9Q@|; zBIh<~Z6$?mJL!hxkZom{PCgJ3{YqC9ll|wp}iv!`x+lGpAsF&YvB=JLVv6UaeHv1G!Ys) zB6B%%ayc`g{3bGV77cE~Tt657vWeL=l)^KjbIxhljb_;I=8ZXjhtszAhja(^&i|!{ zRH8427j+(do)BpKh2B9X?>*i7CbpU;ri&)du+&78M*v%DJn)hJpoxL(P7B7vxp=4S z#KZ7=Y#KJG5DQ{az{vcxcxp0a$6^?sMWwNO9LHXyahSP0wGE0D*yBEMke)gTziu8^ zY}aE9u&c-VQ^9+fo$Pp9uGCCo`ik`Fb!zNEs?Hp94D$G9IAQeHRBWDWvafO`?t8t# zSHYv82DSc0{H(9HN8pA}+zqHMrJU2l$5O3b$wx|F@>MV*&x(qfBb%hPuVpvHdeEyA zqt?;6!>qrdTrk(>p1C8ZP3}i}Q>p2yfIrA|esKK|@1( z(QA0^PR{jtZMPMywu1M!Zvr(EwXXU$Gl zS}mXXc;xL~)tSVb>kD@xl!jTSerci#^6w7wJz@m6%5`MrVA^H2af~!R;3K3OZH1m> z>IR&A#`o!}WMD~^OyH3x?N0(@n*3>Di-hw!^xW;Q%;bv`J}E*r*sQK9q09 z2k&aW*L!3d{uO|3d9Oe^kU&esE{@8fh!Akn`(725cYs%Aa~C$fYj)|wo{-?%zO2qD&M;M>pEtIIhyfw&?t(q{Oo5I}#m99TtDczn2h-3BT63E1*7Y*r%H8kF94g$sQOnPfIeNOiGE;umyCut9EgpisU{4t4DSlXE~s=J!Hn*O)rL}}@35||VI zSX*VJ=(;2#D*f;)6v!ONYLSGZ_OJR|cL=hSlwL}8Z-G(5qK$~LXzP*vzLJ-g7aW`9 zB(l@e*2~iT9@BHuaLZzOZx!&XOHzS(Pwe4G<`rm9_-r?(-S-(=QX kF-h#lNtCW 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 literal 0 HcmV?d00001 diff --git a/main.nf b/main.nf index 550ab6a..a167f64 100644 --- a/main.nf +++ b/main.nf @@ -9,57 +9,32 @@ ---------------------------------------------------------------------------------------- */ -def helpMessage() { - // TODO nf-core: Add to this help message with new command line parameters - log.info nfcoreHeader() - log.info""" - - Usage: - - The typical command for running the pipeline is as follows: - - nextflow run nf-core/epitopeprediction --input '*_R{1,2}.fastq.gz' -profile docker - - Mandatory arguments: - --input [file] Path to input data (must be surrounded with quotes) - -profile [str] Configuration profile to use. Can use multiple (comma separated) - Available: conda, docker, singularity, test, awsbatch, and more - - Options: - --genome [str] Name of iGenomes reference - --single_end [bool] Specifies that the input is single-end reads - - References If not specified in the configuration file or you wish to overwrite any of the references - --fasta [file] Path to fasta reference - - Other options: - --outdir [file] The output directory where the results will be saved - --publish_dir_mode [str] Mode for publishing results in the output directory. Available: symlink, rellink, link, copy, copyNoFollow, move (Default: copy) - --email [email] Set this parameter to your e-mail address to get a summary e-mail with details of the run sent to you when the workflow exits - --email_on_fail [email] Same as --email, except only send mail if the workflow is not successful - --max_multiqc_email_size [str] Threshold size for MultiQC report to be attached in notification email. If file generated by pipeline exceeds the threshold, it will not be attached (Default: 25MB) - -name [str] Name for the pipeline run. If not specified, Nextflow will automatically generate a random mnemonic - - AWSBatch options: - --awsqueue [str] The AWSBatch JobQueue that needs to be set when running on AWSBatch - --awsregion [str] The AWS Region for your AWS Batch job to run on - --awscli [str] Path to the AWS CLI tool - """.stripIndent() -} +log.info Headers.nf_core(workflow, params.monochrome_logs) -// Show help message +//////////////////////////////////////////////////// +/* -- PRINT HELP -- */ +////////////////////////////////////////////////////+ +def json_schema = "$projectDir/nextflow_schema.json" if (params.help) { - helpMessage() + def command = "nextflow run nf-core/epitopeprediction --input '*_R{1,2}.fastq.gz' -profile docker" + log.info NfcoreSchema.params_help(workflow, params, json_schema, command) exit 0 } -/* - * SET UP CONFIGURATION VARIABLES - */ +//////////////////////////////////////////////////// +/* -- VALIDATE PARAMETERS -- */ +////////////////////////////////////////////////////+ +if (params.validate_params) { + NfcoreSchema.validateParameters(params, json_schema, log) +} + +//////////////////////////////////////////////////// +/* -- Collect configuration parameters -- */ +//////////////////////////////////////////////////// // Check if genome exists in the config file if (params.genomes && params.genome && !params.genomes.containsKey(params.genome)) { - exit 1, "The provided genome '${params.genome}' is not available in the iGenomes file. Currently the available genomes are ${params.genomes.keySet().join(", ")}" + exit 1, "The provided genome '${params.genome}' is not available in the iGenomes file. Currently the available genomes are ${params.genomes.keySet().join(', ')}" } // TODO nf-core: Add any reference files that are needed @@ -73,22 +48,15 @@ if (params.genomes && params.genome && !params.genomes.containsKey(params.genome params.fasta = params.genome ? params.genomes[ params.genome ].fasta ?: false : false if (params.fasta) { ch_fasta = file(params.fasta, checkIfExists: true) } -// Has the run name been specified by the user? -// this has the bonus effect of catching both -name and --name -custom_runName = params.name -if (!(workflow.runName ==~ /[a-z]+_[a-z]+/)) { - custom_runName = workflow.runName -} - // Check AWS batch settings if (workflow.profile.contains('awsbatch')) { // AWSBatch sanity checking - if (!params.awsqueue || !params.awsregion) exit 1, "Specify correct --awsqueue and --awsregion parameters on AWSBatch!" + if (!params.awsqueue || !params.awsregion) exit 1, 'Specify correct --awsqueue and --awsregion parameters on AWSBatch!' // Check outdir paths to be S3 buckets if running on AWSBatch // related: https://github.com/nextflow-io/nextflow/issues/813 - if (!params.outdir.startsWith('s3:')) exit 1, "Outdir not on S3 - specify S3 Bucket to run on AWSBatch!" + if (!params.outdir.startsWith('s3:')) exit 1, 'Outdir not on S3 - specify S3 Bucket to run on AWSBatch!' // Prevent trace files to be stored on S3 since S3 does not support rolling files. - if (params.tracedir.startsWith('s3:')) exit 1, "Specify a local tracedir or run without trace! S3 cannot be used for tracefiles." + if (params.tracedir.startsWith('s3:')) exit 1, 'Specify a local tracedir or run without trace! S3 cannot be used for tracefiles.' } // Stage config files @@ -105,13 +73,13 @@ if (params.input_paths) { Channel .from(params.input_paths) .map { row -> [ row[0], [ file(row[1][0], checkIfExists: true) ] ] } - .ifEmpty { exit 1, "params.input_paths was empty - no input files supplied" } + .ifEmpty { exit 1, 'params.input_paths was empty - no input files supplied' } .into { ch_read_files_fastqc; ch_read_files_trimming } } else { Channel .from(params.input_paths) .map { row -> [ row[0], [ file(row[1][0], checkIfExists: true), file(row[1][1], checkIfExists: true) ] ] } - .ifEmpty { exit 1, "params.input_paths was empty - no input files supplied" } + .ifEmpty { exit 1, 'params.input_paths was empty - no input files supplied' } .into { ch_read_files_fastqc; ch_read_files_trimming } } } else { @@ -121,11 +89,15 @@ if (params.input_paths) { .into { ch_read_files_fastqc; ch_read_files_trimming } } +//////////////////////////////////////////////////// +/* -- PRINT PARAMETER SUMMARY -- */ +//////////////////////////////////////////////////// +log.info NfcoreSchema.params_summary_log(workflow, params, json_schema) + // Header log info -log.info nfcoreHeader() def summary = [:] if (workflow.revision) summary['Pipeline Release'] = workflow.revision -summary['Run Name'] = custom_runName ?: workflow.runName +summary['Run Name'] = workflow.runName // TODO nf-core: Report custom parameters here summary['Input'] = params.input summary['Fasta Ref'] = params.fasta @@ -152,8 +124,6 @@ if (params.email || params.email_on_fail) { summary['E-mail on failure'] = params.email_on_fail summary['MultiQC maxsize'] = params.max_multiqc_email_size } -log.info summary.collect { k,v -> "${k.padRight(18)}: $v" }.join("\n") -log.info "-\033[2m--------------------------------------------------\033[0m-" // Check the hostnames against configured profiles checkHostname() @@ -180,13 +150,13 @@ Channel.from(summary.collect{ [it.key, it.value] }) process get_software_versions { publishDir "${params.outdir}/pipeline_info", mode: params.publish_dir_mode, saveAs: { filename -> - if (filename.indexOf(".csv") > 0) filename + if (filename.indexOf('.csv') > 0) filename else null - } + } output: file 'software_versions_mqc.yaml' into ch_software_versions_yaml - file "software_versions.csv" + file 'software_versions.csv' script: // TODO nf-core: Get all tools to print their version number here @@ -207,14 +177,14 @@ process fastqc { label 'process_medium' publishDir "${params.outdir}/fastqc", mode: params.publish_dir_mode, saveAs: { filename -> - filename.indexOf(".zip") > 0 ? "zips/$filename" : "$filename" - } + filename.indexOf('.zip') > 0 ? "zips/$filename" : "$filename" + } input: set val(name), file(reads) from ch_read_files_fastqc output: - file "*_fastqc.{zip,html}" into ch_fastqc_results + file '*_fastqc.{zip,html}' into ch_fastqc_results script: """ @@ -242,8 +212,12 @@ process multiqc { file "multiqc_plots" script: - rtitle = custom_runName ? "--title \"$custom_runName\"" : '' - rfilename = custom_runName ? "--filename " + custom_runName.replaceAll('\\W','_').replaceAll('_+','_') + "_multiqc_report" : '' + rtitle = '' + rfilename = '' + if (!(workflow.runName ==~ /[a-z]+_[a-z]+/)) { + rtitle = "--title \"${workflow.runName}\"" + rfilename = "--filename " + workflow.runName.replaceAll('\\W','_').replaceAll('_+','_') + "_multiqc_report" + } custom_config_file = params.multiqc_config ? "--config $mqc_custom_config" : '' // TODO nf-core: Specify which MultiQC modules to use with -m for a faster run time """ @@ -262,7 +236,7 @@ process output_documentation { file images from ch_output_docs_images output: - file "results_description.html" + file 'results_description.html' script: """ @@ -282,7 +256,7 @@ workflow.onComplete { } def email_fields = [:] email_fields['version'] = workflow.manifest.version - email_fields['runName'] = custom_runName ?: workflow.runName + email_fields['runName'] = workflow.runName email_fields['success'] = workflow.success email_fields['dateComplete'] = workflow.complete email_fields['duration'] = workflow.duration @@ -389,28 +363,9 @@ workflow.onComplete { } - -def nfcoreHeader() { - // Log colors ANSI codes - c_black = params.monochrome_logs ? '' : "\033[0;30m"; - c_blue = params.monochrome_logs ? '' : "\033[0;34m"; - c_cyan = params.monochrome_logs ? '' : "\033[0;36m"; - c_dim = params.monochrome_logs ? '' : "\033[2m"; - c_green = params.monochrome_logs ? '' : "\033[0;32m"; - c_purple = params.monochrome_logs ? '' : "\033[0;35m"; - c_reset = params.monochrome_logs ? '' : "\033[0m"; - c_white = params.monochrome_logs ? '' : "\033[0;37m"; - c_yellow = params.monochrome_logs ? '' : "\033[0;33m"; - - return """ -${c_dim}--------------------------------------------------${c_reset}- - ${c_green},--.${c_black}/${c_green},-.${c_reset} - ${c_blue} ___ __ __ __ ___ ${c_green}/,-._.--~\'${c_reset} - ${c_blue} |\\ | |__ __ / ` / \\ |__) |__ ${c_yellow}} {${c_reset} - ${c_blue} | \\| | \\__, \\__/ | \\ |___ ${c_green}\\`-._,-`-,${c_reset} - ${c_green}`._,._,\'${c_reset} - ${c_purple} nf-core/epitopeprediction v${workflow.manifest.version}${c_reset} - -${c_dim}--------------------------------------------------${c_reset}- - """.stripIndent() +workflow.onError { + // Print unexpected parameters - easiest is to just rerun validation + NfcoreSchema.validateParameters(params, json_schema, log) } def checkHostname() { @@ -419,15 +374,15 @@ def checkHostname() { def c_red = params.monochrome_logs ? '' : "\033[1;91m" def c_yellow_bold = params.monochrome_logs ? '' : "\033[1;93m" if (params.hostnames) { - def hostname = "hostname".execute().text.trim() + def hostname = 'hostname'.execute().text.trim() params.hostnames.each { prof, hnames -> hnames.each { hname -> if (hostname.contains(hname) && !workflow.profile.contains(prof)) { - log.error "====================================================\n" + + log.error '====================================================\n' + " ${c_red}WARNING!${c_reset} You are running with `-profile $workflow.profile`\n" + " but your machine hostname is ${c_white}'$hostname'${c_reset}\n" + " ${c_yellow_bold}It's highly recommended that you use `-profile $prof${c_reset}`\n" + - "============================================================" + '============================================================' } } } diff --git a/nextflow.config b/nextflow.config index faf958f..f841fa7 100644 --- a/nextflow.config +++ b/nextflow.config @@ -11,13 +11,13 @@ params { // Workflow flags // TODO nf-core: Specify your pipeline's command line flags genome = false - input = "data/*{1,2}.fastq.gz" + input = null + input_paths = null single_end = false outdir = './results' publish_dir_mode = 'copy' // Boilerplate options - name = false multiqc_config = false email = false email_on_fail = false @@ -34,6 +34,9 @@ params { config_profile_description = false config_profile_contact = false config_profile_url = false + validate_params = true + show_hidden_params = false + schema_ignore_params = 'genomes,input_paths' // Defaults only, expecting to be overwritten max_memory = 128.GB @@ -57,10 +60,21 @@ try { } profiles { - conda { process.conda = "$projectDir/environment.yml" } + conda { + docker.enabled = false + singularity.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud = false + process.conda = "$projectDir/environment.yml" + } debug { process.beforeScript = 'echo $HOSTNAME' } docker { docker.enabled = true + singularity.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false // Avoid this error: // WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. // Testing this in nf-core after discussion here https://github.com/nf-core/tools/pull/351 @@ -68,11 +82,33 @@ profiles { docker.runOptions = '-u \$(id -u):\$(id -g)' } singularity { + docker.enabled = false singularity.enabled = true + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false singularity.autoMounts = true } podman { + singularity.enabled = false + docker.enabled = false podman.enabled = true + shifter.enabled = false + charliecloud = false + } + shifter { + singularity.enabled = false + docker.enabled = false + podman.enabled = false + shifter.enabled = true + charliecloud.enabled = false + } + charliecloud { + singularity.enabled = false + docker.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = true } test { includeConfig 'conf/test.config' } test_full { includeConfig 'conf/test_full.config' } @@ -117,7 +153,7 @@ manifest { description = 'A fully reproducible and state of the art epitope prediction pipeline.' mainScript = 'main.nf' nextflowVersion = '>=20.04.0' - version = '1.1.0' + version = '1.2.0dev' } // Function to ensure that resource requirements don't go beyond diff --git a/nextflow_schema.json b/nextflow_schema.json index 2a1f42e..1ee7019 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -104,12 +104,12 @@ "move" ] }, - "name": { - "type": "string", - "description": "Workflow name.", - "fa_icon": "fas fa-fingerprint", - "hidden": true, - "help_text": "A custom name for the pipeline run. Unlike the core nextflow `-name` option with one hyphen this parameter can be reused multiple times, for example if using `-resume`. Passed through to steps such as MultiQC and used for things like report filenames and titles." + "validate_params": { + "type": "boolean", + "description": "Boolean whether to validate parameters against the schema at runtime", + "default": true, + "fa_icon": "fas fa-check-square", + "hidden": true }, "email_on_fail": { "type": "string", @@ -153,6 +153,13 @@ "default": "${params.outdir}/pipeline_info", "fa_icon": "fas fa-cogs", "hidden": true + }, + "show_hidden_params": { + "type": "boolean", + "fa_icon": "far fa-eye-slash", + "description": "Show all params when using `--help`", + "hidden": true, + "help_text": "By default, parameters set as _hidden_ in the schema are not shown on the command line when a user runs with `--help`. Specifying this option will tell the pipeline to show all parameters." } } }, @@ -176,6 +183,7 @@ "description": "Maximum amount of memory that can be requested for any single job.", "default": "128.GB", "fa_icon": "fas fa-memory", + "pattern": "^[\\d\\.]+\\s*.(K|M|G|T)?B$", "hidden": true, "help_text": "Use to set an upper-limit for the memory requirement for each process. Should be a string in the format integer-unit e.g. `--max_memory '8.GB'`" }, @@ -184,6 +192,7 @@ "description": "Maximum amount of time that can be requested for any single job.", "default": "240.h", "fa_icon": "far fa-clock", + "pattern": "^[\\d\\.]+\\.*(s|m|h|d)$", "hidden": true, "help_text": "Use to set an upper-limit for the time requirement for each process. Should be a string in the format integer-unit e.g. `--max_time '2.h'`" } @@ -218,6 +227,12 @@ "hidden": true, "fa_icon": "fas fa-users-cog" }, + "config_profile_name": { + "type": "string", + "description": "Institutional config name.", + "hidden": true, + "fa_icon": "fas fa-users-cog" + }, "config_profile_description": { "type": "string", "description": "Institutional config description.", From a9863a2ab9065209d284f6ed8f8c524a2b5945aa Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Fri, 19 Mar 2021 13:07:30 +0000 Subject: [PATCH 015/137] Template update for nf-core/tools version 1.13.1 --- .github/workflows/branch.yml | 12 ++++++++++-- Dockerfile | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/branch.yml b/.github/workflows/branch.yml index 61f9f17..9929180 100644 --- a/.github/workflows/branch.yml +++ b/.github/workflows/branch.yml @@ -23,11 +23,19 @@ jobs: uses: mshick/add-pr-comment@v1 with: message: | + ## This PR is against the `master` branch :x: + + * Do not close this PR + * Click _Edit_ and change the `base` to `dev` + * This CI test will remain failed until you push a new commit + + --- + Hi @${{ github.event.pull_request.user.login }}, - It looks like this pull-request is has been made against the ${{github.event.pull_request.base.repo.full_name }} `master` branch. + It looks like this pull-request is has been made against the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `master` branch. The `master` branch on nf-core repositories should always contain code from the latest release. - Because of this, PRs to `master` are only allowed if they come from the ${{github.event.pull_request.base.repo.full_name }} `dev` branch. + Because of this, PRs to `master` are only allowed if they come from the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `dev` branch. You do not need to close this PR, you can change the target branch to `dev` by clicking the _"Edit"_ button at the top of this page. Note that even after this, the test will continue to show as failing until you push a new commit. diff --git a/Dockerfile b/Dockerfile index 106ab01..d0a68d5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM nfcore/base:1.13 +FROM nfcore/base:1.13.1 LABEL authors="Christopher Mohr, Alexander Peltzer" \ description="Docker image containing all software requirements for the nf-core/epitopeprediction pipeline" From 5c391d6049ba7dddbf017da8ea8254937643fd92 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Tue, 23 Mar 2021 15:48:27 +0000 Subject: [PATCH 016/137] Template update for nf-core/tools version 1.13.2 --- .github/workflows/ci.yml | 2 +- .github/workflows/linting.yml | 57 ++++++++++++++++++++++++++++++++- Dockerfile | 2 +- bin/markdown_to_html.py | 0 bin/scrape_software_versions.py | 0 lib/NfcoreSchema.groovy | 2 +- 6 files changed, 59 insertions(+), 4 deletions(-) mode change 100644 => 100755 bin/markdown_to_html.py mode change 100644 => 100755 bin/scrape_software_versions.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3063542..32183b8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: strategy: matrix: # Nextflow versions: check pipeline minimum and current latest - nxf_ver: ['20.04.0', ''] + nxf_ver: ['20.04.0', '21.03.0-edge'] steps: - name: Check out pipeline code uses: actions/checkout@v2 diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 58e281d..fcde400 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -19,6 +19,34 @@ jobs: run: npm install -g markdownlint-cli - name: Run Markdownlint run: markdownlint ${GITHUB_WORKSPACE} -c ${GITHUB_WORKSPACE}/.github/markdownlint.yml + + # If the above check failed, post a comment on the PR explaining the failure + - name: Post PR comment + if: failure() + uses: mshick/add-pr-comment@v1 + with: + message: | + ## Markdown linting is failing + + To keep the code consistent with lots of contributors, we run automated code consistency checks. + To fix this CI test, please run: + + * Install `markdownlint-cli` + * On Mac: `brew install markdownlint-cli` + * Everything else: [Install `npm`](https://www.npmjs.com/get-npm) then [install `markdownlint-cli`](https://www.npmjs.com/package/markdownlint-cli) (`npm install -g markdownlint-cli`) + * Fix the markdown errors + * Automatically: `markdownlint . --config .github/markdownlint.yml --fix` + * Manually resolve anything left from `markdownlint . --config .github/markdownlint.yml` + + Once you push these changes the test should pass, and you can hide this comment :+1: + + We highly recommend setting up markdownlint in your code editor so that this formatting is done automatically on save. Ask about it on Slack for help! + + Thanks again for your contribution! + repo-token: ${{ secrets.GITHUB_TOKEN }} + allow-repeats: false + + YAML: runs-on: ubuntu-latest steps: @@ -29,7 +57,34 @@ jobs: - name: Install yaml-lint run: npm install -g yaml-lint - name: Run yaml-lint - run: yamllint $(find ${GITHUB_WORKSPACE} -type f -name "*.yml") + run: yamllint $(find ${GITHUB_WORKSPACE} -type f -name "*.yml" -o -name "*.yaml") + + # If the above check failed, post a comment on the PR explaining the failure + - name: Post PR comment + if: failure() + uses: mshick/add-pr-comment@v1 + with: + message: | + ## YAML linting is failing + + To keep the code consistent with lots of contributors, we run automated code consistency checks. + To fix this CI test, please run: + + * Install `yaml-lint` + * [Install `npm`](https://www.npmjs.com/get-npm) then [install `yaml-lint`](https://www.npmjs.com/package/yaml-lint) (`npm install -g yaml-lint`) + * Fix the markdown errors + * Run the test locally: `yamllint $(find . -type f -name "*.yml" -o -name "*.yaml")` + * Fix any reported errors in your YAML files + + Once you push these changes the test should pass, and you can hide this comment :+1: + + We highly recommend setting up yaml-lint in your code editor so that this formatting is done automatically on save. Ask about it on Slack for help! + + Thanks again for your contribution! + repo-token: ${{ secrets.GITHUB_TOKEN }} + allow-repeats: false + + nf-core: runs-on: ubuntu-latest steps: diff --git a/Dockerfile b/Dockerfile index d0a68d5..eb652d3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM nfcore/base:1.13.1 +FROM nfcore/base:1.13.2 LABEL authors="Christopher Mohr, Alexander Peltzer" \ description="Docker image containing all software requirements for the nf-core/epitopeprediction pipeline" diff --git a/bin/markdown_to_html.py b/bin/markdown_to_html.py old mode 100644 new mode 100755 diff --git a/bin/scrape_software_versions.py b/bin/scrape_software_versions.py old mode 100644 new mode 100755 diff --git a/lib/NfcoreSchema.groovy b/lib/NfcoreSchema.groovy index 78e8c65..54935ec 100644 --- a/lib/NfcoreSchema.groovy +++ b/lib/NfcoreSchema.groovy @@ -219,7 +219,7 @@ class NfcoreSchema { } } } - if(rawSchema.keySet().contains('properties') && rawSchema.get('properties').containsKey(ignore_param)) { + if(rawSchema.keySet().contains('properties') && rawSchema.get('properties').keySet().contains(ignore_param)) { rawSchema.get("properties").remove(ignore_param) } if(rawSchema.keySet().contains('required') && rawSchema.required.contains(ignore_param)) { From 58861999f914bb026205a2236d1eedd6dcd0a5f5 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Thu, 25 Mar 2021 18:17:24 +0000 Subject: [PATCH 017/137] Template update for nf-core/tools version 1.13.3 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index eb652d3..9e8e4c2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM nfcore/base:1.13.2 +FROM nfcore/base:1.13.3 LABEL authors="Christopher Mohr, Alexander Peltzer" \ description="Docker image containing all software requirements for the nf-core/epitopeprediction pipeline" From 83713372b3f6aa02fb390793919dcec4f5761d59 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Fri, 9 Apr 2021 09:10:54 +0200 Subject: [PATCH 018/137] Remove param name --- nextflow.config | 1 - 1 file changed, 1 deletion(-) diff --git a/nextflow.config b/nextflow.config index d5ab4c1..51c9678 100644 --- a/nextflow.config +++ b/nextflow.config @@ -35,7 +35,6 @@ params { input = '' publish_dir_mode = 'copy' outdir = './results' - name = false // Boilerplate options multiqc_config = false From 048db9611cf3639e68810f94ce207c62ecd79659 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Fri, 9 Apr 2021 09:16:51 +0200 Subject: [PATCH 019/137] Change values of mhc_class param to integer values --- nextflow_schema.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nextflow_schema.json b/nextflow_schema.json index 5c07790..355d4a9 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -110,12 +110,12 @@ }, "mhc_class": { "type": "integer", - "default": "1", + "default": 1, "description": "MHC class for prediction.", "help_text": "Specifies whether the predictions should be done for MHC class I or class II.", "enum": [ - "1", - "2" + 1, + 2 ] }, "max_peptide_length": { From 49151299b9e9a22e6ed4348ed6a3351f6babfced Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Fri, 9 Apr 2021 13:55:50 +0200 Subject: [PATCH 020/137] Remove input from required params --- nextflow_schema.json | 1 - 1 file changed, 1 deletion(-) diff --git a/nextflow_schema.json b/nextflow_schema.json index 355d4a9..0186e9e 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -11,7 +11,6 @@ "fa_icon": "fas fa-terminal", "description": "Define where the pipeline should find input data and save output data.", "required": [ - "input", "alleles" ], "properties": { From c10926dc1a7527f056106dca82dd2884a50a68dc Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Mon, 12 Apr 2021 14:25:51 +0200 Subject: [PATCH 021/137] Move env block in aws ymls, remove R from Dockerfile --- .github/workflows/awsfulltest.yml | 15 ++++++++------- .github/workflows/awstest.yml | 15 ++++++++------- Dockerfile | 6 +----- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/.github/workflows/awsfulltest.yml b/.github/workflows/awsfulltest.yml index f310c10..3f9a50f 100644 --- a/.github/workflows/awsfulltest.yml +++ b/.github/workflows/awsfulltest.yml @@ -9,6 +9,14 @@ on: types: [completed] workflow_dispatch: +env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} + AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} + AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} + AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} + jobs: run-awstest: name: Run AWS full tests @@ -27,13 +35,6 @@ jobs: # Add full size test data (but still relatively small datasets for few samples) # on the `test_full.config` test runs with only one set of parameters # Then specify `-profile test_full` instead of `-profile test` on the AWS batch command - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} - AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} - AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} - AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} run: | aws batch submit-job \ --region eu-west-1 \ diff --git a/.github/workflows/awstest.yml b/.github/workflows/awstest.yml index 9a16eef..b396738 100644 --- a/.github/workflows/awstest.yml +++ b/.github/workflows/awstest.yml @@ -5,6 +5,14 @@ name: nf-core AWS test on: workflow_dispatch: + +env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} + AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} + AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} + AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} jobs: run-awstest: @@ -23,13 +31,6 @@ jobs: # TODO nf-core: You can customise CI pipeline run tests as required # For example: adding multiple test runs with different parameters # Remember that you can parallelise this by using strategy.matrix - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} - AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} - AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} - AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} run: | aws batch submit-job \ --region eu-west-1 \ diff --git a/Dockerfile b/Dockerfile index 06bfc43..d9dae33 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,8 +10,4 @@ RUN conda env create --quiet -f /environment.yml && conda clean -a ENV PATH /opt/conda/envs/nf-core-epitopeprediction-1.2.0dev/bin:$PATH # Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-epitopeprediction-1.2.0dev > nf-core-epitopeprediction-1.2.0dev.yml - -# Instruct R processes to use these empty files instead of clashing with a local version -RUN touch .Rprofile -RUN touch .Renviron \ No newline at end of file +RUN conda env export --name nf-core-epitopeprediction-1.2.0dev > nf-core-epitopeprediction-1.2.0dev.yml \ No newline at end of file From 9d4bbb580464ea6e3a9e544627ac3a4713269b4b Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Mon, 12 Apr 2021 18:09:36 +0200 Subject: [PATCH 022/137] Remove input parameter from schema_ignore_params --- conf/test.config | 2 +- conf/test_full.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/test.config b/conf/test.config index 9e610eb..dc145ad 100644 --- a/conf/test.config +++ b/conf/test.config @@ -19,5 +19,5 @@ params { input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf' alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' // Ignore `--input` as otherwise the parameter validation will throw an error - schema_ignore_params = 'genomes,input_paths,input' + schema_ignore_params = 'genomes,input_paths' } diff --git a/conf/test_full.config b/conf/test_full.config index e686115..9a0b39d 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -15,5 +15,5 @@ params { input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf' alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' // Ignore `--input` as otherwise the parameter validation will throw an error - schema_ignore_params = 'genomes,input_paths,input' + schema_ignore_params = 'genomes,input_paths' } From 366efc0978bb73479ac9e913d8dea9acab091248 Mon Sep 17 00:00:00 2001 From: jonas Date: Tue, 13 Apr 2021 12:07:16 +0200 Subject: [PATCH 023/137] Threshold customization and color fixes --- bin/epaa.py | 34 +++++++++++++++++++++++----------- main.nf | 43 ++++++++++++++++++++++++------------------- nextflow.config | 3 ++- nextflow_schema.json | 5 +++++ 4 files changed, 54 insertions(+), 31 deletions(-) diff --git a/bin/epaa.py b/bin/epaa.py index 545e18d..4f96545 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -729,15 +729,16 @@ def create_affinity_values(allele, length, j, method, max_scores, allele_strings return np.nan -def create_binder_values(aff, method): +def create_binder_values(aff, method, thresholds): if not pd.isnull(aff): if 'syf' in method: - return True if aff > 50.0 else False + return True if aff > thresholds[method] else False else: - return True if aff <= 500.0 else False + return True if aff <= thresholds[method] else False else: return np.nan + def generate_wt_seqs(peptides): wt_dict = {} @@ -779,7 +780,7 @@ def generate_wt_seqs(peptides): return wt_dict -def make_predictions_from_variants(variants_all, methods, alleles, minlength, maxlength, martsadapter, protein_db, identifier, metadata, transcriptProteinMap): +def make_predictions_from_variants(variants_all, methods, tool_thresholds, alleles, minlength, maxlength, martsadapter, protein_db, identifier, metadata, transcriptProteinMap): # list for all peptides and filtered peptides all_peptides = [] all_peptides_filtered = [] @@ -847,7 +848,7 @@ def make_predictions_from_variants(variants_all, methods, alleles, minlength, ma if ('HLA-' in str(c)) or ('H-2-' in str(c)): idx = df.columns.get_loc(c) df.insert(idx + 1, '%s affinity' % c, df.apply(lambda x: create_affinity_values(str(c), int(x['length']), float(x[c]), x['Method'], max_values_matrices, allele_string_map), axis=1)) - df.insert(idx + 2, '%s binder' % c, df.apply(lambda x: create_binder_values(float(x['%s affinity' % c]), x['Method']), axis=1)) + df.insert(idx + 2, '%s binder' % c, df.apply(lambda x: create_binder_values(float(x['%s affinity' % c]), x['Method'], tool_thresholds), axis=1)) df = df.rename(columns={c: '%s score' % c}) df['%s score' % c] = df.apply(lambda x: create_score_values(float(x['%s score' % c]), x['Method']), axis=1) @@ -863,7 +864,7 @@ def make_predictions_from_variants(variants_all, methods, alleles, minlength, ma return pred_dataframes, statistics, all_peptides_filtered, prots -def make_predictions_from_peptides(peptides, methods, alleles, protein_db, identifier, metadata): +def make_predictions_from_peptides(peptides, methods, tool_thresholds, alleles, protein_db, identifier, metadata): # dictionaries for syfpeithi matrices max values and allele mapping max_values_matrices = {} allele_string_map = {} @@ -926,7 +927,7 @@ def make_predictions_from_peptides(peptides, methods, alleles, protein_db, ident if ('HLA-' in str(c)) or ('H-2-' in str(c)): idx = df.columns.get_loc(c) df.insert(idx + 1, '%s affinity' % c, df.apply(lambda x: create_affinity_values(str(c), int(x['length']), float(x[c]), x['Method'], max_values_matrices, allele_string_map), axis=1)) - df.insert(idx + 2, '%s binder' % c, df.apply(lambda x: create_binder_values(float(x['%s affinity' % c]), x['Method']), axis=1)) + df.insert(idx + 2, '%s binder' % c, df.apply(lambda x: create_binder_values(float(x['%s affinity' % c]), x['Method'], tool_thresholds), axis=1)) df = df.rename(columns={c: '%s score' % c}) df['%s score' % c] = df.apply(lambda x: create_score_values(float(x['%s score' % c]), x['Method']), axis=1) @@ -949,6 +950,7 @@ def __main__(): parser.add_argument('-l', "--max_length", help="Maximum peptide length") parser.add_argument('-ml', "--min_length", help="Minimum peptide length") parser.add_argument('-t', "--tools", help="Tools used for peptide predictions", required=True, type=str) + parser.add_argument('-tt', "--tool_thresholds", help="Customize affinity threshold of given tools using a json file", required=False, type=str) parser.add_argument('-sv', "--versions", help="File containing parsed software version numbers.", required=True) parser.add_argument('-a', "--alleles", help=" MHC Alleles", required=True) parser.add_argument('-r', "--reference", help="Reference, retrieved information will be based on this ensembl version", required=False, default='GRCh37', choices=['GRCh37', 'GRCh38']) @@ -1017,17 +1019,27 @@ def __main__(): if version not in EpitopePredictorFactory.available_methods()[method]: raise ValueError("The specified version " + version + " for " + method + " is not supported by Fred2.") + thresholds = {"syfpeithi":50, "mhcflurry":500, "mhcnuggets-class-1":500, "mhcnuggets-class-2":500, "netmhc":500, "netmhcpan":500, "netmhcii":500, "netmhciipan":500} + if args.tool_thresholds: + with open(args.tool_thresholds, 'r') as json_file: + threshold_file = json.load(json_file) + for tool, thresh in threshold_file.items(): + if tool in thresholds.keys(): + thresholds[tool] = thresh + else: + raise ValueError('Tool ' + tool +' in specified threshold file is not supported') + # MHC class I or II predictions if args.mhcclass is 1: if args.peptides: - pred_dataframes, statistics = make_predictions_from_peptides(peptides, methods, alleles, up_db, args.identifier, metadata) + pred_dataframes, statistics = make_predictions_from_peptides(peptides, methods, thresholds, alleles, up_db, args.identifier, metadata) else: - pred_dataframes, statistics, all_peptides_filtered, proteins = make_predictions_from_variants(vl, methods, alleles, int(args.min_length), int(args.max_length) + 1, ma, up_db, args.identifier, metadata, transcriptProteinMap) + pred_dataframes, statistics, all_peptides_filtered, proteins = make_predictions_from_variants(vl, methods, thresholds, alleles, int(args.min_length), int(args.max_length) + 1, ma, up_db, args.identifier, metadata, transcriptProteinMap) else: if args.peptides: - pred_dataframes, statistics = make_predictions_from_peptides(peptides, methods, alleles, up_db, args.identifier, metadata) + pred_dataframes, statistics = make_predictions_from_peptides(peptides, methods, thresholds, alleles, up_db, args.identifier, metadata) else: - pred_dataframes, statistics, all_peptides_filtered, proteins = make_predictions_from_variants(vl, methods, alleles, int(args.min_length), int(args.max_length) + 1, ma, up_db, args.identifier, metadata, transcriptProteinMap) + pred_dataframes, statistics, all_peptides_filtered, proteins = make_predictions_from_variants(vl, methods, thresholds, alleles, int(args.min_length), int(args.max_length) + 1, ma, up_db, args.identifier, metadata, transcriptProteinMap) # concat dataframes for all peptide lengths try: diff --git a/main.nf b/main.nf index 17e91c3..4f46679 100644 --- a/main.nf +++ b/main.nf @@ -37,6 +37,20 @@ if (params.genomes && params.genome && !params.genomes.containsKey(params.genome exit 1, "The provided genome '${params.genome}' is not available in the iGenomes file. Currently the available genomes are ${params.genomes.keySet().join(', ')}" } +// Log colors ANSI codes +c_black = params.monochrome_logs ? '' : "\033[0;30m"; +c_blue = params.monochrome_logs ? '' : "\033[0;34m"; +c_cyan = params.monochrome_logs ? '' : "\033[0;36m"; +c_dim = params.monochrome_logs ? '' : "\033[2m"; +c_green = params.monochrome_logs ? '' : "\033[0;32m"; +c_purple = params.monochrome_logs ? '' : "\033[0;35m"; +c_reset = params.monochrome_logs ? '' : "\033[0m"; +c_white = params.monochrome_logs ? '' : "\033[0;37m"; +c_yellow = params.monochrome_logs ? '' : "\033[0;33m"; +c_red = params.monochrome_logs ? '' : "\033[1;91m" +c_yellow_bold = params.monochrome_logs ? '' : "\033[1;93m" + + //Generate empty channels ch_peptides = Channel.empty() ch_check_peptides = Channel.empty() @@ -44,6 +58,7 @@ ch_proteins = Channel.empty() ch_split_variants = Channel.empty() ch_alleles = Channel.empty() ch_check_alleles = Channel.empty() +ch_tool_thresholds = Channel.empty() // Store input base name for later def input_base_name = '' @@ -197,6 +212,11 @@ if (workflow.profile.contains('awsbatch')) { if (params.tracedir.startsWith('s3:')) exit 1, 'Specify a local tracedir or run without trace! S3 cannot be used for tracefiles.' } +if ( params.tool_thresholds ) +{ + ch_tool_thresholds = Channel.fromPath(params.tool_thresholds, checkIfExists: true) +} + // Stage config files ch_multiqc_config = file("$projectDir/assets/multiqc_config.yaml", checkIfExists: true) ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multiqc_config, checkIfExists: true) : Channel.empty() @@ -512,6 +532,7 @@ process peptidePrediction { file alleles from ch_alleles file software_versions from ch_software_versions_csv file ('nonfree_software/*') from ch_nonfree_tools.collect().ifEmpty([]) + file tool_thresholds from ch_tool_thresholds.ifEmpty("") output: file "*.tsv" into ch_predicted_peptides @@ -523,6 +544,7 @@ process peptidePrediction { def ref_prot = params.proteome ? "--proteome ${params.proteome}" : "" def wt = params.wild_type ? "--wild_type" : "" def fasta_output = params.fasta_output ? "--fasta_output" : "" + def threshold_file = params.tool_thresholds ? "--tool_thresholds ${tool_thresholds}" : "" """ # create folder for MHCflurry downloads to avoid permission problems when running pipeline with docker profile and mhcflurry selected mkdir -p mhcflurry-data @@ -541,6 +563,7 @@ process peptidePrediction { --max_length ${params.max_peptide_length} \ --min_length ${params.min_peptide_length} \ --tools ${tools.join(",")} \ + ${threshold_file} \ --versions ${software_versions} \ --reference ${params.genome_version} \ ${ref_prot} \ @@ -763,10 +786,6 @@ workflow.onComplete { def output_tf = new File(output_d, "pipeline_report.txt") output_tf.withWriter { w -> w << email_txt } - c_green = params.monochrome_logs ? '' : "\033[0;32m"; - c_purple = params.monochrome_logs ? '' : "\033[0;35m"; - c_red = params.monochrome_logs ? '' : "\033[0;31m"; - c_reset = params.monochrome_logs ? '' : "\033[0m"; if (params.show_supported_models) { log.info "-${c_green}Did not run the actual epitope prediction ${c_reset}-" @@ -792,16 +811,6 @@ workflow.onError { } def nfcoreHeader() { - // Log colors ANSI codes - c_black = params.monochrome_logs ? '' : "\033[0;30m"; - c_blue = params.monochrome_logs ? '' : "\033[0;34m"; - c_cyan = params.monochrome_logs ? '' : "\033[0;36m"; - c_dim = params.monochrome_logs ? '' : "\033[2m"; - c_green = params.monochrome_logs ? '' : "\033[0;32m"; - c_purple = params.monochrome_logs ? '' : "\033[0;35m"; - c_reset = params.monochrome_logs ? '' : "\033[0m"; - c_white = params.monochrome_logs ? '' : "\033[0;37m"; - c_yellow = params.monochrome_logs ? '' : "\033[0;33m"; return """ -${c_dim}--------------------------------------------------${c_reset}- ${c_green},--.${c_black}/${c_green},-.${c_reset} @@ -815,10 +824,6 @@ def nfcoreHeader() { } def checkHostname() { - def c_reset = params.monochrome_logs ? '' : "\033[0m" - def c_white = params.monochrome_logs ? '' : "\033[0;37m" - def c_red = params.monochrome_logs ? '' : "\033[1;91m" - def c_yellow_bold = params.monochrome_logs ? '' : "\033[1;93m" if (params.hostnames) { def hostname = 'hostname'.execute().text.trim() params.hostnames.each { prof, hnames -> @@ -833,4 +838,4 @@ def checkHostname() { } } } -} \ No newline at end of file +} diff --git a/nextflow.config b/nextflow.config index 51c9678..27058b4 100644 --- a/nextflow.config +++ b/nextflow.config @@ -17,6 +17,7 @@ params { max_peptide_length = (mhc_class == 1) ? 11 : 16 min_peptide_length = (mhc_class == 1) ? 8 : 15 tools = 'syfpeithi' + tool_thresholds = '' genome_version = 'GRCh37' wild_type = false fasta_output = false @@ -30,7 +31,7 @@ params { // Additional annotation files proteome = '' - + // Workflow flags input = '' publish_dir_mode = 'copy' diff --git a/nextflow_schema.json b/nextflow_schema.json index 0186e9e..cf0617b 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -135,6 +135,11 @@ "help_text": "Specifies the tool(s) to use. Available are: `syfpeithi`, `mhcflurry`, `mhcnuggets-class-1`, `mhcnuggets-class-2`. Can be combined in a list separated by comma.", "description": "Specifies the prediction tool(s) to use." }, + "tool_thresholds": { + "type": "string", + "description": "Specifies the binder threshold for each given tool in JSON format.", + "help_text": "Default affinity thresholds to determine wether a peptide is considered as a binder: `syfpeithi` > 50, `mhcflurry` <=500, `mhcnuggets-class-1` <= 500, `mhcnuggets-class-2 <= 500, `netmhc` <= 500, `netmhcpan` <= 500, `netmhcii` <= 500, `netmhciipan` <= 500. Thresholds can be customized using a JSON file." + }, "wild_type": { "type": "boolean", "help_text": "Specifies whether wild-type sequences of mutated peptides should be predicted as well.", From 6543537a585f043d343cb4c10f49673fadea7962 Mon Sep 17 00:00:00 2001 From: jonas Date: Thu, 15 Apr 2021 11:53:50 +0200 Subject: [PATCH 024/137] Minor change of the pipeline schema --- nextflow_schema.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nextflow_schema.json b/nextflow_schema.json index cf0617b..593e09d 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -137,8 +137,8 @@ }, "tool_thresholds": { "type": "string", - "description": "Specifies the binder threshold for each given tool in JSON format.", - "help_text": "Default affinity thresholds to determine wether a peptide is considered as a binder: `syfpeithi` > 50, `mhcflurry` <=500, `mhcnuggets-class-1` <= 500, `mhcnuggets-class-2 <= 500, `netmhc` <= 500, `netmhcpan` <= 500, `netmhcii` <= 500, `netmhciipan` <= 500. Thresholds can be customized using a JSON file." + "description": "Specifies tool-specific binder thresholds in a JSON file. This can be used to override the given default binder threshold values.", + "help_text": "Default affinity thresholds to determine whether a peptide is considered as a binder are the following:: `syfpeithi` > 50, `mhcflurry` <=500, `mhcnuggets-class-1` <= 500, `mhcnuggets-class-2` <= 500, `netmhc` <= 500, `netmhcpan` <= 500, `netmhcii` <= 500, `netmhciipan` <= 500. Thresholds can be customized in a JSON file: `tool-name:value`" }, "wild_type": { "type": "boolean", From 33a15d9645bd32086d0395ff3a4b0e0df0182c2b Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Thu, 15 Apr 2021 13:56:22 +0200 Subject: [PATCH 025/137] Fix threshold retrieval for netmhc family tools --- bin/epaa.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/epaa.py b/bin/epaa.py index 4f96545..0d6907d 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -734,7 +734,7 @@ def create_binder_values(aff, method, thresholds): if 'syf' in method: return True if aff > thresholds[method] else False else: - return True if aff <= thresholds[method] else False + return True if aff <= thresholds[method.lower()] else False else: return np.nan From 7a5c255b3698b0758d8a42b57daabceb25d160ba Mon Sep 17 00:00:00 2001 From: MaxUlysse Date: Mon, 26 Apr 2021 14:12:52 +0200 Subject: [PATCH 026/137] feat: remove social preview image to use GitHub OpenGraph --- ...-core-epitopeprediction_social_preview.png | Bin 65492 -> 0 bytes ...-core-epitopeprediction_social_preview.svg | 453 ------------------ 2 files changed, 453 deletions(-) delete mode 100644 assets/nf-core-epitopeprediction_social_preview.png delete mode 100644 assets/nf-core-epitopeprediction_social_preview.svg diff --git a/assets/nf-core-epitopeprediction_social_preview.png b/assets/nf-core-epitopeprediction_social_preview.png deleted file mode 100644 index b3ba3387013c6d1d0b9193657a7de0502727b0c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65492 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - A bioinformatics best-practice analysis pipelinefor epitope prediction and annotation - - epitopeprediction - - - - - - - - - - - - - - - - - - - - - - - - - From 6150d7da3e285d056910d887354d54948d3ca3d4 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Tue, 11 May 2021 11:09:53 +0000 Subject: [PATCH 027/137] Template update for nf-core/tools version 1.14 --- .github/PULL_REQUEST_TEMPLATE.md | 7 +++-- .github/workflows/ci.yml | 5 ++- Dockerfile | 2 +- README.md | 2 +- lib/NfcoreSchema.groovy | 54 +++++++++++++++++--------------- main.nf | 4 +-- nextflow.config | 16 +++++----- nextflow_schema.json | 6 ++-- 8 files changed, 52 insertions(+), 44 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 2d307d4..e4423fe 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -10,14 +10,15 @@ Remember that PRs should be made against the dev branch, unless you're preparing Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/epitopeprediction/tree/master/.github/CONTRIBUTING.md) --> + ## 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 - add to the software_versions process and a regex to `scrape_software_versions.py` - - [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/epitopeprediction/tree/master/.github/CONTRIBUTING.md) - - [ ] If necessary, also make a PR on the nf-core/epitopeprediction _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. + - [ ] If you've added a new tool - add to the software_versions process and a regex to `scrape_software_versions.py` + - [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](nf-core/epitopeprediction/tree/master/.github/CONTRIBUTING.md) + - [ ] If necessary, also make a PR on the nf-core/epitopeprediction _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. - [ ] Make sure your code lints (`nf-core lint .`). - [ ] Ensure the test suite passes (`nextflow run . -profile test,docker`). - [ ] Usage Documentation in `docs/usage.md` is updated. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 32183b8..bc2341a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,9 @@ on: release: types: [published] +# Uncomment if we need an edge release of Nextflow again +# env: NXF_EDGE: 1 + jobs: test: name: Run workflow tests @@ -20,7 +23,7 @@ jobs: strategy: matrix: # Nextflow versions: check pipeline minimum and current latest - nxf_ver: ['20.04.0', '21.03.0-edge'] + nxf_ver: ['20.04.0', ''] steps: - name: Check out pipeline code uses: actions/checkout@v2 diff --git a/Dockerfile b/Dockerfile index 9e8e4c2..a84d40c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM nfcore/base:1.13.3 +FROM nfcore/base:1.14 LABEL authors="Christopher Mohr, Alexander Peltzer" \ description="Docker image containing all software requirements for the nf-core/epitopeprediction pipeline" diff --git a/README.md b/README.md index f5a780c..94006b8 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool ## Quick Start -1. Install [`nextflow`](https://nf-co.re/usage/installation) +1. Install [`nextflow`](https://nf-co.re/usage/installation) (`>=20.04.0`) 2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) for full pipeline reproducibility _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_ diff --git a/lib/NfcoreSchema.groovy b/lib/NfcoreSchema.groovy index 54935ec..52ee730 100644 --- a/lib/NfcoreSchema.groovy +++ b/lib/NfcoreSchema.groovy @@ -112,8 +112,14 @@ class NfcoreSchema { } // unexpected params def params_ignore = params.schema_ignore_params.split(',') + 'schema_ignore_params' - if (!expectedParams.contains(specifiedParam) && !params_ignore.contains(specifiedParam)) { - unexpectedParams.push(specifiedParam) + def expectedParamsLowerCase = expectedParams.collect{ it.replace("-", "").toLowerCase() } + def specifiedParamLowerCase = specifiedParam.replace("-", "").toLowerCase() + if (!expectedParams.contains(specifiedParam) && !params_ignore.contains(specifiedParam) && !expectedParamsLowerCase.contains(specifiedParamLowerCase)) { + // Temporarily remove camelCase/camel-case params #1035 + def unexpectedParamsLowerCase = unexpectedParams.collect{ it.replace("-", "").toLowerCase()} + if (!unexpectedParamsLowerCase.contains(specifiedParamLowerCase)){ + unexpectedParams.push(specifiedParam) + } } } @@ -191,11 +197,11 @@ class NfcoreSchema { // Remove an element from a JSONArray private static JSONArray removeElement(jsonArray, element){ - def list = [] + def list = [] int len = jsonArray.length() - for (int i=0;i hnames.each { hname -> if (hostname.contains(hname) && !workflow.profile.contains(prof)) { - log.error '====================================================\n' + + log.error "${c_red}====================================================${c_reset}\n" + " ${c_red}WARNING!${c_reset} You are running with `-profile $workflow.profile`\n" + " but your machine hostname is ${c_white}'$hostname'${c_reset}\n" + " ${c_yellow_bold}It's highly recommended that you use `-profile $prof${c_reset}`\n" + - '============================================================' + "${c_red}====================================================${c_reset}\n" } } } diff --git a/nextflow.config b/nextflow.config index f841fa7..2a65909 100644 --- a/nextflow.config +++ b/nextflow.config @@ -25,12 +25,13 @@ params { plaintext_email = false monochrome_logs = false help = false - igenomes_base = 's3://ngi-igenomes/igenomes/' + igenomes_base = 's3://ngi-igenomes/igenomes' tracedir = "${params.outdir}/pipeline_info" igenomes_ignore = false custom_config_version = 'master' custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}" hostnames = false + config_profile_name = null config_profile_description = false config_profile_contact = false config_profile_url = false @@ -65,7 +66,7 @@ profiles { singularity.enabled = false podman.enabled = false shifter.enabled = false - charliecloud = false + charliecloud.enabled = false process.conda = "$projectDir/environment.yml" } debug { process.beforeScript = 'echo $HOSTNAME' } @@ -94,7 +95,7 @@ profiles { docker.enabled = false podman.enabled = true shifter.enabled = false - charliecloud = false + charliecloud.enabled = false } shifter { singularity.enabled = false @@ -129,21 +130,22 @@ env { // Capture exit codes from upstream processes when piping process.shell = ['/bin/bash', '-euo', 'pipefail'] +def trace_timestamp = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss') timeline { enabled = true - file = "${params.tracedir}/execution_timeline.html" + file = "${params.tracedir}/execution_timeline_${trace_timestamp}.html" } report { enabled = true - file = "${params.tracedir}/execution_report.html" + file = "${params.tracedir}/execution_report_${trace_timestamp}.html" } trace { enabled = true - file = "${params.tracedir}/execution_trace.txt" + file = "${params.tracedir}/execution_trace_${trace_timestamp}.txt" } dag { enabled = true - file = "${params.tracedir}/pipeline_dag.svg" + file = "${params.tracedir}/pipeline_dag_${trace_timestamp}.svg" } manifest { diff --git a/nextflow_schema.json b/nextflow_schema.json index 1ee7019..04a1487 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -62,7 +62,7 @@ "igenomes_base": { "type": "string", "description": "Directory / URL base for iGenomes references.", - "default": "s3://ngi-igenomes/igenomes/", + "default": "s3://ngi-igenomes/igenomes", "fa_icon": "fas fa-cloud-download-alt", "hidden": true }, @@ -183,7 +183,7 @@ "description": "Maximum amount of memory that can be requested for any single job.", "default": "128.GB", "fa_icon": "fas fa-memory", - "pattern": "^[\\d\\.]+\\s*.(K|M|G|T)?B$", + "pattern": "^\\d+(\\.\\d+)?\\.?\\s*(K|M|G|T)?B$", "hidden": true, "help_text": "Use to set an upper-limit for the memory requirement for each process. Should be a string in the format integer-unit e.g. `--max_memory '8.GB'`" }, @@ -192,7 +192,7 @@ "description": "Maximum amount of time that can be requested for any single job.", "default": "240.h", "fa_icon": "far fa-clock", - "pattern": "^[\\d\\.]+\\.*(s|m|h|d)$", + "pattern": "^(\\d+\\.?\\s*(s|m|h|day)\\s*)+$", "hidden": true, "help_text": "Use to set an upper-limit for the time requirement for each process. Should be a string in the format integer-unit e.g. `--max_time '2.h'`" } From ff317cc749f41b98d895cdacf560651e783d1402 Mon Sep 17 00:00:00 2001 From: kevinmenden Date: Tue, 13 Jul 2021 10:46:15 +0200 Subject: [PATCH 028/137] Template update for nf-core/tools version 2.0 --- .editorconfig | 24 + .github/CONTRIBUTING.md | 2 +- .github/ISSUE_TEMPLATE/bug_report.md | 5 +- .github/PULL_REQUEST_TEMPLATE.md | 3 +- .github/workflows/awsfulltest.yml | 52 +- .github/workflows/awstest.yml | 50 +- .github/workflows/ci.yml | 19 +- .github/workflows/linting.yml | 21 +- .github/workflows/push_dockerhub_dev.yml | 28 - .github/workflows/push_dockerhub_release.yml | 29 - .gitignore | 1 - .github/markdownlint.yml => .markdownlint.yml | 2 + CITATIONS.md | 32 + Dockerfile | 13 - README.md | 71 +- assets/samplesheet.csv | 3 + assets/schema_input.json | 39 + assets/sendmail_template.txt | 36 +- bin/check_samplesheet.py | 146 +++ bin/markdown_to_html.py | 91 -- bin/scrape_software_versions.py | 44 +- conf/base.config | 94 +- conf/igenomes.config | 843 +++++++++--------- conf/modules.config | 32 + conf/test.config | 47 +- conf/test_full.config | 38 +- docs/README.md | 4 +- docs/images/mqc_fastqc_adapter.png | Bin 0 -> 23458 bytes docs/images/mqc_fastqc_counts.png | Bin 0 -> 33918 bytes docs/images/mqc_fastqc_quality.png | Bin 0 -> 55769 bytes docs/output.md | 63 +- docs/usage.md | 214 ++++- environment.yml | 15 - lib/Headers.groovy | 43 - lib/NfcoreSchema.groovy | 528 +++++------ lib/NfcoreTemplate.groovy | 266 ++++++ lib/Utils.groovy | 47 + lib/WorkflowEpitopeprediction.groovy | 59 ++ lib/WorkflowMain.groovy | 94 ++ main.nf | 405 +-------- modules.json | 14 + modules/local/functions.nf | 68 ++ modules/local/get_software_versions.nf | 33 + modules/local/samplesheet_check.nf | 31 + modules/nf-core/modules/fastqc/functions.nf | 68 ++ modules/nf-core/modules/fastqc/main.nf | 47 + modules/nf-core/modules/fastqc/meta.yml | 51 ++ modules/nf-core/modules/multiqc/functions.nf | 68 ++ modules/nf-core/modules/multiqc/main.nf | 35 + modules/nf-core/modules/multiqc/meta.yml | 39 + nextflow.config | 300 ++++--- nextflow_schema.json | 255 +++--- subworkflows/local/input_check.nf | 42 + workflows/epitopeprediction.nf | 141 +++ 54 files changed, 2811 insertions(+), 1884 deletions(-) create mode 100644 .editorconfig delete mode 100644 .github/workflows/push_dockerhub_dev.yml delete mode 100644 .github/workflows/push_dockerhub_release.yml rename .github/markdownlint.yml => .markdownlint.yml (90%) create mode 100644 CITATIONS.md delete mode 100644 Dockerfile create mode 100644 assets/samplesheet.csv create mode 100644 assets/schema_input.json create mode 100755 bin/check_samplesheet.py delete mode 100755 bin/markdown_to_html.py create mode 100644 conf/modules.config create mode 100755 docs/images/mqc_fastqc_adapter.png create mode 100755 docs/images/mqc_fastqc_counts.png create mode 100755 docs/images/mqc_fastqc_quality.png delete mode 100644 environment.yml delete mode 100644 lib/Headers.groovy mode change 100644 => 100755 lib/NfcoreSchema.groovy create mode 100755 lib/NfcoreTemplate.groovy create mode 100755 lib/Utils.groovy create mode 100755 lib/WorkflowEpitopeprediction.groovy create mode 100755 lib/WorkflowMain.groovy create mode 100644 modules.json create mode 100644 modules/local/functions.nf create mode 100644 modules/local/get_software_versions.nf create mode 100644 modules/local/samplesheet_check.nf create mode 100644 modules/nf-core/modules/fastqc/functions.nf create mode 100644 modules/nf-core/modules/fastqc/main.nf create mode 100644 modules/nf-core/modules/fastqc/meta.yml create mode 100644 modules/nf-core/modules/multiqc/functions.nf create mode 100644 modules/nf-core/modules/multiqc/main.nf create mode 100644 modules/nf-core/modules/multiqc/meta.yml create mode 100644 subworkflows/local/input_check.nf create mode 100644 workflows/epitopeprediction.nf diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..afb20bb --- /dev/null +++ b/.editorconfig @@ -0,0 +1,24 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_size = 4 +indent_style = space + +[*.{yml,yaml}] +indent_size = 2 + +# These files are edited and tested upstream in nf-core/modules +[/modules/nf-core/**] +charset = unset +end_of_line = unset +insert_final_newline = unset +trim_trailing_whitespace = unset +indent_style = unset +indent_size = unset + +[/assets/email*] +indent_size = unset diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index ae46d2c..f950e28 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -74,7 +74,7 @@ If you wish to contribute a new step, please use the following coding standards: 7. Add sanity checks for all relevant parameters. 8. Add any new software to the `scrape_software_versions.py` script in `bin/` and the version command to the `scrape_software_versions` process in `main.nf`. 9. Do local tests that the new code works properly and as expected. -10. Add a new test command in `.github/workflow/ci.yaml`. +10. Add a new test command in `.github/workflow/ci.yml`. 11. If applicable add a [MultiQC](https://https://multiqc.info/) module. 12. Update MultiQC config `assets/multiqc_config.yaml` so relevant suffixes, name clean up, General Statistics Table column order, and module figures are in the right order. 13. Optional: Add any descriptions of MultiQC report sections and output files to `docs/output.md`. diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index be895e8..4f4169e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -18,7 +18,7 @@ Please delete this text and anything that's not relevant from the template below I have checked the following places for your error: - [ ] [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting) -- [ ] [nf-core/epitopeprediction pipeline documentation](https://nf-co.re/nf-core/epitopeprediction/usage) +- [ ] [nf-core/epitopeprediction pipeline documentation](https://nf-co.re/epitopeprediction/usage) ## Description of the bug @@ -51,13 +51,12 @@ Have you provided the following extra information/files: ## Nextflow Installation -- Version: +- Version: ## Container engine - Engine: - version: -- Image tag: ## Additional context diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e4423fe..e4308a5 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -16,8 +16,7 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/epit - [ ] 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 - add to the software_versions process and a regex to `scrape_software_versions.py` - - [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](nf-core/epitopeprediction/tree/master/.github/CONTRIBUTING.md) + - [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/epitopeprediction/tree/master/.github/CONTRIBUTING.md) - [ ] If necessary, also make a PR on the nf-core/epitopeprediction _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. - [ ] Make sure your code lints (`nf-core lint .`). - [ ] Ensure the test suite passes (`nextflow run . -profile test,docker`). diff --git a/.github/workflows/awsfulltest.yml b/.github/workflows/awsfulltest.yml index 81976dc..f731a7f 100644 --- a/.github/workflows/awsfulltest.yml +++ b/.github/workflows/awsfulltest.yml @@ -1,46 +1,34 @@ name: nf-core AWS full size tests # This workflow is triggered on published releases. -# It can be additionally triggered manually with GitHub actions workflow dispatch. +# It can be additionally triggered manually with GitHub actions workflow dispatch button. # It runs the -profile 'test_full' on AWS batch on: - workflow_run: - workflows: ["nf-core Docker push (release)"] - types: [completed] + release: + types: [published] workflow_dispatch: - - -env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} - AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} - AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} - AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} - - jobs: - run-awstest: + run-tower: name: Run AWS full tests if: github.repository == 'nf-core/epitopeprediction' runs-on: ubuntu-latest steps: - - name: Setup Miniconda - uses: conda-incubator/setup-miniconda@v2 - with: - auto-update-conda: true - python-version: 3.7 - - name: Install awscli - run: conda install -c conda-forge awscli - - name: Start AWS batch job + - name: Launch workflow via tower + uses: nf-core/tower-action@master # TODO nf-core: You can customise AWS full pipeline tests as required # Add full size test data (but still relatively small datasets for few samples) # on the `test_full.config` test runs with only one set of parameters - # Then specify `-profile test_full` instead of `-profile test` on the AWS batch command - run: | - aws batch submit-job \ - --region eu-west-1 \ - --job-name nf-core-epitopeprediction \ - --job-queue $AWS_JOB_QUEUE \ - --job-definition $AWS_JOB_DEFINITION \ - --container-overrides '{"command": ["nf-core/epitopeprediction", "-r '"${GITHUB_SHA}"' -profile test --outdir s3://'"${AWS_S3_BUCKET}"'/epitopeprediction/results-'"${GITHUB_SHA}"' -w s3://'"${AWS_S3_BUCKET}"'/epitopeprediction/work-'"${GITHUB_SHA}"' -with-tower"], "environment": [{"name": "TOWER_ACCESS_TOKEN", "value": "'"$TOWER_ACCESS_TOKEN"'"}]}' + + with: + workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }} + bearer_token: ${{ secrets.TOWER_BEARER_TOKEN }} + compute_env: ${{ secrets.TOWER_COMPUTE_ENV }} + pipeline: ${{ github.repository }} + revision: ${{ github.sha }} + workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/epitopeprediction/work-${{ github.sha }} + parameters: | + { + "outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/epitopeprediction/results-${{ github.sha }}" + } + profiles: '[ "test_full", "aws_tower" ]' + diff --git a/.github/workflows/awstest.yml b/.github/workflows/awstest.yml index d09e7e7..be77d09 100644 --- a/.github/workflows/awstest.yml +++ b/.github/workflows/awstest.yml @@ -1,42 +1,28 @@ name: nf-core AWS test -# This workflow is triggered on push to the master branch. -# It can be additionally triggered manually with GitHub actions workflow dispatch. -# It runs the -profile 'test' on AWS batch. +# This workflow can be triggered manually with the GitHub actions workflow dispatch button. +# It runs the -profile 'test' on AWS batch on: workflow_dispatch: - - -env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }} - AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }} - AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }} - AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} - - jobs: - run-awstest: + run-tower: name: Run AWS tests if: github.repository == 'nf-core/epitopeprediction' runs-on: ubuntu-latest steps: - - name: Setup Miniconda - uses: conda-incubator/setup-miniconda@v2 + - name: Launch workflow via tower + uses: nf-core/tower-action@master + with: - auto-update-conda: true - python-version: 3.7 - - name: Install awscli - run: conda install -c conda-forge awscli - - name: Start AWS batch job - # TODO nf-core: You can customise CI pipeline run tests as required - # For example: adding multiple test runs with different parameters - # Remember that you can parallelise this by using strategy.matrix - run: | - aws batch submit-job \ - --region eu-west-1 \ - --job-name nf-core-epitopeprediction \ - --job-queue $AWS_JOB_QUEUE \ - --job-definition $AWS_JOB_DEFINITION \ - --container-overrides '{"command": ["nf-core/epitopeprediction", "-r '"${GITHUB_SHA}"' -profile test --outdir s3://'"${AWS_S3_BUCKET}"'/epitopeprediction/results-'"${GITHUB_SHA}"' -w s3://'"${AWS_S3_BUCKET}"'/epitopeprediction/work-'"${GITHUB_SHA}"' -with-tower"], "environment": [{"name": "TOWER_ACCESS_TOKEN", "value": "'"$TOWER_ACCESS_TOKEN"'"}]}' + workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }} + bearer_token: ${{ secrets.TOWER_BEARER_TOKEN }} + compute_env: ${{ secrets.TOWER_COMPUTE_ENV }} + pipeline: ${{ github.repository }} + revision: ${{ github.sha }} + workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/epitopeprediction/work-${{ github.sha }} + parameters: | + { + "outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/epitopeprediction/results-${{ github.sha }}" + } + profiles: '[ "test", "aws_tower" ]' + diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bc2341a..7b4b38f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,28 +23,11 @@ jobs: strategy: matrix: # Nextflow versions: check pipeline minimum and current latest - nxf_ver: ['20.04.0', ''] + nxf_ver: ['21.04.0', ''] steps: - name: Check out pipeline code uses: actions/checkout@v2 - - name: Check if Dockerfile or Conda environment changed - uses: technote-space/get-diff-action@v4 - with: - FILES: | - Dockerfile - environment.yml - - - name: Build new docker image - if: env.MATCHED_FILES - run: docker build --no-cache . -t nfcore/epitopeprediction:dev - - - name: Pull docker image - if: ${{ !env.MATCHED_FILES }} - run: | - docker pull nfcore/epitopeprediction:dev - docker tag nfcore/epitopeprediction:dev nfcore/epitopeprediction:dev - - name: Install Nextflow env: CAPSULE_LOG: none diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index fcde400..13b4fc8 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -18,7 +18,7 @@ jobs: - name: Install markdownlint run: npm install -g markdownlint-cli - name: Run Markdownlint - run: markdownlint ${GITHUB_WORKSPACE} -c ${GITHUB_WORKSPACE}/.github/markdownlint.yml + run: markdownlint . # If the above check failed, post a comment on the PR explaining the failure - name: Post PR comment @@ -35,8 +35,8 @@ jobs: * On Mac: `brew install markdownlint-cli` * Everything else: [Install `npm`](https://www.npmjs.com/get-npm) then [install `markdownlint-cli`](https://www.npmjs.com/package/markdownlint-cli) (`npm install -g markdownlint-cli`) * Fix the markdown errors - * Automatically: `markdownlint . --config .github/markdownlint.yml --fix` - * Manually resolve anything left from `markdownlint . --config .github/markdownlint.yml` + * Automatically: `markdownlint . --fix` + * Manually resolve anything left from `markdownlint .` Once you push these changes the test should pass, and you can hide this comment :+1: @@ -46,6 +46,20 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} allow-repeats: false + EditorConfig: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - uses: actions/setup-node@v1 + with: + node-version: "10" + + - name: Install editorconfig-checker + run: npm install -g editorconfig-checker + + - name: Run ECLint check + run: editorconfig-checker -exclude README.md $(git ls-files | grep -v test) YAML: runs-on: ubuntu-latest @@ -84,7 +98,6 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} allow-repeats: false - nf-core: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/push_dockerhub_dev.yml b/.github/workflows/push_dockerhub_dev.yml deleted file mode 100644 index 5188376..0000000 --- a/.github/workflows/push_dockerhub_dev.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: nf-core Docker push (dev) -# This builds the docker image and pushes it to DockerHub -# Runs on nf-core repo releases and push event to 'dev' branch (PR merges) -on: - push: - branches: - - dev - -jobs: - push_dockerhub: - name: Push new Docker image to Docker Hub (dev) - runs-on: ubuntu-latest - # Only run for the nf-core repo, for releases and merged PRs - if: ${{ github.repository == 'nf-core/epitopeprediction' }} - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASS: ${{ secrets.DOCKERHUB_PASS }} - steps: - - name: Check out pipeline code - uses: actions/checkout@v2 - - - name: Build new docker image - run: docker build --no-cache . -t nfcore/epitopeprediction:dev - - - name: Push Docker image to DockerHub (dev) - run: | - echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin - docker push nfcore/epitopeprediction:dev diff --git a/.github/workflows/push_dockerhub_release.yml b/.github/workflows/push_dockerhub_release.yml deleted file mode 100644 index 62fb064..0000000 --- a/.github/workflows/push_dockerhub_release.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: nf-core Docker push (release) -# This builds the docker image and pushes it to DockerHub -# Runs on nf-core repo releases and push event to 'dev' branch (PR merges) -on: - release: - types: [published] - -jobs: - push_dockerhub: - name: Push new Docker image to Docker Hub (release) - runs-on: ubuntu-latest - # Only run for the nf-core repo, for releases and merged PRs - if: ${{ github.repository == 'nf-core/epitopeprediction' }} - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASS: ${{ secrets.DOCKERHUB_PASS }} - steps: - - name: Check out pipeline code - uses: actions/checkout@v2 - - - name: Build new docker image - run: docker build --no-cache . -t nfcore/epitopeprediction:latest - - - name: Push Docker image to DockerHub (release) - run: | - echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin - docker push nfcore/epitopeprediction:latest - docker tag nfcore/epitopeprediction:latest nfcore/epitopeprediction:${{ github.event.release.tag_name }} - docker push nfcore/epitopeprediction:${{ github.event.release.tag_name }} diff --git a/.gitignore b/.gitignore index aa4bb5b..5124c9a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ work/ data/ results/ .DS_Store -tests/ testing/ testing* *.pyc diff --git a/.github/markdownlint.yml b/.markdownlint.yml similarity index 90% rename from .github/markdownlint.yml rename to .markdownlint.yml index 8d7eb53..9e605fc 100644 --- a/.github/markdownlint.yml +++ b/.markdownlint.yml @@ -1,6 +1,8 @@ # Markdownlint configuration file default: true line-length: false +ul-indent: + indent: 4 no-duplicate-header: siblings_only: true no-inline-html: diff --git a/CITATIONS.md b/CITATIONS.md new file mode 100644 index 0000000..1818168 --- /dev/null +++ b/CITATIONS.md @@ -0,0 +1,32 @@ +# nf-core/epitopeprediction: Citations + +## [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/) + +> Ewels PA, Peltzer A, Fillinger S, Patel H, Alneberg J, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. The nf-core framework for community-curated bioinformatics pipelines. Nat Biotechnol. 2020 Mar;38(3):276-278. doi: 10.1038/s41587-020-0439-x. PubMed PMID: 32055031. + +## [Nextflow](https://pubmed.ncbi.nlm.nih.gov/28398311/) + +> Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. doi: 10.1038/nbt.3820. PubMed PMID: 28398311. + +## Pipeline tools + +* [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) + +* [MultiQC](https://www.ncbi.nlm.nih.gov/pubmed/27312411/) + > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924. + +## Software packaging/containerisation tools + +* [Anaconda](https://anaconda.com) + > Anaconda Software Distribution. Computer software. Vers. 2-2.4.0. Anaconda, Nov. 2016. Web. + +* [Bioconda](https://pubmed.ncbi.nlm.nih.gov/29967506/) + > Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506. + +* [BioContainers](https://pubmed.ncbi.nlm.nih.gov/28379341/) + > da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. doi: 10.1093/bioinformatics/btx192. PubMed PMID: 28379341; PubMed Central PMCID: PMC5870671. + +* [Docker](https://dl.acm.org/doi/10.5555/2600239.2600241) + +* [Singularity](https://pubmed.ncbi.nlm.nih.gov/28494014/) + > Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. doi: 10.1371/journal.pone.0177459. eCollection 2017. PubMed PMID: 28494014; PubMed Central PMCID: PMC5426675. diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index a84d40c..0000000 --- a/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM nfcore/base:1.14 -LABEL authors="Christopher Mohr, Alexander Peltzer" \ - description="Docker image containing all software requirements for the nf-core/epitopeprediction pipeline" - -# Install the conda environment -COPY environment.yml / -RUN conda env create --quiet -f /environment.yml && conda clean -a - -# Add conda installation dir to PATH (instead of doing 'conda activate') -ENV PATH /opt/conda/envs/nf-core-epitopeprediction-1.2.0dev/bin:$PATH - -# Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-epitopeprediction-1.2.0dev > nf-core-epitopeprediction-1.2.0dev.yml diff --git a/README.md b/README.md index 94006b8..f4035d3 100644 --- a/README.md +++ b/README.md @@ -1,67 +1,69 @@ # ![nf-core/epitopeprediction](docs/images/nf-core-epitopeprediction_logo.png) -**A fully reproducible and state of the art epitope prediction pipeline.**. +[![GitHub Actions CI Status](https://github.com/nf-core/epitopeprediction/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/epitopeprediction/actions?query=workflow%3A%22nf-core+CI%22) +[![GitHub Actions Linting Status](https://github.com/nf-core/epitopeprediction/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/epitopeprediction/actions?query=workflow%3A%22nf-core+linting%22) +[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/epitopeprediction/results) +[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX) -[![GitHub Actions CI Status](https://github.com/nf-core/epitopeprediction/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/epitopeprediction/actions) -[![GitHub Actions Linting Status](https://github.com/nf-core/epitopeprediction/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/epitopeprediction/actions) -[![Nextflow](https://img.shields.io/badge/nextflow-%E2%89%A520.04.0-brightgreen.svg)](https://www.nextflow.io/) +[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.04.0-23aa62.svg?labelColor=000000)](https://www.nextflow.io/) +[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/) +[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/) +[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/) -[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg)](https://bioconda.github.io/) -[![Docker](https://img.shields.io/docker/automated/nfcore/epitopeprediction.svg)](https://hub.docker.com/r/nfcore/epitopeprediction) -[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23epitopeprediction-4A154B?logo=slack)](https://nfcore.slack.com/channels/epitopeprediction) +[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23epitopeprediction-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/epitopeprediction) +[![Follow on Twitter](http://img.shields.io/badge/twitter-%40nf__core-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/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/epitopeprediction** is a bioinformatics best-practise analysis pipeline for +**nf-core/epitopeprediction** is a bioinformatics best-practice analysis pipeline for A fully reproducible and state of the art epitope prediction pipeline.. -The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible. +The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It uses Docker/Singularity containers making installation trivial and results highly reproducible. The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. Where possible, these processes have been submitted to and installed from [nf-core/modules](https://github.com/nf-core/modules) in order to make them available to all nf-core pipelines, and to everyone within the Nextflow community! + + +On release, automated continuous integration tests run the pipeline on a full-sized dataset on the AWS cloud infrastructure. This ensures that the pipeline runs on AWS, has sensible resource allocation defaults set to run on real-world datasets, and permits the persistent storage of results to benchmark between pipeline releases and other analysis sources. The results obtained from the full-sized test can be viewed on the [nf-core website](https://nf-co.re/epitopeprediction/results). + +## Pipeline summary + + + +1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)) +2. Present QC for raw reads ([`MultiQC`](http://multiqc.info/)) ## Quick Start -1. Install [`nextflow`](https://nf-co.re/usage/installation) (`>=20.04.0`) +1. Install [`Nextflow`](https://nf-co.re/usage/installation) (`>=21.04.0`) 2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) for full pipeline reproducibility _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_ 3. Download the pipeline and test it on a minimal dataset with a single command: - ```bash + ```console nextflow run nf-core/epitopeprediction -profile test, ``` - > Please check [nf-core/configs](https://github.com/nf-core/configs#documentation) to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use `-profile ` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment. + > * Please check [nf-core/configs](https://github.com/nf-core/configs#documentation) to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use `-profile ` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment. + > * If you are using `singularity` then the pipeline will auto-detect this and attempt to download the Singularity images directly as opposed to performing a conversion from Docker images. If you are persistently observing issues downloading Singularity images directly due to timeout or network issues then please use the `--singularity_pull_docker_container` parameter to pull and convert the Docker image instead. Alternatively, it is highly recommended to use the [`nf-core download`](https://nf-co.re/tools/#downloading-pipelines-for-offline-use) command to pre-download all of the required containers before running the pipeline and to set the [`NXF_SINGULARITY_CACHEDIR` or `singularity.cacheDir`](https://www.nextflow.io/docs/latest/singularity.html?#singularity-docker-hub) Nextflow options to be able to store and re-use the images from a central location for future pipeline runs. + > * If you are using `conda`, it is highly recommended to use the [`NXF_CONDA_CACHEDIR` or `conda.cacheDir`](https://www.nextflow.io/docs/latest/conda.html) settings to store the environments in a central location for future pipeline runs. 4. Start running your own analysis! - ```bash - nextflow run nf-core/epitopeprediction -profile --input '*_R{1,2}.fastq.gz' --genome GRCh37 + ```console + nextflow run nf-core/epitopeprediction -profile --input samplesheet.csv --genome GRCh37 ``` -See [usage docs](https://nf-co.re/epitopeprediction/usage) for all of the available options when running the pipeline. - -## Pipeline Summary - -By default, the pipeline currently performs the following: - - - -* Sequencing quality control (`FastQC`) -* Overall pipeline run summaries (`MultiQC`) - ## Documentation -The nf-core/epitopeprediction pipeline comes with documentation about the pipeline: [usage](https://nf-co.re/epitopeprediction/usage) and [output](https://nf-co.re/epitopeprediction/output). - - +The nf-core/epitopeprediction pipeline comes with documentation about the pipeline [usage](https://nf-co.re/epitopeprediction/usage), [parameters](https://nf-co.re/epitopeprediction/parameters) and [output](https://nf-co.re/epitopeprediction/output). ## Credits nf-core/epitopeprediction was originally written by Christopher Mohr, Alexander Peltzer. -We thank the following people for their extensive assistance in the development -of this pipeline: +We thank the following people for their extensive assistance in the development of this pipeline: @@ -73,9 +75,12 @@ For further information or help, don't hesitate to get in touch on the [Slack `# ## Citations - + + +An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file. + You can cite the `nf-core` publication as follows: > **The nf-core framework for community-curated bioinformatics pipelines.** @@ -83,7 +88,3 @@ You can cite the `nf-core` publication as follows: > Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen. > > _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x). - -In addition, references of tools and data used in this pipeline are as follows: - - diff --git a/assets/samplesheet.csv b/assets/samplesheet.csv new file mode 100644 index 0000000..5f653ab --- /dev/null +++ b/assets/samplesheet.csv @@ -0,0 +1,3 @@ +sample,fastq_1,fastq_2 +SAMPLE_PAIRED_END,/path/to/fastq/files/AEG588A1_S1_L002_R1_001.fastq.gz,/path/to/fastq/files/AEG588A1_S1_L002_R2_001.fastq.gz +SAMPLE_SINGLE_END,/path/to/fastq/files/AEG588A4_S4_L003_R1_001.fastq.gz, diff --git a/assets/schema_input.json b/assets/schema_input.json new file mode 100644 index 0000000..a1e222f --- /dev/null +++ b/assets/schema_input.json @@ -0,0 +1,39 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://raw.githubusercontent.com/nf-core/epitopeprediction/master/assets/schema_input.json", + "title": "nf-core/epitopeprediction pipeline - params.input schema", + "description": "Schema for the file provided with params.input", + "type": "array", + "items": { + "type": "object", + "properties": { + "sample": { + "type": "string", + "pattern": "^\\S+$", + "errorMessage": "Sample name must be provided and cannot contain spaces" + }, + "fastq_1": { + "type": "string", + "pattern": "^\\S+\\.f(ast)?q\\.gz$", + "errorMessage": "FastQ file for reads 1 must be provided, cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'" + }, + "fastq_2": { + "errorMessage": "FastQ file for reads 2 cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'", + "anyOf": [ + { + "type": "string", + "pattern": "^\\S+\\.f(ast)?q\\.gz$" + }, + { + "type": "string", + "maxLength": 0 + } + ] + } + }, + "required": [ + "sample", + "fastq_1" + ] + } +} diff --git a/assets/sendmail_template.txt b/assets/sendmail_template.txt index 45ef89f..d96284c 100644 --- a/assets/sendmail_template.txt +++ b/assets/sendmail_template.txt @@ -15,15 +15,15 @@ Content-ID: Content-Disposition: inline; filename="nf-core-epitopeprediction_logo.png" <% out << new File("$projectDir/assets/nf-core-epitopeprediction_logo.png"). - bytes. - encodeBase64(). - toString(). - tokenize( '\n' )*. - toList()*. - collate( 76 )*. - collect { it.join() }. - flatten(). - join( '\n' ) %> + bytes. + encodeBase64(). + toString(). + tokenize( '\n' )*. + toList()*. + collate( 76 )*. + collect { it.join() }. + flatten(). + join( '\n' ) %> <% if (mqcFile){ @@ -37,15 +37,15 @@ Content-ID: Content-Disposition: attachment; filename=\"${mqcFileObj.getName()}\" ${mqcFileObj. - bytes. - encodeBase64(). - toString(). - tokenize( '\n' )*. - toList()*. - collate( 76 )*. - collect { it.join() }. - flatten(). - join( '\n' )} + bytes. + encodeBase64(). + toString(). + tokenize( '\n' )*. + toList()*. + collate( 76 )*. + collect { it.join() }. + flatten(). + join( '\n' )} """ }} %> diff --git a/bin/check_samplesheet.py b/bin/check_samplesheet.py new file mode 100755 index 0000000..50a099b --- /dev/null +++ b/bin/check_samplesheet.py @@ -0,0 +1,146 @@ +#!/usr/bin/env python + +# TODO nf-core: Update the script to check the samplesheet +# This script is based on the example at: https://raw.githubusercontent.com/nf-core/test-datasets/viralrecon/samplesheet/samplesheet_test_illumina_amplicon.csv + +import os +import sys +import errno +import argparse + + +def parse_args(args=None): + Description = "Reformat nf-core/epitopeprediction samplesheet file and check its contents." + Epilog = "Example usage: python check_samplesheet.py " + + parser = argparse.ArgumentParser(description=Description, epilog=Epilog) + parser.add_argument("FILE_IN", help="Input samplesheet file.") + parser.add_argument("FILE_OUT", help="Output file.") + return parser.parse_args(args) + + +def make_dir(path): + if len(path) > 0: + try: + os.makedirs(path) + except OSError as exception: + if exception.errno != errno.EEXIST: + raise exception + + +def print_error(error, context="Line", context_str=""): + error_str = "ERROR: Please check samplesheet -> {}".format(error) + if context != "" and context_str != "": + error_str = "ERROR: Please check samplesheet -> {}\n{}: '{}'".format( + error, context.strip(), context_str.strip() + ) + print(error_str) + sys.exit(1) + + +# TODO nf-core: Update the check_samplesheet function +def check_samplesheet(file_in, file_out): + """ + This function checks that the samplesheet follows the following structure: + + sample,fastq_1,fastq_2 + SAMPLE_PE,SAMPLE_PE_RUN1_1.fastq.gz,SAMPLE_PE_RUN1_2.fastq.gz + SAMPLE_PE,SAMPLE_PE_RUN2_1.fastq.gz,SAMPLE_PE_RUN2_2.fastq.gz + SAMPLE_SE,SAMPLE_SE_RUN1_1.fastq.gz, + + For an example see: + https://raw.githubusercontent.com/nf-core/test-datasets/viralrecon/samplesheet/samplesheet_test_illumina_amplicon.csv + """ + + sample_mapping_dict = {} + with open(file_in, "r") as fin: + + ## Check header + MIN_COLS = 2 + # TODO nf-core: Update the column names for the input samplesheet + HEADER = ["sample", "fastq_1", "fastq_2"] + header = [x.strip('"') for x in fin.readline().strip().split(",")] + if header[: len(HEADER)] != HEADER: + print("ERROR: Please check samplesheet header -> {} != {}".format(",".join(header), ",".join(HEADER))) + sys.exit(1) + + ## Check sample entries + for line in fin: + lspl = [x.strip().strip('"') for x in line.strip().split(",")] + + # Check valid number of columns per row + if len(lspl) < len(HEADER): + print_error( + "Invalid number of columns (minimum = {})!".format(len(HEADER)), + "Line", + line, + ) + num_cols = len([x for x in lspl if x]) + if num_cols < MIN_COLS: + print_error( + "Invalid number of populated columns (minimum = {})!".format(MIN_COLS), + "Line", + line, + ) + + ## Check sample name entries + sample, fastq_1, fastq_2 = lspl[: len(HEADER)] + sample = sample.replace(" ", "_") + if not sample: + print_error("Sample entry has not been specified!", "Line", line) + + ## Check FastQ file extension + for fastq in [fastq_1, fastq_2]: + if fastq: + if fastq.find(" ") != -1: + print_error("FastQ file contains spaces!", "Line", line) + if not fastq.endswith(".fastq.gz") and not fastq.endswith(".fq.gz"): + print_error( + "FastQ file does not have extension '.fastq.gz' or '.fq.gz'!", + "Line", + line, + ) + + ## Auto-detect paired-end/single-end + sample_info = [] ## [single_end, fastq_1, fastq_2] + if sample and fastq_1 and fastq_2: ## Paired-end short reads + sample_info = ["0", fastq_1, fastq_2] + elif sample and fastq_1 and not fastq_2: ## Single-end short reads + sample_info = ["1", fastq_1, fastq_2] + else: + print_error("Invalid combination of columns provided!", "Line", line) + + ## Create sample mapping dictionary = { sample: [ single_end, fastq_1, fastq_2 ] } + if sample not in sample_mapping_dict: + sample_mapping_dict[sample] = [sample_info] + else: + if sample_info in sample_mapping_dict[sample]: + print_error("Samplesheet contains duplicate rows!", "Line", line) + else: + sample_mapping_dict[sample].append(sample_info) + + ## Write validated samplesheet with appropriate columns + if len(sample_mapping_dict) > 0: + out_dir = os.path.dirname(file_out) + make_dir(out_dir) + with open(file_out, "w") as fout: + fout.write(",".join(["sample", "single_end", "fastq_1", "fastq_2"]) + "\n") + for sample in sorted(sample_mapping_dict.keys()): + + ## Check that multiple runs of the same sample are of the same datatype + if not all(x[0] == sample_mapping_dict[sample][0][0] for x in sample_mapping_dict[sample]): + print_error("Multiple runs of a sample must be of the same datatype!", "Sample: {}".format(sample)) + + for idx, val in enumerate(sample_mapping_dict[sample]): + fout.write(",".join(["{}_T{}".format(sample, idx + 1)] + val) + "\n") + else: + print_error("No entries to process!", "Samplesheet: {}".format(file_in)) + + +def main(args=None): + args = parse_args(args) + check_samplesheet(args.FILE_IN, args.FILE_OUT) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/bin/markdown_to_html.py b/bin/markdown_to_html.py deleted file mode 100755 index a26d1ff..0000000 --- a/bin/markdown_to_html.py +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env python -from __future__ import print_function -import argparse -import markdown -import os -import sys -import io - - -def convert_markdown(in_fn): - input_md = io.open(in_fn, mode="r", encoding="utf-8").read() - html = markdown.markdown( - "[TOC]\n" + input_md, - extensions=["pymdownx.extra", "pymdownx.b64", "pymdownx.highlight", "pymdownx.emoji", "pymdownx.tilde", "toc"], - extension_configs={ - "pymdownx.b64": {"base_path": os.path.dirname(in_fn)}, - "pymdownx.highlight": {"noclasses": True}, - "toc": {"title": "Table of Contents"}, - }, - ) - return html - - -def wrap_html(contents): - header = """ - - - - - -

- - - """ - return header + contents + footer - - -def parse_args(args=None): - parser = argparse.ArgumentParser() - parser.add_argument("mdfile", type=argparse.FileType("r"), nargs="?", help="File to convert. Defaults to stdin.") - parser.add_argument( - "-o", "--out", type=argparse.FileType("w"), default=sys.stdout, help="Output file name. Defaults to stdout." - ) - return parser.parse_args(args) - - -def main(args=None): - args = parse_args(args) - converted_md = convert_markdown(args.mdfile.name) - html = wrap_html(converted_md) - args.out.write(html) - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/bin/scrape_software_versions.py b/bin/scrape_software_versions.py index c5e7cc2..2fc4ba4 100755 --- a/bin/scrape_software_versions.py +++ b/bin/scrape_software_versions.py @@ -1,36 +1,18 @@ #!/usr/bin/env python from __future__ import print_function -from collections import OrderedDict -import re +import os -# TODO nf-core: Add additional regexes for new tools in process get_software_versions -regexes = { - "nf-core/epitopeprediction": ["v_pipeline.txt", r"(\S+)"], - "Nextflow": ["v_nextflow.txt", r"(\S+)"], - "FastQC": ["v_fastqc.txt", r"FastQC v(\S+)"], - "MultiQC": ["v_multiqc.txt", r"multiqc, version (\S+)"], -} -results = OrderedDict() -results["nf-core/epitopeprediction"] = 'N/A' -results["Nextflow"] = 'N/A' -results["FastQC"] = 'N/A' -results["MultiQC"] = 'N/A' +results = {} +version_files = [x for x in os.listdir(".") if x.endswith(".version.txt")] +for version_file in version_files: -# Search each file using its regex -for k, v in regexes.items(): - try: - with open(v[0]) as x: - versions = x.read() - match = re.search(v[1], versions) - if match: - results[k] = "v{}".format(match.group(1)) - except IOError: - results[k] = False + software = version_file.replace(".version.txt", "") + if software == "pipeline": + software = "nf-core/epitopeprediction" -# Remove software set to false in results -for k in list(results): - if not results[k]: - del results[k] + with open(version_file) as fin: + version = fin.read().strip() + results[software] = version # Dump to YAML print( @@ -44,11 +26,11 @@
""" ) -for k, v in results.items(): +for k, v in sorted(results.items()): print("
{}
{}
".format(k, v)) print("
") # Write out regexes as csv file: -with open("software_versions.csv", "w") as f: - for k, v in results.items(): +with open("software_versions.tsv", "w") as f: + for k, v in sorted(results.items()): f.write("{}\t{}\n".format(k, v)) diff --git a/conf/base.config b/conf/base.config index a32bf0f..ce2017f 100644 --- a/conf/base.config +++ b/conf/base.config @@ -1,51 +1,57 @@ /* - * ------------------------------------------------- - * nf-core/epitopeprediction Nextflow base config file - * ------------------------------------------------- - * A 'blank slate' config file, appropriate for general - * use on most high performace compute environments. - * Assumes that all software is installed and available - * on the PATH. Runs in `local` mode - all jobs will be - * run on the logged in environment. - */ +======================================================================================== + nf-core/epitopeprediction 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 + the PATH. Runs in `local` mode - all jobs will be run on the logged in environment. +---------------------------------------------------------------------------------------- +*/ process { - // TODO nf-core: Check the defaults for all processes - cpus = { check_max( 1 * task.attempt, 'cpus' ) } - memory = { check_max( 7.GB * task.attempt, 'memory' ) } - time = { check_max( 4.h * task.attempt, 'time' ) } + // TODO nf-core: Check the defaults for all processes + cpus = { check_max( 1 * task.attempt, 'cpus' ) } + memory = { check_max( 6.GB * task.attempt, 'memory' ) } + time = { check_max( 4.h * task.attempt, 'time' ) } - errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'finish' } - maxRetries = 1 - maxErrors = '-1' - - // Process-specific resource requirements - // NOTE - Only one of the labels below are used in the fastqc process in the main script. - // If possible, it would be nice to keep the same label naming convention when - // adding in your processes. - // TODO nf-core: Customise requirements for specific processes. - // See https://www.nextflow.io/docs/latest/config.html#config-process-selectors - withLabel:process_low { - cpus = { check_max( 2 * task.attempt, 'cpus' ) } - memory = { check_max( 14.GB * task.attempt, 'memory' ) } - time = { check_max( 6.h * task.attempt, 'time' ) } - } - withLabel:process_medium { - cpus = { check_max( 6 * task.attempt, 'cpus' ) } - memory = { check_max( 42.GB * task.attempt, 'memory' ) } - time = { check_max( 8.h * task.attempt, 'time' ) } - } - withLabel:process_high { - cpus = { check_max( 12 * task.attempt, 'cpus' ) } - memory = { check_max( 84.GB * task.attempt, 'memory' ) } - time = { check_max( 10.h * task.attempt, 'time' ) } - } - withLabel:process_long { - time = { check_max( 20.h * task.attempt, 'time' ) } - } - withName:get_software_versions { - cache = false - } + errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'finish' } + maxRetries = 1 + maxErrors = '-1' + // Process-specific resource requirements + // NOTE - Please try and re-use the labels below as much as possible. + // These labels are used and recognised by default in DSL2 files hosted on nf-core/modules. + // If possible, it would be nice to keep the same label naming convention when + // adding in your local modules too. + // TODO nf-core: Customise requirements for specific processes. + // See https://www.nextflow.io/docs/latest/config.html#config-process-selectors + withLabel:process_low { + cpus = { check_max( 2 * task.attempt, 'cpus' ) } + memory = { check_max( 12.GB * task.attempt, 'memory' ) } + time = { check_max( 4.h * task.attempt, 'time' ) } + } + withLabel:process_medium { + cpus = { check_max( 6 * task.attempt, 'cpus' ) } + memory = { check_max( 36.GB * task.attempt, 'memory' ) } + time = { check_max( 8.h * task.attempt, 'time' ) } + } + withLabel:process_high { + cpus = { check_max( 12 * task.attempt, 'cpus' ) } + memory = { check_max( 72.GB * task.attempt, 'memory' ) } + time = { check_max( 16.h * task.attempt, 'time' ) } + } + withLabel:process_long { + time = { check_max( 20.h * task.attempt, 'time' ) } + } + withLabel:process_high_memory { + memory = { check_max( 200.GB * task.attempt, 'memory' ) } + } + withLabel:error_ignore { + errorStrategy = 'ignore' + } + withLabel:error_retry { + errorStrategy = 'retry' + maxRetries = 2 + } } diff --git a/conf/igenomes.config b/conf/igenomes.config index 31b7ee6..855948d 100644 --- a/conf/igenomes.config +++ b/conf/igenomes.config @@ -1,421 +1,432 @@ /* - * ------------------------------------------------- - * 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 - */ +======================================================================================== + 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/genome.fa" - 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" + // 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/genome.fa" + 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/genome.fa" + 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" + } + 'GRCm38' { + fasta = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/WholeGenomeFasta/genome.fa" + bwa = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/BWAIndex/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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/genome.fa" + 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" + } } - 'GRCh38' { - fasta = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Homo_sapiens/NCBI/GRCh38/Sequence/BWAIndex/genome.fa" - 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" - } - 'GRCm38' { - fasta = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/WholeGenomeFasta/genome.fa" - bwa = "${params.igenomes_base}/Mus_musculus/Ensembl/GRCm38/Sequence/BWAIndex/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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_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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/genome.fa" - 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/modules.config b/conf/modules.config new file mode 100644 index 0000000..0b1bfde --- /dev/null +++ b/conf/modules.config @@ -0,0 +1,32 @@ +/* +======================================================================================== + Config file for defining DSL2 per module options +======================================================================================== + Available keys to override module options: + args = Additional arguments appended to command in module. + args2 = Second set of arguments appended to command in module (multi-tool modules). + args3 = Third set of arguments appended to command in module (multi-tool modules). + publish_dir = Directory to publish results. + publish_by_meta = Groovy list of keys available in meta map to append as directories to "publish_dir" path + If publish_by_meta = true - Value of ${meta['id']} is appended as a directory to "publish_dir" path + If publish_by_meta = ['id', 'custompath'] - If "id" is in meta map and "custompath" isn't then "${meta['id']}/custompath/" + is appended as a directory to "publish_dir" path + If publish_by_meta = false / null - No directories are appended to "publish_dir" path + publish_files = Groovy map where key = "file_ext" and value = "directory" to publish results for that file extension + The value of "directory" is appended to the standard "publish_dir" path as defined above. + If publish_files = null (unspecified) - All files are published. + If publish_files = false - No files are published. + suffix = File name suffix for output files. +---------------------------------------------------------------------------------------- +*/ + +params { + modules { + 'fastqc' { + args = "--quiet" + } + 'multiqc' { + args = "" + } + } +} diff --git a/conf/test.config b/conf/test.config index 9f9f24d..582f46a 100644 --- a/conf/test.config +++ b/conf/test.config @@ -1,28 +1,29 @@ /* - * ------------------------------------------------- - * Nextflow config file for running tests - * ------------------------------------------------- - * Defines bundled input files and everything required - * to run a fast and simple test. Use as follows: - * nextflow run nf-core/epitopeprediction -profile test, - */ +======================================================================================== + Nextflow config file for running minimal tests +======================================================================================== + Defines input files and everything required to run a fast and simple pipeline test. + + Use as follows: + nextflow run nf-core/epitopeprediction -profile test, + +---------------------------------------------------------------------------------------- +*/ params { - config_profile_name = 'Test profile' - config_profile_description = 'Minimal test dataset to check pipeline function' - // Limit resources so that this can run on GitHub Actions - max_cpus = 2 - max_memory = 6.GB - max_time = 48.h + config_profile_name = 'Test profile' + config_profile_description = 'Minimal test dataset to check pipeline function' + + // Limit resources so that this can run on GitHub Actions + max_cpus = 2 + max_memory = 6.GB + max_time = 6.h + + // 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 = 'https://raw.githubusercontent.com/nf-core/test-datasets/viralrecon/samplesheet/samplesheet_test_illumina_amplicon.csv' - // 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 - single_end = false - input_paths = [ - ['Testdata', ['https://github.com/nf-core/test-datasets/raw/exoseq/testdata/Testdata_R1.tiny.fastq.gz', 'https://github.com/nf-core/test-datasets/raw/exoseq/testdata/Testdata_R2.tiny.fastq.gz']], - ['SRR389222', ['https://github.com/nf-core/test-datasets/raw/methylseq/testdata/SRR389222_sub1.fastq.gz', 'https://github.com/nf-core/test-datasets/raw/methylseq/testdata/SRR389222_sub2.fastq.gz']] - ] - // Ignore `--input` as otherwise the parameter validation will throw an error - schema_ignore_params = 'genomes,input_paths,input' + // Genome references + genome = 'R64-1-1' } diff --git a/conf/test_full.config b/conf/test_full.config index b5dad78..e0f1bb3 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -1,24 +1,24 @@ /* - * ------------------------------------------------- - * Nextflow config file for running full-size tests - * ------------------------------------------------- - * Defines bundled input files and everything required - * to run a full size pipeline test. Use as follows: - * nextflow run nf-core/epitopeprediction -profile test_full, - */ +======================================================================================== + Nextflow config file for running full-size tests +======================================================================================== + Defines input files and everything required to run a full size pipeline test. + + Use as follows: + nextflow run nf-core/epitopeprediction -profile test_full, + +---------------------------------------------------------------------------------------- +*/ params { - config_profile_name = 'Full test profile' - config_profile_description = 'Full test dataset to check pipeline function' + config_profile_name = 'Full test profile' + config_profile_description = 'Full test dataset to check pipeline function' + + // Input data for full size test + // TODO nf-core: Specify the paths to your full test data ( on nf-core/test-datasets or directly in repositories, e.g. SRA) + // TODO nf-core: Give any required params for the test so that command line flags are not needed + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/viralrecon/samplesheet/samplesheet_full_illumina_amplicon.csv' - // Input data for full size test - // TODO nf-core: Specify the paths to your full test data ( on nf-core/test-datasets or directly in repositories, e.g. SRA) - // TODO nf-core: Give any required params for the test so that command line flags are not needed - single_end = false - input_paths = [ - ['Testdata', ['https://github.com/nf-core/test-datasets/raw/exoseq/testdata/Testdata_R1.tiny.fastq.gz', 'https://github.com/nf-core/test-datasets/raw/exoseq/testdata/Testdata_R2.tiny.fastq.gz']], - ['SRR389222', ['https://github.com/nf-core/test-datasets/raw/methylseq/testdata/SRR389222_sub1.fastq.gz', 'https://github.com/nf-core/test-datasets/raw/methylseq/testdata/SRR389222_sub2.fastq.gz']] - ] - // Ignore `--input` as otherwise the parameter validation will throw an error - schema_ignore_params = 'genomes,input_paths,input' + // Genome references + genome = 'R64-1-1' } diff --git a/docs/README.md b/docs/README.md index 17729af..de2bf68 100644 --- a/docs/README.md +++ b/docs/README.md @@ -3,8 +3,8 @@ The nf-core/epitopeprediction 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. + * An overview of how the pipeline works, how to run it and a description of all of the different command-line flags. * [Output](output.md) - * An overview of the different results produced by the pipeline and how to interpret them. + * An overview of the different results produced by the pipeline and how to interpret them. You can find a lot more documentation about installing, configuring and running nf-core pipelines on the website: [https://nf-co.re](https://nf-co.re) diff --git a/docs/images/mqc_fastqc_adapter.png b/docs/images/mqc_fastqc_adapter.png new file mode 100755 index 0000000000000000000000000000000000000000..361d0e47acfb424dea1f326590d1eb2f6dfa26b5 GIT binary patch literal 23458 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 literal 0 HcmV?d00001 diff --git a/docs/images/mqc_fastqc_quality.png b/docs/images/mqc_fastqc_quality.png new file mode 100755 index 0000000000000000000000000000000000000000..a4b89bf56ab2ba88cab87841916eb680a816deae GIT binary patch literal 55769 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�)v~C(0C)c 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 M)78&qol`;+0Fu7JivR!s literal 0 HcmV?d00001 diff --git a/docs/output.md b/docs/output.md index b06b399..5ef5f02 100644 --- a/docs/output.md +++ b/docs/output.md @@ -10,50 +10,59 @@ The directories listed below will be created in the results directory after the ## Pipeline overview -The pipeline is built using [Nextflow](https://www.nextflow.io/) -and processes data using the following steps: +The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes data using the following steps: -* [FastQC](#fastqc) - Read quality control -* [MultiQC](#multiqc) - Aggregate report describing results from the whole pipeline +* [FastQC](#fastqc) - Raw read QC +* [MultiQC](#multiqc) - Aggregate report describing results and QC from the whole pipeline * [Pipeline information](#pipeline-information) - Report metrics generated during the workflow execution -## FastQC +### FastQC -[FastQC](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/) gives general quality metrics about your sequenced reads. It provides information about the quality score distribution across your reads, per base sequence content (%A/T/G/C), adapter contamination and overrepresented sequences. +
+Output files -For further reading and documentation see the [FastQC help pages](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/). +* `fastqc/` + * `*_fastqc.html`: FastQC report containing quality metrics. + * `*_fastqc.zip`: Zip archive containing the FastQC report, tab-delimited data file and plot images. -**Output files:** +
-* `fastqc/` - * `*_fastqc.html`: FastQC report containing quality metrics for your untrimmed raw fastq files. -* `fastqc/zips/` - * `*_fastqc.zip`: Zip archive containing the FastQC report, tab-delimited data file and plot images. +[FastQC](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/) gives general quality metrics about your sequenced reads. It provides information about the quality score distribution across your reads, per base sequence content (%A/T/G/C), adapter contamination and overrepresented sequences. For further reading and documentation see the [FastQC help pages](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/). -> **NB:** The FastQC plots displayed in the MultiQC report shows _untrimmed_ reads. They may contain adapter sequence and potentially regions with low quality. +![MultiQC - FastQC sequence counts plot](images/mqc_fastqc_counts.png) -## MultiQC +![MultiQC - FastQC mean quality scores plot](images/mqc_fastqc_quality.png) -[MultiQC](http://multiqc.info) is a visualization tool that generates a single HTML report summarizing all samples in your project. Most of the pipeline QC results are visualised in the report and further statistics are available in the report data directory. +![MultiQC - FastQC adapter content plot](images/mqc_fastqc_adapter.png) -The pipeline has special steps which also allow the software versions to be reported in the MultiQC output for future traceability. +> **NB:** The FastQC plots displayed in the MultiQC report shows _untrimmed_ reads. They may contain adapter sequence and potentially regions with low quality. -For more information about how to use MultiQC reports, see [https://multiqc.info](https://multiqc.info). +### MultiQC -**Output files:** +
+Output files * `multiqc/` - * `multiqc_report.html`: a standalone HTML file that can be viewed in your web browser. - * `multiqc_data/`: directory containing parsed statistics from the different tools used in the pipeline. - * `multiqc_plots/`: directory containing static images from the report in various formats. + * `multiqc_report.html`: a standalone HTML file that can be viewed in your web browser. + * `multiqc_data/`: directory containing parsed statistics from the different tools used in the pipeline. + * `multiqc_plots/`: directory containing static images from the report in various formats. -## Pipeline information +
-[Nextflow](https://www.nextflow.io/docs/latest/tracing.html) provides excellent functionality for generating various reports relevant to the running and execution of the pipeline. This will allow you to troubleshoot errors with the running of the pipeline, and also provide you with other information such as launch commands, run times and resource usage. +[MultiQC](http://multiqc.info) is a visualization tool that generates a single HTML report summarising all samples in your project. Most of the pipeline QC results are visualised in the report and further statistics are available in the report data directory. -**Output files:** +Results generated by MultiQC collate pipeline QC from supported tools e.g. FastQC. The pipeline has special steps which also allow the software versions to be reported in the MultiQC output for future traceability. For more information about how to use MultiQC reports, see . + +### Pipeline information + +
+Output files * `pipeline_info/` - * Reports generated by Nextflow: `execution_report.html`, `execution_timeline.html`, `execution_trace.txt` and `pipeline_dag.dot`/`pipeline_dag.svg`. - * Reports generated by the pipeline: `pipeline_report.html`, `pipeline_report.txt` and `software_versions.csv`. - * Documentation for interpretation of results in HTML format: `results_description.html`. + * Reports generated by Nextflow: `execution_report.html`, `execution_timeline.html`, `execution_trace.txt` and `pipeline_dag.dot`/`pipeline_dag.svg`. + * Reports generated by the pipeline: `pipeline_report.html`, `pipeline_report.txt` and `software_versions.tsv`. + * Reformatted samplesheet files used as input to the pipeline: `samplesheet.valid.csv`. + +
+ +[Nextflow](https://www.nextflow.io/docs/latest/tracing.html) provides excellent functionality for generating various reports relevant to the running and execution of the pipeline. This will allow you to troubleshoot errors with the running of the pipeline, and also provide you with other information such as launch commands, run times and resource usage. diff --git a/docs/usage.md b/docs/usage.md index 71c0e96..b7a0a60 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -8,19 +8,63 @@ +## Samplesheet input + +You will need to create a samplesheet with information about the samples you would like to analyse 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 as shown in the examples below. + +```console +--input '[path to samplesheet file]' +``` + +### Multiple runs of the same sample + +The `sample` identifiers have to be the same when you have re-sequenced the same sample more than once e.g. to increase sequencing depth. The pipeline will concatenate the raw reads before performing any downstream analysis. Below is an example for the same sample sequenced across 3 lanes: + +```console +sample,fastq_1,fastq_2 +CONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz +CONTROL_REP1,AEG588A1_S1_L003_R1_001.fastq.gz,AEG588A1_S1_L003_R2_001.fastq.gz +CONTROL_REP1,AEG588A1_S1_L004_R1_001.fastq.gz,AEG588A1_S1_L004_R2_001.fastq.gz +``` + +### Full samplesheet + +The pipeline will auto-detect whether a sample is single- or paired-end using the information provided in the samplesheet. The samplesheet can have as many columns as you desire, however, there is a strict requirement for the first 3 columns to match those defined in the table below. + +A final samplesheet file consisting of both single- and paired-end data may look something like the one below. This is for 6 samples, where `TREATMENT_REP3` has been sequenced twice. + +```console +sample,fastq_1,fastq_2 +CONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz +CONTROL_REP2,AEG588A2_S2_L002_R1_001.fastq.gz,AEG588A2_S2_L002_R2_001.fastq.gz +CONTROL_REP3,AEG588A3_S3_L002_R1_001.fastq.gz,AEG588A3_S3_L002_R2_001.fastq.gz +TREATMENT_REP1,AEG588A4_S4_L003_R1_001.fastq.gz, +TREATMENT_REP2,AEG588A5_S5_L003_R1_001.fastq.gz, +TREATMENT_REP3,AEG588A6_S6_L003_R1_001.fastq.gz, +TREATMENT_REP3,AEG588A6_S6_L004_R1_001.fastq.gz, +``` + +| Column | Description | +|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `sample` | Custom sample name. This entry will be identical for multiple sequencing libraries/runs from the same sample. Spaces in sample names are automatically converted to underscores (`_`). | +| `fastq_1` | Full path to FastQ file for Illumina short reads 1. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | +| `fastq_2` | Full path to FastQ file for Illumina short reads 2. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | + +An [example samplesheet](../assets/samplesheet.csv) has been provided with the pipeline. + ## Running the pipeline The typical command for running the pipeline is as follows: -```bash -nextflow run nf-core/epitopeprediction --input '*_R{1,2}.fastq.gz' -profile docker +```console +nextflow run nf-core/epitopeprediction --input samplesheet.csv --genome GRCh37 -profile docker ``` This will launch the pipeline with the `docker` configuration profile. See below for more information about profiles. Note that the pipeline will create the following files in your working directory: -```bash +```console work # Directory containing the nextflow working files results # Finished results (configurable, see below) .nextflow_log # Log file from Nextflow @@ -31,13 +75,13 @@ results # Finished results (configurable, see below) 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 +```console nextflow pull nf-core/epitopeprediction ``` ### Reproducibility -It's a good idea to specify a pipeline version when running the pipeline on your data. This ensures that a specific version of the pipeline code and software are used when you run your pipeline. If you keep using the same tag, you'll be running the same version of the pipeline, even if there have been changes to the code since. +It is a good idea to specify a pipeline version when running the pipeline on your data. This ensures that a specific version of the pipeline code and software are used when you run your pipeline. If you keep using the same tag, you'll be running the same version of the pipeline, even if there have been changes to the code since. First, go to the [nf-core/epitopeprediction releases page](https://github.com/nf-core/epitopeprediction/releases) and find the latest version number - numeric only (eg. `1.3.1`). Then specify this when running the pipeline with `-r` (one hyphen) - eg. `-r 1.3.1`. @@ -51,7 +95,7 @@ This version number will be logged in reports when you run the pipeline, so that Use this parameter to choose a configuration profile. Profiles can give configuration presets for different compute environments. -Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Shifter, Charliecloud, Conda) - see below. +Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Shifter, Charliecloud, Conda) - see below. When using Biocontainers, most of these software packaging methods pull Docker containers from quay.io e.g [FastQC](https://quay.io/repository/biocontainers/fastqc) except for Singularity which directly downloads Singularity images via https hosted by the [Galaxy project](https://depot.galaxyproject.org/singularity/) and Conda which downloads and installs software locally from [Bioconda](https://bioconda.github.io/). > We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported. @@ -63,27 +107,20 @@ They are loaded in sequence, so later profiles can overwrite earlier profiles. If `-profile` is not specified, the pipeline will run locally and expect all software to be installed and available on the `PATH`. This is _not_ recommended. * `docker` - * A generic configuration profile to be used with [Docker](https://docker.com/) - * Pulls software from Docker Hub: [`nfcore/epitopeprediction`](https://hub.docker.com/r/nfcore/epitopeprediction/) + * A generic configuration profile to be used with [Docker](https://docker.com/) * `singularity` - * A generic configuration profile to be used with [Singularity](https://sylabs.io/docs/) - * Pulls software from Docker Hub: [`nfcore/epitopeprediction`](https://hub.docker.com/r/nfcore/epitopeprediction/) + * A generic configuration profile to be used with [Singularity](https://sylabs.io/docs/) * `podman` - * A generic configuration profile to be used with [Podman](https://podman.io/) - * Pulls software from Docker Hub: [`nfcore/epitopeprediction`](https://hub.docker.com/r/nfcore/epitopeprediction/) + * A generic configuration profile to be used with [Podman](https://podman.io/) * `shifter` - * A generic configuration profile to be used with [Shifter](https://nersc.gitlab.io/development/shifter/how-to-use/) - * Pulls software from Docker Hub: [`nfcore/epitopeprediction`](https://hub.docker.com/r/nfcore/epitopeprediction/) + * A generic configuration profile to be used with [Shifter](https://nersc.gitlab.io/development/shifter/how-to-use/) * `charliecloud` - * A generic configuration profile to be used with [Charliecloud](https://hpc.github.io/charliecloud/) - * Pulls software from Docker Hub: [`nfcore/epitopeprediction`](https://hub.docker.com/r/nfcore/epitopeprediction/) + * A generic configuration profile to be used with [Charliecloud](https://hpc.github.io/charliecloud/) * `conda` - * Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker, Singularity, Podman, Shifter or Charliecloud. - * A generic configuration profile to be used with [Conda](https://conda.io/docs/) - * Pulls most software from [Bioconda](https://bioconda.github.io/) + * A generic configuration profile to be used with [Conda](https://conda.io/docs/). Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker, Singularity, Podman, Shifter or Charliecloud. * `test` - * A profile with a complete configuration for automated testing - * Includes links to test data so needs no other parameters + * A profile with a complete configuration for automated testing + * Includes links to test data so needs no other parameters ### `-resume` @@ -95,29 +132,140 @@ You can also supply a run name to resume a specific run: `-resume [run-name]`. U Specify the path to a specific config file (this is a core Nextflow command). See the [nf-core website documentation](https://nf-co.re/usage/configuration) for more information. -#### Custom resource requests +## Custom configuration + +### Resource requests + +Whilst the default requirements set within the pipeline will hopefully work for most people and with most input data, you may find that you want to customise the compute resources that the pipeline requests. Each step in the pipeline has a default set of requirements for number of CPUs, memory and time. For most of the steps in the pipeline, if the job exits with any of the error codes specified [here](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/base.config#L18) it will automatically be resubmitted with higher requests (2 x original, then 3 x original). If it still fails after the third attempt then the pipeline execution is stopped. + +For example, if the nf-core/rnaseq pipeline is failing after multiple re-submissions of the `STAR_ALIGN` process due to an exit code of `137` this would indicate that there is an out of memory issue: + +```console +[62/149eb0] NOTE: Process `RNASEQ:ALIGN_STAR:STAR_ALIGN (WT_REP1)` terminated with an error exit status (137) -- Execution is retried (1) +Error executing process > 'RNASEQ:ALIGN_STAR:STAR_ALIGN (WT_REP1)' + +Caused by: + Process `RNASEQ:ALIGN_STAR:STAR_ALIGN (WT_REP1)` terminated with an error exit status (137) -Each step in the pipeline has a default set of requirements for number of CPUs, memory and time. For most of the steps in the pipeline, if the job exits with an error code of `143` (exceeded requested resources) it will automatically resubmit with higher requests (2 x original, then 3 x original). If it still fails after three times then the pipeline is stopped. +Command executed: + STAR \ + --genomeDir star \ + --readFilesIn WT_REP1_trimmed.fq.gz \ + --runThreadN 2 \ + --outFileNamePrefix WT_REP1. \ + -Whilst these default requirements will hopefully work for most people with most data, you may find that you want to customise the compute resources that the pipeline requests. You can do this by creating a custom config file. For example, to give the workflow process `star` 32GB of memory, you could use the following config: +Command exit status: + 137 + +Command output: + (empty) + +Command error: + .command.sh: line 9: 30 Killed STAR --genomeDir star --readFilesIn WT_REP1_trimmed.fq.gz --runThreadN 2 --outFileNamePrefix WT_REP1. +Work dir: + /home/pipelinetest/work/9d/172ca5881234073e8d76f2a19c88fb + +Tip: you can replicate the issue by changing to the process work dir and entering the command `bash .command.run` +``` + +To bypass this error you would need to find exactly which resources are set by the `STAR_ALIGN` process. The quickest way is to search for `process STAR_ALIGN` in the [nf-core/rnaseq Github repo](https://github.com/nf-core/rnaseq/search?q=process+STAR_ALIGN). We have standardised the structure of Nextflow DSL2 pipelines such that all module files will be present in the `modules/` directory and so based on the search results the file we want is `modules/nf-core/software/star/align/main.nf`. If you click on the link to that file you will notice that there is a `label` directive at the top of the module that is set to [`label process_high`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/modules/nf-core/software/star/align/main.nf#L9). The [Nextflow `label`](https://www.nextflow.io/docs/latest/process.html#label) directive allows us to organise workflow processes in separate groups which can be referenced in a configuration file to select and configure subset of processes having similar computing requirements. The default values for the `process_high` label are set in the pipeline's [`base.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/base.config#L33-L37) which in this case is defined as 72GB. Providing you haven't set any other standard nf-core parameters to __cap__ the [maximum resources](https://nf-co.re/usage/configuration#max-resources) used by the pipeline then we can try and bypass the `STAR_ALIGN` process failure by creating a custom config file that sets at least 72GB of memory, in this case increased to 100GB. The custom config below can then be provided to the pipeline via the [`-c`](#-c) parameter as highlighted in previous sections. ```nextflow process { - withName: star { - memory = 32.GB - } + withName: STAR_ALIGN { + memory = 100.GB + } } ``` -To find the exact name of a process you wish to modify the compute resources, check the live-status of a nextflow run displayed on your terminal or check the nextflow error for a line like so: `Error executing process > 'bwa'`. In this case the name to specify in the custom config file is `bwa`. +> **NB:** We specify just the process name i.e. `STAR_ALIGN` in the config file and not the full task name string that is printed to screen in the error message or on the terminal whilst the pipeline is running i.e. `RNASEQ:ALIGN_STAR:STAR_ALIGN`. You may get a warning suggesting that the process selector isn't recognised but you can ignore that if the process name has been specified correctly. This is something that needs to be fixed upstream in core Nextflow. + +### Tool-specific options + +For the ultimate flexibility, we have implemented and are using Nextflow DSL2 modules in a way where it is possible for both developers and users to change tool-specific command-line arguments (e.g. providing an additional command-line argument to the `STAR_ALIGN` process) as well as publishing options (e.g. saving files produced by the `STAR_ALIGN` process that aren't saved by default by the pipeline). In the majority of instances, as a user you won't have to change the default options set by the pipeline developer(s), however, there may be edge cases where creating a simple custom config file can improve the behaviour of the pipeline if for example it is failing due to a weird error that requires setting a tool-specific parameter to deal with smaller / larger genomes. + +The command-line arguments passed to STAR in the `STAR_ALIGN` module are a combination of: + +* Mandatory arguments or those that need to be evaluated within the scope of the module, as supplied in the [`script`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/modules/nf-core/software/star/align/main.nf#L49-L55) section of the module file. + +* An [`options.args`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/modules/nf-core/software/star/align/main.nf#L56) string of non-mandatory parameters that is set to be empty by default in the module but can be overwritten when including the module in the sub-workflow / workflow context via the `addParams` Nextflow option. + +The nf-core/rnaseq pipeline has a sub-workflow (see [terminology](https://github.com/nf-core/modules#terminology)) specifically to align reads with STAR and to sort, index and generate some basic stats on the resulting BAM files using SAMtools. At the top of this file we import the `STAR_ALIGN` module via the Nextflow [`include`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/subworkflows/nf-core/align_star.nf#L10) keyword and by default the options passed to the module via the `addParams` option are set as an empty Groovy map [here](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/subworkflows/nf-core/align_star.nf#L5); this in turn means `options.args` will be set to empty by default in the module file too. This is an intentional design choice and allows us to implement well-written sub-workflows composed of a chain of tools that by default run with the bare minimum parameter set for any given tool in order to make it much easier to share across pipelines and to provide the flexibility for users and developers to customise any non-mandatory arguments. + +When including the sub-workflow above in the main pipeline workflow we use the same `include` statement, however, we now have the ability to overwrite options for each of the tools in the sub-workflow including the [`align_options`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/workflows/rnaseq.nf#L225) variable that will be used specifically to overwrite the optional arguments passed to the `STAR_ALIGN` module. In this case, the options to be provided to `STAR_ALIGN` have been assigned sensible defaults by the developer(s) in the pipeline's [`modules.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L70-L74) and can be accessed and customised in the [workflow context](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/workflows/rnaseq.nf#L201-L204) too before eventually passing them to the sub-workflow as a Groovy map called `star_align_options`. These options will then be propagated from `workflow -> sub-workflow -> module`. + +As mentioned at the beginning of this section it may also be necessary for users to overwrite the options passed to modules to be able to customise specific aspects of the way in which a particular tool is executed by the pipeline. Given that all of the default module options are stored in the pipeline's `modules.config` as a [`params` variable](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L24-L25) it is also possible to overwrite any of these options via a custom config file. + +Say for example we want to append an additional, non-mandatory parameter (i.e. `--outFilterMismatchNmax 16`) to the arguments passed to the `STAR_ALIGN` module. Firstly, we need to copy across the default `args` specified in the [`modules.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L71) and create a custom config file that is a composite of the default `args` as well as the additional options you would like to provide. This is very important because Nextflow will overwrite the default value of `args` that you provide via the custom config. + +As you will see in the example below, we have: + +* appended `--outFilterMismatchNmax 16` to the default `args` used by the module. +* changed the default `publish_dir` value to where the files will eventually be published in the main results directory. +* appended `'bam':''` to the default value of `publish_files` so that the BAM files generated by the process will also be saved in the top-level results directory for the module. Note: `'out':'log'` means any file/directory ending in `out` will now be saved in a separate directory called `my_star_directory/log/`. + +```nextflow +params { + modules { + 'star_align' { + args = "--quantMode TranscriptomeSAM --twopassMode Basic --outSAMtype BAM Unsorted --readFilesCommand zcat --runRNGseed 0 --outFilterMultimapNmax 20 --alignSJDBoverhangMin 1 --outSAMattributes NH HI AS NM MD --quantTranscriptomeBan Singleend --outFilterMismatchNmax 16" + publish_dir = "my_star_directory" + publish_files = ['out':'log', 'tab':'log', 'bam':''] + } + } +} +``` + +### Updating containers + +The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. If for some reason you need to use a different version of a particular tool with the pipeline then you just need to identify the `process` name and override the Nextflow `container` definition for that process using the `withName` declaration. For example, in the [nf-core/viralrecon](https://nf-co.re/viralrecon) pipeline a tool called [Pangolin](https://github.com/cov-lineages/pangolin) has been used during the COVID-19 pandemic to assign lineages to SARS-CoV-2 genome sequenced samples. Given that the lineage assignments change quite frequently it doesn't make sense to re-release the nf-core/viralrecon everytime a new version of Pangolin has been released. However, you can override the default container used by the pipeline by creating a custom config file and passing it as a command-line argument via `-c custom.config`. + +1. Check the default version used by the pipeline in the module file for [Pangolin](https://github.com/nf-core/viralrecon/blob/a85d5969f9025409e3618d6c280ef15ce417df65/modules/nf-core/software/pangolin/main.nf#L14-L19) +2. Find the latest version of the Biocontainer available on [Quay.io](https://quay.io/repository/biocontainers/pangolin?tag=latest&tab=tags) +3. Create the custom config accordingly: + + * For Docker: + + ```nextflow + process { + withName: PANGOLIN { + container = 'quay.io/biocontainers/pangolin:3.0.5--pyhdfd78af_0' + } + } + ``` + + * For Singularity: + + ```nextflow + process { + withName: PANGOLIN { + container = 'https://depot.galaxyproject.org/singularity/pangolin:3.0.5--pyhdfd78af_0' + } + } + ``` + + * For Conda: + + ```nextflow + process { + withName: PANGOLIN { + conda = 'bioconda::pangolin=3.0.5' + } + } + ``` + +> **NB:** If you wish to periodically update individual tool-specific results (e.g. Pangolin) generated by the pipeline then you must ensure to keep the `work/` directory otherwise the `-resume` ability of the pipeline will be compromised and it will restart from scratch. + +### nf-core/configs -See the main [Nextflow documentation](https://www.nextflow.io/docs/latest/config.html) for more information. +In most cases, you will only need to create a custom config as a one-off but if you and others within your organisation are likely to be running nf-core pipelines regularly and need to use the same settings regularly it may be a good idea to request that your custom config file is uploaded to the `nf-core/configs` git repository. Before you do this please can you test that the config file works with your pipeline of choice using the `-c` parameter. You can then create a pull request to the `nf-core/configs` repository with the addition of your config file, associated documentation file (see examples in [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs)), and amending [`nfcore_custom.config`](https://github.com/nf-core/configs/blob/master/nfcore_custom.config) to include your custom profile. -If you are likely to be running `nf-core` pipelines regularly it may be a good idea to request that your custom config file is uploaded to the `nf-core/configs` git repository. Before you do this please can you test that the config file works with your pipeline of choice using the `-c` parameter (see definition above). You can then create a pull request to the `nf-core/configs` repository with the addition of your config file, associated documentation file (see examples in [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs)), and amending [`nfcore_custom.config`](https://github.com/nf-core/configs/blob/master/nfcore_custom.config) to include your custom profile. +See the main [Nextflow documentation](https://www.nextflow.io/docs/latest/config.html) for more information about creating your own configuration files. If you have any questions or issues please send us a message on [Slack](https://nf-co.re/join/slack) on the [`#configs` channel](https://nfcore.slack.com/channels/configs). -### Running in the background +## Running in the background Nextflow handles job submissions and supervises the running jobs. The Nextflow process must run until the pipeline is finished. @@ -126,11 +274,11 @@ The Nextflow `-bg` flag launches Nextflow in the background, detached from your Alternatively, you can use `screen` / `tmux` or similar tool to create a detached session which you can log back into at a later time. Some HPC setups also allow you to run nextflow within a cluster job submitted your job scheduler (from where it submits more jobs). -#### Nextflow memory requirements +## Nextflow memory requirements In some cases, the Nextflow Java virtual machines can start to request a large amount of memory. We recommend adding the following line to your environment to limit this (typically in `~/.bashrc` or `~./bash_profile`): -```bash +```console NXF_OPTS='-Xms1g -Xmx4g' ``` diff --git a/environment.yml b/environment.yml deleted file mode 100644 index 540d5a6..0000000 --- a/environment.yml +++ /dev/null @@ -1,15 +0,0 @@ -# You can use this file to create a conda environment for this pipeline: -# conda env create -f environment.yml -name: nf-core-epitopeprediction-1.2.0dev -channels: - - conda-forge - - bioconda - - defaults -dependencies: - - conda-forge::python=3.7.3 - - conda-forge::markdown=3.1.1 - - conda-forge::pymdown-extensions=6.0 - - conda-forge::pygments=2.5.2 - # TODO nf-core: Add required software dependencies here - - bioconda::fastqc=0.11.8 - - bioconda::multiqc=1.7 diff --git a/lib/Headers.groovy b/lib/Headers.groovy deleted file mode 100644 index 15d1d38..0000000 --- a/lib/Headers.groovy +++ /dev/null @@ -1,43 +0,0 @@ -/* - * This file holds several functions used to render the nf-core ANSI header. - */ - -class Headers { - - private static Map log_colours(Boolean monochrome_logs) { - Map colorcodes = [:] - colorcodes['reset'] = monochrome_logs ? '' : "\033[0m" - colorcodes['dim'] = monochrome_logs ? '' : "\033[2m" - colorcodes['black'] = monochrome_logs ? '' : "\033[0;30m" - colorcodes['green'] = monochrome_logs ? '' : "\033[0;32m" - colorcodes['yellow'] = monochrome_logs ? '' : "\033[0;33m" - colorcodes['yellow_bold'] = monochrome_logs ? '' : "\033[1;93m" - colorcodes['blue'] = monochrome_logs ? '' : "\033[0;34m" - colorcodes['purple'] = monochrome_logs ? '' : "\033[0;35m" - colorcodes['cyan'] = monochrome_logs ? '' : "\033[0;36m" - colorcodes['white'] = monochrome_logs ? '' : "\033[0;37m" - colorcodes['red'] = monochrome_logs ? '' : "\033[1;91m" - return colorcodes - } - - static String dashed_line(monochrome_logs) { - Map colors = log_colours(monochrome_logs) - return "-${colors.dim}----------------------------------------------------${colors.reset}-" - } - - static String nf_core(workflow, monochrome_logs) { - Map colors = log_colours(monochrome_logs) - String.format( - """\n - ${dashed_line(monochrome_logs)} - ${colors.green},--.${colors.black}/${colors.green},-.${colors.reset} - ${colors.blue} ___ __ __ __ ___ ${colors.green}/,-._.--~\'${colors.reset} - ${colors.blue} |\\ | |__ __ / ` / \\ |__) |__ ${colors.yellow}} {${colors.reset} - ${colors.blue} | \\| | \\__, \\__/ | \\ |___ ${colors.green}\\`-._,-`-,${colors.reset} - ${colors.green}`._,._,\'${colors.reset} - ${colors.purple} ${workflow.manifest.name} v${workflow.manifest.version}${colors.reset} - ${dashed_line(monochrome_logs)} - """.stripIndent() - ) - } -} diff --git a/lib/NfcoreSchema.groovy b/lib/NfcoreSchema.groovy old mode 100644 new mode 100755 index 52ee730..8d6920d --- a/lib/NfcoreSchema.groovy +++ b/lib/NfcoreSchema.groovy @@ -1,6 +1,6 @@ -/* - * This file holds several functions used to perform JSON parameter validation, help and summary rendering for the nf-core pipeline template. - */ +// +// This file holds several functions used to perform JSON parameter validation, help and summary rendering for the nf-core pipeline template. +// import org.everit.json.schema.Schema import org.everit.json.schema.loader.SchemaLoader @@ -13,16 +13,23 @@ import groovy.json.JsonBuilder class NfcoreSchema { - /* - * Function to loop over all parameters defined in schema and check - * whether the given paremeters adhere to the specificiations - */ + // + // Resolve Schema path relative to main workflow directory + // + public static String getSchemaPath(workflow, schema_filename='nextflow_schema.json') { + return "${workflow.projectDir}/${schema_filename}" + } + + // + // Function to loop over all parameters defined in schema and check + // whether the given parameters adhere to the specifications + // /* groovylint-disable-next-line UnusedPrivateMethodParameter */ - private static void validateParameters(params, jsonSchema, log) { + public static void validateParameters(workflow, params, log, schema_filename='nextflow_schema.json') { def has_error = false //=====================================================================// // Check for nextflow core params and unexpected params - def json = new File(jsonSchema).text + def json = new File(getSchemaPath(workflow, schema_filename=schema_filename)).text def Map schemaParams = (Map) new JsonSlurper().parseText(json).get('definitions') def nf_params = [ // Options for base `nextflow` command @@ -114,7 +121,8 @@ class NfcoreSchema { def params_ignore = params.schema_ignore_params.split(',') + 'schema_ignore_params' def expectedParamsLowerCase = expectedParams.collect{ it.replace("-", "").toLowerCase() } def specifiedParamLowerCase = specifiedParam.replace("-", "").toLowerCase() - if (!expectedParams.contains(specifiedParam) && !params_ignore.contains(specifiedParam) && !expectedParamsLowerCase.contains(specifiedParamLowerCase)) { + def isCamelCaseBug = (specifiedParam.contains("-") && !expectedParams.contains(specifiedParam) && expectedParamsLowerCase.contains(specifiedParamLowerCase)) + if (!expectedParams.contains(specifiedParam) && !params_ignore.contains(specifiedParam) && !isCamelCaseBug) { // Temporarily remove camelCase/camel-case params #1035 def unexpectedParamsLowerCase = unexpectedParams.collect{ it.replace("-", "").toLowerCase()} if (!unexpectedParamsLowerCase.contains(specifiedParamLowerCase)){ @@ -125,36 +133,36 @@ class NfcoreSchema { //=====================================================================// // Validate parameters against the schema - InputStream inputStream = new File(jsonSchema).newInputStream() - JSONObject rawSchema = new JSONObject(new JSONTokener(inputStream)) + InputStream input_stream = new File(getSchemaPath(workflow, schema_filename=schema_filename)).newInputStream() + JSONObject raw_schema = new JSONObject(new JSONTokener(input_stream)) // Remove anything that's in params.schema_ignore_params - rawSchema = removeIgnoredParams(rawSchema, params) + raw_schema = removeIgnoredParams(raw_schema, params) - Schema schema = SchemaLoader.load(rawSchema) + Schema schema = SchemaLoader.load(raw_schema) // Clean the parameters def cleanedParams = cleanParameters(params) // Convert to JSONObject def jsonParams = new JsonBuilder(cleanedParams) - JSONObject paramsJSON = new JSONObject(jsonParams.toString()) + JSONObject params_json = new JSONObject(jsonParams.toString()) // Validate try { - schema.validate(paramsJSON) + schema.validate(params_json) } catch (ValidationException e) { println '' log.error 'ERROR: Validation of pipeline parameters failed!' JSONObject exceptionJSON = e.toJSON() - printExceptions(exceptionJSON, paramsJSON, log) + printExceptions(exceptionJSON, params_json, log) println '' has_error = true } // Check for unexpected parameters if (unexpectedParams.size() > 0) { - Map colors = log_colours(params.monochrome_logs) + Map colors = NfcoreTemplate.logColours(params.monochrome_logs) println '' def warn_msg = 'Found unexpected parameters:' for (unexpectedParam in unexpectedParams) { @@ -170,266 +178,17 @@ class NfcoreSchema { } } - // Loop over nested exceptions and print the causingException - private static void printExceptions(exJSON, paramsJSON, log) { - def causingExceptions = exJSON['causingExceptions'] - if (causingExceptions.length() == 0) { - def m = exJSON['message'] =~ /required key \[([^\]]+)\] not found/ - // Missing required param - if (m.matches()) { - log.error "* Missing required parameter: --${m[0][1]}" - } - // Other base-level error - else if (exJSON['pointerToViolation'] == '#') { - log.error "* ${exJSON['message']}" - } - // Error with specific param - else { - def param = exJSON['pointerToViolation'] - ~/^#\// - def param_val = paramsJSON[param].toString() - log.error "* --${param}: ${exJSON['message']} (${param_val})" - } - } - for (ex in causingExceptions) { - printExceptions(ex, paramsJSON, log) - } - } - - // Remove an element from a JSONArray - private static JSONArray removeElement(jsonArray, element){ - def list = [] - int len = jsonArray.length() - for (int i=0;i - if(rawSchema.keySet().contains('definitions')){ - rawSchema.definitions.each { definition -> - for (key in definition.keySet()){ - if (definition[key].get("properties").keySet().contains(ignore_param)){ - // Remove the param to ignore - definition[key].get("properties").remove(ignore_param) - // If the param was required, change this - if (definition[key].has("required")) { - def cleaned_required = removeElement(definition[key].required, ignore_param) - definition[key].put("required", cleaned_required) - } - } - } - } - } - if(rawSchema.keySet().contains('properties') && rawSchema.get('properties').keySet().contains(ignore_param)) { - rawSchema.get("properties").remove(ignore_param) - } - if(rawSchema.keySet().contains('required') && rawSchema.required.contains(ignore_param)) { - def cleaned_required = removeElement(rawSchema.required, ignore_param) - rawSchema.put("required", cleaned_required) - } - } - return rawSchema - } - - private static Map cleanParameters(params) { - def new_params = params.getClass().newInstance(params) - for (p in params) { - // remove anything evaluating to false - if (!p['value']) { - new_params.remove(p.key) - } - // Cast MemoryUnit to String - if (p['value'].getClass() == nextflow.util.MemoryUnit) { - new_params.replace(p.key, p['value'].toString()) - } - // Cast Duration to String - if (p['value'].getClass() == nextflow.util.Duration) { - new_params.replace(p.key, p['value'].toString().replaceFirst(/d(?!\S)/, "day")) - } - // Cast LinkedHashMap to String - if (p['value'].getClass() == LinkedHashMap) { - new_params.replace(p.key, p['value'].toString()) - } - } - return new_params - } - - /* - * This method tries to read a JSON params file - */ - private static LinkedHashMap params_load(String json_schema) { - def params_map = new LinkedHashMap() - try { - params_map = params_read(json_schema) - } catch (Exception e) { - println "Could not read parameters settings from JSON. $e" - params_map = new LinkedHashMap() - } - return params_map - } - - private static Map log_colours(Boolean monochrome_logs) { - Map colorcodes = [:] - - // Reset / Meta - colorcodes['reset'] = monochrome_logs ? '' : "\033[0m" - colorcodes['bold'] = monochrome_logs ? '' : "\033[1m" - colorcodes['dim'] = monochrome_logs ? '' : "\033[2m" - colorcodes['underlined'] = monochrome_logs ? '' : "\033[4m" - colorcodes['blink'] = monochrome_logs ? '' : "\033[5m" - colorcodes['reverse'] = monochrome_logs ? '' : "\033[7m" - colorcodes['hidden'] = monochrome_logs ? '' : "\033[8m" - - // Regular Colors - colorcodes['black'] = monochrome_logs ? '' : "\033[0;30m" - colorcodes['red'] = monochrome_logs ? '' : "\033[0;31m" - colorcodes['green'] = monochrome_logs ? '' : "\033[0;32m" - colorcodes['yellow'] = monochrome_logs ? '' : "\033[0;33m" - colorcodes['blue'] = monochrome_logs ? '' : "\033[0;34m" - colorcodes['purple'] = monochrome_logs ? '' : "\033[0;35m" - colorcodes['cyan'] = monochrome_logs ? '' : "\033[0;36m" - colorcodes['white'] = monochrome_logs ? '' : "\033[0;37m" - - // Bold - colorcodes['bblack'] = monochrome_logs ? '' : "\033[1;30m" - colorcodes['bred'] = monochrome_logs ? '' : "\033[1;31m" - colorcodes['bgreen'] = monochrome_logs ? '' : "\033[1;32m" - colorcodes['byellow'] = monochrome_logs ? '' : "\033[1;33m" - colorcodes['bblue'] = monochrome_logs ? '' : "\033[1;34m" - colorcodes['bpurple'] = monochrome_logs ? '' : "\033[1;35m" - colorcodes['bcyan'] = monochrome_logs ? '' : "\033[1;36m" - colorcodes['bwhite'] = monochrome_logs ? '' : "\033[1;37m" - - // Underline - colorcodes['ublack'] = monochrome_logs ? '' : "\033[4;30m" - colorcodes['ured'] = monochrome_logs ? '' : "\033[4;31m" - colorcodes['ugreen'] = monochrome_logs ? '' : "\033[4;32m" - colorcodes['uyellow'] = monochrome_logs ? '' : "\033[4;33m" - colorcodes['ublue'] = monochrome_logs ? '' : "\033[4;34m" - colorcodes['upurple'] = monochrome_logs ? '' : "\033[4;35m" - colorcodes['ucyan'] = monochrome_logs ? '' : "\033[4;36m" - colorcodes['uwhite'] = monochrome_logs ? '' : "\033[4;37m" - - // High Intensity - colorcodes['iblack'] = monochrome_logs ? '' : "\033[0;90m" - colorcodes['ired'] = monochrome_logs ? '' : "\033[0;91m" - colorcodes['igreen'] = monochrome_logs ? '' : "\033[0;92m" - colorcodes['iyellow'] = monochrome_logs ? '' : "\033[0;93m" - colorcodes['iblue'] = monochrome_logs ? '' : "\033[0;94m" - colorcodes['ipurple'] = monochrome_logs ? '' : "\033[0;95m" - colorcodes['icyan'] = monochrome_logs ? '' : "\033[0;96m" - colorcodes['iwhite'] = monochrome_logs ? '' : "\033[0;97m" - - // Bold High Intensity - colorcodes['biblack'] = monochrome_logs ? '' : "\033[1;90m" - colorcodes['bired'] = monochrome_logs ? '' : "\033[1;91m" - colorcodes['bigreen'] = monochrome_logs ? '' : "\033[1;92m" - colorcodes['biyellow'] = monochrome_logs ? '' : "\033[1;93m" - colorcodes['biblue'] = monochrome_logs ? '' : "\033[1;94m" - colorcodes['bipurple'] = monochrome_logs ? '' : "\033[1;95m" - colorcodes['bicyan'] = monochrome_logs ? '' : "\033[1;96m" - colorcodes['biwhite'] = monochrome_logs ? '' : "\033[1;97m" - - return colorcodes - } - - static String dashed_line(monochrome_logs) { - Map colors = log_colours(monochrome_logs) - return "-${colors.dim}----------------------------------------------------${colors.reset}-" - } - - /* - Method to actually read in JSON file using Groovy. - Group (as Key), values are all parameters - - Parameter1 as Key, Description as Value - - Parameter2 as Key, Description as Value - .... - Group - - - */ - private static LinkedHashMap params_read(String json_schema) throws Exception { - def json = new File(json_schema).text - def Map schema_definitions = (Map) new JsonSlurper().parseText(json).get('definitions') - def Map schema_properties = (Map) new JsonSlurper().parseText(json).get('properties') - /* Tree looks like this in nf-core schema - * definitions <- this is what the first get('definitions') gets us - group 1 - title - description - properties - parameter 1 - type - description - parameter 2 - type - description - group 2 - title - description - properties - parameter 1 - type - description - * properties <- parameters can also be ungrouped, outside of definitions - parameter 1 - type - description - */ - - // Grouped params - def params_map = new LinkedHashMap() - schema_definitions.each { key, val -> - def Map group = schema_definitions."$key".properties // Gets the property object of the group - def title = schema_definitions."$key".title - def sub_params = new LinkedHashMap() - group.each { innerkey, value -> - sub_params.put(innerkey, value) - } - params_map.put(title, sub_params) - } - - // Ungrouped params - def ungrouped_params = new LinkedHashMap() - schema_properties.each { innerkey, value -> - ungrouped_params.put(innerkey, value) - } - params_map.put("Other parameters", ungrouped_params) - - return params_map - } - - /* - * Get maximum number of characters across all parameter names - */ - private static Integer params_max_chars(params_map) { - Integer max_chars = 0 - for (group in params_map.keySet()) { - def group_params = params_map.get(group) // This gets the parameters of that particular group - for (param in group_params.keySet()) { - if (param.size() > max_chars) { - max_chars = param.size() - } - } - } - return max_chars - } - - /* - * Beautify parameters for --help - */ - private static String params_help(workflow, params, json_schema, command) { - Map colors = log_colours(params.monochrome_logs) + // + // Beautify parameters for --help + // + public static String paramsHelp(workflow, params, command, schema_filename='nextflow_schema.json') { + Map colors = NfcoreTemplate.logColours(params.monochrome_logs) Integer num_hidden = 0 String output = '' output += 'Typical pipeline command:\n\n' output += " ${colors.cyan}${command}${colors.reset}\n\n" - Map params_map = params_load(json_schema) - Integer max_chars = params_max_chars(params_map) + 1 + Map params_map = paramsLoad(getSchemaPath(workflow, schema_filename=schema_filename)) + Integer max_chars = paramsMaxChars(params_map) + 1 Integer desc_indent = max_chars + 14 Integer dec_linewidth = 160 - desc_indent for (group in params_map.keySet()) { @@ -469,18 +228,17 @@ class NfcoreSchema { output += group_output } } - output += dashed_line(params.monochrome_logs) if (num_hidden > 0){ - output += colors.dim + "\n Hiding $num_hidden params, use --show_hidden_params to show.\n" + colors.reset - output += dashed_line(params.monochrome_logs) + output += colors.dim + "!! Hiding $num_hidden params, use --show_hidden_params to show them !!\n" + colors.reset } + output += NfcoreTemplate.dashedLine(params.monochrome_logs) return output } - /* - * Groovy Map summarising parameters/workflow options used by the pipeline - */ - private static LinkedHashMap params_summary_map(workflow, params, json_schema) { + // + // Groovy Map summarising parameters/workflow options used by the pipeline + // + public static LinkedHashMap paramsSummaryMap(workflow, params, schema_filename='nextflow_schema.json') { // Get a selection of core Nextflow workflow options def Map workflow_summary = [:] if (workflow.revision) { @@ -503,7 +261,7 @@ class NfcoreSchema { // Get pipeline parameters defined in JSON Schema def Map params_summary = [:] def blacklist = ['hostnames'] - def params_map = params_load(json_schema) + def params_map = paramsLoad(getSchemaPath(workflow, schema_filename=schema_filename)) for (group in params_map.keySet()) { def sub_params = new LinkedHashMap() def group_params = params_map.get(group) // This gets the parameters of that particular group @@ -546,14 +304,14 @@ class NfcoreSchema { return [ 'Core Nextflow options' : workflow_summary ] << params_summary } - /* - * Beautify parameters for summary and return as string - */ - private static String params_summary_log(workflow, params, json_schema) { - Map colors = log_colours(params.monochrome_logs) + // + // Beautify parameters for summary and return as string + // + public static String paramsSummaryLog(workflow, params) { + Map colors = NfcoreTemplate.logColours(params.monochrome_logs) String output = '' - def params_map = params_summary_map(workflow, params, json_schema) - def max_chars = params_max_chars(params_map) + def params_map = paramsSummaryMap(workflow, params) + def max_chars = paramsMaxChars(params_map) for (group in params_map.keySet()) { def group_params = params_map.get(group) // This gets the parameters of that particular group if (group_params) { @@ -564,10 +322,196 @@ class NfcoreSchema { output += '\n' } } - output += dashed_line(params.monochrome_logs) - output += colors.dim + "\n Only displaying parameters that differ from defaults.\n" + colors.reset - output += dashed_line(params.monochrome_logs) + output += "!! Only displaying parameters that differ from the pipeline defaults !!\n" + output += NfcoreTemplate.dashedLine(params.monochrome_logs) return output } + // + // Loop over nested exceptions and print the causingException + // + private static void printExceptions(ex_json, params_json, log) { + def causingExceptions = ex_json['causingExceptions'] + if (causingExceptions.length() == 0) { + def m = ex_json['message'] =~ /required key \[([^\]]+)\] not found/ + // Missing required param + if (m.matches()) { + log.error "* Missing required parameter: --${m[0][1]}" + } + // Other base-level error + else if (ex_json['pointerToViolation'] == '#') { + log.error "* ${ex_json['message']}" + } + // Error with specific param + else { + def param = ex_json['pointerToViolation'] - ~/^#\// + def param_val = params_json[param].toString() + log.error "* --${param}: ${ex_json['message']} (${param_val})" + } + } + for (ex in causingExceptions) { + printExceptions(ex, params_json, log) + } + } + + // + // Remove an element from a JSONArray + // + private static JSONArray removeElement(json_array, element) { + def list = [] + int len = json_array.length() + for (int i=0;i + if(raw_schema.keySet().contains('definitions')){ + raw_schema.definitions.each { definition -> + for (key in definition.keySet()){ + if (definition[key].get("properties").keySet().contains(ignore_param)){ + // Remove the param to ignore + definition[key].get("properties").remove(ignore_param) + // If the param was required, change this + if (definition[key].has("required")) { + def cleaned_required = removeElement(definition[key].required, ignore_param) + definition[key].put("required", cleaned_required) + } + } + } + } + } + if(raw_schema.keySet().contains('properties') && raw_schema.get('properties').keySet().contains(ignore_param)) { + raw_schema.get("properties").remove(ignore_param) + } + if(raw_schema.keySet().contains('required') && raw_schema.required.contains(ignore_param)) { + def cleaned_required = removeElement(raw_schema.required, ignore_param) + raw_schema.put("required", cleaned_required) + } + } + return raw_schema + } + + // + // Clean and check parameters relative to Nextflow native classes + // + private static Map cleanParameters(params) { + def new_params = params.getClass().newInstance(params) + for (p in params) { + // remove anything evaluating to false + if (!p['value']) { + new_params.remove(p.key) + } + // Cast MemoryUnit to String + if (p['value'].getClass() == nextflow.util.MemoryUnit) { + new_params.replace(p.key, p['value'].toString()) + } + // Cast Duration to String + if (p['value'].getClass() == nextflow.util.Duration) { + new_params.replace(p.key, p['value'].toString().replaceFirst(/d(?!\S)/, "day")) + } + // Cast LinkedHashMap to String + if (p['value'].getClass() == LinkedHashMap) { + new_params.replace(p.key, p['value'].toString()) + } + } + return new_params + } + + // + // This function tries to read a JSON params file + // + private static LinkedHashMap paramsLoad(String json_schema) { + def params_map = new LinkedHashMap() + try { + params_map = paramsRead(json_schema) + } catch (Exception e) { + println "Could not read parameters settings from JSON. $e" + params_map = new LinkedHashMap() + } + return params_map + } + + // + // Method to actually read in JSON file using Groovy. + // Group (as Key), values are all parameters + // - Parameter1 as Key, Description as Value + // - Parameter2 as Key, Description as Value + // .... + // Group + // - + private static LinkedHashMap paramsRead(String json_schema) throws Exception { + def json = new File(json_schema).text + def Map schema_definitions = (Map) new JsonSlurper().parseText(json).get('definitions') + def Map schema_properties = (Map) new JsonSlurper().parseText(json).get('properties') + /* Tree looks like this in nf-core schema + * definitions <- this is what the first get('definitions') gets us + group 1 + title + description + properties + parameter 1 + type + description + parameter 2 + type + description + group 2 + title + description + properties + parameter 1 + type + description + * properties <- parameters can also be ungrouped, outside of definitions + parameter 1 + type + description + */ + + // Grouped params + def params_map = new LinkedHashMap() + schema_definitions.each { key, val -> + def Map group = schema_definitions."$key".properties // Gets the property object of the group + def title = schema_definitions."$key".title + def sub_params = new LinkedHashMap() + group.each { innerkey, value -> + sub_params.put(innerkey, value) + } + params_map.put(title, sub_params) + } + + // Ungrouped params + def ungrouped_params = new LinkedHashMap() + schema_properties.each { innerkey, value -> + ungrouped_params.put(innerkey, value) + } + params_map.put("Other parameters", ungrouped_params) + + return params_map + } + + // + // Get maximum number of characters across all parameter names + // + private static Integer paramsMaxChars(params_map) { + Integer max_chars = 0 + for (group in params_map.keySet()) { + def group_params = params_map.get(group) // This gets the parameters of that particular group + for (param in group_params.keySet()) { + if (param.size() > max_chars) { + max_chars = param.size() + } + } + } + return max_chars + } } diff --git a/lib/NfcoreTemplate.groovy b/lib/NfcoreTemplate.groovy new file mode 100755 index 0000000..b6e689e --- /dev/null +++ b/lib/NfcoreTemplate.groovy @@ -0,0 +1,266 @@ +// +// This file holds several functions used within the nf-core pipeline template. +// + +import org.yaml.snakeyaml.Yaml + +class NfcoreTemplate { + + // + // Check AWS Batch related parameters have been specified correctly + // + public static void awsBatch(workflow, params) { + if (workflow.profile.contains('awsbatch')) { + // Check params.awsqueue and params.awsregion have been set if running on AWSBatch + assert (params.awsqueue && params.awsregion) : "Specify correct --awsqueue and --awsregion parameters on AWSBatch!" + // Check outdir paths to be S3 buckets if running on AWSBatch + assert params.outdir.startsWith('s3:') : "Outdir not on S3 - specify S3 Bucket to run on AWSBatch!" + } + } + + // + // Check params.hostnames + // + public static void hostName(workflow, params, log) { + Map colors = logColours(params.monochrome_logs) + if (params.hostnames) { + def hostname = "hostname".execute().text.trim() + params.hostnames.each { prof, hnames -> + hnames.each { hname -> + if (hostname.contains(hname) && !workflow.profile.contains(prof)) { + log.info "=${colors.yellow}====================================================${colors.reset}=\n" + + "${colors.yellow}WARN: You are running with `-profile $workflow.profile`\n" + + " but your machine hostname is ${colors.white}'$hostname'${colors.reset}.\n" + + " ${colors.yellow_bold}Please use `-profile $prof${colors.reset}`\n" + + "=${colors.yellow}====================================================${colors.reset}=" + } + } + } + } + } + + // + // Construct and send completion email + // + public static void email(workflow, params, summary_params, projectDir, log, multiqc_report=[]) { + + // Set up the e-mail variables + def subject = "[$workflow.manifest.name] Successful: $workflow.runName" + if (!workflow.success) { + subject = "[$workflow.manifest.name] FAILED: $workflow.runName" + } + + def summary = [:] + for (group in summary_params.keySet()) { + summary << summary_params[group] + } + + def misc_fields = [:] + misc_fields['Date Started'] = workflow.start + misc_fields['Date Completed'] = workflow.complete + misc_fields['Pipeline script file path'] = workflow.scriptFile + misc_fields['Pipeline script hash ID'] = workflow.scriptId + if (workflow.repository) misc_fields['Pipeline repository Git URL'] = workflow.repository + if (workflow.commitId) misc_fields['Pipeline repository Git Commit'] = workflow.commitId + if (workflow.revision) misc_fields['Pipeline Git branch/tag'] = workflow.revision + misc_fields['Nextflow Version'] = workflow.nextflow.version + misc_fields['Nextflow Build'] = workflow.nextflow.build + misc_fields['Nextflow Compile Timestamp'] = workflow.nextflow.timestamp + + def email_fields = [:] + email_fields['version'] = workflow.manifest.version + email_fields['runName'] = workflow.runName + email_fields['success'] = workflow.success + email_fields['dateComplete'] = workflow.complete + email_fields['duration'] = workflow.duration + email_fields['exitStatus'] = workflow.exitStatus + email_fields['errorMessage'] = (workflow.errorMessage ?: 'None') + email_fields['errorReport'] = (workflow.errorReport ?: 'None') + email_fields['commandLine'] = workflow.commandLine + email_fields['projectDir'] = workflow.projectDir + email_fields['summary'] = summary << misc_fields + + // On success try attach the multiqc report + def mqc_report = null + try { + if (workflow.success) { + mqc_report = multiqc_report.getVal() + if (mqc_report.getClass() == ArrayList && mqc_report.size() >= 1) { + if (mqc_report.size() > 1) { + log.warn "[$workflow.manifest.name] Found multiple reports from process 'MULTIQC', will use only one" + } + mqc_report = mqc_report[0] + } + } + } catch (all) { + if (multiqc_report) { + log.warn "[$workflow.manifest.name] Could not attach MultiQC report to summary email" + } + } + + // Check if we are only sending emails on failure + def email_address = params.email + if (!params.email && params.email_on_fail && !workflow.success) { + email_address = params.email_on_fail + } + + // Render the TXT template + def engine = new groovy.text.GStringTemplateEngine() + def tf = new File("$projectDir/assets/email_template.txt") + def txt_template = engine.createTemplate(tf).make(email_fields) + def email_txt = txt_template.toString() + + // Render the HTML template + def hf = new File("$projectDir/assets/email_template.html") + def html_template = engine.createTemplate(hf).make(email_fields) + def email_html = html_template.toString() + + // Render the sendmail template + def max_multiqc_email_size = params.max_multiqc_email_size as nextflow.util.MemoryUnit + def smail_fields = [ email: email_address, subject: subject, email_txt: email_txt, email_html: email_html, projectDir: "$projectDir", mqcFile: mqc_report, mqcMaxSize: max_multiqc_email_size.toBytes() ] + def sf = new File("$projectDir/assets/sendmail_template.txt") + def sendmail_template = engine.createTemplate(sf).make(smail_fields) + def sendmail_html = sendmail_template.toString() + + // Send the HTML e-mail + Map colors = logColours(params.monochrome_logs) + if (email_address) { + try { + if (params.plaintext_email) { throw GroovyException('Send plaintext e-mail, not HTML') } + // Try to send HTML e-mail using sendmail + [ 'sendmail', '-t' ].execute() << sendmail_html + log.info "-${colors.purple}[$workflow.manifest.name]${colors.green} Sent summary e-mail to $email_address (sendmail)-" + } catch (all) { + // Catch failures and try with plaintext + def mail_cmd = [ 'mail', '-s', subject, '--content-type=text/html', email_address ] + if ( mqc_report.size() <= max_multiqc_email_size.toBytes() ) { + mail_cmd += [ '-A', mqc_report ] + } + mail_cmd.execute() << email_html + log.info "-${colors.purple}[$workflow.manifest.name]${colors.green} Sent summary e-mail to $email_address (mail)-" + } + } + + // Write summary e-mail HTML to a file + def output_d = new File("${params.outdir}/pipeline_info/") + if (!output_d.exists()) { + output_d.mkdirs() + } + def output_hf = new File(output_d, "pipeline_report.html") + output_hf.withWriter { w -> w << email_html } + def output_tf = new File(output_d, "pipeline_report.txt") + output_tf.withWriter { w -> w << email_txt } + } + + // + // Print pipeline summary on completion + // + public static void summary(workflow, params, log) { + Map colors = logColours(params.monochrome_logs) + if (workflow.success) { + if (workflow.stats.ignoredCount == 0) { + log.info "-${colors.purple}[$workflow.manifest.name]${colors.green} Pipeline completed successfully${colors.reset}-" + } else { + log.info "-${colors.purple}[$workflow.manifest.name]${colors.red} Pipeline completed successfully, but with errored process(es) ${colors.reset}-" + } + } else { + hostName(workflow, params, log) + log.info "-${colors.purple}[$workflow.manifest.name]${colors.red} Pipeline completed with errors${colors.reset}-" + } + } + + // + // ANSII Colours used for terminal logging + // + public static Map logColours(Boolean monochrome_logs) { + Map colorcodes = [:] + + // Reset / Meta + colorcodes['reset'] = monochrome_logs ? '' : "\033[0m" + colorcodes['bold'] = monochrome_logs ? '' : "\033[1m" + colorcodes['dim'] = monochrome_logs ? '' : "\033[2m" + colorcodes['underlined'] = monochrome_logs ? '' : "\033[4m" + colorcodes['blink'] = monochrome_logs ? '' : "\033[5m" + colorcodes['reverse'] = monochrome_logs ? '' : "\033[7m" + colorcodes['hidden'] = monochrome_logs ? '' : "\033[8m" + + // Regular Colors + colorcodes['black'] = monochrome_logs ? '' : "\033[0;30m" + colorcodes['red'] = monochrome_logs ? '' : "\033[0;31m" + colorcodes['green'] = monochrome_logs ? '' : "\033[0;32m" + colorcodes['yellow'] = monochrome_logs ? '' : "\033[0;33m" + colorcodes['blue'] = monochrome_logs ? '' : "\033[0;34m" + colorcodes['purple'] = monochrome_logs ? '' : "\033[0;35m" + colorcodes['cyan'] = monochrome_logs ? '' : "\033[0;36m" + colorcodes['white'] = monochrome_logs ? '' : "\033[0;37m" + + // Bold + colorcodes['bblack'] = monochrome_logs ? '' : "\033[1;30m" + colorcodes['bred'] = monochrome_logs ? '' : "\033[1;31m" + colorcodes['bgreen'] = monochrome_logs ? '' : "\033[1;32m" + colorcodes['byellow'] = monochrome_logs ? '' : "\033[1;33m" + colorcodes['bblue'] = monochrome_logs ? '' : "\033[1;34m" + colorcodes['bpurple'] = monochrome_logs ? '' : "\033[1;35m" + colorcodes['bcyan'] = monochrome_logs ? '' : "\033[1;36m" + colorcodes['bwhite'] = monochrome_logs ? '' : "\033[1;37m" + + // Underline + colorcodes['ublack'] = monochrome_logs ? '' : "\033[4;30m" + colorcodes['ured'] = monochrome_logs ? '' : "\033[4;31m" + colorcodes['ugreen'] = monochrome_logs ? '' : "\033[4;32m" + colorcodes['uyellow'] = monochrome_logs ? '' : "\033[4;33m" + colorcodes['ublue'] = monochrome_logs ? '' : "\033[4;34m" + colorcodes['upurple'] = monochrome_logs ? '' : "\033[4;35m" + colorcodes['ucyan'] = monochrome_logs ? '' : "\033[4;36m" + colorcodes['uwhite'] = monochrome_logs ? '' : "\033[4;37m" + + // High Intensity + colorcodes['iblack'] = monochrome_logs ? '' : "\033[0;90m" + colorcodes['ired'] = monochrome_logs ? '' : "\033[0;91m" + colorcodes['igreen'] = monochrome_logs ? '' : "\033[0;92m" + colorcodes['iyellow'] = monochrome_logs ? '' : "\033[0;93m" + colorcodes['iblue'] = monochrome_logs ? '' : "\033[0;94m" + colorcodes['ipurple'] = monochrome_logs ? '' : "\033[0;95m" + colorcodes['icyan'] = monochrome_logs ? '' : "\033[0;96m" + colorcodes['iwhite'] = monochrome_logs ? '' : "\033[0;97m" + + // Bold High Intensity + colorcodes['biblack'] = monochrome_logs ? '' : "\033[1;90m" + colorcodes['bired'] = monochrome_logs ? '' : "\033[1;91m" + colorcodes['bigreen'] = monochrome_logs ? '' : "\033[1;92m" + colorcodes['biyellow'] = monochrome_logs ? '' : "\033[1;93m" + colorcodes['biblue'] = monochrome_logs ? '' : "\033[1;94m" + colorcodes['bipurple'] = monochrome_logs ? '' : "\033[1;95m" + colorcodes['bicyan'] = monochrome_logs ? '' : "\033[1;96m" + colorcodes['biwhite'] = monochrome_logs ? '' : "\033[1;97m" + + return colorcodes + } + + // + // Does what is says on the tin + // + public static String dashedLine(monochrome_logs) { + Map colors = logColours(monochrome_logs) + return "-${colors.dim}----------------------------------------------------${colors.reset}-" + } + + // + // nf-core logo + // + public static String logo(workflow, monochrome_logs) { + Map colors = logColours(monochrome_logs) + String.format( + """\n + ${dashedLine(monochrome_logs)} + ${colors.green},--.${colors.black}/${colors.green},-.${colors.reset} + ${colors.blue} ___ __ __ __ ___ ${colors.green}/,-._.--~\'${colors.reset} + ${colors.blue} |\\ | |__ __ / ` / \\ |__) |__ ${colors.yellow}} {${colors.reset} + ${colors.blue} | \\| | \\__, \\__/ | \\ |___ ${colors.green}\\`-._,-`-,${colors.reset} + ${colors.green}`._,._,\'${colors.reset} + ${colors.purple} ${workflow.manifest.name} v${workflow.manifest.version}${colors.reset} + ${dashedLine(monochrome_logs)} + """.stripIndent() + ) + } +} diff --git a/lib/Utils.groovy b/lib/Utils.groovy new file mode 100755 index 0000000..18173e9 --- /dev/null +++ b/lib/Utils.groovy @@ -0,0 +1,47 @@ +// +// This file holds several Groovy functions that could be useful for any Nextflow pipeline +// + +import org.yaml.snakeyaml.Yaml + +class Utils { + + // + // When running with -profile conda, warn if channels have not been set-up appropriately + // + public static void checkCondaChannels(log) { + Yaml parser = new Yaml() + def channels = [] + try { + def config = parser.load("conda config --show channels".execute().text) + channels = config.channels + } catch(NullPointerException | IOException e) { + log.warn "Could not verify conda channel configuration." + return + } + + // Check that all channels are present + def required_channels = ['conda-forge', 'bioconda', 'defaults'] + def conda_check_failed = !required_channels.every { ch -> ch in channels } + + // Check that they are in the right order + conda_check_failed |= !(channels.indexOf('conda-forge') < channels.indexOf('bioconda')) + conda_check_failed |= !(channels.indexOf('bioconda') < channels.indexOf('defaults')) + + if (conda_check_failed) { + log.warn "=============================================================================\n" + + " There is a problem with your Conda configuration!\n\n" + + " You will need to set-up the conda-forge and bioconda channels correctly.\n" + + " Please refer to https://bioconda.github.io/user/install.html#set-up-channels\n" + + " NB: The order of the channels matters!\n" + + "===================================================================================" + } + } + + // + // Join module args with appropriate spacing + // + public static String joinModuleArgs(args_list) { + return ' ' + args_list.join(' ') + } +} diff --git a/lib/WorkflowEpitopeprediction.groovy b/lib/WorkflowEpitopeprediction.groovy new file mode 100755 index 0000000..d356477 --- /dev/null +++ b/lib/WorkflowEpitopeprediction.groovy @@ -0,0 +1,59 @@ +// +// This file holds several functions specific to the workflow/epitopeprediction.nf in the nf-core/epitopeprediction pipeline +// + +class WorkflowEpitopeprediction { + + // + // Check and validate parameters + // + public static void initialise(params, log) { + genomeExistsError(params, log) + + if (!params.fasta) { + log.error "Genome fasta file not specified with e.g. '--fasta genome.fa' or via a detectable config file." + System.exit(1) + } + } + + // + // Get workflow summary for MultiQC + // + public static String paramsSummaryMultiqc(workflow, summary) { + String summary_section = '' + for (group in summary.keySet()) { + def group_params = summary.get(group) // This gets the parameters of that particular group + if (group_params) { + summary_section += "

$group

\n" + summary_section += "
\n" + } + } + + String yaml_file_text = "id: '${workflow.manifest.name.replace('/','-')}-summary'\n" + yaml_file_text += "description: ' - this information is collected when the pipeline is started.'\n" + yaml_file_text += "section_name: '${workflow.manifest.name} Workflow Summary'\n" + yaml_file_text += "section_href: 'https://github.com/${workflow.manifest.name}'\n" + yaml_file_text += "plot_type: 'html'\n" + yaml_file_text += "data: |\n" + yaml_file_text += "${summary_section}" + return yaml_file_text + } + + // + // Exit pipeline if incorrect --genome key provided + // + private static void genomeExistsError(params, log) { + if (params.genomes && params.genome && !params.genomes.containsKey(params.genome)) { + log.error "=============================================================================\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" + + "===================================================================================" + System.exit(1) + } + } +} diff --git a/lib/WorkflowMain.groovy b/lib/WorkflowMain.groovy new file mode 100755 index 0000000..27fcde2 --- /dev/null +++ b/lib/WorkflowMain.groovy @@ -0,0 +1,94 @@ +// +// This file holds several functions specific to the main.nf workflow in the nf-core/epitopeprediction pipeline +// + +class WorkflowMain { + + // + // Citation string for pipeline + // + public static String citation(workflow) { + return "If you use ${workflow.manifest.name} for your analysis please cite:\n\n" + + // TODO nf-core: Add Zenodo DOI for pipeline after first release + //"* The pipeline\n" + + //" https://doi.org/10.5281/zenodo.XXXXXXX\n\n" + + "* The nf-core framework\n" + + " https://doi.org/10.1038/s41587-020-0439-x\n\n" + + "* Software dependencies\n" + + " https://github.com/${workflow.manifest.name}/blob/master/CITATIONS.md" + } + + // + // Print help to screen if required + // + public static String help(workflow, params, log) { + def command = "nextflow run ${workflow.manifest.name} --input samplesheet.csv --genome GRCh37 -profile docker" + def help_string = '' + help_string += NfcoreTemplate.logo(workflow, params.monochrome_logs) + help_string += NfcoreSchema.paramsHelp(workflow, params, command) + help_string += '\n' + citation(workflow) + '\n' + help_string += NfcoreTemplate.dashedLine(params.monochrome_logs) + return help_string + } + + // + // Print parameter summary log to screen + // + public static String paramsSummaryLog(workflow, params, log) { + def summary_log = '' + summary_log += NfcoreTemplate.logo(workflow, params.monochrome_logs) + summary_log += NfcoreSchema.paramsSummaryLog(workflow, params) + summary_log += '\n' + citation(workflow) + '\n' + summary_log += NfcoreTemplate.dashedLine(params.monochrome_logs) + return summary_log + } + + // + // Validate parameters and print summary to screen + // + public static void initialise(workflow, params, log) { + // Print help to screen if required + if (params.help) { + log.info help(workflow, params, log) + System.exit(0) + } + + // Validate workflow parameters via the JSON schema + if (params.validate_params) { + NfcoreSchema.validateParameters(workflow, params, log) + } + + // Print parameter summary log to screen + log.info paramsSummaryLog(workflow, params, log) + + // Check that conda channels are set-up correctly + if (params.enable_conda) { + Utils.checkCondaChannels(log) + } + + // Check AWS batch settings + NfcoreTemplate.awsBatch(workflow, params) + + // Check the hostnames against configured profiles + NfcoreTemplate.hostName(workflow, params, log) + + // Check input has been provided + if (!params.input) { + log.error "Please provide an input samplesheet to the pipeline e.g. '--input samplesheet.csv'" + System.exit(1) + } + } + + // + // Get attribute from genome config file e.g. fasta + // + public static String getGenomeAttribute(params, attribute) { + def val = '' + if (params.genomes && params.genome && params.genomes.containsKey(params.genome)) { + if (params.genomes[ params.genome ].containsKey(attribute)) { + val = params.genomes[ params.genome ][ attribute ] + } + } + return val + } +} diff --git a/main.nf b/main.nf index 6d62dfa..2d41f77 100644 --- a/main.nf +++ b/main.nf @@ -1,390 +1,63 @@ #!/usr/bin/env nextflow /* ======================================================================================== - nf-core/epitopeprediction + nf-core/epitopeprediction ======================================================================================== - nf-core/epitopeprediction Analysis Pipeline. - #### Homepage / Documentation - https://github.com/nf-core/epitopeprediction + Github : https://github.com/nf-core/epitopeprediction + Website: https://nf-co.re/epitopeprediction + Slack : https://nfcore.slack.com/channels/epitopeprediction ---------------------------------------------------------------------------------------- */ -log.info Headers.nf_core(workflow, params.monochrome_logs) - -//////////////////////////////////////////////////// -/* -- PRINT HELP -- */ -////////////////////////////////////////////////////+ -def json_schema = "$projectDir/nextflow_schema.json" -if (params.help) { - def command = "nextflow run nf-core/epitopeprediction --input '*_R{1,2}.fastq.gz' -profile docker" - log.info NfcoreSchema.params_help(workflow, params, json_schema, command) - exit 0 -} - -//////////////////////////////////////////////////// -/* -- VALIDATE PARAMETERS -- */ -////////////////////////////////////////////////////+ -if (params.validate_params) { - NfcoreSchema.validateParameters(params, json_schema, log) -} - -//////////////////////////////////////////////////// -/* -- Collect configuration parameters -- */ -//////////////////////////////////////////////////// - -// Check if genome exists in the config file -if (params.genomes && params.genome && !params.genomes.containsKey(params.genome)) { - exit 1, "The provided genome '${params.genome}' is not available in the iGenomes file. Currently the available genomes are ${params.genomes.keySet().join(', ')}" -} - -// TODO nf-core: Add any reference files that are needed -// Configurable reference genomes -// -// NOTE - THIS IS NOT USED IN THIS PIPELINE, EXAMPLE ONLY -// If you want to use the channel below in a process, define the following: -// input: -// file fasta from ch_fasta -// -params.fasta = params.genome ? params.genomes[ params.genome ].fasta ?: false : false -if (params.fasta) { ch_fasta = file(params.fasta, checkIfExists: true) } - -// Check AWS batch settings -if (workflow.profile.contains('awsbatch')) { - // AWSBatch sanity checking - if (!params.awsqueue || !params.awsregion) exit 1, 'Specify correct --awsqueue and --awsregion parameters on AWSBatch!' - // Check outdir paths to be S3 buckets if running on AWSBatch - // related: https://github.com/nextflow-io/nextflow/issues/813 - if (!params.outdir.startsWith('s3:')) exit 1, 'Outdir not on S3 - specify S3 Bucket to run on AWSBatch!' - // Prevent trace files to be stored on S3 since S3 does not support rolling files. - if (params.tracedir.startsWith('s3:')) exit 1, 'Specify a local tracedir or run without trace! S3 cannot be used for tracefiles.' -} - -// Stage config files -ch_multiqc_config = file("$projectDir/assets/multiqc_config.yaml", checkIfExists: true) -ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multiqc_config, checkIfExists: true) : Channel.empty() -ch_output_docs = file("$projectDir/docs/output.md", checkIfExists: true) -ch_output_docs_images = file("$projectDir/docs/images/", checkIfExists: true) +nextflow.enable.dsl = 2 /* - * Create a channel for input read files - */ -if (params.input_paths) { - if (params.single_end) { - Channel - .from(params.input_paths) - .map { row -> [ row[0], [ file(row[1][0], checkIfExists: true) ] ] } - .ifEmpty { exit 1, 'params.input_paths was empty - no input files supplied' } - .into { ch_read_files_fastqc; ch_read_files_trimming } - } else { - Channel - .from(params.input_paths) - .map { row -> [ row[0], [ file(row[1][0], checkIfExists: true), file(row[1][1], checkIfExists: true) ] ] } - .ifEmpty { exit 1, 'params.input_paths was empty - no input files supplied' } - .into { ch_read_files_fastqc; ch_read_files_trimming } - } -} else { - Channel - .fromFilePairs(params.input, size: params.single_end ? 1 : 2) - .ifEmpty { exit 1, "Cannot find any reads matching: ${params.input}\nNB: Path needs to be enclosed in quotes!\nIf this is single-end data, please specify --single_end on the command line." } - .into { ch_read_files_fastqc; ch_read_files_trimming } -} - -//////////////////////////////////////////////////// -/* -- PRINT PARAMETER SUMMARY -- */ -//////////////////////////////////////////////////// -log.info NfcoreSchema.params_summary_log(workflow, params, json_schema) - -// Header log info -def summary = [:] -if (workflow.revision) summary['Pipeline Release'] = workflow.revision -summary['Run Name'] = workflow.runName -// TODO nf-core: Report custom parameters here -summary['Input'] = params.input -summary['Fasta Ref'] = params.fasta -summary['Data Type'] = params.single_end ? 'Single-End' : 'Paired-End' -summary['Max Resources'] = "$params.max_memory memory, $params.max_cpus cpus, $params.max_time time per job" -if (workflow.containerEngine) summary['Container'] = "$workflow.containerEngine - $workflow.container" -summary['Output dir'] = params.outdir -summary['Launch dir'] = workflow.launchDir -summary['Working dir'] = workflow.workDir -summary['Script dir'] = workflow.projectDir -summary['User'] = workflow.userName -if (workflow.profile.contains('awsbatch')) { - summary['AWS Region'] = params.awsregion - summary['AWS Queue'] = params.awsqueue - summary['AWS CLI'] = params.awscli -} -summary['Config Profile'] = workflow.profile -if (params.config_profile_description) summary['Config Profile Description'] = params.config_profile_description -if (params.config_profile_contact) summary['Config Profile Contact'] = params.config_profile_contact -if (params.config_profile_url) summary['Config Profile URL'] = params.config_profile_url -summary['Config Files'] = workflow.configFiles.join(', ') -if (params.email || params.email_on_fail) { - summary['E-mail Address'] = params.email - summary['E-mail on failure'] = params.email_on_fail - summary['MultiQC maxsize'] = params.max_multiqc_email_size -} - -// Check the hostnames against configured profiles -checkHostname() - -Channel.from(summary.collect{ [it.key, it.value] }) - .map { k,v -> "
$k
${v ?: 'N/A'}
" } - .reduce { a, b -> return [a, b].join("\n ") } - .map { x -> """ - id: 'nf-core-epitopeprediction-summary' - description: " - this information is collected when the pipeline is started." - section_name: 'nf-core/epitopeprediction Workflow Summary' - section_href: 'https://github.com/nf-core/epitopeprediction' - plot_type: 'html' - data: | -
- $x -
- """.stripIndent() } - .set { ch_workflow_summary } - -/* - * Parse software version numbers - */ -process get_software_versions { - publishDir "${params.outdir}/pipeline_info", mode: params.publish_dir_mode, - saveAs: { filename -> - if (filename.indexOf('.csv') > 0) filename - else null - } - - output: - file 'software_versions_mqc.yaml' into ch_software_versions_yaml - file 'software_versions.csv' +======================================================================================== + GENOME PARAMETER VALUES +======================================================================================== +*/ - script: - // TODO nf-core: Get all tools to print their version number here - """ - echo $workflow.manifest.version > v_pipeline.txt - echo $workflow.nextflow.version > v_nextflow.txt - fastqc --version > v_fastqc.txt - multiqc --version > v_multiqc.txt - scrape_software_versions.py &> software_versions_mqc.yaml - """ -} +params.fasta = WorkflowMain.getGenomeAttribute(params, 'fasta') /* - * STEP 1 - FastQC - */ -process fastqc { - tag "$name" - label 'process_medium' - publishDir "${params.outdir}/fastqc", mode: params.publish_dir_mode, - saveAs: { filename -> - filename.indexOf('.zip') > 0 ? "zips/$filename" : "$filename" - } - - input: - set val(name), file(reads) from ch_read_files_fastqc - - output: - file '*_fastqc.{zip,html}' into ch_fastqc_results +======================================================================================== + VALIDATE & PRINT PARAMETER SUMMARY +======================================================================================== +*/ - script: - """ - fastqc --quiet --threads $task.cpus $reads - """ -} +WorkflowMain.initialise(workflow, params, log) /* - * STEP 2 - MultiQC - */ -process multiqc { - publishDir "${params.outdir}/MultiQC", mode: params.publish_dir_mode - - input: - file (multiqc_config) from ch_multiqc_config - file (mqc_custom_config) from ch_multiqc_custom_config.collect().ifEmpty([]) - // TODO nf-core: Add in log files from your new processes for MultiQC to find! - file ('fastqc/*') from ch_fastqc_results.collect().ifEmpty([]) - file ('software_versions/*') from ch_software_versions_yaml.collect() - file workflow_summary from ch_workflow_summary.collectFile(name: "workflow_summary_mqc.yaml") +======================================================================================== + NAMED WORKFLOW FOR PIPELINE +======================================================================================== +*/ - output: - file "*multiqc_report.html" into ch_multiqc_report - file "*_data" - file "multiqc_plots" +include { EPITOPEPREDICTION } from './workflows/epitopeprediction' - script: - rtitle = '' - rfilename = '' - if (!(workflow.runName ==~ /[a-z]+_[a-z]+/)) { - rtitle = "--title \"${workflow.runName}\"" - rfilename = "--filename " + workflow.runName.replaceAll('\\W','_').replaceAll('_+','_') + "_multiqc_report" - } - custom_config_file = params.multiqc_config ? "--config $mqc_custom_config" : '' - // TODO nf-core: Specify which MultiQC modules to use with -m for a faster run time - """ - multiqc -f $rtitle $rfilename $custom_config_file . - """ +// +// WORKFLOW: Run main nf-core/epitopeprediction analysis pipeline +// +workflow NFCORE_EPITOPEPREDICTION { + EPITOPEPREDICTION () } /* - * STEP 3 - Output Description HTML - */ -process output_documentation { - publishDir "${params.outdir}/pipeline_info", mode: params.publish_dir_mode - - input: - file output_docs from ch_output_docs - file images from ch_output_docs_images - - output: - file 'results_description.html' +======================================================================================== + RUN ALL WORKFLOWS +======================================================================================== +*/ - script: - """ - markdown_to_html.py $output_docs -o results_description.html - """ +// +// WORKFLOW: Execute a single named workflow for the pipeline +// See: https://github.com/nf-core/rnaseq/issues/619 +// +workflow { + NFCORE_EPITOPEPREDICTION () } /* - * Completion e-mail notification - */ -workflow.onComplete { - - // Set up the e-mail variables - def subject = "[nf-core/epitopeprediction] Successful: $workflow.runName" - if (!workflow.success) { - subject = "[nf-core/epitopeprediction] FAILED: $workflow.runName" - } - def email_fields = [:] - email_fields['version'] = workflow.manifest.version - email_fields['runName'] = workflow.runName - email_fields['success'] = workflow.success - email_fields['dateComplete'] = workflow.complete - email_fields['duration'] = workflow.duration - email_fields['exitStatus'] = workflow.exitStatus - email_fields['errorMessage'] = (workflow.errorMessage ?: 'None') - email_fields['errorReport'] = (workflow.errorReport ?: 'None') - email_fields['commandLine'] = workflow.commandLine - email_fields['projectDir'] = workflow.projectDir - email_fields['summary'] = summary - email_fields['summary']['Date Started'] = workflow.start - email_fields['summary']['Date Completed'] = workflow.complete - email_fields['summary']['Pipeline script file path'] = workflow.scriptFile - email_fields['summary']['Pipeline script hash ID'] = workflow.scriptId - if (workflow.repository) email_fields['summary']['Pipeline repository Git URL'] = workflow.repository - if (workflow.commitId) email_fields['summary']['Pipeline repository Git Commit'] = workflow.commitId - if (workflow.revision) email_fields['summary']['Pipeline Git branch/tag'] = workflow.revision - email_fields['summary']['Nextflow Version'] = workflow.nextflow.version - email_fields['summary']['Nextflow Build'] = workflow.nextflow.build - email_fields['summary']['Nextflow Compile Timestamp'] = workflow.nextflow.timestamp - - // TODO nf-core: If not using MultiQC, strip out this code (including params.max_multiqc_email_size) - // On success try attach the multiqc report - def mqc_report = null - try { - if (workflow.success) { - mqc_report = ch_multiqc_report.getVal() - if (mqc_report.getClass() == ArrayList) { - log.warn "[nf-core/epitopeprediction] Found multiple reports from process 'multiqc', will use only one" - mqc_report = mqc_report[0] - } - } - } catch (all) { - log.warn "[nf-core/epitopeprediction] Could not attach MultiQC report to summary email" - } - - // Check if we are only sending emails on failure - email_address = params.email - if (!params.email && params.email_on_fail && !workflow.success) { - email_address = params.email_on_fail - } - - // Render the TXT template - def engine = new groovy.text.GStringTemplateEngine() - def tf = new File("$projectDir/assets/email_template.txt") - def txt_template = engine.createTemplate(tf).make(email_fields) - def email_txt = txt_template.toString() - - // Render the HTML template - def hf = new File("$projectDir/assets/email_template.html") - def html_template = engine.createTemplate(hf).make(email_fields) - def email_html = html_template.toString() - - // Render the sendmail template - def smail_fields = [ email: email_address, subject: subject, email_txt: email_txt, email_html: email_html, projectDir: "$projectDir", mqcFile: mqc_report, mqcMaxSize: params.max_multiqc_email_size.toBytes() ] - def sf = new File("$projectDir/assets/sendmail_template.txt") - def sendmail_template = engine.createTemplate(sf).make(smail_fields) - def sendmail_html = sendmail_template.toString() - - // Send the HTML e-mail - if (email_address) { - try { - if (params.plaintext_email) { throw GroovyException('Send plaintext e-mail, not HTML') } - // Try to send HTML e-mail using sendmail - [ 'sendmail', '-t' ].execute() << sendmail_html - log.info "[nf-core/epitopeprediction] Sent summary e-mail to $email_address (sendmail)" - } catch (all) { - // Catch failures and try with plaintext - def mail_cmd = [ 'mail', '-s', subject, '--content-type=text/html', email_address ] - if ( mqc_report.size() <= params.max_multiqc_email_size.toBytes() ) { - mail_cmd += [ '-A', mqc_report ] - } - mail_cmd.execute() << email_html - log.info "[nf-core/epitopeprediction] Sent summary e-mail to $email_address (mail)" - } - } - - // Write summary e-mail HTML to a file - def output_d = new File("${params.outdir}/pipeline_info/") - if (!output_d.exists()) { - output_d.mkdirs() - } - def output_hf = new File(output_d, "pipeline_report.html") - output_hf.withWriter { w -> w << email_html } - def output_tf = new File(output_d, "pipeline_report.txt") - output_tf.withWriter { w -> w << email_txt } - - c_green = params.monochrome_logs ? '' : "\033[0;32m"; - c_purple = params.monochrome_logs ? '' : "\033[0;35m"; - c_red = params.monochrome_logs ? '' : "\033[0;31m"; - c_reset = params.monochrome_logs ? '' : "\033[0m"; - - if (workflow.stats.ignoredCount > 0 && workflow.success) { - log.info "-${c_purple}Warning, pipeline completed, but with errored process(es) ${c_reset}-" - log.info "-${c_red}Number of ignored errored process(es) : ${workflow.stats.ignoredCount} ${c_reset}-" - log.info "-${c_green}Number of successfully ran process(es) : ${workflow.stats.succeedCount} ${c_reset}-" - } - - if (workflow.success) { - log.info "-${c_purple}[nf-core/epitopeprediction]${c_green} Pipeline completed successfully${c_reset}-" - } else { - checkHostname() - log.info "-${c_purple}[nf-core/epitopeprediction]${c_red} Pipeline completed with errors${c_reset}-" - } - -} - -workflow.onError { - // Print unexpected parameters - easiest is to just rerun validation - NfcoreSchema.validateParameters(params, json_schema, log) -} - -def checkHostname() { - def c_reset = params.monochrome_logs ? '' : "\033[0m" - def c_white = params.monochrome_logs ? '' : "\033[0;37m" - def c_red = params.monochrome_logs ? '' : "\033[1;91m" - def c_yellow_bold = params.monochrome_logs ? '' : "\033[1;93m" - if (params.hostnames) { - def hostname = 'hostname'.execute().text.trim() - params.hostnames.each { prof, hnames -> - hnames.each { hname -> - if (hostname.contains(hname) && !workflow.profile.contains(prof)) { - log.error "${c_red}====================================================${c_reset}\n" + - " ${c_red}WARNING!${c_reset} You are running with `-profile $workflow.profile`\n" + - " but your machine hostname is ${c_white}'$hostname'${c_reset}\n" + - " ${c_yellow_bold}It's highly recommended that you use `-profile $prof${c_reset}`\n" + - "${c_red}====================================================${c_reset}\n" - } - } - } - } -} +======================================================================================== + THE END +======================================================================================== +*/ diff --git a/modules.json b/modules.json new file mode 100644 index 0000000..81e124f --- /dev/null +++ b/modules.json @@ -0,0 +1,14 @@ +{ + "name": "nf-core/epitopeprediction", + "homePage": "https://github.com/nf-core/epitopeprediction", + "repos": { + "nf-core/modules": { + "fastqc": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + }, + "multiqc": { + "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + } + } + } +} diff --git a/modules/local/functions.nf b/modules/local/functions.nf new file mode 100644 index 0000000..da9da09 --- /dev/null +++ b/modules/local/functions.nf @@ -0,0 +1,68 @@ +// +// Utility functions used in nf-core DSL2 module files +// + +// +// Extract name of software tool from process name using $task.process +// +def getSoftwareName(task_process) { + return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase() +} + +// +// Function to initialise default values and to generate a Groovy Map of available options for nf-core modules +// +def initOptions(Map args) { + def Map options = [:] + options.args = args.args ?: '' + options.args2 = args.args2 ?: '' + options.args3 = args.args3 ?: '' + options.publish_by_meta = args.publish_by_meta ?: [] + options.publish_dir = args.publish_dir ?: '' + options.publish_files = args.publish_files + options.suffix = args.suffix ?: '' + return options +} + +// +// Tidy up and join elements of a list to return a path string +// +def getPathFromList(path_list) { + def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries + paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes + return paths.join('/') +} + +// +// Function to save/publish module results +// +def saveFiles(Map args) { + if (!args.filename.endsWith('.version.txt')) { + def ioptions = initOptions(args.options) + def path_list = [ ioptions.publish_dir ?: args.publish_dir ] + if (ioptions.publish_by_meta) { + def key_list = ioptions.publish_by_meta instanceof List ? ioptions.publish_by_meta : args.publish_by_meta + for (key in key_list) { + if (args.meta && key instanceof String) { + def path = key + if (args.meta.containsKey(key)) { + path = args.meta[key] instanceof Boolean ? "${key}_${args.meta[key]}".toString() : args.meta[key] + } + path = path instanceof String ? path : '' + path_list.add(path) + } + } + } + if (ioptions.publish_files instanceof Map) { + for (ext in ioptions.publish_files) { + if (args.filename.endsWith(ext.key)) { + def ext_list = path_list.collect() + ext_list.add(ext.value) + return "${getPathFromList(ext_list)}/$args.filename" + } + } + } else if (ioptions.publish_files == null) { + return "${getPathFromList(path_list)}/$args.filename" + } + } +} diff --git a/modules/local/get_software_versions.nf b/modules/local/get_software_versions.nf new file mode 100644 index 0000000..96349f2 --- /dev/null +++ b/modules/local/get_software_versions.nf @@ -0,0 +1,33 @@ +// Import generic module functions +include { saveFiles } from './functions' + +params.options = [:] + +process GET_SOFTWARE_VERSIONS { + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'pipeline_info', meta:[:], publish_by_meta:[]) } + + conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/python:3.8.3" + } else { + container "quay.io/biocontainers/python:3.8.3" + } + + cache false + + input: + path versions + + output: + path "software_versions.tsv" , emit: tsv + path 'software_versions_mqc.yaml', emit: yaml + + script: // This script is bundled with the pipeline, in nf-core/epitopeprediction/bin/ + """ + echo $workflow.manifest.version > pipeline.version.txt + echo $workflow.nextflow.version > nextflow.version.txt + scrape_software_versions.py &> software_versions_mqc.yaml + """ +} diff --git a/modules/local/samplesheet_check.nf b/modules/local/samplesheet_check.nf new file mode 100644 index 0000000..02f47f5 --- /dev/null +++ b/modules/local/samplesheet_check.nf @@ -0,0 +1,31 @@ +// Import generic module functions +include { saveFiles } from './functions' + +params.options = [:] + +process SAMPLESHEET_CHECK { + tag "$samplesheet" + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'pipeline_info', meta:[:], publish_by_meta:[]) } + + conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/python:3.8.3" + } else { + container "quay.io/biocontainers/python:3.8.3" + } + + input: + path samplesheet + + output: + path '*.csv' + + script: // This script is bundled with the pipeline, in nf-core/epitopeprediction/bin/ + """ + check_samplesheet.py \\ + $samplesheet \\ + samplesheet.valid.csv + """ +} diff --git a/modules/nf-core/modules/fastqc/functions.nf b/modules/nf-core/modules/fastqc/functions.nf new file mode 100644 index 0000000..da9da09 --- /dev/null +++ b/modules/nf-core/modules/fastqc/functions.nf @@ -0,0 +1,68 @@ +// +// Utility functions used in nf-core DSL2 module files +// + +// +// Extract name of software tool from process name using $task.process +// +def getSoftwareName(task_process) { + return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase() +} + +// +// Function to initialise default values and to generate a Groovy Map of available options for nf-core modules +// +def initOptions(Map args) { + def Map options = [:] + options.args = args.args ?: '' + options.args2 = args.args2 ?: '' + options.args3 = args.args3 ?: '' + options.publish_by_meta = args.publish_by_meta ?: [] + options.publish_dir = args.publish_dir ?: '' + options.publish_files = args.publish_files + options.suffix = args.suffix ?: '' + return options +} + +// +// Tidy up and join elements of a list to return a path string +// +def getPathFromList(path_list) { + def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries + paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes + return paths.join('/') +} + +// +// Function to save/publish module results +// +def saveFiles(Map args) { + if (!args.filename.endsWith('.version.txt')) { + def ioptions = initOptions(args.options) + def path_list = [ ioptions.publish_dir ?: args.publish_dir ] + if (ioptions.publish_by_meta) { + def key_list = ioptions.publish_by_meta instanceof List ? ioptions.publish_by_meta : args.publish_by_meta + for (key in key_list) { + if (args.meta && key instanceof String) { + def path = key + if (args.meta.containsKey(key)) { + path = args.meta[key] instanceof Boolean ? "${key}_${args.meta[key]}".toString() : args.meta[key] + } + path = path instanceof String ? path : '' + path_list.add(path) + } + } + } + if (ioptions.publish_files instanceof Map) { + for (ext in ioptions.publish_files) { + if (args.filename.endsWith(ext.key)) { + def ext_list = path_list.collect() + ext_list.add(ext.value) + return "${getPathFromList(ext_list)}/$args.filename" + } + } + } else if (ioptions.publish_files == null) { + return "${getPathFromList(path_list)}/$args.filename" + } + } +} diff --git a/modules/nf-core/modules/fastqc/main.nf b/modules/nf-core/modules/fastqc/main.nf new file mode 100644 index 0000000..39c327b --- /dev/null +++ b/modules/nf-core/modules/fastqc/main.nf @@ -0,0 +1,47 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process FASTQC { + tag "$meta.id" + label 'process_medium' + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) } + + conda (params.enable_conda ? "bioconda::fastqc=0.11.9" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/fastqc:0.11.9--0" + } else { + container "quay.io/biocontainers/fastqc:0.11.9--0" + } + + input: + tuple val(meta), path(reads) + + output: + tuple val(meta), path("*.html"), emit: html + tuple val(meta), path("*.zip") , emit: zip + path "*.version.txt" , emit: version + + script: + // Add soft-links to original FastQs for consistent naming in pipeline + def software = getSoftwareName(task.process) + def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}" + if (meta.single_end) { + """ + [ ! -f ${prefix}.fastq.gz ] && ln -s $reads ${prefix}.fastq.gz + fastqc $options.args --threads $task.cpus ${prefix}.fastq.gz + fastqc --version | sed -e "s/FastQC v//g" > ${software}.version.txt + """ + } else { + """ + [ ! -f ${prefix}_1.fastq.gz ] && ln -s ${reads[0]} ${prefix}_1.fastq.gz + [ ! -f ${prefix}_2.fastq.gz ] && ln -s ${reads[1]} ${prefix}_2.fastq.gz + fastqc $options.args --threads $task.cpus ${prefix}_1.fastq.gz ${prefix}_2.fastq.gz + fastqc --version | sed -e "s/FastQC v//g" > ${software}.version.txt + """ + } +} diff --git a/modules/nf-core/modules/fastqc/meta.yml b/modules/nf-core/modules/fastqc/meta.yml new file mode 100644 index 0000000..8eb9953 --- /dev/null +++ b/modules/nf-core/modules/fastqc/meta.yml @@ -0,0 +1,51 @@ +name: fastqc +description: Run FastQC on sequenced reads +keywords: + - quality control + - qc + - adapters + - fastq +tools: + - fastqc: + description: | + FastQC gives general quality metrics about your reads. + It provides information about the quality score distribution + across your reads, the per base sequence content (%A/C/G/T). + You get information about adapter contamination and other + overrepresented sequences. + homepage: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/ + documentation: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/ +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: | + List of input FastQ files of size 1 and 2 for single-end and paired-end data, + respectively. +output: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - html: + type: file + description: FastQC report + pattern: "*_{fastqc.html}" + - zip: + type: file + description: FastQC report archive + pattern: "*_{fastqc.zip}" + - version: + type: file + description: File containing software version + pattern: "*.{version.txt}" +authors: + - "@drpatelh" + - "@grst" + - "@ewels" + - "@FelixKrueger" diff --git a/modules/nf-core/modules/multiqc/functions.nf b/modules/nf-core/modules/multiqc/functions.nf new file mode 100644 index 0000000..da9da09 --- /dev/null +++ b/modules/nf-core/modules/multiqc/functions.nf @@ -0,0 +1,68 @@ +// +// Utility functions used in nf-core DSL2 module files +// + +// +// Extract name of software tool from process name using $task.process +// +def getSoftwareName(task_process) { + return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase() +} + +// +// Function to initialise default values and to generate a Groovy Map of available options for nf-core modules +// +def initOptions(Map args) { + def Map options = [:] + options.args = args.args ?: '' + options.args2 = args.args2 ?: '' + options.args3 = args.args3 ?: '' + options.publish_by_meta = args.publish_by_meta ?: [] + options.publish_dir = args.publish_dir ?: '' + options.publish_files = args.publish_files + options.suffix = args.suffix ?: '' + return options +} + +// +// Tidy up and join elements of a list to return a path string +// +def getPathFromList(path_list) { + def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries + paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes + return paths.join('/') +} + +// +// Function to save/publish module results +// +def saveFiles(Map args) { + if (!args.filename.endsWith('.version.txt')) { + def ioptions = initOptions(args.options) + def path_list = [ ioptions.publish_dir ?: args.publish_dir ] + if (ioptions.publish_by_meta) { + def key_list = ioptions.publish_by_meta instanceof List ? ioptions.publish_by_meta : args.publish_by_meta + for (key in key_list) { + if (args.meta && key instanceof String) { + def path = key + if (args.meta.containsKey(key)) { + path = args.meta[key] instanceof Boolean ? "${key}_${args.meta[key]}".toString() : args.meta[key] + } + path = path instanceof String ? path : '' + path_list.add(path) + } + } + } + if (ioptions.publish_files instanceof Map) { + for (ext in ioptions.publish_files) { + if (args.filename.endsWith(ext.key)) { + def ext_list = path_list.collect() + ext_list.add(ext.value) + return "${getPathFromList(ext_list)}/$args.filename" + } + } + } else if (ioptions.publish_files == null) { + return "${getPathFromList(path_list)}/$args.filename" + } + } +} diff --git a/modules/nf-core/modules/multiqc/main.nf b/modules/nf-core/modules/multiqc/main.nf new file mode 100644 index 0000000..da78080 --- /dev/null +++ b/modules/nf-core/modules/multiqc/main.nf @@ -0,0 +1,35 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process MULTIQC { + label 'process_medium' + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:[:], publish_by_meta:[]) } + + conda (params.enable_conda ? "bioconda::multiqc=1.10.1" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/multiqc:1.10.1--py_0" + } else { + container "quay.io/biocontainers/multiqc:1.10.1--py_0" + } + + input: + path multiqc_files + + output: + path "*multiqc_report.html", emit: report + path "*_data" , emit: data + path "*_plots" , optional:true, emit: plots + path "*.version.txt" , emit: version + + script: + def software = getSoftwareName(task.process) + """ + multiqc -f $options.args . + multiqc --version | sed -e "s/multiqc, version //g" > ${software}.version.txt + """ +} diff --git a/modules/nf-core/modules/multiqc/meta.yml b/modules/nf-core/modules/multiqc/meta.yml new file mode 100644 index 0000000..532a8bb --- /dev/null +++ b/modules/nf-core/modules/multiqc/meta.yml @@ -0,0 +1,39 @@ +name: MultiQC +description: Aggregate results from bioinformatics analyses across many samples into a single report +keywords: + - QC + - bioinformatics tools + - Beautiful stand-alone HTML report +tools: + - multiqc: + description: | + MultiQC searches a given directory for analysis logs and compiles a HTML report. + It's a general use tool, perfect for summarising the output from numerous bioinformatics tools. + homepage: https://multiqc.info/ + documentation: https://multiqc.info/docs/ +input: + - multiqc_files: + type: file + description: | + List of reports / files recognised by MultiQC, for example the html and zip output of FastQC +output: + - report: + type: file + description: MultiQC report file + pattern: "multiqc_report.html" + - data: + type: dir + description: MultiQC data dir + pattern: "multiqc_data" + - plots: + type: file + description: Plots created by MultiQC + pattern: "*_data" + - version: + type: file + description: File containing software version + pattern: "*.{version.txt}" +authors: + - "@abhi18av" + - "@bunop" + - "@drpatelh" diff --git a/nextflow.config b/nextflow.config index 2a65909..987ea3c 100644 --- a/nextflow.config +++ b/nextflow.config @@ -1,130 +1,136 @@ /* - * ------------------------------------------------- - * nf-core/epitopeprediction Nextflow config file - * ------------------------------------------------- - * Default config options for all environments. - */ +======================================================================================== + nf-core/epitopeprediction Nextflow config file +======================================================================================== + Default config options for all compute environments +---------------------------------------------------------------------------------------- +*/ // Global default params, used in configs params { - // Workflow flags - // TODO nf-core: Specify your pipeline's command line flags - genome = false - input = null - input_paths = null - single_end = false - outdir = './results' - publish_dir_mode = 'copy' - - // Boilerplate options - multiqc_config = false - email = false - email_on_fail = false - max_multiqc_email_size = 25.MB - plaintext_email = false - monochrome_logs = false - help = false - igenomes_base = 's3://ngi-igenomes/igenomes' - tracedir = "${params.outdir}/pipeline_info" - igenomes_ignore = false - custom_config_version = 'master' - custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}" - hostnames = false - config_profile_name = null - config_profile_description = false - config_profile_contact = false - config_profile_url = false - validate_params = true - show_hidden_params = false - schema_ignore_params = 'genomes,input_paths' - - // Defaults only, expecting to be overwritten - max_memory = 128.GB - max_cpus = 16 - max_time = 240.h + // TODO nf-core: Specify your pipeline's command line flags + // Input options + input = null -} + // References + genome = null + igenomes_base = 's3://ngi-igenomes/igenomes' + igenomes_ignore = false + + // MultiQC options + multiqc_config = null + multiqc_title = null + max_multiqc_email_size = '25.MB' + + // Boilerplate options + outdir = './results' + tracedir = "${params.outdir}/pipeline_info" + publish_dir_mode = 'copy' + email = null + email_on_fail = null + plaintext_email = false + monochrome_logs = false + help = false + validate_params = true + show_hidden_params = false + schema_ignore_params = 'genomes,modules' + enable_conda = false + singularity_pull_docker_container = false -// Container slug. Stable releases should specify release tag! -// Developmental code should specify :dev -process.container = 'nfcore/epitopeprediction:dev' + // Config options + custom_config_version = 'master' + custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}" + hostnames = [:] + config_profile_description = null + config_profile_contact = null + config_profile_url = null + config_profile_name = null + + // Max resource options + // Defaults only, expecting to be overwritten + max_memory = '128.GB' + max_cpus = 16 + max_time = '240.h' + +} // Load base.config by default for all pipelines includeConfig 'conf/base.config' +// Load modules.config for DSL2 module specific options +includeConfig 'conf/modules.config' + // Load nf-core custom profiles from different Institutions try { - includeConfig "${params.custom_config_base}/nfcore_custom.config" + includeConfig "${params.custom_config_base}/nfcore_custom.config" } catch (Exception e) { - System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config") -} - -profiles { - conda { - docker.enabled = false - singularity.enabled = false - podman.enabled = false - shifter.enabled = false - charliecloud.enabled = false - process.conda = "$projectDir/environment.yml" - } - debug { process.beforeScript = 'echo $HOSTNAME' } - docker { - docker.enabled = true - singularity.enabled = false - podman.enabled = false - shifter.enabled = false - charliecloud.enabled = false - // Avoid this error: - // WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. - // Testing this in nf-core after discussion here https://github.com/nf-core/tools/pull/351 - // once this is established and works well, nextflow might implement this behavior as new default. - docker.runOptions = '-u \$(id -u):\$(id -g)' - } - singularity { - docker.enabled = false - singularity.enabled = true - podman.enabled = false - shifter.enabled = false - charliecloud.enabled = false - singularity.autoMounts = true - } - podman { - singularity.enabled = false - docker.enabled = false - podman.enabled = true - shifter.enabled = false - charliecloud.enabled = false - } - shifter { - singularity.enabled = false - docker.enabled = false - podman.enabled = false - shifter.enabled = true - charliecloud.enabled = false - } - charliecloud { - singularity.enabled = false - docker.enabled = false - podman.enabled = false - shifter.enabled = false - charliecloud.enabled = true - } - test { includeConfig 'conf/test.config' } - test_full { includeConfig 'conf/test_full.config' } + System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config") } // Load igenomes.config if required if (!params.igenomes_ignore) { - includeConfig 'conf/igenomes.config' + includeConfig 'conf/igenomes.config' +} else { + params.genomes = [:] +} + +profiles { + debug { process.beforeScript = 'echo $HOSTNAME' } + conda { + params.enable_conda = true + docker.enabled = false + singularity.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false + } + docker { + docker.enabled = true + docker.userEmulation = true + singularity.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false + } + singularity { + singularity.enabled = true + singularity.autoMounts = true + docker.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false + } + podman { + podman.enabled = true + docker.enabled = false + singularity.enabled = false + shifter.enabled = false + charliecloud.enabled = false + } + shifter { + shifter.enabled = true + docker.enabled = false + singularity.enabled = false + podman.enabled = false + charliecloud.enabled = false + } + charliecloud { + charliecloud.enabled = true + docker.enabled = false + singularity.enabled = false + podman.enabled = false + shifter.enabled = false + } + test { includeConfig 'conf/test.config' } + test_full { includeConfig 'conf/test_full.config' } } // Export these variables to prevent local Python/R libraries from conflicting with those in the container env { - PYTHONNOUSERSITE = 1 - R_PROFILE_USER = "/.Rprofile" - R_ENVIRON_USER = "/.Renviron" + PYTHONNOUSERSITE = 1 + R_PROFILE_USER = "/.Rprofile" + R_ENVIRON_USER = "/.Renviron" } // Capture exit codes from upstream processes when piping @@ -132,61 +138,61 @@ process.shell = ['/bin/bash', '-euo', 'pipefail'] def trace_timestamp = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss') timeline { - enabled = true - file = "${params.tracedir}/execution_timeline_${trace_timestamp}.html" + enabled = true + file = "${params.tracedir}/execution_timeline_${trace_timestamp}.html" } report { - enabled = true - file = "${params.tracedir}/execution_report_${trace_timestamp}.html" + enabled = true + file = "${params.tracedir}/execution_report_${trace_timestamp}.html" } trace { - enabled = true - file = "${params.tracedir}/execution_trace_${trace_timestamp}.txt" + enabled = true + file = "${params.tracedir}/execution_trace_${trace_timestamp}.txt" } dag { - enabled = true - file = "${params.tracedir}/pipeline_dag_${trace_timestamp}.svg" + enabled = true + file = "${params.tracedir}/pipeline_dag_${trace_timestamp}.svg" } manifest { - name = 'nf-core/epitopeprediction' - author = 'Christopher Mohr, Alexander Peltzer' - homePage = 'https://github.com/nf-core/epitopeprediction' - description = 'A fully reproducible and state of the art epitope prediction pipeline.' - mainScript = 'main.nf' - nextflowVersion = '>=20.04.0' - version = '1.2.0dev' + name = 'nf-core/epitopeprediction' + author = 'Christopher Mohr, Alexander Peltzer' + homePage = 'https://github.com/nf-core/epitopeprediction' + description = 'A fully reproducible and state of the art epitope prediction pipeline.' + mainScript = 'main.nf' + nextflowVersion = '!>=21.04.0' + version = '1.2.0dev' } // Function to ensure that resource requirements don't go beyond // a maximum limit def check_max(obj, type) { - if (type == 'memory') { - try { - if (obj.compareTo(params.max_memory as nextflow.util.MemoryUnit) == 1) - return params.max_memory as nextflow.util.MemoryUnit - else - return obj - } catch (all) { - println " ### ERROR ### Max memory '${params.max_memory}' is not valid! Using default value: $obj" - return obj - } - } else if (type == 'time') { - try { - if (obj.compareTo(params.max_time as nextflow.util.Duration) == 1) - return params.max_time as nextflow.util.Duration - else - return obj - } catch (all) { - println " ### ERROR ### Max time '${params.max_time}' is not valid! Using default value: $obj" - return obj - } - } else if (type == 'cpus') { - try { - return Math.min( obj, params.max_cpus as int ) - } catch (all) { - println " ### ERROR ### Max cpus '${params.max_cpus}' is not valid! Using default value: $obj" - return obj + if (type == 'memory') { + try { + if (obj.compareTo(params.max_memory as nextflow.util.MemoryUnit) == 1) + return params.max_memory as nextflow.util.MemoryUnit + else + return obj + } catch (all) { + println " ### ERROR ### Max memory '${params.max_memory}' is not valid! Using default value: $obj" + return obj + } + } else if (type == 'time') { + try { + if (obj.compareTo(params.max_time as nextflow.util.Duration) == 1) + return params.max_time as nextflow.util.Duration + else + return obj + } catch (all) { + println " ### ERROR ### Max time '${params.max_time}' is not valid! Using default value: $obj" + return obj + } + } else if (type == 'cpus') { + try { + return Math.min( obj, params.max_cpus as int ) + } catch (all) { + println " ### ERROR ### Max cpus '${params.max_cpus}' is not valid! Using default value: $obj" + return obj + } } - } } diff --git a/nextflow_schema.json b/nextflow_schema.json index 04a1487..3092f42 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -16,19 +16,17 @@ "properties": { "input": { "type": "string", - "fa_icon": "fas fa-dna", - "description": "Input FastQ files.", - "help_text": "Use this to specify the location of your input FastQ files. For example:\n\n```bash\n--input 'path/to/data/sample_*_{1,2}.fastq'\n```\n\nPlease note the following requirements:\n\n1. The path must be enclosed in quotes\n2. The path must have at least one `*` wildcard character\n3. When using the pipeline with paired end data, the path must use `{1,2}` notation to specify read pairs.\n\nIf left unspecified, a default pattern is used: `data/*{1,2}.fastq.gz`" - }, - "single_end": { - "type": "boolean", - "description": "Specifies that the input is single-end reads.", - "fa_icon": "fas fa-align-center", - "help_text": "By default, the pipeline expects paired-end data. If you have single-end data, you need to specify `--single_end` on the command line when you launch the pipeline. A normal glob pattern, enclosed in quotation marks, can then be used for `--input`. For example:\n\n```bash\n--single_end --input '*.fastq'\n```\n\nIt is not possible to run a mixture of single-end and paired-end files in one run." + "format": "file-path", + "mimetype": "text/csv", + "pattern": "\\.csv$", + "schema": "assets/schema_input.json", + "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/epitopeprediction/usage#samplesheet-input).", + "fa_icon": "fas fa-file-csv" }, "outdir": { "type": "string", - "description": "The output directory where the results will be saved.", + "description": "Path to the output directory where the results will be saved.", "default": "./results", "fa_icon": "fas fa-folder-open" }, @@ -38,6 +36,11 @@ "fa_icon": "fas fa-envelope", "help_text": "Set this parameter to your e-mail address to get a summary e-mail with details of the run sent to you when the workflow exits. If set in your user config file (`~/.nextflow/config`) then you don't need to specify this on the command line for every run.", "pattern": "^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$" + }, + "multiqc_title": { + "type": "string", + "description": "MultiQC report title. Printed as page header, used for filename if not otherwise specified.", + "fa_icon": "fas fa-file-signature" } } }, @@ -45,22 +48,26 @@ "title": "Reference genome options", "type": "object", "fa_icon": "fas fa-dna", - "description": "Options for the reference genome indices used to align reads.", + "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." + "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", - "fa_icon": "fas fa-font", + "format": "file-path", + "mimetype": "text/plain", + "pattern": "\\.fn?a(sta)?(\\.gz)?$", "description": "Path to FASTA genome file.", - "help_text": "If you have no genome reference available, the pipeline can build one using a FASTA file. This requires additional time and resources, so it's better to use a pre-build index if possible." + "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_base": { "type": "string", + "format": "directory-path", "description": "Directory / URL base for iGenomes references.", "default": "s3://ngi-igenomes/igenomes", "fa_icon": "fas fa-cloud-download-alt", @@ -75,91 +82,57 @@ } } }, - "generic_options": { - "title": "Generic options", + "institutional_config_options": { + "title": "Institutional config options", "type": "object", - "fa_icon": "fas fa-file-import", - "description": "Less common options for the pipeline, typically set in a config file.", - "help_text": "These options are common to all nf-core pipelines and allow you to customise some of the core preferences for how the pipeline runs.\n\nTypically these options would be set in a Nextflow config file loaded for all pipeline runs, such as `~/.nextflow/config`.", + "fa_icon": "fas fa-university", + "description": "Parameters used to describe centralised config profiles. These should not be edited.", + "help_text": "The centralised nf-core configuration profiles use a handful of pipeline parameters to describe themselves. This information is then printed to the Nextflow log when you run a pipeline. You should not need to change these values when you run a pipeline.", "properties": { - "help": { - "type": "boolean", - "description": "Display help text.", - "hidden": true, - "fa_icon": "fas fa-question-circle" - }, - "publish_dir_mode": { + "custom_config_version": { "type": "string", - "default": "copy", + "description": "Git commit id for Institutional configs.", + "default": "master", "hidden": true, - "description": "Method used to save pipeline results to output directory.", - "help_text": "The Nextflow `publishDir` option specifies which intermediate files should be saved to the output directory. This option tells the pipeline what method should be used to move these files. See [Nextflow docs](https://www.nextflow.io/docs/latest/process.html#publishdir) for details.", - "fa_icon": "fas fa-copy", - "enum": [ - "symlink", - "rellink", - "link", - "copy", - "copyNoFollow", - "move" - ] - }, - "validate_params": { - "type": "boolean", - "description": "Boolean whether to validate parameters against the schema at runtime", - "default": true, - "fa_icon": "fas fa-check-square", - "hidden": true + "fa_icon": "fas fa-users-cog" }, - "email_on_fail": { + "custom_config_base": { "type": "string", - "description": "Email address for completion summary, only when pipeline fails.", - "fa_icon": "fas fa-exclamation-triangle", - "pattern": "^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$", + "description": "Base directory for Institutional configs.", + "default": "https://raw.githubusercontent.com/nf-core/configs/master", "hidden": true, - "help_text": "This works exactly as with `--email`, except emails are only sent if the workflow is not successful." + "help_text": "If you're running offline, Nextflow will not be able to fetch the institutional config files from the internet. If you don't need them, then this is not a problem. If you do need them, you should download the files from the repo and tell Nextflow where to find them with this parameter.", + "fa_icon": "fas fa-users-cog" }, - "plaintext_email": { - "type": "boolean", - "description": "Send plain-text email instead of HTML.", - "fa_icon": "fas fa-remove-format", + "hostnames": { + "type": "string", + "description": "Institutional configs hostname.", "hidden": true, - "help_text": "Set to receive plain-text e-mails instead of HTML formatted." + "fa_icon": "fas fa-users-cog" }, - "max_multiqc_email_size": { + "config_profile_name": { "type": "string", - "description": "File size limit when attaching MultiQC reports to summary emails.", - "default": "25.MB", - "fa_icon": "fas fa-file-upload", + "description": "Institutional config name.", "hidden": true, - "help_text": "If file generated by pipeline exceeds the threshold, it will not be attached." + "fa_icon": "fas fa-users-cog" }, - "monochrome_logs": { - "type": "boolean", - "description": "Do not use coloured log outputs.", - "fa_icon": "fas fa-palette", + "config_profile_description": { + "type": "string", + "description": "Institutional config description.", "hidden": true, - "help_text": "Set to disable colourful command line output and live life in monochrome." + "fa_icon": "fas fa-users-cog" }, - "multiqc_config": { + "config_profile_contact": { "type": "string", - "description": "Custom config file to supply to MultiQC.", - "fa_icon": "fas fa-cog", - "hidden": true + "description": "Institutional config contact information.", + "hidden": true, + "fa_icon": "fas fa-users-cog" }, - "tracedir": { + "config_profile_url": { "type": "string", - "description": "Directory to keep pipeline Nextflow logs and reports.", - "default": "${params.outdir}/pipeline_info", - "fa_icon": "fas fa-cogs", - "hidden": true - }, - "show_hidden_params": { - "type": "boolean", - "fa_icon": "far fa-eye-slash", - "description": "Show all params when using `--help`", + "description": "Institutional config URL link.", "hidden": true, - "help_text": "By default, parameters set as _hidden_ in the schema are not shown on the command line when a user runs with `--help`. Specifying this option will tell the pipeline to show all parameters." + "fa_icon": "fas fa-users-cog" } } }, @@ -172,7 +145,7 @@ "properties": { "max_cpus": { "type": "integer", - "description": "Maximum number of CPUs that can be requested for any single job.", + "description": "Maximum number of CPUs that can be requested for any single job.", "default": 16, "fa_icon": "fas fa-microchip", "hidden": true, @@ -198,58 +171,102 @@ } } }, - "institutional_config_options": { - "title": "Institutional config options", + "generic_options": { + "title": "Generic options", "type": "object", - "fa_icon": "fas fa-university", - "description": "Parameters used to describe centralised config profiles. These should not be edited.", - "help_text": "The centralised nf-core configuration profiles use a handful of pipeline parameters to describe themselves. This information is then printed to the Nextflow log when you run a pipeline. You should not need to change these values when you run a pipeline.", + "fa_icon": "fas fa-file-import", + "description": "Less common options for the pipeline, typically set in a config file.", + "help_text": "These options are common to all nf-core pipelines and allow you to customise some of the core preferences for how the pipeline runs.\n\nTypically these options would be set in a Nextflow config file loaded for all pipeline runs, such as `~/.nextflow/config`.", "properties": { - "custom_config_version": { + "help": { + "type": "boolean", + "description": "Display help text.", + "fa_icon": "fas fa-question-circle", + "hidden": true + }, + "publish_dir_mode": { "type": "string", - "description": "Git commit id for Institutional configs.", - "default": "master", - "hidden": true, - "fa_icon": "fas fa-users-cog", - "help_text": "Provide git commit id for custom Institutional configs hosted at `nf-core/configs`. This was implemented for reproducibility purposes. Default: `master`.\n\n```bash\n## Download and use config file with following git commit id\n--custom_config_version d52db660777c4bf36546ddb188ec530c3ada1b96\n```" + "default": "copy", + "description": "Method used to save pipeline results to output directory.", + "help_text": "The Nextflow `publishDir` option specifies which intermediate files should be saved to the output directory. This option tells the pipeline what method should be used to move these files. See [Nextflow docs](https://www.nextflow.io/docs/latest/process.html#publishdir) for details.", + "fa_icon": "fas fa-copy", + "enum": [ + "symlink", + "rellink", + "link", + "copy", + "copyNoFollow", + "move" + ], + "hidden": true }, - "custom_config_base": { + "email_on_fail": { "type": "string", - "description": "Base directory for Institutional configs.", - "default": "https://raw.githubusercontent.com/nf-core/configs/master", - "hidden": true, - "help_text": "If you're running offline, nextflow will not be able to fetch the institutional config files from the internet. If you don't need them, then this is not a problem. If you do need them, you should download the files from the repo and tell nextflow where to find them with the `custom_config_base` option. For example:\n\n```bash\n## Download and unzip the config files\ncd /path/to/my/configs\nwget https://github.com/nf-core/configs/archive/master.zip\nunzip master.zip\n\n## Run the pipeline\ncd /path/to/my/data\nnextflow run /path/to/pipeline/ --custom_config_base /path/to/my/configs/configs-master/\n```\n\n> Note that the nf-core/tools helper package has a `download` command to download all required pipeline files + singularity containers + institutional configs in one go for you, to make this process easier.", - "fa_icon": "fas fa-users-cog" + "description": "Email address for completion summary, only when pipeline fails.", + "fa_icon": "fas fa-exclamation-triangle", + "pattern": "^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$", + "help_text": "An email address to send a summary email to when the pipeline is completed - ONLY sent if the pipeline does not exit successfully.", + "hidden": true }, - "hostnames": { + "plaintext_email": { + "type": "boolean", + "description": "Send plain-text email instead of HTML.", + "fa_icon": "fas fa-remove-format", + "hidden": true + }, + "max_multiqc_email_size": { "type": "string", - "description": "Institutional configs hostname.", - "hidden": true, - "fa_icon": "fas fa-users-cog" + "description": "File size limit when attaching MultiQC reports to summary emails.", + "pattern": "^\\d+(\\.\\d+)?\\.?\\s*(K|M|G|T)?B$", + "default": "25.MB", + "fa_icon": "fas fa-file-upload", + "hidden": true }, - "config_profile_name": { + "monochrome_logs": { + "type": "boolean", + "description": "Do not use coloured log outputs.", + "fa_icon": "fas fa-palette", + "hidden": true + }, + "multiqc_config": { "type": "string", - "description": "Institutional config name.", - "hidden": true, - "fa_icon": "fas fa-users-cog" + "description": "Custom config file to supply to MultiQC.", + "fa_icon": "fas fa-cog", + "hidden": true }, - "config_profile_description": { + "tracedir": { "type": "string", - "description": "Institutional config description.", + "description": "Directory to keep pipeline Nextflow logs and reports.", + "default": "${params.outdir}/pipeline_info", + "fa_icon": "fas fa-cogs", + "hidden": true + }, + "validate_params": { + "type": "boolean", + "description": "Boolean whether to validate parameters against the schema at runtime", + "default": true, + "fa_icon": "fas fa-check-square", + "hidden": true + }, + "show_hidden_params": { + "type": "boolean", + "fa_icon": "far fa-eye-slash", + "description": "Show all params when using `--help`", "hidden": true, - "fa_icon": "fas fa-users-cog" + "help_text": "By default, parameters set as _hidden_ in the schema are not shown on the command line when a user runs with `--help`. Specifying this option will tell the pipeline to show all parameters." }, - "config_profile_contact": { - "type": "string", - "description": "Institutional config contact information.", + "enable_conda": { + "type": "boolean", + "description": "Run this workflow with Conda. You can also use '-profile conda' instead of providing this parameter.", "hidden": true, - "fa_icon": "fas fa-users-cog" + "fa_icon": "fas fa-bacon" }, - "config_profile_url": { - "type": "string", - "description": "Institutional config URL link.", + "singularity_pull_docker_container": { + "type": "boolean", + "description": "Instead of directly downloading Singularity images for use with Singularity, force the workflow to pull and convert Docker containers instead.", "hidden": true, - "fa_icon": "fas fa-users-cog" + "fa_icon": "fas fa-toolbox", + "help_text": "This may be useful for example if you are unable to directly pull Singularity containers to run the pipeline due to http/https proxy issues." } } } @@ -262,13 +279,13 @@ "$ref": "#/definitions/reference_genome_options" }, { - "$ref": "#/definitions/generic_options" + "$ref": "#/definitions/institutional_config_options" }, { "$ref": "#/definitions/max_job_request_options" }, { - "$ref": "#/definitions/institutional_config_options" + "$ref": "#/definitions/generic_options" } ] } diff --git a/subworkflows/local/input_check.nf b/subworkflows/local/input_check.nf new file mode 100644 index 0000000..b664bc8 --- /dev/null +++ b/subworkflows/local/input_check.nf @@ -0,0 +1,42 @@ +// +// Check input samplesheet and get read channels +// + +params.options = [:] + +include { SAMPLESHEET_CHECK } from '../../modules/local/samplesheet_check' addParams( options: params.options ) + +workflow INPUT_CHECK { + take: + samplesheet // file: /path/to/samplesheet.csv + + main: + SAMPLESHEET_CHECK ( samplesheet ) + .splitCsv ( header:true, sep:',' ) + .map { create_fastq_channels(it) } + .set { reads } + + emit: + reads // channel: [ val(meta), [ reads ] ] +} + +// Function to get list of [ meta, [ fastq_1, fastq_2 ] ] +def create_fastq_channels(LinkedHashMap row) { + def meta = [:] + meta.id = row.sample + meta.single_end = row.single_end.toBoolean() + + def array = [] + if (!file(row.fastq_1).exists()) { + exit 1, "ERROR: Please check input samplesheet -> Read 1 FastQ file does not exist!\n${row.fastq_1}" + } + if (meta.single_end) { + array = [ meta, [ file(row.fastq_1) ] ] + } else { + if (!file(row.fastq_2).exists()) { + exit 1, "ERROR: Please check input samplesheet -> Read 2 FastQ file does not exist!\n${row.fastq_2}" + } + array = [ meta, [ file(row.fastq_1), file(row.fastq_2) ] ] + } + return array +} diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf new file mode 100644 index 0000000..51993c0 --- /dev/null +++ b/workflows/epitopeprediction.nf @@ -0,0 +1,141 @@ +/* +======================================================================================== + VALIDATE INPUTS +======================================================================================== +*/ + +def summary_params = NfcoreSchema.paramsSummaryMap(workflow, params) + +// Validate input parameters +WorkflowEpitopeprediction.initialise(params, log) + +// TODO nf-core: Add all file path parameters for the pipeline to the list below +// Check input path parameters to see if they exist +def checkPathParamList = [ params.input, params.multiqc_config, params.fasta ] +for (param in checkPathParamList) { if (param) { file(param, checkIfExists: true) } } + +// Check mandatory parameters +if (params.input) { ch_input = file(params.input) } else { exit 1, 'Input samplesheet not specified!' } + +/* +======================================================================================== + CONFIG FILES +======================================================================================== +*/ + +ch_multiqc_config = file("$projectDir/assets/multiqc_config.yaml", checkIfExists: true) +ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multiqc_config) : Channel.empty() + +/* +======================================================================================== + IMPORT LOCAL MODULES/SUBWORKFLOWS +======================================================================================== +*/ + +// Don't overwrite global params.modules, create a copy instead and use that within the main script. +def modules = params.modules.clone() + +// +// MODULE: Local to the pipeline +// +include { GET_SOFTWARE_VERSIONS } from '../modules/local/get_software_versions' addParams( options: [publish_files : ['tsv':'']] ) + +// +// SUBWORKFLOW: Consisting of a mix of local and nf-core/modules +// +include { INPUT_CHECK } from '../subworkflows/local/input_check' addParams( options: [:] ) + +/* +======================================================================================== + IMPORT NF-CORE MODULES/SUBWORKFLOWS +======================================================================================== +*/ + +def multiqc_options = modules['multiqc'] +multiqc_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \"$params.multiqc_title\""]) : '' + +// +// MODULE: Installed directly from nf-core/modules +// +include { FASTQC } from '../modules/nf-core/modules/fastqc/main' addParams( options: modules['fastqc'] ) +include { MULTIQC } from '../modules/nf-core/modules/multiqc/main' addParams( options: multiqc_options ) + +/* +======================================================================================== + RUN MAIN WORKFLOW +======================================================================================== +*/ + +// Info required for completion email and summary +def multiqc_report = [] + +workflow EPITOPEPREDICTION { + + ch_software_versions = Channel.empty() + + // + // SUBWORKFLOW: Read in samplesheet, validate and stage input files + // + INPUT_CHECK ( + ch_input + ) + + // + // MODULE: Run FastQC + // + FASTQC ( + INPUT_CHECK.out.reads + ) + ch_software_versions = ch_software_versions.mix(FASTQC.out.version.first().ifEmpty(null)) + + // + // MODULE: Pipeline reporting + // + ch_software_versions + .map { it -> if (it) [ it.baseName, it ] } + .groupTuple() + .map { it[1][0] } + .flatten() + .collect() + .set { ch_software_versions } + + GET_SOFTWARE_VERSIONS ( + ch_software_versions.map { it }.collect() + ) + + // + // MODULE: MultiQC + // + workflow_summary = WorkflowEpitopeprediction.paramsSummaryMultiqc(workflow, summary_params) + ch_workflow_summary = Channel.value(workflow_summary) + + ch_multiqc_files = Channel.empty() + ch_multiqc_files = ch_multiqc_files.mix(Channel.from(ch_multiqc_config)) + ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_custom_config.collect().ifEmpty([])) + ch_multiqc_files = ch_multiqc_files.mix(ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml')) + ch_multiqc_files = ch_multiqc_files.mix(GET_SOFTWARE_VERSIONS.out.yaml.collect()) + ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip.collect{it[1]}.ifEmpty([])) + + MULTIQC ( + ch_multiqc_files.collect() + ) + multiqc_report = MULTIQC.out.report.toList() + ch_software_versions = ch_software_versions.mix(MULTIQC.out.version.ifEmpty(null)) +} + +/* +======================================================================================== + COMPLETION EMAIL AND SUMMARY +======================================================================================== +*/ + +workflow.onComplete { + NfcoreTemplate.email(workflow, params, summary_params, projectDir, log, multiqc_report) + NfcoreTemplate.summary(workflow, params, log) +} + +/* +======================================================================================== + THE END +======================================================================================== +*/ From d203da61aaf0d8ba948d6cdee381c6baa991ef2d Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Tue, 13 Jul 2021 15:28:28 +0000 Subject: [PATCH 029/137] Template update for nf-core/tools version 2.0.1 --- .github/workflows/linting.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 13b4fc8..fbde5cf 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -127,7 +127,7 @@ jobs: GITHUB_COMMENTS_URL: ${{ github.event.pull_request.comments_url }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_PR_COMMIT: ${{ github.event.pull_request.head.sha }} - run: nf-core -l lint_log.txt lint ${GITHUB_WORKSPACE} --markdown lint_results.md + run: nf-core -l lint_log.txt lint --dir ${GITHUB_WORKSPACE} --markdown lint_results.md - name: Save PR number if: ${{ always() }} From c9d402ae898ca4f736f004ce8482f69b2af0c42d Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Tue, 27 Jul 2021 15:35:41 +0000 Subject: [PATCH 030/137] Template update for nf-core/tools version 2.1 --- .editorconfig | 3 +++ .github/CONTRIBUTING.md | 6 +++--- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .github/workflows/linting.yml | 2 +- README.md | 2 +- bin/scrape_software_versions.py | 2 +- lib/NfcoreTemplate.groovy | 22 +++++++++++++--------- nextflow_schema.json | 4 ++-- workflows/epitopeprediction.nf | 4 +++- 9 files changed, 28 insertions(+), 19 deletions(-) diff --git a/.editorconfig b/.editorconfig index afb20bb..9554950 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,6 +11,9 @@ indent_style = space [*.{yml,yaml}] indent_size = 2 +[*.json] +insert_final_newline = unset + # These files are edited and tested upstream in nf-core/modules [/modules/nf-core/**] charset = unset diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index f950e28..d2e89c2 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -19,7 +19,7 @@ If you'd like to write some code for nf-core/epitopeprediction, the standard wor * If there isn't one already, please create one so that others know you're working on this 2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/epitopeprediction repository](https://github.com/nf-core/epitopeprediction) to your GitHub account 3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions) -4. Use `nf-core schema build .` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10). +4. Use `nf-core schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10). 5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged If you're not used to this workflow with git, you can start with some [docs from GitHub](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests) or even their [excellent `git` resources](https://try.github.io/). @@ -69,7 +69,7 @@ If you wish to contribute a new step, please use the following coding standards: 2. Write the process block (see below). 3. Define the output channel if needed (see below). 4. Add any new flags/options to `nextflow.config` with a default (see below). -5. Add any new flags/options to `nextflow_schema.json` with help text (with `nf-core schema build .`). +5. Add any new flags/options to `nextflow_schema.json` with help text (with `nf-core schema build`). 6. Add any new flags/options to the help message (for integer/text parameters, print to help the corresponding `nextflow.config` parameter). 7. Add sanity checks for all relevant parameters. 8. Add any new software to the `scrape_software_versions.py` script in `bin/` and the version command to the `scrape_software_versions` process in `main.nf`. @@ -83,7 +83,7 @@ If you wish to contribute a new step, please use the following coding standards: Parameters should be initialised / defined with default values in `nextflow.config` under the `params` scope. -Once there, use `nf-core schema build .` to add to `nextflow_schema.json`. +Once there, use `nf-core schema build` to add to `nextflow_schema.json`. ### Default processes resource requirements diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e4308a5..bfe81d3 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -18,7 +18,7 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/epit - [ ] 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/epitopeprediction/tree/master/.github/CONTRIBUTING.md) - [ ] If necessary, also make a PR on the nf-core/epitopeprediction _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. -- [ ] Make sure your code lints (`nf-core lint .`). +- [ ] Make sure your code lints (`nf-core lint`). - [ ] Ensure the test suite passes (`nextflow run . -profile test,docker`). - [ ] Usage Documentation in `docs/usage.md` is updated. - [ ] Output Documentation in `docs/output.md` is updated. diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index fbde5cf..3b44877 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -53,7 +53,7 @@ jobs: - uses: actions/setup-node@v1 with: - node-version: "10" + node-version: '10' - name: Install editorconfig-checker run: npm install -g editorconfig-checker diff --git a/README.md b/README.md index f4035d3..715c23f 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ On release, automated continuous integration tests run the pipeline on a full-si ## Quick Start -1. Install [`Nextflow`](https://nf-co.re/usage/installation) (`>=21.04.0`) +1. Install [`Nextflow`](https://www.nextflow.io/docs/latest/getstarted.html#installation) (`>=21.04.0`) 2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) for full pipeline reproducibility _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_ diff --git a/bin/scrape_software_versions.py b/bin/scrape_software_versions.py index 2fc4ba4..194392f 100755 --- a/bin/scrape_software_versions.py +++ b/bin/scrape_software_versions.py @@ -30,7 +30,7 @@ print("
{}
{}
".format(k, v)) print(" ") -# Write out regexes as csv file: +# Write out as tsv file: with open("software_versions.tsv", "w") as f: for k, v in sorted(results.items()): f.write("{}\t{}\n".format(k, v)) diff --git a/lib/NfcoreTemplate.groovy b/lib/NfcoreTemplate.groovy index b6e689e..44551e0 100755 --- a/lib/NfcoreTemplate.groovy +++ b/lib/NfcoreTemplate.groovy @@ -24,17 +24,21 @@ class NfcoreTemplate { public static void hostName(workflow, params, log) { Map colors = logColours(params.monochrome_logs) if (params.hostnames) { - def hostname = "hostname".execute().text.trim() - params.hostnames.each { prof, hnames -> - hnames.each { hname -> - if (hostname.contains(hname) && !workflow.profile.contains(prof)) { - log.info "=${colors.yellow}====================================================${colors.reset}=\n" + - "${colors.yellow}WARN: You are running with `-profile $workflow.profile`\n" + - " but your machine hostname is ${colors.white}'$hostname'${colors.reset}.\n" + - " ${colors.yellow_bold}Please use `-profile $prof${colors.reset}`\n" + - "=${colors.yellow}====================================================${colors.reset}=" + try { + def hostname = "hostname".execute().text.trim() + params.hostnames.each { prof, hnames -> + hnames.each { hname -> + if (hostname.contains(hname) && !workflow.profile.contains(prof)) { + log.info "=${colors.yellow}====================================================${colors.reset}=\n" + + "${colors.yellow}WARN: You are running with `-profile $workflow.profile`\n" + + " but your machine hostname is ${colors.white}'$hostname'${colors.reset}.\n" + + " ${colors.yellow_bold}Please use `-profile $prof${colors.reset}`\n" + + "=${colors.yellow}====================================================${colors.reset}=" + } } } + } catch (Exception e) { + log.warn "[$workflow.manifest.name] Could not determine 'hostname' - skipping check. Reason: ${e.message}." } } } diff --git a/nextflow_schema.json b/nextflow_schema.json index 3092f42..4f67cb4 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -18,7 +18,7 @@ "type": "string", "format": "file-path", "mimetype": "text/csv", - "pattern": "\\.csv$", + "pattern": "^\\S+\\.csv$", "schema": "assets/schema_input.json", "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/epitopeprediction/usage#samplesheet-input).", @@ -60,7 +60,7 @@ "type": "string", "format": "file-path", "mimetype": "text/plain", - "pattern": "\\.fn?a(sta)?(\\.gz)?$", + "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" diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 51993c0..34f5d3c 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -130,7 +130,9 @@ workflow EPITOPEPREDICTION { */ workflow.onComplete { - NfcoreTemplate.email(workflow, params, summary_params, projectDir, log, multiqc_report) + if (params.email || params.email_on_fail) { + NfcoreTemplate.email(workflow, params, summary_params, projectDir, log, multiqc_report) + } NfcoreTemplate.summary(workflow, params, log) } From ed9166e00af948badaaad81307cac062140970d8 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Thu, 28 Oct 2021 13:59:15 +0200 Subject: [PATCH 031/137] Adapt to template changes --- assets/multiqc_config.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/assets/multiqc_config.yaml b/assets/multiqc_config.yaml index 1413b7c..2c6006d 100644 --- a/assets/multiqc_config.yaml +++ b/assets/multiqc_config.yaml @@ -1,10 +1,7 @@ report_comment: > This report has been generated by the nf-core/epitopeprediction analysis pipeline. For information about how to interpret these results, please see the - documentation. - -data_format: 'yaml' - + documentation. report_section_order: software_versions: order: -1000 From dd3746095a65db48357260642079a38c89125d6f Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Thu, 28 Oct 2021 15:45:31 +0200 Subject: [PATCH 032/137] Add schema for input with example file, remove empty paragraph --- assets/samplesheet.csv | 7 ++++--- assets/schema_input.json | 23 ++++++++++++----------- main.nf | 6 ------ 3 files changed, 16 insertions(+), 20 deletions(-) diff --git a/assets/samplesheet.csv b/assets/samplesheet.csv index 5f653ab..831cfee 100644 --- a/assets/samplesheet.csv +++ b/assets/samplesheet.csv @@ -1,3 +1,4 @@ -sample,fastq_1,fastq_2 -SAMPLE_PAIRED_END,/path/to/fastq/files/AEG588A1_S1_L002_R1_001.fastq.gz,/path/to/fastq/files/AEG588A1_S1_L002_R2_001.fastq.gz -SAMPLE_SINGLE_END,/path/to/fastq/files/AEG588A4_S4_L003_R1_001.fastq.gz, +sample,alleles,filename +SAMPLE1,A*01:01;A*02:01,/path/to/sample1_variants.vcf +SAMPLE2,/path/to/sample2_alleles.txt,/path/to/sample2_peptides.tsv +SAMPLE3,/path/to/sample3_alleles.txt,/path/to/sample2_proteins.fasta diff --git a/assets/schema_input.json b/assets/schema_input.json index a1e222f..ef53d2f 100644 --- a/assets/schema_input.json +++ b/assets/schema_input.json @@ -12,28 +12,29 @@ "pattern": "^\\S+$", "errorMessage": "Sample name must be provided and cannot contain spaces" }, - "fastq_1": { - "type": "string", - "pattern": "^\\S+\\.f(ast)?q\\.gz$", - "errorMessage": "FastQ file for reads 1 must be provided, cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'" - }, - "fastq_2": { - "errorMessage": "FastQ file for reads 2 cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'", + "alleles": { "anyOf": [ { "type": "string", - "pattern": "^\\S+\\.f(ast)?q\\.gz$" + "pattern": "^\\S+\\.txt$" }, { "type": "string", - "maxLength": 0 + "pattern": "(^[A-Z][*][0-9][0-9][:][0-9][0-9])$" } - ] + ], + "errorMessage": "Alleles must be provided as string or file with extension '.txt''" + }, + "filename": { + "type": "string", + "pattern": "^\\S+\\.(vcf|tsv|fasta|fa)$", + "errorMessage": "Variants/proteins/peptides for sample must be provided and have one of the following extensions: '.vcf', '.tsv', '.fasta', '.fa'" } }, "required": [ "sample", - "fastq_1" + "alleles", + "filename" ] } } diff --git a/main.nf b/main.nf index 570437a..6a01b07 100644 --- a/main.nf +++ b/main.nf @@ -11,12 +11,6 @@ nextflow.enable.dsl = 2 -/* -======================================================================================== - GENOME PARAMETER VALUES -======================================================================================== -*/ - /* ======================================================================================== VALIDATE & PRINT PARAMETER SUMMARY From 0c0c195814abb7e01fc5cb4b66fd4fd10960cced Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Thu, 28 Oct 2021 16:12:51 +0200 Subject: [PATCH 033/137] Add workflow content --- workflows/epitopeprediction.nf | 806 +++++++++++++++++++++++++++++++++ 1 file changed, 806 insertions(+) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 34f5d3c..892de94 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -71,6 +71,812 @@ def multiqc_report = [] workflow EPITOPEPREDICTION { + log.info Headers.nf_core(workflow, params.monochrome_logs) + + //////////////////////////////////////////////////// + /* -- PRINT HELP -- */ + ////////////////////////////////////////////////////+ + def json_schema = "$projectDir/nextflow_schema.json" + if (params.help) { + def command = " nextflow run nf-core/epitopeprediction --input '*.vcf' -profile docker" + log.info NfcoreSchema.params_help(workflow, params, json_schema, command) + exit 0 + } + + //////////////////////////////////////////////////// + /* -- VALIDATE PARAMETERS -- */ + ////////////////////////////////////////////////////+ + if (params.validate_params) { + NfcoreSchema.validateParameters(params, json_schema, log) + } + + //////////////////////////////////////////////////// + /* -- Collect configuration parameters -- */ + //////////////////////////////////////////////////// + + // Check if genome exists in the config file + if (params.genomes && params.genome && !params.genomes.containsKey(params.genome)) { + exit 1, "The provided genome '${params.genome}' is not available in the iGenomes file. Currently the available genomes are ${params.genomes.keySet().join(', ')}" + } + + // Log colors ANSI codes + c_black = params.monochrome_logs ? '' : "\033[0;30m"; + c_blue = params.monochrome_logs ? '' : "\033[0;34m"; + c_cyan = params.monochrome_logs ? '' : "\033[0;36m"; + c_dim = params.monochrome_logs ? '' : "\033[2m"; + c_green = params.monochrome_logs ? '' : "\033[0;32m"; + c_purple = params.monochrome_logs ? '' : "\033[0;35m"; + c_reset = params.monochrome_logs ? '' : "\033[0m"; + c_white = params.monochrome_logs ? '' : "\033[0;37m"; + c_yellow = params.monochrome_logs ? '' : "\033[0;33m"; + c_red = params.monochrome_logs ? '' : "\033[1;91m" + c_yellow_bold = params.monochrome_logs ? '' : "\033[1;93m" + + + //Generate empty channels + ch_peptides = Channel.empty() + ch_check_peptides = Channel.empty() + ch_proteins = Channel.empty() + ch_split_variants = Channel.empty() + ch_alleles = Channel.empty() + ch_check_alleles = Channel.empty() + ch_tool_thresholds = Channel.empty() + + // Store input base name for later + def input_base_name = '' + + ch_nonfree_paths = Channel.create() + + netmhc_meta = [ + netmhc : [ + version : "4.0", + software_md5 : "132dc322da1e2043521138637dd31ebf", + data_url : "http://www.cbs.dtu.dk/services/NetMHC-4.0/data.tar.gz", + data_md5 : "63c646fa0921d617576531396954d633", + binary_name : "netMHC" + ], + netmhcpan: [ + version : "4.0", + software_md5 : "94aa60f3dfd9752881c64878500e58f3", + data_url : "http://www.cbs.dtu.dk/services/NetMHCpan-4.0/data.Linux.tar.gz", + data_md5 : "26cbbd99a38f6692249442aeca48608f", + binary_name : "netMHCpan" + ], + netmhcii: [ + version : "2.2", + software_md5 : "918b7108a37599887b0725623d0974e6", + data_url : "http://www.cbs.dtu.dk/services/NetMHCII-2.2/data.tar.gz", + data_md5 : "11579b61d3bfe13311f7b42fc93b4dd8", + binary_name : "netMHCII" + ], + netmhciipan: [ + version : "3.1", + software_md5 : "0962ce799f7a4c9631f8566a55237073", + data_url : "http://www.cbs.dtu.dk/services/NetMHCIIpan-3.1/data.tar.gz", + data_md5 : "f833df245378e60ca6e55748344a36f6", + binary_name : "netMHCIIpan" + ] + ] + + tools = params.tools?.tokenize(',') + + // Validating parameters + if ( !params.show_supported_models ){ + if ( params.peptides ) { + if ( params.fasta_output ) { + exit 1, "Peptide input not compatible with protein sequence FASTA output." + } + if ( params.wild_type ) { + exit 1, "Peptide input not compatible with wild-type sequence generation." + } + input_base_name = file(params.peptides).baseName + Channel + .fromPath(params.peptides, checkIfExists: true) + .set { ch_peptides } + (ch_peptides, ch_check_peptides) = ch_peptides.into(2) + } + else if ( params.proteins ) { + if ( params.fasta_output ) { + exit 1, "Protein input not compatible with protein sequence FASTA output." + } + if ( params.wild_type ) { + exit 1, "Protein input not compatible with wild-type sequence generation." + } + input_base_name = file(params.proteins).baseName + Channel + .fromPath(params.proteins, checkIfExists: true) + .set { ch_proteins } + } + else if (params.input) { + input_base_name = file(params.input).baseName + Channel + .fromPath(params.input, checkIfExists: true) + .set { ch_split_variants } + } + else { + exit 1, "Please specify a file that contains annotated variants, protein sequences OR peptide sequences. Alternatively, to write out all supported models specify '--show_supported_models'." + } + + if ( !params.alleles ) { + exit 1, "Please specify a file containing MHC alleles." + } + else { + Channel.value(file(params.alleles, checkIfExists: true)).into{ch_alleles; ch_check_alleles} + } + + if ( params.input ){ + allele_file = file(params.alleles, checkIfExists: true) + allele_file.eachLine{line -> + if (line.contains("H2-")) { + exit 1, "Mouse allele provided: $line. Not compatible with reference ${params.genome_version}. Currently mouse alleles are only supported when using peptide sequences as input (--peptides)." + } + } + } + + if ( params.mhc_class != 1 && params.mhc_class != 2 ){ + exit 1, "Invalid MHC class option: ${params.mhc_class}. Valid options: 1, 2" + } + + if ( (params.mhc_class == 1 && tools.contains("mhcnuggets-class-2")) || (params.mhc_class == 2 && tools.contains("mhcnuggets-class-1")) ){ + log.warn "Provided MHC class is not compatible with the selected MHCnuggets tool. Output might be empty.\n" + } + + if ( params.filter_self & !params.proteome ){ + params.proteome = file("$projectDir/assets/") + } + + if ( params.mem_mode != 'low' && params.mem_mode != 'intermediate' && params.mem_mode != 'high' ) + { + exit 1, "Invalid memory mode parameter: ${params.mem_mode}. Valid options: 'low', 'intermediate', 'high'." + } + + // External tools + ["netmhc", "netmhcpan", "netmhcii", "netmhciipan"].each { + // Check if the _path parameter was set for this tool + if (params["${it}_path"] as Boolean && ! tools.contains(it)) + { + log.warn("--${it}_path specified, but --tools does not contain ${it}. Both have to be specified to enable ${it}. Ignoring.") + } + else if (!params["${it}_path"] as Boolean && tools.contains(it)) + { + log.warn("--${it}_path not specified, but --tools contains ${it}. Both have to be specified to enable ${it}. Ignoring.") + tools.removeElement(it) + } + else if (params["${it}_path"]) + { + // If so, add the tool name and user installation path to the external tools import channel + ch_nonfree_paths.bind([ + it, + netmhc_meta[it].version, + netmhc_meta[it].software_md5, + file(params["${it}_path"], checkIfExists:true), + file(netmhc_meta[it].data_url), + netmhc_meta[it].data_md5, + netmhc_meta[it].binary_name + ]) + } + } + if (tools.isEmpty()) + { + exit 1, "No valid tools specified." + } + ch_nonfree_paths.close() + } + + // Check AWS batch settings + if (workflow.profile.contains('awsbatch')) { + // AWSBatch sanity checking + if (!params.awsqueue || !params.awsregion) exit 1, 'Specify correct --awsqueue and --awsregion parameters on AWSBatch!' + // Check outdir paths to be S3 buckets if running on AWSBatch + // related: https://github.com/nextflow-io/nextflow/issues/813 + if (!params.outdir.startsWith('s3:')) exit 1, 'Outdir not on S3 - specify S3 Bucket to run on AWSBatch!' + // Prevent trace files to be stored on S3 since S3 does not support rolling files. + if (params.tracedir.startsWith('s3:')) exit 1, 'Specify a local tracedir or run without trace! S3 cannot be used for tracefiles.' + } + + if ( params.tool_thresholds ) + { + ch_tool_thresholds = Channel.fromPath(params.tool_thresholds, checkIfExists: true) + } + + // Stage config files + ch_multiqc_config = file("$projectDir/assets/multiqc_config.yaml", checkIfExists: true) + ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multiqc_config, checkIfExists: true) : Channel.empty() + ch_output_docs = file("$projectDir/docs/output.md", checkIfExists: true) + ch_output_docs_images = file("$projectDir/docs/images/", checkIfExists: true) + + //////////////////////////////////////////////////// + /* -- PRINT PARAMETER SUMMARY -- */ + //////////////////////////////////////////////////// + log.info NfcoreSchema.params_summary_log(workflow, params, json_schema) + + // Header log info + def summary = [:] + + //Standard Params for nf-core pipelines + summary['Pipeline Name'] = 'nf-core/epitopeprediction' + if (workflow.revision) summary['Pipeline Release'] = workflow.revision + summary['Run Name'] = workflow.runName + //Pipeline Parameters + summary['Max Resources'] = "$params.max_memory memory, $params.max_cpus cpus, $params.max_time time per job" + if ( params.show_supported_models ) { + summary['Show Supported Models'] = params.show_supported_models + } else { + if ( params.input ) summary['Variants'] = params.input + if ( params.peptides ) summary['Peptides'] = params.peptides + if ( params.proteins ) summary['Proteins'] = params.proteins + if ( params.alleles ) summary['Alleles'] = params.alleles + if ( !params.peptides) { + summary['Min. Peptide Length'] = params.min_peptide_length + summary['Max. Peptide Length'] = params.max_peptide_length + } + summary['MHC Class'] = params.mhc_class + if ( !params.peptides && !params.proteins ) summary['Reference Genome'] = params.genome_version + if ( params.proteome ) summary['Reference Proteome'] = params.proteome + summary['Self-Filter'] = params.filter_self + summary['Tools'] = tools.join(',') + summary['Wild-types'] = params.wild_type + summary['Protein FASTA Output'] = params.fasta_output + if ( params.peptides || params.proteins ) summary['Max. Number of Chunks for Parallelization'] = params.peptides_split_maxchunks + if ( params.peptides || params.proteins ) summary['Min. Number of Peptides in One Chunk'] = params.peptides_split_minchunksize + } + summary['Memory Mode'] = params.mem_mode + if (workflow.containerEngine) summary['Container'] = "$workflow.containerEngine - $workflow.container" + summary['Output Dir'] = params.outdir + summary['Launch Dir'] = workflow.launchDir + summary['Working Dir'] = workflow.workDir + summary['Script Dir'] = workflow.projectDir + summary['User'] = workflow.userName + if (workflow.profile.contains('awsbatch')) { + summary['AWS Region'] = params.awsregion + summary['AWS Queue'] = params.awsqueue + summary['AWS CLI'] = params.awscli + } + summary['Config Profile'] = workflow.profile + if (params.config_profile_description) summary['Config Profile Description'] = params.config_profile_description + if (params.config_profile_contact) summary['Config Profile Contact'] = params.config_profile_contact + if (params.config_profile_url) summary['Config Profile URL'] = params.config_profile_url + summary['Config Files'] = workflow.configFiles.join(', ') + if (params.email || params.email_on_fail) { + summary['E-mail Address'] = params.email + summary['E-mail on failure'] = params.email_on_fail + summary['MultiQC maxsize'] = params.max_multiqc_email_size + } + + // Check the hostnames against configured profiles + checkHostname() + + Channel.from(summary.collect{ [it.key, it.value] }) + .map { k,v -> "
$k
${v ?: 'N/A'}
" } + .reduce { a, b -> return [a, b].join("\n ") } + .map { x -> """ + id: 'nf-core-epitopeprediction-summary' + description: " - this information is collected when the pipeline is started." + section_name: 'nf-core/epitopeprediction Workflow Summary' + section_href: 'https://github.com/nf-core/epitopeprediction' + plot_type: 'html' + data: | +
+ $x +
+ """.stripIndent() } + .set { ch_workflow_summary } + + /* + * Copy non-free software provided by the user into the working directory + */ + process netmhc_tools_import { + input: + tuple val(toolname), val(toolversion), val(toolchecksum), path(tooltarball), file(datatarball), val(datachecksum), val(toolbinaryname) from ch_nonfree_paths + + output: + path "${toolname}" into ch_nonfree_tools + path "v_${toolname}.txt" into ch_nonfree_versions + + script: + """ + # + # CHECK IF THE PROVIDED SOFTWARE TARBALL IS A REGULAR FILES + # + if [ ! -f "$tooltarball" ]; then + echo "Path specified for ${toolname} does not point to a regular file. Please specify a path to the original tool tarball." >&2 + exit 1 + fi + + # + # VALIDATE THE CHECKSUM OF THE PROVIDED SOFTWARE TARBALL + # + checksum="\$(md5sum "$tooltarball" | cut -f1 -d' ')" + if [ "\$checksum" != "${toolchecksum}" ]; then + echo "Checksum error for $toolname. Please make sure to provide the original tarball for $toolname version $toolversion" >&2 + exit 2 + fi + + # + # UNPACK THE PROVIDED SOFTWARE TARBALL + # + mkdir -v "${toolname}" + tar -C "${toolname}" --strip-components 1 -x -f "$tooltarball" + + # + # MODIFY THE NETMHC WRAPPER SCRIPT ACCORDING TO INSTALL INSTRUCTIONS + # Substitution 1: We install tcsh via conda, thus /bin/tcsh won't work + # Substitution 2: We want temp files to be written to /tmp if TMPDIR is not set + # Substitution 3: NMHOME should be the folder in which the tcsh script itself resides + # + sed -i.bak \ + -e 's_bin/tcsh.*\$_usr/bin/env tcsh_' \ + -e "s_/scratch_/tmp_" \ + -e "s_setenv[[:space:]]NMHOME.*_setenv NMHOME \\`realpath -s \\\$0 | sed -r 's/[^/]+\$//'\\`_" "${toolname}/${toolbinaryname}" + + # + # VALIDATE THE CHECKSUM OF THE DOWNLOADED MODEL DATA + # + checksum="\$(md5sum "$datatarball" | cut -f1 -d' ')" + if [ "\$checksum" != "${datachecksum}" ]; then + echo "A checksum mismatch occurred when checking the data file for ${toolname}." >&2 + exit 3 + fi + + # + # UNPACK THE DOWNLOADED MODEL DATA + # + tar -C "${toolname}" -v -x -f "$datatarball" + + # + # CREATE VERSION FILE + # + echo "${toolname} ${toolversion}" > "v_${toolname}.txt" + """ + } + + /* + * Parse software version numbers + */ + process get_software_versions { + publishDir "${params.outdir}/pipeline_info", mode: params.publish_dir_mode, + saveAs: { filename -> + if (filename.indexOf('.csv') > 0) filename + else null + } + input: + file ("*") from ch_nonfree_versions.collect().ifEmpty([]) + + output: + file 'software_versions_mqc.yaml' into ch_software_versions_yaml + file "software_versions.csv" into ch_software_versions_csv + + script: + """ + echo $workflow.manifest.version > v_pipeline.txt + echo $workflow.nextflow.version > v_nextflow.txt + multiqc --version > v_multiqc.txt + csvtk version > v_csvtk.txt + echo \$(SnpSift 2>&1) > v_snpsift.txt + python -c "import pkg_resources; print 'fred2 ' + pkg_resources.get_distribution('Fred2').version" > v_fred2.txt + echo \$(mhcflurry-predict --version 2>&1) > v_mhcflurry.txt + python -c "import pkg_resources; print 'mhcnuggets ' + pkg_resources.get_distribution('mhcnuggets').version" > v_mhcnuggets.txt + scrape_software_versions.py &> software_versions_mqc.yaml + """ + } + + /* + * Write models of predictions tools supported by FRED2 to file + */ + process showSupportedModels { + publishDir "${params.outdir}/supported_models/", mode: 'copy' + + input: + file software_versions from ch_software_versions_csv + + output: + file '*.txt' + + when: params.show_supported_models + + script: + """ + check_supported_models.py --versions ${software_versions} + """ + } + + process checkRequestedModels { + publishDir "${params.outdir}/reports/", mode: 'copy' + + input: + file peptides from ch_check_peptides + file alleles from ch_check_alleles + file software_versions from ch_software_versions_csv + + output: + file 'model_report.txt' + file 'model_warnings.log' into ch_model_warnings + + when: !params.show_supported_models + + script: + def input_type = params.peptides ? "--peptides ${peptides}" : "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length}" + """ + check_requested_models.py ${input_type} \ + --alleles ${alleles} \ + --mhcclass ${params.mhc_class} \ + --tools ${tools.join(",")} \ + --versions ${software_versions} > model_warnings.log + """ + } + + ch_model_warnings.subscribe { + model_log_file = file("$it", checkIfExists: true) + def lines = model_log_file.readLines() + if (lines.size() > 0) { + log.info "-${c_purple} Warning: ${c_reset}-" + lines.each { String line -> + log.info "-${c_purple} $line ${c_reset}-" + } + } + } + + /* + * STEP 1a - Split variant data + */ + process splitVariants { + input: + file variants from ch_split_variants + + output: + file '*chr*.vcf' optional true into ch_splitted_vcfs + file '*chr*.tsv' optional true into ch_splitted_tsvs + file '*chr*.GSvar' optional true into ch_splitted_gsvars + + when: !params.peptides && !params.show_supported_models + + script: + if ( variants.toString().endsWith('.vcf') || variants.toString().endsWith('.vcf.gz') ) { + """ + SnpSift split ${variants} + """ + } + else { + """ + sed -i.bak '/^##/d' ${variants} + csvtk split ${variants} -t -C '&' -f '#chr' + """ + } + } + + /* + * STEP 0b - Process FASTA file and generate peptides + */ + if (params.proteins) { + process genPeptides { + input: + file proteins from ch_proteins + + output: + file 'peptides.tsv' into ch_split_peptides + + when: !params.peptides + + script: + """ + gen_peptides.py --input ${proteins} --output 'peptides.tsv' --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} + """ + } + } else { + ch_peptides.set{ch_split_peptides} + } + /* + * STEP 1b- Split peptide data + */ + process splitPeptides { + input: + file peptides from ch_split_peptides + + output: + file '*.chunk_*.tsv' into ch_splitted_peptides + + when: !params.input + + script: + """ + split_peptides.py --input ${peptides} --output_base ${peptides.baseName} --min_size ${params.peptides_split_minchunksize} --max_chunks ${params.peptides_split_maxchunks} + """ + } + + + /* + * STEP 2 - Run epitope prediction + */ + process peptidePrediction { + + input: + file inputs from ch_splitted_vcfs.flatten().mix(ch_splitted_tsvs.flatten(), ch_splitted_gsvars.flatten(), ch_splitted_peptides.flatten()) + file alleles from ch_alleles + file software_versions from ch_software_versions_csv + file ('nonfree_software/*') from ch_nonfree_tools.collect().ifEmpty([]) + file tool_thresholds from ch_tool_thresholds.ifEmpty("") + + output: + file "*.tsv" into ch_predicted_peptides + file "*.json" into ch_json_reports + file "*.fasta" optional true into ch_protein_fastas + + script: + def input_type = params.peptides ? "--peptides ${inputs}" : params.proteins ? "--peptides ${inputs}" : "--somatic_mutations ${inputs}" + def ref_prot = params.proteome ? "--proteome ${params.proteome}" : "" + def wt = params.wild_type ? "--wild_type" : "" + def fasta_output = params.fasta_output ? "--fasta_output" : "" + def threshold_file = params.tool_thresholds ? "--tool_thresholds ${tool_thresholds}" : "" + """ + # create folder for MHCflurry downloads to avoid permission problems when running pipeline with docker profile and mhcflurry selected + mkdir -p mhcflurry-data + export MHCFLURRY_DATA_DIR=./mhcflurry-data + # specify MHCflurry release for which to download models, need to be updated here as well when MHCflurry will be updated + export MHCFLURRY_DOWNLOADS_CURRENT_RELEASE=1.4.0 + + # Add non-free software to the PATH + shopt -s nullglob + for p in nonfree_software/*; do export PATH="\$(realpath -s "\$p"):\$PATH"; done + shopt -u nullglob + + epaa.py ${input_type} --identifier ${inputs.baseName} \ + --alleles $alleles \ + --mhcclass ${params.mhc_class} \ + --max_length ${params.max_peptide_length} \ + --min_length ${params.min_peptide_length} \ + --tools ${tools.join(",")} \ + ${threshold_file} \ + --versions ${software_versions} \ + --reference ${params.genome_version} \ + ${ref_prot} \ + ${wt} \ + ${fasta_output} + """ + } + + /* + * STEP 3 - Combine epitope prediction results + */ + process mergeResults { + publishDir "${params.outdir}/predictions", mode: 'copy' + + input: + file predictions from ch_predicted_peptides.collect() + + output: + file "${input_base_name}_prediction_result.tsv" + + script: + def single = predictions instanceof Path ? 1 : predictions.size() + def merge = (single == 1) ? 'cat' : 'csvtk concat -t' + + """ + $merge $predictions > ${input_base_name}_prediction_result.tsv + """ + } + + /* + * STEP 3(2) optional - Combine protein sequences + */ + process mergeFastas { + publishDir "${params.outdir}/predictions", mode: 'copy' + + input: + file proteins from ch_protein_fastas.collect() + + output: + file "${input_base_name}_prediction_proteins.fasta" + + when: + params.fasta_output + + """ + cat $proteins > ${input_base_name}_prediction_proteins.fasta + """ + } + + /* + * STEP 4 - Combine epitope prediction reports + */ + + process mergeReports { + publishDir "${params.outdir}/predictions", mode: 'copy' + + input: + file jsons from ch_json_reports.collect() + + output: + file "${input_base_name}_prediction_report.json" + + script: + def single = jsons instanceof Path ? 1 : jsons.size() + def command = (single == 1) ? "merge_jsons.py --single_input ${jsons} --prefix ${input_base_name}" : "merge_jsons.py --input \$PWD --prefix ${input_base_name}" + + """ + $command + """ + } + + /* + * STEP 5 - MultiQC + */ + process multiqc { + publishDir "${params.outdir}/MultiQC", mode: params.publish_dir_mode + + input: + file (multiqc_config) from ch_multiqc_config + file (mqc_custom_config) from ch_multiqc_custom_config.collect().ifEmpty([]) + file ('software_versions/*') from ch_software_versions_yaml.collect() + file workflow_summary from ch_workflow_summary.collectFile(name: "workflow_summary_mqc.yaml") + + when: !params.show_supported_models + + script: + rtitle = '' + rfilename = '' + if (!(workflow.runName ==~ /[a-z]+_[a-z]+/)) { + rtitle = "--title \"${workflow.runName}\"" + rfilename = "--filename " + workflow.runName.replaceAll('\\W','_').replaceAll('_+','_') + "_multiqc_report" + } + custom_config_file = params.multiqc_config ? "--config $mqc_custom_config" : '' + """ + multiqc -f $rtitle $rfilename $custom_config_file . + """ + ======= + + * Completion e-mail notification + */ + workflow.onComplete { + + // Set up the e-mail variables + def subject = "[nf-core/epitopeprediction] Successful: $workflow.runName" + if (!workflow.success) { + subject = "[nf-core/epitopeprediction] FAILED: $workflow.runName" + } + def email_fields = [:] + email_fields['version'] = workflow.manifest.version + email_fields['runName'] = workflow.runName + email_fields['success'] = workflow.success + email_fields['dateComplete'] = workflow.complete + email_fields['duration'] = workflow.duration + email_fields['exitStatus'] = workflow.exitStatus + email_fields['errorMessage'] = (workflow.errorMessage ?: 'None') + email_fields['errorReport'] = (workflow.errorReport ?: 'None') + email_fields['commandLine'] = workflow.commandLine + email_fields['projectDir'] = workflow.projectDir + email_fields['summary'] = summary + email_fields['summary']['Date Started'] = workflow.start + email_fields['summary']['Date Completed'] = workflow.complete + email_fields['summary']['Pipeline script file path'] = workflow.scriptFile + email_fields['summary']['Pipeline script hash ID'] = workflow.scriptId + if (workflow.repository) email_fields['summary']['Pipeline repository Git URL'] = workflow.repository + if (workflow.commitId) email_fields['summary']['Pipeline repository Git Commit'] = workflow.commitId + if (workflow.revision) email_fields['summary']['Pipeline Git branch/tag'] = workflow.revision + email_fields['summary']['Nextflow Version'] = workflow.nextflow.version + email_fields['summary']['Nextflow Build'] = workflow.nextflow.build + email_fields['summary']['Nextflow Compile Timestamp'] = workflow.nextflow.timestamp + + // On success try attach the multiqc report + def mqc_report = null + if (!params.show_supported_models) { + try { + if (workflow.success) { + mqc_report = ch_multiqc_report.getVal() + if (mqc_report.getClass() == ArrayList) { + log.warn "[nf-core/epitopeprediction] Found multiple reports from process 'multiqc', will use only one" + mqc_report = mqc_report[0] + } + } + } catch (all) { + log.warn "[nf-core/epitopeprediction] Could not attach MultiQC report to summary email" + } + } + + // Check if we are only sending emails on failure + email_address = params.email + if (!params.email && params.email_on_fail && !workflow.success) { + email_address = params.email_on_fail + } + + // Render the TXT template + def engine = new groovy.text.GStringTemplateEngine() + def tf = new File("$projectDir/assets/email_template.txt") + def txt_template = engine.createTemplate(tf).make(email_fields) + def email_txt = txt_template.toString() + + // Render the HTML template + def hf = new File("$projectDir/assets/email_template.html") + def html_template = engine.createTemplate(hf).make(email_fields) + def email_html = html_template.toString() + + // Render the sendmail template + def smail_fields = [ email: email_address, subject: subject, email_txt: email_txt, email_html: email_html, projectDir: "$projectDir", mqcFile: mqc_report, mqcMaxSize: params.max_multiqc_email_size.toBytes() ] + def sf = new File("$projectDir/assets/sendmail_template.txt") + def sendmail_template = engine.createTemplate(sf).make(smail_fields) + def sendmail_html = sendmail_template.toString() + + // Send the HTML e-mail + if (email_address) { + try { + if (params.plaintext_email) { throw GroovyException('Send plaintext e-mail, not HTML') } + // Try to send HTML e-mail using sendmail + [ 'sendmail', '-t' ].execute() << sendmail_html + log.info "[nf-core/epitopeprediction] Sent summary e-mail to $email_address (sendmail)" + } catch (all) { + // Catch failures and try with plaintext + def mail_cmd = [ 'mail', '-s', subject, '--content-type=text/html', email_address ] + if ( mqc_report.size() <= params.max_multiqc_email_size.toBytes() ) { + mail_cmd += [ '-A', mqc_report ] + } + mail_cmd.execute() << email_html + log.info "[nf-core/epitopeprediction] Sent summary e-mail to $email_address (mail)" + } + } + + // Write summary e-mail HTML to a file + def output_d = new File("${params.outdir}/pipeline_info/") + if (!output_d.exists()) { + output_d.mkdirs() + } + def output_hf = new File(output_d, "pipeline_report.html") + output_hf.withWriter { w -> w << email_html } + def output_tf = new File(output_d, "pipeline_report.txt") + output_tf.withWriter { w -> w << email_txt } + + + if (params.show_supported_models) { + log.info "-${c_green}Did not run the actual epitope prediction ${c_reset}-" + log.info "-${c_green}The information about supported models of the available prediction tools was written to ${params.outdir}/supported_models/ ${c_reset}-" + } + if (workflow.stats.ignoredCount > 0 && workflow.success) { + log.info "-${c_purple}Warning, pipeline completed, but with errored process(es) ${c_reset}-" + log.info "-${c_red}Number of ignored errored process(es) : ${workflow.stats.ignoredCount} ${c_reset}-" + log.info "-${c_green}Number of successfully ran process(es) : ${workflow.stats.succeedCount} ${c_reset}-" + } + + if (workflow.success) { + log.info "-${c_purple}[nf-core/epitopeprediction]${c_green} Pipeline completed successfully${c_reset}-" + } else { + checkHostname() + log.info "-${c_purple}[nf-core/epitopeprediction]${c_red} Pipeline completed with errors${c_reset}-" + } +} + +workflow.onError { + // Print unexpected parameters - easiest is to just rerun validation + NfcoreSchema.validateParameters(params, json_schema, log) +} + +def nfcoreHeader() { + + return """ -${c_dim}--------------------------------------------------${c_reset}- + ${c_green},--.${c_black}/${c_green},-.${c_reset} + ${c_blue} ___ __ __ __ ___ ${c_green}/,-._.--~\'${c_reset} + ${c_blue} |\\ | |__ __ / ` / \\ |__) |__ ${c_yellow}} {${c_reset} + ${c_blue} | \\| | \\__, \\__/ | \\ |___ ${c_green}\\`-._,-`-,${c_reset} + ${c_green}`._,._,\'${c_reset} + ${c_purple} nf-core/epitopeprediction v${workflow.manifest.version}${c_reset} + -${c_dim}--------------------------------------------------${c_reset}- + """.stripIndent() +} + +def checkHostname() { + if (params.hostnames) { + def hostname = 'hostname'.execute().text.trim() + params.hostnames.each { prof, hnames -> + hnames.each { hname -> + if (hostname.contains(hname) && !workflow.profile.contains(prof)) { + log.error '====================================================\n' + + " ${c_red}WARNING!${c_reset} You are running with `-profile $workflow.profile`\n" + + " but your machine hostname is ${c_white}'$hostname'${c_reset}\n" + + " ${c_yellow_bold}It's highly recommended that you use `-profile $prof${c_reset}`\n" + + '============================================================' + } + } + } + } +} + ch_software_versions = Channel.empty() // From 1aa21d7cf81a14afae6134348cd6720224129eab Mon Sep 17 00:00:00 2001 From: jonas Date: Fri, 29 Oct 2021 13:02:11 +0200 Subject: [PATCH 034/137] Update check samplesheet script for new format --- bin/check_samplesheet.py | 169 ++++++++++++++++++++++----------------- 1 file changed, 94 insertions(+), 75 deletions(-) mode change 100755 => 100644 bin/check_samplesheet.py diff --git a/bin/check_samplesheet.py b/bin/check_samplesheet.py old mode 100755 new mode 100644 index 50a099b..4194cbc --- a/bin/check_samplesheet.py +++ b/bin/check_samplesheet.py @@ -1,33 +1,22 @@ #!/usr/bin/env python -# TODO nf-core: Update the script to check the samplesheet -# This script is based on the example at: https://raw.githubusercontent.com/nf-core/test-datasets/viralrecon/samplesheet/samplesheet_test_illumina_amplicon.csv import os import sys -import errno import argparse +import re def parse_args(args=None): - Description = "Reformat nf-core/epitopeprediction samplesheet file and check its contents." + Description = "Reformat nf-core/epitopeprediciton samplesheet file and check its contents." Epilog = "Example usage: python check_samplesheet.py " parser = argparse.ArgumentParser(description=Description, epilog=Epilog) parser.add_argument("FILE_IN", help="Input samplesheet file.") - parser.add_argument("FILE_OUT", help="Output file.") + parser.add_argument("FILE_OUT", help="Output samplesheet file.") return parser.parse_args(args) -def make_dir(path): - if len(path) > 0: - try: - os.makedirs(path) - except OSError as exception: - if exception.errno != errno.EEXIST: - raise exception - - def print_error(error, context="Line", context_str=""): error_str = "ERROR: Please check samplesheet -> {}".format(error) if context != "" and context_str != "": @@ -38,103 +27,133 @@ def print_error(error, context="Line", context_str=""): sys.exit(1) -# TODO nf-core: Update the check_samplesheet function +def check_allele_nomenclature(allele): + pattern = re.compile("(^[A-Z][\*][0-9][0-9][:][0-9][0-9])$") + if pattern.match(allele): + return allele + +def make_dir(path): + if len(path) > 0: + try: + os.makedirs(path) + except OSError as exception: + if exception.errno != errno.EEXIST: + raise exception + + def check_samplesheet(file_in, file_out): """ This function checks that the samplesheet follows the following structure: - sample,fastq_1,fastq_2 - SAMPLE_PE,SAMPLE_PE_RUN1_1.fastq.gz,SAMPLE_PE_RUN1_2.fastq.gz - SAMPLE_PE,SAMPLE_PE_RUN2_1.fastq.gz,SAMPLE_PE_RUN2_2.fastq.gz - SAMPLE_SE,SAMPLE_SE_RUN1_1.fastq.gz, + SampleID,Alleles,FileName + GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_anno.vcf|gbm_1_peps.tsv|gbm_1_prot.fasta + GBM_2,A*02:01;A*24:01;B*07:02;B*08:01;C*04:01;C*07:01,gbm_2_anno.vcf|gbm_2_peps.tsv|gbm_2_prot.fasta + + or + + SampleID,Alleles,FileName + GBM_1,gbm_1_alleles.txt,gbm_1_anno.vcf|gbm_1_peps.tsv|gbm_1_prot.fasta + GBM_2,gbm_2_alleles.txt,gbm_2_anno.vcf|gbm_2_peps.tsv|gbm_2_prot.fasta + + + where the FileName column contains EIHTER a vcf file, a tsv file (peptides), or a fasta file (proteins) + and the Alleles column contains EITHER a string of alleles separated by semicolon or the path to a text file + containing one allele per line (no header) + + Furhter Examples: + - Class2 allele format => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.DRB1_01_01.txt + - Mouse allele format => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.H2.txt + - pep.tsv => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv + - annotated_variants.tsv => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.tsv + - annotated_variants.vcf => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf - For an example see: - https://raw.githubusercontent.com/nf-core/test-datasets/viralrecon/samplesheet/samplesheet_test_illumina_amplicon.csv """ - sample_mapping_dict = {} + sample_run_dict = {} with open(file_in, "r") as fin: ## Check header - MIN_COLS = 2 - # TODO nf-core: Update the column names for the input samplesheet - HEADER = ["sample", "fastq_1", "fastq_2"] - header = [x.strip('"') for x in fin.readline().strip().split(",")] + COL_NUM = 3 + HEADER = ["sample", "alleles", "filename"] + header = [x for x in fin.readline().strip().split(",")] if header[: len(HEADER)] != HEADER: - print("ERROR: Please check samplesheet header -> {} != {}".format(",".join(header), ",".join(HEADER))) + print("ERROR: Please check samplesheet header -> {} != {}".format("\t".join(header), "\t".join(HEADER))) sys.exit(1) ## Check sample entries for line in fin: - lspl = [x.strip().strip('"') for x in line.strip().split(",")] - - # Check valid number of columns per row - if len(lspl) < len(HEADER): + lspl = [x for x in line.strip().split(",")] + ## Check valid number of columns per row + if len(lspl) != len(HEADER): print_error( - "Invalid number of columns (minimum = {})!".format(len(HEADER)), + "Invalid number of columns (valid = {})!".format(len(HEADER)), "Line", line, ) num_cols = len([x for x in lspl if x]) - if num_cols < MIN_COLS: + if num_cols != COL_NUM: print_error( - "Invalid number of populated columns (minimum = {})!".format(MIN_COLS), + "Invalid number of populated columns (valid = {})!".format(COL_NUM), "Line", line, ) + + sample, alleles, filename = lspl[: len(HEADER)] ## Check sample name entries - sample, fastq_1, fastq_2 = lspl[: len(HEADER)] - sample = sample.replace(" ", "_") - if not sample: - print_error("Sample entry has not been specified!", "Line", line) - - ## Check FastQ file extension - for fastq in [fastq_1, fastq_2]: - if fastq: - if fastq.find(" ") != -1: - print_error("FastQ file contains spaces!", "Line", line) - if not fastq.endswith(".fastq.gz") and not fastq.endswith(".fq.gz"): - print_error( - "FastQ file does not have extension '.fastq.gz' or '.fq.gz'!", - "Line", - line, - ) - - ## Auto-detect paired-end/single-end - sample_info = [] ## [single_end, fastq_1, fastq_2] - if sample and fastq_1 and fastq_2: ## Paired-end short reads - sample_info = ["0", fastq_1, fastq_2] - elif sample and fastq_1 and not fastq_2: ## Single-end short reads - sample_info = ["1", fastq_1, fastq_2] + if sample.find(" ") != -1: + print_error("Sample entry contains spaces!", "Line", line) + + ## Check if the allele column is filled according to guidelines + if alleles.find(" ") != -1: + print_error("Alleles entry contains spaces!", "Line", line) + + # Check if the filename column is filled according to guidelines + if filename.find(" ") != -1: + print_error("Filename entry contains spaces!", "Line", line) + + ## Check if the alleles given in the text file are in the right format + if alleles.endswith(".txt"): + with open(alleles, "r") as af: + alleles_from_txt = "" + for al in af.readlines(): + alleles_from_txt = alleles_from_txt.strip('\n') + ';' + check_allele_nomenclature(al) + alleles = alleles_from_txt.lstrip(';') + + ## Get annotation of filename column + if filename.endswith(".vcf"): + anno = "variant" + elif filename.endswith(".tsv"): + ## Check if it is a variant annotation file or a peptide file + with open(filename, "r") as tsv: + first_header_col = [col.lower() for col in tsv.readlines()[0].split('\t')][0] + if first_header_col == "id": + anno = "pep" + elif first_header_col == "#chr": ##TODO ASK CHRIS + anno = "variant" else: - print_error("Invalid combination of columns provided!", "Line", line) + anno = "prot" - ## Create sample mapping dictionary = { sample: [ single_end, fastq_1, fastq_2 ] } - if sample not in sample_mapping_dict: - sample_mapping_dict[sample] = [sample_info] + sample_info = [sample, alleles, filename, anno] + ## Create sample mapping dictionary + if sample not in sample_run_dict: + sample_run_dict[sample] = [sample_info] else: - if sample_info in sample_mapping_dict[sample]: + if sample_info in sample_run_dict[identifier]: print_error("Samplesheet contains duplicate rows!", "Line", line) else: - sample_mapping_dict[sample].append(sample_info) + sample_run_dict[identifier].append(sample_info) ## Write validated samplesheet with appropriate columns - if len(sample_mapping_dict) > 0: + if len(sample_run_dict) > 0: out_dir = os.path.dirname(file_out) make_dir(out_dir) with open(file_out, "w") as fout: - fout.write(",".join(["sample", "single_end", "fastq_1", "fastq_2"]) + "\n") - for sample in sorted(sample_mapping_dict.keys()): - - ## Check that multiple runs of the same sample are of the same datatype - if not all(x[0] == sample_mapping_dict[sample][0][0] for x in sample_mapping_dict[sample]): - print_error("Multiple runs of a sample must be of the same datatype!", "Sample: {}".format(sample)) + fout.write(",".join(["sample", "alleles", "filename", "anno"]) + "\n") - for idx, val in enumerate(sample_mapping_dict[sample]): - fout.write(",".join(["{}_T{}".format(sample, idx + 1)] + val) + "\n") - else: - print_error("No entries to process!", "Samplesheet: {}".format(file_in)) + for sample in sorted(sample_run_dict.keys()): + for idx, val in enumerate(sample_run_dict[sample]): + fout.write(",".join(val) + "\n") def main(args=None): @@ -143,4 +162,4 @@ def main(args=None): if __name__ == "__main__": - sys.exit(main()) + sys.exit(main()) \ No newline at end of file From a8389f41608f07be402a88e17c36c0982257f969 Mon Sep 17 00:00:00 2001 From: jonas Date: Fri, 29 Oct 2021 14:25:45 +0200 Subject: [PATCH 035/137] fixed review problems --- bin/check_samplesheet.py | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/bin/check_samplesheet.py b/bin/check_samplesheet.py index 4194cbc..b64db7c 100644 --- a/bin/check_samplesheet.py +++ b/bin/check_samplesheet.py @@ -8,7 +8,7 @@ def parse_args(args=None): - Description = "Reformat nf-core/epitopeprediciton samplesheet file and check its contents." + Description = "Reformat nf-core/epitopeprediction samplesheet file and check its contents." Epilog = "Example usage: python check_samplesheet.py " parser = argparse.ArgumentParser(description=Description, epilog=Epilog) @@ -29,8 +29,8 @@ def print_error(error, context="Line", context_str=""): def check_allele_nomenclature(allele): pattern = re.compile("(^[A-Z][\*][0-9][0-9][:][0-9][0-9])$") - if pattern.match(allele): - return allele + return pattern.match(allele) is not None + def make_dir(path): if len(path) > 0: @@ -45,13 +45,13 @@ def check_samplesheet(file_in, file_out): """ This function checks that the samplesheet follows the following structure: - SampleID,Alleles,FileName + sample,alleles,filename GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_anno.vcf|gbm_1_peps.tsv|gbm_1_prot.fasta GBM_2,A*02:01;A*24:01;B*07:02;B*08:01;C*04:01;C*07:01,gbm_2_anno.vcf|gbm_2_peps.tsv|gbm_2_prot.fasta or - SampleID,Alleles,FileName + sample,alleles,filename GBM_1,gbm_1_alleles.txt,gbm_1_anno.vcf|gbm_1_peps.tsv|gbm_1_prot.fasta GBM_2,gbm_2_alleles.txt,gbm_2_anno.vcf|gbm_2_peps.tsv|gbm_2_prot.fasta @@ -75,14 +75,14 @@ def check_samplesheet(file_in, file_out): ## Check header COL_NUM = 3 HEADER = ["sample", "alleles", "filename"] - header = [x for x in fin.readline().strip().split(",")] + header = [x.strip('"') for x in fin.readline().strip().split(",")] if header[: len(HEADER)] != HEADER: print("ERROR: Please check samplesheet header -> {} != {}".format("\t".join(header), "\t".join(HEADER))) sys.exit(1) ## Check sample entries for line in fin: - lspl = [x for x in line.strip().split(",")] + lspl = [x.strip('"').replace(" ","") for x in line.strip().split(",")] ## Check valid number of columns per row if len(lspl) != len(HEADER): print_error( @@ -100,25 +100,13 @@ def check_samplesheet(file_in, file_out): sample, alleles, filename = lspl[: len(HEADER)] - ## Check sample name entries - if sample.find(" ") != -1: - print_error("Sample entry contains spaces!", "Line", line) - - ## Check if the allele column is filled according to guidelines - if alleles.find(" ") != -1: - print_error("Alleles entry contains spaces!", "Line", line) - - # Check if the filename column is filled according to guidelines - if filename.find(" ") != -1: - print_error("Filename entry contains spaces!", "Line", line) ## Check if the alleles given in the text file are in the right format if alleles.endswith(".txt"): with open(alleles, "r") as af: - alleles_from_txt = "" - for al in af.readlines(): - alleles_from_txt = alleles_from_txt.strip('\n') + ';' + check_allele_nomenclature(al) - alleles = alleles_from_txt.lstrip(';') + alleles = ';'.join([al.strip('\n') if check_allele_nomenclature(al) else \ + print_error("Allele format is not matching the nomenclature", "Line", line) for al in af.readlines()]) + ## Get annotation of filename column if filename.endswith(".vcf"): @@ -139,10 +127,10 @@ def check_samplesheet(file_in, file_out): if sample not in sample_run_dict: sample_run_dict[sample] = [sample_info] else: - if sample_info in sample_run_dict[identifier]: + if sample_info in sample_run_dict[sample]: print_error("Samplesheet contains duplicate rows!", "Line", line) else: - sample_run_dict[identifier].append(sample_info) + sample_run_dict[sample].append(sample_info) ## Write validated samplesheet with appropriate columns if len(sample_run_dict) > 0: From a7e4851a7e47396a02a343b89e850a942ac4eeff Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Fri, 29 Oct 2021 14:28:06 +0200 Subject: [PATCH 036/137] create get_samplesheet_paths to check the imput correctly and define the meta and file information properly --- subworkflows/local/input_check.nf | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/subworkflows/local/input_check.nf b/subworkflows/local/input_check.nf index b664bc8..685a8e3 100644 --- a/subworkflows/local/input_check.nf +++ b/subworkflows/local/input_check.nf @@ -11,32 +11,28 @@ workflow INPUT_CHECK { samplesheet // file: /path/to/samplesheet.csv main: - SAMPLESHEET_CHECK ( samplesheet ) + // SAMPLESHEET_CHECK ( samplesheet ) + Channel.fromPath(samplesheet) .splitCsv ( header:true, sep:',' ) - .map { create_fastq_channels(it) } + .map { get_samplesheet_paths(it) } .set { reads } emit: reads // channel: [ val(meta), [ reads ] ] } -// Function to get list of [ meta, [ fastq_1, fastq_2 ] ] -def create_fastq_channels(LinkedHashMap row) { +// Function to get list of [ meta, filenames ] +def get_samplesheet_paths(LinkedHashMap row) { def meta = [:] - meta.id = row.sample - meta.single_end = row.single_end.toBoolean() + meta.sample = row.sample + meta.alleles = row.alleles + meta.anno = row.anno def array = [] - if (!file(row.fastq_1).exists()) { - exit 1, "ERROR: Please check input samplesheet -> Read 1 FastQ file does not exist!\n${row.fastq_1}" - } - if (meta.single_end) { - array = [ meta, [ file(row.fastq_1) ] ] + if (!file(row.filename).exists()) { + exit 1, "ERROR: Please check input samplesheet -> file does not exist!\n${row.Filename}" } else { - if (!file(row.fastq_2).exists()) { - exit 1, "ERROR: Please check input samplesheet -> Read 2 FastQ file does not exist!\n${row.fastq_2}" - } - array = [ meta, [ file(row.fastq_1), file(row.fastq_2) ] ] + array = [ meta, file(row.filename) ] } return array } From 0950d013acd7dbf2961a78089cea34c9b331bf4f Mon Sep 17 00:00:00 2001 From: jonas Date: Fri, 29 Oct 2021 16:19:25 +0200 Subject: [PATCH 037/137] remove todo --- bin/check_samplesheet.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/check_samplesheet.py b/bin/check_samplesheet.py index b64db7c..1858611 100644 --- a/bin/check_samplesheet.py +++ b/bin/check_samplesheet.py @@ -117,7 +117,7 @@ def check_samplesheet(file_in, file_out): first_header_col = [col.lower() for col in tsv.readlines()[0].split('\t')][0] if first_header_col == "id": anno = "pep" - elif first_header_col == "#chr": ##TODO ASK CHRIS + elif first_header_col == "#chr": anno = "variant" else: anno = "prot" From f583f108093b90b13947b48734e69eef9d8c61d5 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Mon, 1 Nov 2021 13:56:51 +0100 Subject: [PATCH 038/137] Change the structure to dsl2, inclusion of modules: check_requested_models, define_software, gen_peptides, peptide_prediction, show_supported_models, snpsift_split, and split_peptides, modification of python scripts due to the allele change, included some processes in the modules.config, and add TODO in the code --- bin/check_requested_models.py | 12 +- bin/check_samplesheet.py | 148 ++-- bin/check_supported_models.py | 2 +- bin/epaa.py | 33 +- conf/modules.config | 12 + lib/WorkflowEpitopeprediction.groovy | 30 +- modules/local/functions.nf | 7 + nextflow_schema.json | 1 - subworkflows/local/input_check.nf | 3 +- workflows/epitopeprediction.nf | 1018 +++++--------------------- 10 files changed, 319 insertions(+), 947 deletions(-) diff --git a/bin/check_requested_models.py b/bin/check_requested_models.py index 832bca8..74b87b6 100755 --- a/bin/check_requested_models.py +++ b/bin/check_requested_models.py @@ -36,6 +36,7 @@ def read_peptide_input(filename): def convert_allele_back(allele): name = str(allele) + print(name) if name.startswith("H-2-"): # convert internal Fred2 representation back to the nf-core/epitopeprediction input allele format return name.replace("H-2-", "H2-") @@ -49,23 +50,24 @@ def __main__(): parser = argparse.ArgumentParser("Write out information about supported models by Fred2 for installed predictor tool versions.") parser.add_argument('-p', "--peptides", help="File with one peptide per line") parser.add_argument('-c', "--mhcclass", default=1, help="MHC class I or II") - parser.add_argument('-l', "--max_length", help="Maximum peptide length") - parser.add_argument('-ml', "--min_length", help="Minimum peptide length") - parser.add_argument('-a', "--alleles", help=" MHC Alleles", required=True) + parser.add_argument('-l', "--max_length", help="Maximum peptide length", type=int) + parser.add_argument('-ml', "--min_length", help="Minimum peptide length", type=int) + parser.add_argument('-a', "--alleles", help=" MHC Alleles", required=True, type=str) parser.add_argument('-t', '--tools', help='Tools requested for peptide predictions', required=True, type=str) parser.add_argument('-v', '--versions', help=' File with used software versions.', required=True) args = parser.parse_args() selected_methods = [item for item in args.tools.split(',')] with open(args.versions, 'r') as versions_file: - tool_version = [ (row[0], str(row[1][1:])) for row in csv.reader(versions_file, delimiter = "\t") ] + tool_version = [ (row[0].split()[0], str(row[1])) for row in csv.reader(versions_file, delimiter = "\t") ] # NOTE this needs to be updated, if a newer version will be available via Fred2 and should be used in the future tool_version.append(('syfpeithi', '1.0')) # how to handle this? # get for each method the corresponding tool version methods = { method:version for tool, version in tool_version for method in selected_methods if tool.lower() in method.lower() } # get the alleles - alleles = FileReader.read_lines(args.alleles, in_type=Allele) + #alleles = FileReader.read_lines(args.alleles, in_type=Allele) ## Changed since the input is a allele string now + alleles = args.alleles.split(";") peptide_lengths = [] if (args.peptides): diff --git a/bin/check_samplesheet.py b/bin/check_samplesheet.py index 50a099b..ff7a5fa 100755 --- a/bin/check_samplesheet.py +++ b/bin/check_samplesheet.py @@ -4,30 +4,21 @@ # This script is based on the example at: https://raw.githubusercontent.com/nf-core/test-datasets/viralrecon/samplesheet/samplesheet_test_illumina_amplicon.csv import os +import re import sys import errno import argparse - def parse_args(args=None): Description = "Reformat nf-core/epitopeprediction samplesheet file and check its contents." Epilog = "Example usage: python check_samplesheet.py " parser = argparse.ArgumentParser(description=Description, epilog=Epilog) parser.add_argument("FILE_IN", help="Input samplesheet file.") - parser.add_argument("FILE_OUT", help="Output file.") + parser.add_argument("FILE_OUT", help="Output samplesheet file.") return parser.parse_args(args) -def make_dir(path): - if len(path) > 0: - try: - os.makedirs(path) - except OSError as exception: - if exception.errno != errno.EEXIST: - raise exception - - def print_error(error, context="Line", context_str=""): error_str = "ERROR: Please check samplesheet -> {}".format(error) if context != "" and context_str != "": @@ -38,103 +29,114 @@ def print_error(error, context="Line", context_str=""): sys.exit(1) -# TODO nf-core: Update the check_samplesheet function +def check_allele_nomenclature(allele): + pattern = re.compile("(^[A-Z][\*][0-9][0-9][:][0-9][0-9])$") + return pattern.match(allele) is not None + + +def make_dir(path): + if len(path) > 0: + try: + os.makedirs(path) + except OSError as exception: + if exception.errno != errno.EEXIST: + raise exception + + def check_samplesheet(file_in, file_out): """ This function checks that the samplesheet follows the following structure: - - sample,fastq_1,fastq_2 - SAMPLE_PE,SAMPLE_PE_RUN1_1.fastq.gz,SAMPLE_PE_RUN1_2.fastq.gz - SAMPLE_PE,SAMPLE_PE_RUN2_1.fastq.gz,SAMPLE_PE_RUN2_2.fastq.gz - SAMPLE_SE,SAMPLE_SE_RUN1_1.fastq.gz, - - For an example see: - https://raw.githubusercontent.com/nf-core/test-datasets/viralrecon/samplesheet/samplesheet_test_illumina_amplicon.csv + sample,alleles,filename + GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_anno.vcf|gbm_1_peps.tsv|gbm_1_prot.fasta + GBM_2,A*02:01;A*24:01;B*07:02;B*08:01;C*04:01;C*07:01,gbm_2_anno.vcf|gbm_2_peps.tsv|gbm_2_prot.fasta + or + sample,alleles,filename + GBM_1,gbm_1_alleles.txt,gbm_1_anno.vcf|gbm_1_peps.tsv|gbm_1_prot.fasta + GBM_2,gbm_2_alleles.txt,gbm_2_anno.vcf|gbm_2_peps.tsv|gbm_2_prot.fasta + where the FileName column contains EIHTER a vcf file, a tsv file (peptides), or a fasta file (proteins) + and the Alleles column contains EITHER a string of alleles separated by semicolon or the path to a text file + containing one allele per line (no header) + Furhter Examples: + - Class2 allele format => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.DRB1_01_01.txt + - Mouse allele format => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.H2.txt + - pep.tsv => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv + - annotated_variants.tsv => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.tsv + - annotated_variants.vcf => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf """ - sample_mapping_dict = {} + sample_run_dict = {} with open(file_in, "r") as fin: ## Check header - MIN_COLS = 2 - # TODO nf-core: Update the column names for the input samplesheet - HEADER = ["sample", "fastq_1", "fastq_2"] + COL_NUM = 3 + HEADER = ["sample", "alleles", "filename"] header = [x.strip('"') for x in fin.readline().strip().split(",")] if header[: len(HEADER)] != HEADER: - print("ERROR: Please check samplesheet header -> {} != {}".format(",".join(header), ",".join(HEADER))) + print("ERROR: Please check samplesheet header -> {} != {}".format("\t".join(header), "\t".join(HEADER))) sys.exit(1) ## Check sample entries for line in fin: - lspl = [x.strip().strip('"') for x in line.strip().split(",")] - - # Check valid number of columns per row - if len(lspl) < len(HEADER): + lspl = [x.strip('"').replace(" ","") for x in line.strip().split(",")] + ## Check valid number of columns per row + if len(lspl) != len(HEADER): print_error( - "Invalid number of columns (minimum = {})!".format(len(HEADER)), + "Invalid number of columns (valid = {})!".format(len(HEADER)), "Line", line, ) num_cols = len([x for x in lspl if x]) - if num_cols < MIN_COLS: + if num_cols != COL_NUM: print_error( - "Invalid number of populated columns (minimum = {})!".format(MIN_COLS), + "Invalid number of populated columns (valid = {})!".format(COL_NUM), "Line", line, ) - ## Check sample name entries - sample, fastq_1, fastq_2 = lspl[: len(HEADER)] - sample = sample.replace(" ", "_") - if not sample: - print_error("Sample entry has not been specified!", "Line", line) - - ## Check FastQ file extension - for fastq in [fastq_1, fastq_2]: - if fastq: - if fastq.find(" ") != -1: - print_error("FastQ file contains spaces!", "Line", line) - if not fastq.endswith(".fastq.gz") and not fastq.endswith(".fq.gz"): - print_error( - "FastQ file does not have extension '.fastq.gz' or '.fq.gz'!", - "Line", - line, - ) - - ## Auto-detect paired-end/single-end - sample_info = [] ## [single_end, fastq_1, fastq_2] - if sample and fastq_1 and fastq_2: ## Paired-end short reads - sample_info = ["0", fastq_1, fastq_2] - elif sample and fastq_1 and not fastq_2: ## Single-end short reads - sample_info = ["1", fastq_1, fastq_2] + sample, alleles, filename = lspl[: len(HEADER)] + + + ## Check if the alleles given in the text file are in the right format + if alleles.endswith(".txt"): + with open(alleles, "r") as af: + alleles = ';'.join([al.strip('\n') if check_allele_nomenclature(al) else \ + print_error("Allele format is not matching the nomenclature", "Line", line) for al in af.readlines()]) + + + ## Get annotation of filename column + if filename.endswith(".vcf"): + anno = "variant" + elif filename.endswith(".tsv"): + ## Check if it is a variant annotation file or a peptide file + with open(filename, "r") as tsv: + first_header_col = [col.lower() for col in tsv.readlines()[0].split('\t')][0] + if first_header_col == "id": + anno = "pep" + elif first_header_col == "#chr": + anno = "variant" else: - print_error("Invalid combination of columns provided!", "Line", line) + anno = "prot" - ## Create sample mapping dictionary = { sample: [ single_end, fastq_1, fastq_2 ] } - if sample not in sample_mapping_dict: - sample_mapping_dict[sample] = [sample_info] + sample_info = [sample, alleles, filename, anno] + ## Create sample mapping dictionary + if sample not in sample_run_dict: + sample_run_dict[sample] = [sample_info] else: - if sample_info in sample_mapping_dict[sample]: + if sample_info in sample_run_dict[sample]: print_error("Samplesheet contains duplicate rows!", "Line", line) else: - sample_mapping_dict[sample].append(sample_info) + sample_run_dict[sample].append(sample_info) ## Write validated samplesheet with appropriate columns - if len(sample_mapping_dict) > 0: + if len(sample_run_dict) > 0: out_dir = os.path.dirname(file_out) make_dir(out_dir) with open(file_out, "w") as fout: - fout.write(",".join(["sample", "single_end", "fastq_1", "fastq_2"]) + "\n") - for sample in sorted(sample_mapping_dict.keys()): - - ## Check that multiple runs of the same sample are of the same datatype - if not all(x[0] == sample_mapping_dict[sample][0][0] for x in sample_mapping_dict[sample]): - print_error("Multiple runs of a sample must be of the same datatype!", "Sample: {}".format(sample)) + fout.write(",".join(["sample", "alleles", "filename", "anno"]) + "\n") - for idx, val in enumerate(sample_mapping_dict[sample]): - fout.write(",".join(["{}_T{}".format(sample, idx + 1)] + val) + "\n") - else: - print_error("No entries to process!", "Samplesheet: {}".format(file_in)) + for sample in sorted(sample_run_dict.keys()): + for idx, val in enumerate(sample_run_dict[sample]): + fout.write(",".join(val) + "\n") def main(args=None): diff --git a/bin/check_supported_models.py b/bin/check_supported_models.py index c9ad699..c0d8ab7 100755 --- a/bin/check_supported_models.py +++ b/bin/check_supported_models.py @@ -25,7 +25,7 @@ def __main__(): # NOTE this needs to be updated manually, if other methods should be used in the future available_methods = ['syfpeithi', 'mhcflurry', 'mhcnuggets-class-1', 'mhcnuggets-class-2'] with open(args.versions, 'r') as versions_file: - tool_version = [ (row[0], str(row[1][1:])) for row in csv.reader(versions_file, delimiter = "\t") ] + tool_version = [ (row[0].split()[0], str(row[1])) for row in csv.reader(versions_file, delimiter = "\t") ] # NOTE this needs to be updated, if a newer version will be available via Fred2 and should be used in the future tool_version.append(('syfpeithi', '1.0')) # get for each method the corresponding tool version diff --git a/bin/epaa.py b/bin/epaa.py index 0d6907d..c923dcb 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -105,7 +105,7 @@ def read_GSvar(filename, pass_only=True): logger.warning("read_GSvar: Omitted row! Mandatory columns not present in: \n"+str(row)) continue lines.append(row) - + # get list of additional metadata metadata_list = set(tsvreader.fieldnames) - set(exclusion_list) @@ -160,7 +160,7 @@ def read_GSvar(filename, pass_only=True): nm_id = nm_id.split(".")[0] coding[nm_id] = MutationSyntax(nm_id, int(trans_pos.split('_')[0])-1, int(prot_start)-1, trans_coding, prot_coding) - transcript_ids.append(nm_id) + transcript_ids.append(nm_id) if coding: var = Variant(mut_id, vt, chrom.strip('chr'), int(genome_start), ref.upper(), alt.upper(), coding, isHomozygous, isSynonymous=isyn) var.gene = gene @@ -221,7 +221,7 @@ def read_vcf(filename, pass_only=True): list_vars = [] transcript_ids = [] genotye_dict = {"het": False, "hom": True, "ref": True} - + for num, record in enumerate(vl): c = record.CHROM.strip('chr') p = record.POS - 1 @@ -319,7 +319,7 @@ def read_vcf(filename, pass_only=True): if metadata_name in record.INFO: final_metadata_list.append(metadata_name) var.log_metadata(metadata_name, record.INFO[metadata_name]) - + for sample in record.samples: for format_key in format_list: format_header = '{}.{}'.format(sample.sample, format_key) @@ -658,7 +658,7 @@ def get_protein_ids_for_transcripts(idtype, transcripts, ensembl_url, reference) tsvreader = csv.DictReader(urllib2.urlopen(biomart_url + urllib2.quote(rq_n)).read().splitlines(), dialect='excel-tab') tsvselect += [x for x in tsvreader] - + swissProtKey = 'UniProt/SwissProt Accession' if(ENSEMBL): @@ -672,7 +672,7 @@ def get_protein_ids_for_transcripts(idtype, transcripts, ensembl_url, reference) result_swissProt[dic[key]] = merged_swissProt else: result[dic[key]] = [dic[protein_key]] - result_swissProt[dic[key]] = [dic[swissProtKey]] + result_swissProt[dic[key]] = [dic[swissProtKey]] else: key = 'RefSeq mRNA [e.g. NM_001195597]' for dic in tsvselect: @@ -753,7 +753,7 @@ def generate_wt_seqs(peptides): variant_available = False for p in protein_pos: variant_dic = x.get_variants_by_protein_position(t.transcript_id, p) - variant_available = bool(variant_dic) + variant_available = bool(variant_dic) for key in variant_dic: var_list = variant_dic[key] for v in var_list: @@ -770,7 +770,7 @@ def generate_wt_seqs(peptides): m = r.match(mut_syntax.split('.')[1]) if m is None: not_available = True - else: + else: wt = SeqUtils.seq1(m.groups()[0]) mut_seq[key] = wt if not_available: @@ -940,7 +940,7 @@ def make_predictions_from_peptides(peptides, methods, tool_thresholds, alleles, return pred_dataframes, statistics def __main__(): - parser = argparse.ArgumentParser(description="""EPAA - Epitope Prediction And Annotation \n Pipeline for prediction of MHC class I and II epitopes from variants or peptides for a list of specified alleles. + parser = argparse.ArgumentParser(description="""EPAA - Epitope Prediction And Annotation \n Pipeline for prediction of MHC class I and II epitopes from variants or peptides for a list of specified alleles. Additionally predicted epitopes can be annotated with protein quantification values for the corresponding proteins, identified ligands, or differential expression values for the corresponding transcripts.""", version=VERSION) parser.add_argument('-s', "--somatic_mutations", help='Somatic variants') parser.add_argument('-g', "--germline_mutations", help="Germline variants") @@ -952,7 +952,7 @@ def __main__(): parser.add_argument('-t', "--tools", help="Tools used for peptide predictions", required=True, type=str) parser.add_argument('-tt', "--tool_thresholds", help="Customize affinity threshold of given tools using a json file", required=False, type=str) parser.add_argument('-sv', "--versions", help="File containing parsed software version numbers.", required=True) - parser.add_argument('-a', "--alleles", help=" MHC Alleles", required=True) + parser.add_argument('-a', "--alleles", help=" MHC Alleles", required=True, type=str) parser.add_argument('-r', "--reference", help="Reference, retrieved information will be based on this ensembl version", required=False, default='GRCh37', choices=['GRCh37', 'GRCh38']) parser.add_argument('-f', "--filter_self", help="Filter peptides against human proteom", required=False, action='store_true') parser.add_argument('-wt', "--wild_type", help="Add wild type sequences of mutated peptides to output", required=False, action='store_true') @@ -990,7 +990,8 @@ def __main__(): transcriptProteinMap, transcriptSwissProtMap = get_protein_ids_for_transcripts(ID_SYSTEM_USED, transcripts, references[args.reference], args.reference) # get the alleles - alleles = FileReader.read_lines(args.alleles, in_type=Allele) + # alleles = FileReader.read_lines(args.alleles, in_type=Allele) + alleles = args.alleles.split(";") # initialize MartsAdapter, GRCh37 or GRCh38 based ma = MartsAdapter(biomart=references[args.reference]) @@ -1002,14 +1003,14 @@ def __main__(): if os.path.isdir(args.reference_proteome): for filename in os.listdir(args.reference_proteome): - if filename.endswith(".fasta") or filename.endswith(".fsa"): + if filename.endswith(".fasta") or filename.endswith(".fsa"): up_db.read_seqs(os.path.join(args.reference_proteome, filename)) else: up_db.read_seqs(args.reference_proteome) selected_methods = [item for item in args.tools.split(',')] with open(args.versions, 'r') as versions_file: - tool_version = [ (row[0], str(row[1][1:])) for row in csv.reader(versions_file, delimiter = "\t") ] + tool_version = [ (row[0].split()[0], str(row[1])) for row in csv.reader(versions_file, delimiter = "\t") ] # NOTE this needs to be updated, if a newer version will be available via Fred2 and should be used in the future tool_version.append(('syfpeithi', '1.0')) # get for each selected method the corresponding tool version @@ -1085,14 +1086,14 @@ def __main__(): neg_predictions.append(str(r['sequence'])) if str(r['sequence']) not in binders: non_binders.append(str(r['sequence'])) - + # parse protein quantification results, annotate proteins for samples if args.protein_quantification is not None: protein_quant = read_protein_quant(args.protein_quantification) first_entry = protein_quant[protein_quant.keys()[0]] for k in first_entry.keys(): complete_df['{} log2 protein LFQ intensity'.format(k)] = complete_df.apply(lambda row: create_quant_column_value_for_result(row, protein_quant, transcriptSwissProtMap, k), axis=1) - + # parse (differential) expression analysis results, annotate features (genes/transcripts) if args.gene_expression is not None: fold_changes = read_diff_expression_values(args.gene_expression) @@ -1157,7 +1158,7 @@ def __main__(): with open('{}_report.json'.format(args.identifier), 'w') as json_out: json.dump(statistics, json_out) - + logger.info("Finished predictions at " + str(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))) if __name__ == "__main__": diff --git a/conf/modules.config b/conf/modules.config index 0b1bfde..ab1f9b8 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -28,5 +28,17 @@ params { 'multiqc' { args = "" } + 'check_modules' { + args = "--tools ${params.tools.tokenize(',').join(',') } " + } + 'gen_peptides' { + args = "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} " + } + 'split_peptides' { + args = "--min_size ${params.peptides_split_minchunksize} --max_chunks ${params.peptides_split_maxchunks} " + } + 'peptide_prediction' { + args = "--mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --tools ${params.tools} --reference ${params.genome_version} " + } } } diff --git a/lib/WorkflowEpitopeprediction.groovy b/lib/WorkflowEpitopeprediction.groovy index d356477..c0b8c62 100755 --- a/lib/WorkflowEpitopeprediction.groovy +++ b/lib/WorkflowEpitopeprediction.groovy @@ -8,12 +8,12 @@ class WorkflowEpitopeprediction { // Check and validate parameters // public static void initialise(params, log) { - genomeExistsError(params, log) + //genomeExistsError(params, log) - if (!params.fasta) { - log.error "Genome fasta file not specified with e.g. '--fasta genome.fa' or via a detectable config file." - System.exit(1) - } + //if (!params.fasta) { + // log.error "Genome fasta file not specified with e.g. '--fasta genome.fa' or via a detectable config file." + // System.exit(1) + //} } // @@ -46,14 +46,14 @@ class WorkflowEpitopeprediction { // // Exit pipeline if incorrect --genome key provided // - private static void genomeExistsError(params, log) { - if (params.genomes && params.genome && !params.genomes.containsKey(params.genome)) { - log.error "=============================================================================\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" + - "===================================================================================" - System.exit(1) - } - } + //private static void genomeExistsError(params, log) { + // if (params.genomes && params.genome && !params.genomes.containsKey(params.genome)) { + // log.error "=============================================================================\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" + + // "===================================================================================" + // System.exit(1) + // } + //} } diff --git a/modules/local/functions.nf b/modules/local/functions.nf index da9da09..4860a36 100644 --- a/modules/local/functions.nf +++ b/modules/local/functions.nf @@ -9,6 +9,13 @@ def getSoftwareName(task_process) { return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase() } +// +// Extract name of module from process name using $task.process +// +def getProcessName(task_process) { + return task_process.tokenize(':')[-1] +} + // // Function to initialise default values and to generate a Groovy Map of available options for nf-core modules // diff --git a/nextflow_schema.json b/nextflow_schema.json index 2b1efea..e607509 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -11,7 +11,6 @@ "fa_icon": "fas fa-terminal", "description": "Define where the pipeline should find input data and save output data.", "required": [ - "alleles", "input" ], "properties": { diff --git a/subworkflows/local/input_check.nf b/subworkflows/local/input_check.nf index 685a8e3..0c67e31 100644 --- a/subworkflows/local/input_check.nf +++ b/subworkflows/local/input_check.nf @@ -11,8 +11,7 @@ workflow INPUT_CHECK { samplesheet // file: /path/to/samplesheet.csv main: - // SAMPLESHEET_CHECK ( samplesheet ) - Channel.fromPath(samplesheet) + SAMPLESHEET_CHECK ( samplesheet ) .splitCsv ( header:true, sep:',' ) .map { get_samplesheet_paths(it) } .set { reads } diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 892de94..48efa37 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -11,12 +11,17 @@ WorkflowEpitopeprediction.initialise(params, log) // TODO nf-core: Add all file path parameters for the pipeline to the list below // Check input path parameters to see if they exist -def checkPathParamList = [ params.input, params.multiqc_config, params.fasta ] +def checkPathParamList = [ params.input, params.multiqc_config ] for (param in checkPathParamList) { if (param) { file(param, checkIfExists: true) } } // Check mandatory parameters if (params.input) { ch_input = file(params.input) } else { exit 1, 'Input samplesheet not specified!' } +// Determine if the parameters are defined or not +ref_prot = params.proteome ? "--proteome ${params.proteome}" : "" +wt = params.wild_type ? "--wild_type" : "" +fasta_output = params.fasta_output ? "--fasta_output" : "" +threshold_file = params.tool_thresholds ? "--tool_thresholds ${tool_thresholds}" : "" /* ======================================================================================== CONFIG FILES @@ -35,14 +40,47 @@ ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multi // Don't overwrite global params.modules, create a copy instead and use that within the main script. def modules = params.modules.clone() +def check_modules_options = modules['check_modules'] +def check_modules_options_pep = check_modules_options.clone() +check_modules_options.args += "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length}" +check_modules_options_pep.args += "--peptides" + +def get_peptides_options = modules['gen_peptides'] +def split_peptides_options = modules['split_peptides'] +def peptide_predition_options = modules['peptide_prediction'] + +def peptide_predition_pep = peptide_predition_options.clone() +// def peptide_predition_prot = peptide_predition_options.clone() +def peptide_predition_var = peptide_predition_options.clone() + +check_modules_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \"$params.multiqc_title\""]) : '' +peptide_predition_pep.args += ref_prot + wt + fasta_output + threshold_file + "--peptides " +// peptide_predition_prot.args += "--peptides " +peptide_predition_var.args += ref_prot + wt + fasta_output + threshold_file + "--somatic_mutation " + + + // // MODULE: Local to the pipeline // -include { GET_SOFTWARE_VERSIONS } from '../modules/local/get_software_versions' addParams( options: [publish_files : ['tsv':'']] ) +include { GET_SOFTWARE_VERSIONS } from '../modules/local/get_software_versions' addParams( options: [publish_files : ['tsv':'']] ) + +include { DEFINE_SOFTWARE } from '../modules/local/define_software' addParams( options: [:] ) + +include { CHECK_REQUESTED_MODELS as CHECK_REQUESTED_MODELS_PEP } from '../modules/local/check_requested_models' addParams( options: check_modules_options_pep ) +include { CHECK_REQUESTED_MODELS } from '../modules/local/check_requested_models' addParams( options: check_modules_options ) +include { SHOW_SUPPORTED_MODELS} from '../modules/local/show_supported_models' addParams( options: [:] ) + +include { GEN_PEPTIDES } from '../modules/local/gen_peptides' addParams( options: get_peptides_options ) +include { SPLIT_PEPTIDES } from '../modules/local/split_peptides' addParams( options: split_peptides_options ) + +include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_pep ) +include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_var ) +// include { } // // SUBWORKFLOW: Consisting of a mix of local and nf-core/modules -// + include { INPUT_CHECK } from '../subworkflows/local/input_check' addParams( options: [:] ) /* @@ -57,7 +95,7 @@ multiqc_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \" // // MODULE: Installed directly from nf-core/modules // -include { FASTQC } from '../modules/nf-core/modules/fastqc/main' addParams( options: modules['fastqc'] ) +//include { FASTQC } from '../modules/nf-core/modules/fastqc/main' addParams( options: modules['fastqc'] ) include { MULTIQC } from '../modules/nf-core/modules/multiqc/main' addParams( options: multiqc_options ) /* @@ -71,832 +109,143 @@ def multiqc_report = [] workflow EPITOPEPREDICTION { - log.info Headers.nf_core(workflow, params.monochrome_logs) - - //////////////////////////////////////////////////// - /* -- PRINT HELP -- */ - ////////////////////////////////////////////////////+ - def json_schema = "$projectDir/nextflow_schema.json" - if (params.help) { - def command = " nextflow run nf-core/epitopeprediction --input '*.vcf' -profile docker" - log.info NfcoreSchema.params_help(workflow, params, json_schema, command) - exit 0 - } - - //////////////////////////////////////////////////// - /* -- VALIDATE PARAMETERS -- */ - ////////////////////////////////////////////////////+ - if (params.validate_params) { - NfcoreSchema.validateParameters(params, json_schema, log) - } - - //////////////////////////////////////////////////// - /* -- Collect configuration parameters -- */ - //////////////////////////////////////////////////// - - // Check if genome exists in the config file - if (params.genomes && params.genome && !params.genomes.containsKey(params.genome)) { - exit 1, "The provided genome '${params.genome}' is not available in the iGenomes file. Currently the available genomes are ${params.genomes.keySet().join(', ')}" - } - - // Log colors ANSI codes - c_black = params.monochrome_logs ? '' : "\033[0;30m"; - c_blue = params.monochrome_logs ? '' : "\033[0;34m"; - c_cyan = params.monochrome_logs ? '' : "\033[0;36m"; - c_dim = params.monochrome_logs ? '' : "\033[2m"; - c_green = params.monochrome_logs ? '' : "\033[0;32m"; - c_purple = params.monochrome_logs ? '' : "\033[0;35m"; - c_reset = params.monochrome_logs ? '' : "\033[0m"; - c_white = params.monochrome_logs ? '' : "\033[0;37m"; - c_yellow = params.monochrome_logs ? '' : "\033[0;33m"; - c_red = params.monochrome_logs ? '' : "\033[1;91m" - c_yellow_bold = params.monochrome_logs ? '' : "\033[1;93m" - - - //Generate empty channels - ch_peptides = Channel.empty() - ch_check_peptides = Channel.empty() - ch_proteins = Channel.empty() - ch_split_variants = Channel.empty() - ch_alleles = Channel.empty() - ch_check_alleles = Channel.empty() - ch_tool_thresholds = Channel.empty() - - // Store input base name for later - def input_base_name = '' - - ch_nonfree_paths = Channel.create() - - netmhc_meta = [ - netmhc : [ - version : "4.0", - software_md5 : "132dc322da1e2043521138637dd31ebf", - data_url : "http://www.cbs.dtu.dk/services/NetMHC-4.0/data.tar.gz", - data_md5 : "63c646fa0921d617576531396954d633", - binary_name : "netMHC" - ], - netmhcpan: [ - version : "4.0", - software_md5 : "94aa60f3dfd9752881c64878500e58f3", - data_url : "http://www.cbs.dtu.dk/services/NetMHCpan-4.0/data.Linux.tar.gz", - data_md5 : "26cbbd99a38f6692249442aeca48608f", - binary_name : "netMHCpan" - ], - netmhcii: [ - version : "2.2", - software_md5 : "918b7108a37599887b0725623d0974e6", - data_url : "http://www.cbs.dtu.dk/services/NetMHCII-2.2/data.tar.gz", - data_md5 : "11579b61d3bfe13311f7b42fc93b4dd8", - binary_name : "netMHCII" - ], - netmhciipan: [ - version : "3.1", - software_md5 : "0962ce799f7a4c9631f8566a55237073", - data_url : "http://www.cbs.dtu.dk/services/NetMHCIIpan-3.1/data.tar.gz", - data_md5 : "f833df245378e60ca6e55748344a36f6", - binary_name : "netMHCIIpan" - ] - ] - - tools = params.tools?.tokenize(',') - - // Validating parameters - if ( !params.show_supported_models ){ - if ( params.peptides ) { - if ( params.fasta_output ) { - exit 1, "Peptide input not compatible with protein sequence FASTA output." - } - if ( params.wild_type ) { - exit 1, "Peptide input not compatible with wild-type sequence generation." - } - input_base_name = file(params.peptides).baseName - Channel - .fromPath(params.peptides, checkIfExists: true) - .set { ch_peptides } - (ch_peptides, ch_check_peptides) = ch_peptides.into(2) - } - else if ( params.proteins ) { - if ( params.fasta_output ) { - exit 1, "Protein input not compatible with protein sequence FASTA output." - } - if ( params.wild_type ) { - exit 1, "Protein input not compatible with wild-type sequence generation." - } - input_base_name = file(params.proteins).baseName - Channel - .fromPath(params.proteins, checkIfExists: true) - .set { ch_proteins } - } - else if (params.input) { - input_base_name = file(params.input).baseName - Channel - .fromPath(params.input, checkIfExists: true) - .set { ch_split_variants } - } - else { - exit 1, "Please specify a file that contains annotated variants, protein sequences OR peptide sequences. Alternatively, to write out all supported models specify '--show_supported_models'." - } - - if ( !params.alleles ) { - exit 1, "Please specify a file containing MHC alleles." - } - else { - Channel.value(file(params.alleles, checkIfExists: true)).into{ch_alleles; ch_check_alleles} - } - - if ( params.input ){ - allele_file = file(params.alleles, checkIfExists: true) - allele_file.eachLine{line -> - if (line.contains("H2-")) { - exit 1, "Mouse allele provided: $line. Not compatible with reference ${params.genome_version}. Currently mouse alleles are only supported when using peptide sequences as input (--peptides)." - } - } - } - - if ( params.mhc_class != 1 && params.mhc_class != 2 ){ - exit 1, "Invalid MHC class option: ${params.mhc_class}. Valid options: 1, 2" - } - - if ( (params.mhc_class == 1 && tools.contains("mhcnuggets-class-2")) || (params.mhc_class == 2 && tools.contains("mhcnuggets-class-1")) ){ - log.warn "Provided MHC class is not compatible with the selected MHCnuggets tool. Output might be empty.\n" - } - - if ( params.filter_self & !params.proteome ){ - params.proteome = file("$projectDir/assets/") - } - - if ( params.mem_mode != 'low' && params.mem_mode != 'intermediate' && params.mem_mode != 'high' ) - { - exit 1, "Invalid memory mode parameter: ${params.mem_mode}. Valid options: 'low', 'intermediate', 'high'." - } - - // External tools - ["netmhc", "netmhcpan", "netmhcii", "netmhciipan"].each { - // Check if the _path parameter was set for this tool - if (params["${it}_path"] as Boolean && ! tools.contains(it)) - { - log.warn("--${it}_path specified, but --tools does not contain ${it}. Both have to be specified to enable ${it}. Ignoring.") - } - else if (!params["${it}_path"] as Boolean && tools.contains(it)) - { - log.warn("--${it}_path not specified, but --tools contains ${it}. Both have to be specified to enable ${it}. Ignoring.") - tools.removeElement(it) - } - else if (params["${it}_path"]) - { - // If so, add the tool name and user installation path to the external tools import channel - ch_nonfree_paths.bind([ - it, - netmhc_meta[it].version, - netmhc_meta[it].software_md5, - file(params["${it}_path"], checkIfExists:true), - file(netmhc_meta[it].data_url), - netmhc_meta[it].data_md5, - netmhc_meta[it].binary_name - ]) - } - } - if (tools.isEmpty()) - { - exit 1, "No valid tools specified." - } - ch_nonfree_paths.close() - } - - // Check AWS batch settings - if (workflow.profile.contains('awsbatch')) { - // AWSBatch sanity checking - if (!params.awsqueue || !params.awsregion) exit 1, 'Specify correct --awsqueue and --awsregion parameters on AWSBatch!' - // Check outdir paths to be S3 buckets if running on AWSBatch - // related: https://github.com/nextflow-io/nextflow/issues/813 - if (!params.outdir.startsWith('s3:')) exit 1, 'Outdir not on S3 - specify S3 Bucket to run on AWSBatch!' - // Prevent trace files to be stored on S3 since S3 does not support rolling files. - if (params.tracedir.startsWith('s3:')) exit 1, 'Specify a local tracedir or run without trace! S3 cannot be used for tracefiles.' - } - - if ( params.tool_thresholds ) - { - ch_tool_thresholds = Channel.fromPath(params.tool_thresholds, checkIfExists: true) - } - - // Stage config files - ch_multiqc_config = file("$projectDir/assets/multiqc_config.yaml", checkIfExists: true) - ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multiqc_config, checkIfExists: true) : Channel.empty() - ch_output_docs = file("$projectDir/docs/output.md", checkIfExists: true) - ch_output_docs_images = file("$projectDir/docs/images/", checkIfExists: true) - - //////////////////////////////////////////////////// - /* -- PRINT PARAMETER SUMMARY -- */ - //////////////////////////////////////////////////// - log.info NfcoreSchema.params_summary_log(workflow, params, json_schema) - - // Header log info - def summary = [:] - - //Standard Params for nf-core pipelines - summary['Pipeline Name'] = 'nf-core/epitopeprediction' - if (workflow.revision) summary['Pipeline Release'] = workflow.revision - summary['Run Name'] = workflow.runName - //Pipeline Parameters - summary['Max Resources'] = "$params.max_memory memory, $params.max_cpus cpus, $params.max_time time per job" - if ( params.show_supported_models ) { - summary['Show Supported Models'] = params.show_supported_models - } else { - if ( params.input ) summary['Variants'] = params.input - if ( params.peptides ) summary['Peptides'] = params.peptides - if ( params.proteins ) summary['Proteins'] = params.proteins - if ( params.alleles ) summary['Alleles'] = params.alleles - if ( !params.peptides) { - summary['Min. Peptide Length'] = params.min_peptide_length - summary['Max. Peptide Length'] = params.max_peptide_length - } - summary['MHC Class'] = params.mhc_class - if ( !params.peptides && !params.proteins ) summary['Reference Genome'] = params.genome_version - if ( params.proteome ) summary['Reference Proteome'] = params.proteome - summary['Self-Filter'] = params.filter_self - summary['Tools'] = tools.join(',') - summary['Wild-types'] = params.wild_type - summary['Protein FASTA Output'] = params.fasta_output - if ( params.peptides || params.proteins ) summary['Max. Number of Chunks for Parallelization'] = params.peptides_split_maxchunks - if ( params.peptides || params.proteins ) summary['Min. Number of Peptides in One Chunk'] = params.peptides_split_minchunksize - } - summary['Memory Mode'] = params.mem_mode - if (workflow.containerEngine) summary['Container'] = "$workflow.containerEngine - $workflow.container" - summary['Output Dir'] = params.outdir - summary['Launch Dir'] = workflow.launchDir - summary['Working Dir'] = workflow.workDir - summary['Script Dir'] = workflow.projectDir - summary['User'] = workflow.userName - if (workflow.profile.contains('awsbatch')) { - summary['AWS Region'] = params.awsregion - summary['AWS Queue'] = params.awsqueue - summary['AWS CLI'] = params.awscli - } - summary['Config Profile'] = workflow.profile - if (params.config_profile_description) summary['Config Profile Description'] = params.config_profile_description - if (params.config_profile_contact) summary['Config Profile Contact'] = params.config_profile_contact - if (params.config_profile_url) summary['Config Profile URL'] = params.config_profile_url - summary['Config Files'] = workflow.configFiles.join(', ') - if (params.email || params.email_on_fail) { - summary['E-mail Address'] = params.email - summary['E-mail on failure'] = params.email_on_fail - summary['MultiQC maxsize'] = params.max_multiqc_email_size - } - - // Check the hostnames against configured profiles - checkHostname() - - Channel.from(summary.collect{ [it.key, it.value] }) - .map { k,v -> "
$k
${v ?: 'N/A'}
" } - .reduce { a, b -> return [a, b].join("\n ") } - .map { x -> """ - id: 'nf-core-epitopeprediction-summary' - description: " - this information is collected when the pipeline is started." - section_name: 'nf-core/epitopeprediction Workflow Summary' - section_href: 'https://github.com/nf-core/epitopeprediction' - plot_type: 'html' - data: | -
- $x -
- """.stripIndent() } - .set { ch_workflow_summary } - - /* - * Copy non-free software provided by the user into the working directory - */ - process netmhc_tools_import { - input: - tuple val(toolname), val(toolversion), val(toolchecksum), path(tooltarball), file(datatarball), val(datachecksum), val(toolbinaryname) from ch_nonfree_paths - - output: - path "${toolname}" into ch_nonfree_tools - path "v_${toolname}.txt" into ch_nonfree_versions - - script: - """ - # - # CHECK IF THE PROVIDED SOFTWARE TARBALL IS A REGULAR FILES - # - if [ ! -f "$tooltarball" ]; then - echo "Path specified for ${toolname} does not point to a regular file. Please specify a path to the original tool tarball." >&2 - exit 1 - fi - - # - # VALIDATE THE CHECKSUM OF THE PROVIDED SOFTWARE TARBALL - # - checksum="\$(md5sum "$tooltarball" | cut -f1 -d' ')" - if [ "\$checksum" != "${toolchecksum}" ]; then - echo "Checksum error for $toolname. Please make sure to provide the original tarball for $toolname version $toolversion" >&2 - exit 2 - fi - - # - # UNPACK THE PROVIDED SOFTWARE TARBALL - # - mkdir -v "${toolname}" - tar -C "${toolname}" --strip-components 1 -x -f "$tooltarball" - - # - # MODIFY THE NETMHC WRAPPER SCRIPT ACCORDING TO INSTALL INSTRUCTIONS - # Substitution 1: We install tcsh via conda, thus /bin/tcsh won't work - # Substitution 2: We want temp files to be written to /tmp if TMPDIR is not set - # Substitution 3: NMHOME should be the folder in which the tcsh script itself resides - # - sed -i.bak \ - -e 's_bin/tcsh.*\$_usr/bin/env tcsh_' \ - -e "s_/scratch_/tmp_" \ - -e "s_setenv[[:space:]]NMHOME.*_setenv NMHOME \\`realpath -s \\\$0 | sed -r 's/[^/]+\$//'\\`_" "${toolname}/${toolbinaryname}" - - # - # VALIDATE THE CHECKSUM OF THE DOWNLOADED MODEL DATA - # - checksum="\$(md5sum "$datatarball" | cut -f1 -d' ')" - if [ "\$checksum" != "${datachecksum}" ]; then - echo "A checksum mismatch occurred when checking the data file for ${toolname}." >&2 - exit 3 - fi - - # - # UNPACK THE DOWNLOADED MODEL DATA - # - tar -C "${toolname}" -v -x -f "$datatarball" - - # - # CREATE VERSION FILE - # - echo "${toolname} ${toolversion}" > "v_${toolname}.txt" - """ - } - - /* - * Parse software version numbers - */ - process get_software_versions { - publishDir "${params.outdir}/pipeline_info", mode: params.publish_dir_mode, - saveAs: { filename -> - if (filename.indexOf('.csv') > 0) filename - else null - } - input: - file ("*") from ch_nonfree_versions.collect().ifEmpty([]) - - output: - file 'software_versions_mqc.yaml' into ch_software_versions_yaml - file "software_versions.csv" into ch_software_versions_csv - - script: - """ - echo $workflow.manifest.version > v_pipeline.txt - echo $workflow.nextflow.version > v_nextflow.txt - multiqc --version > v_multiqc.txt - csvtk version > v_csvtk.txt - echo \$(SnpSift 2>&1) > v_snpsift.txt - python -c "import pkg_resources; print 'fred2 ' + pkg_resources.get_distribution('Fred2').version" > v_fred2.txt - echo \$(mhcflurry-predict --version 2>&1) > v_mhcflurry.txt - python -c "import pkg_resources; print 'mhcnuggets ' + pkg_resources.get_distribution('mhcnuggets').version" > v_mhcnuggets.txt - scrape_software_versions.py &> software_versions_mqc.yaml - """ - } - - /* - * Write models of predictions tools supported by FRED2 to file - */ - process showSupportedModels { - publishDir "${params.outdir}/supported_models/", mode: 'copy' - - input: - file software_versions from ch_software_versions_csv - - output: - file '*.txt' - - when: params.show_supported_models - - script: - """ - check_supported_models.py --versions ${software_versions} - """ - } + ch_versions = Channel.empty() + ch_software_versions = Channel.empty() + DEFINE_SOFTWARE() + ch_versions = ch_versions.mix(DEFINE_SOFTWARE.out.versions.ifEmpty(null)) - process checkRequestedModels { - publishDir "${params.outdir}/reports/", mode: 'copy' - - input: - file peptides from ch_check_peptides - file alleles from ch_check_alleles - file software_versions from ch_software_versions_csv - - output: - file 'model_report.txt' - file 'model_warnings.log' into ch_model_warnings - - when: !params.show_supported_models - - script: - def input_type = params.peptides ? "--peptides ${peptides}" : "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length}" - """ - check_requested_models.py ${input_type} \ - --alleles ${alleles} \ - --mhcclass ${params.mhc_class} \ - --tools ${tools.join(",")} \ - --versions ${software_versions} > model_warnings.log - """ - } + // + // SUBWORKFLOW: Read in samplesheet, validate and stage input files + // - ch_model_warnings.subscribe { - model_log_file = file("$it", checkIfExists: true) - def lines = model_log_file.readLines() - if (lines.size() > 0) { - log.info "-${c_purple} Warning: ${c_reset}-" - lines.each { String line -> - log.info "-${c_purple} $line ${c_reset}-" - } + INPUT_CHECK ( ch_input ).branch { + meta, filename -> + variant : meta.anno == 'variant' + return [ meta, filename ] + pep : meta.anno == 'pep' + return [ meta, filename ] + prot : meta.anno == 'prot' + return [ meta, filename ] } - } - - /* - * STEP 1a - Split variant data - */ - process splitVariants { - input: - file variants from ch_split_variants - - output: - file '*chr*.vcf' optional true into ch_splitted_vcfs - file '*chr*.tsv' optional true into ch_splitted_tsvs - file '*chr*.GSvar' optional true into ch_splitted_gsvars - - when: !params.peptides && !params.show_supported_models - - script: - if ( variants.toString().endsWith('.vcf') || variants.toString().endsWith('.vcf.gz') ) { - """ - SnpSift split ${variants} - """ - } - else { - """ - sed -i.bak '/^##/d' ${variants} - csvtk split ${variants} -t -C '&' -f '#chr' - """ - } - } - - /* - * STEP 0b - Process FASTA file and generate peptides - */ - if (params.proteins) { - process genPeptides { - input: - file proteins from ch_proteins - - output: - file 'peptides.tsv' into ch_split_peptides - - when: !params.peptides + .set { ch_samples_from_sheet } + + //TODO: include and increment when at least one of the processes ahas been run thus far + if (!params.show_supported_models) { + // Perform the check requested models on the peptide and variant files, but only the first item + CHECK_REQUESTED_MODELS(ch_samples_from_sheet.prot + .mix(ch_samples_from_sheet.variant) + .combine(ch_versions) + .first() + ) + // Perform the check requested models on the peptide and variant but only the first item + CHECK_REQUESTED_MODELS_PEP(ch_samples_from_sheet.pep.combine(ch_versions).first()) + + // TODO: how do we want to include this? + //ch_model_warnings.subscribe { + // model_log_file = file("$it", checkIfExists: true) + // def lines = model_log_file.readLines() + // if (lines.size() > 0) { + // log.info "-${c_purple} Warning: ${c_reset}-" + // lines.each { String line -> + // log.info "-${c_purple} $line ${c_reset}-" + // } + // } + //} - script: - """ - gen_peptides.py --input ${proteins} --output 'peptides.tsv' --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} - """ - } } else { - ch_peptides.set{ch_split_peptides} + // Include a process for the show supported models + // TODO: which version of mhcnuggets-class-1 and mhcnuggets-class-2 are supported? + SHOW_SUPPORTED_MODELS( + ch_samples_from_sheet.prot + .mix(ch_samples_from_sheet.variant, ch_samples_from_sheet.pep) + .combine(ch_versions) + .first() + ) } - /* - * STEP 1b- Split peptide data - */ - process splitPeptides { - input: - file peptides from ch_split_peptides - - output: - file '*.chunk_*.tsv' into ch_splitted_peptides - - when: !params.input - - script: - """ - split_peptides.py --input ${peptides} --output_base ${peptides.baseName} --min_size ${params.peptides_split_minchunksize} --max_chunks ${params.peptides_split_maxchunks} - """ - } - - /* - * STEP 2 - Run epitope prediction - */ - process peptidePrediction { - - input: - file inputs from ch_splitted_vcfs.flatten().mix(ch_splitted_tsvs.flatten(), ch_splitted_gsvars.flatten(), ch_splitted_peptides.flatten()) - file alleles from ch_alleles - file software_versions from ch_software_versions_csv - file ('nonfree_software/*') from ch_nonfree_tools.collect().ifEmpty([]) - file tool_thresholds from ch_tool_thresholds.ifEmpty("") - - output: - file "*.tsv" into ch_predicted_peptides - file "*.json" into ch_json_reports - file "*.fasta" optional true into ch_protein_fastas - - script: - def input_type = params.peptides ? "--peptides ${inputs}" : params.proteins ? "--peptides ${inputs}" : "--somatic_mutations ${inputs}" - def ref_prot = params.proteome ? "--proteome ${params.proteome}" : "" - def wt = params.wild_type ? "--wild_type" : "" - def fasta_output = params.fasta_output ? "--fasta_output" : "" - def threshold_file = params.tool_thresholds ? "--tool_thresholds ${tool_thresholds}" : "" - """ - # create folder for MHCflurry downloads to avoid permission problems when running pipeline with docker profile and mhcflurry selected - mkdir -p mhcflurry-data - export MHCFLURRY_DATA_DIR=./mhcflurry-data - # specify MHCflurry release for which to download models, need to be updated here as well when MHCflurry will be updated - export MHCFLURRY_DOWNLOADS_CURRENT_RELEASE=1.4.0 - - # Add non-free software to the PATH - shopt -s nullglob - for p in nonfree_software/*; do export PATH="\$(realpath -s "\$p"):\$PATH"; done - shopt -u nullglob - - epaa.py ${input_type} --identifier ${inputs.baseName} \ - --alleles $alleles \ - --mhcclass ${params.mhc_class} \ - --max_length ${params.max_peptide_length} \ - --min_length ${params.min_peptide_length} \ - --tools ${tools.join(",")} \ - ${threshold_file} \ - --versions ${software_versions} \ - --reference ${params.genome_version} \ - ${ref_prot} \ - ${wt} \ - ${fasta_output} - """ - } - - /* - * STEP 3 - Combine epitope prediction results - */ - process mergeResults { - publishDir "${params.outdir}/predictions", mode: 'copy' - - input: - file predictions from ch_predicted_peptides.collect() - - output: - file "${input_base_name}_prediction_result.tsv" - - script: - def single = predictions instanceof Path ? 1 : predictions.size() - def merge = (single == 1) ? 'cat' : 'csvtk concat -t' - - """ - $merge $predictions > ${input_base_name}_prediction_result.tsv - """ - } - - /* - * STEP 3(2) optional - Combine protein sequences - */ - process mergeFastas { - publishDir "${params.outdir}/predictions", mode: 'copy' - - input: - file proteins from ch_protein_fastas.collect() - - output: - file "${input_base_name}_prediction_proteins.fasta" - - when: - params.fasta_output - - """ - cat $proteins > ${input_base_name}_prediction_proteins.fasta - """ - } - - /* - * STEP 4 - Combine epitope prediction reports - */ - - process mergeReports { - publishDir "${params.outdir}/predictions", mode: 'copy' - - input: - file jsons from ch_json_reports.collect() - - output: - file "${input_base_name}_prediction_report.json" - - script: - def single = jsons instanceof Path ? 1 : jsons.size() - def command = (single == 1) ? "merge_jsons.py --single_input ${jsons} --prefix ${input_base_name}" : "merge_jsons.py --input \$PWD --prefix ${input_base_name}" - - """ - $command - """ - } - - /* - * STEP 5 - MultiQC - */ - process multiqc { - publishDir "${params.outdir}/MultiQC", mode: params.publish_dir_mode - - input: - file (multiqc_config) from ch_multiqc_config - file (mqc_custom_config) from ch_multiqc_custom_config.collect().ifEmpty([]) - file ('software_versions/*') from ch_software_versions_yaml.collect() - file workflow_summary from ch_workflow_summary.collectFile(name: "workflow_summary_mqc.yaml") - - when: !params.show_supported_models - - script: - rtitle = '' - rfilename = '' - if (!(workflow.runName ==~ /[a-z]+_[a-z]+/)) { - rtitle = "--title \"${workflow.runName}\"" - rfilename = "--filename " + workflow.runName.replaceAll('\\W','_').replaceAll('_+','_') + "_multiqc_report" - } - custom_config_file = params.multiqc_config ? "--config $mqc_custom_config" : '' - """ - multiqc -f $rtitle $rfilename $custom_config_file . - """ - ======= - - * Completion e-mail notification - */ - workflow.onComplete { - - // Set up the e-mail variables - def subject = "[nf-core/epitopeprediction] Successful: $workflow.runName" - if (!workflow.success) { - subject = "[nf-core/epitopeprediction] FAILED: $workflow.runName" - } - def email_fields = [:] - email_fields['version'] = workflow.manifest.version - email_fields['runName'] = workflow.runName - email_fields['success'] = workflow.success - email_fields['dateComplete'] = workflow.complete - email_fields['duration'] = workflow.duration - email_fields['exitStatus'] = workflow.exitStatus - email_fields['errorMessage'] = (workflow.errorMessage ?: 'None') - email_fields['errorReport'] = (workflow.errorReport ?: 'None') - email_fields['commandLine'] = workflow.commandLine - email_fields['projectDir'] = workflow.projectDir - email_fields['summary'] = summary - email_fields['summary']['Date Started'] = workflow.start - email_fields['summary']['Date Completed'] = workflow.complete - email_fields['summary']['Pipeline script file path'] = workflow.scriptFile - email_fields['summary']['Pipeline script hash ID'] = workflow.scriptId - if (workflow.repository) email_fields['summary']['Pipeline repository Git URL'] = workflow.repository - if (workflow.commitId) email_fields['summary']['Pipeline repository Git Commit'] = workflow.commitId - if (workflow.revision) email_fields['summary']['Pipeline Git branch/tag'] = workflow.revision - email_fields['summary']['Nextflow Version'] = workflow.nextflow.version - email_fields['summary']['Nextflow Build'] = workflow.nextflow.build - email_fields['summary']['Nextflow Compile Timestamp'] = workflow.nextflow.timestamp - - // On success try attach the multiqc report - def mqc_report = null - if (!params.show_supported_models) { - try { - if (workflow.success) { - mqc_report = ch_multiqc_report.getVal() - if (mqc_report.getClass() == ArrayList) { - log.warn "[nf-core/epitopeprediction] Found multiple reports from process 'multiqc', will use only one" - mqc_report = mqc_report[0] - } - } - } catch (all) { - log.warn "[nf-core/epitopeprediction] Could not attach MultiQC report to summary email" - } - } - - // Check if we are only sending emails on failure - email_address = params.email - if (!params.email && params.email_on_fail && !workflow.success) { - email_address = params.email_on_fail - } - - // Render the TXT template - def engine = new groovy.text.GStringTemplateEngine() - def tf = new File("$projectDir/assets/email_template.txt") - def txt_template = engine.createTemplate(tf).make(email_fields) - def email_txt = txt_template.toString() - - // Render the HTML template - def hf = new File("$projectDir/assets/email_template.html") - def html_template = engine.createTemplate(hf).make(email_fields) - def email_html = html_template.toString() - - // Render the sendmail template - def smail_fields = [ email: email_address, subject: subject, email_txt: email_txt, email_html: email_html, projectDir: "$projectDir", mqcFile: mqc_report, mqcMaxSize: params.max_multiqc_email_size.toBytes() ] - def sf = new File("$projectDir/assets/sendmail_template.txt") - def sendmail_template = engine.createTemplate(sf).make(smail_fields) - def sendmail_html = sendmail_template.toString() - - // Send the HTML e-mail - if (email_address) { - try { - if (params.plaintext_email) { throw GroovyException('Send plaintext e-mail, not HTML') } - // Try to send HTML e-mail using sendmail - [ 'sendmail', '-t' ].execute() << sendmail_html - log.info "[nf-core/epitopeprediction] Sent summary e-mail to $email_address (sendmail)" - } catch (all) { - // Catch failures and try with plaintext - def mail_cmd = [ 'mail', '-s', subject, '--content-type=text/html', email_address ] - if ( mqc_report.size() <= params.max_multiqc_email_size.toBytes() ) { - mail_cmd += [ '-A', mqc_report ] - } - mail_cmd.execute() << email_html - log.info "[nf-core/epitopeprediction] Sent summary e-mail to $email_address (mail)" - } - } - - // Write summary e-mail HTML to a file - def output_d = new File("${params.outdir}/pipeline_info/") - if (!output_d.exists()) { - output_d.mkdirs() - } - def output_hf = new File(output_d, "pipeline_report.html") - output_hf.withWriter { w -> w << email_html } - def output_tf = new File(output_d, "pipeline_report.txt") - output_tf.withWriter { w -> w << email_txt } - - - if (params.show_supported_models) { - log.info "-${c_green}Did not run the actual epitope prediction ${c_reset}-" - log.info "-${c_green}The information about supported models of the available prediction tools was written to ${params.outdir}/supported_models/ ${c_reset}-" - } - if (workflow.stats.ignoredCount > 0 && workflow.success) { - log.info "-${c_purple}Warning, pipeline completed, but with errored process(es) ${c_reset}-" - log.info "-${c_red}Number of ignored errored process(es) : ${workflow.stats.ignoredCount} ${c_reset}-" - log.info "-${c_green}Number of successfully ran process(es) : ${workflow.stats.succeedCount} ${c_reset}-" - } - - if (workflow.success) { - log.info "-${c_purple}[nf-core/epitopeprediction]${c_green} Pipeline completed successfully${c_reset}-" - } else { - checkHostname() - log.info "-${c_purple}[nf-core/epitopeprediction]${c_red} Pipeline completed with errors${c_reset}-" - } -} - -workflow.onError { - // Print unexpected parameters - easiest is to just rerun validation - NfcoreSchema.validateParameters(params, json_schema, log) -} - -def nfcoreHeader() { - - return """ -${c_dim}--------------------------------------------------${c_reset}- - ${c_green},--.${c_black}/${c_green},-.${c_reset} - ${c_blue} ___ __ __ __ ___ ${c_green}/,-._.--~\'${c_reset} - ${c_blue} |\\ | |__ __ / ` / \\ |__) |__ ${c_yellow}} {${c_reset} - ${c_blue} | \\| | \\__, \\__/ | \\ |___ ${c_green}\\`-._,-`-,${c_reset} - ${c_green}`._,._,\'${c_reset} - ${c_purple} nf-core/epitopeprediction v${workflow.manifest.version}${c_reset} - -${c_dim}--------------------------------------------------${c_reset}- - """.stripIndent() -} - -def checkHostname() { - if (params.hostnames) { - def hostname = 'hostname'.execute().text.trim() - params.hostnames.each { prof, hnames -> - hnames.each { hname -> - if (hostname.contains(hname) && !workflow.profile.contains(prof)) { - log.error '====================================================\n' + - " ${c_red}WARNING!${c_reset} You are running with `-profile $workflow.profile`\n" + - " but your machine hostname is ${c_white}'$hostname'${c_reset}\n" + - " ${c_yellow_bold}It's highly recommended that you use `-profile $prof${c_reset}`\n" + - '============================================================' - } - } - } - } -} - - ch_software_versions = Channel.empty() - - // - // SUBWORKFLOW: Read in samplesheet, validate and stage input files - // - INPUT_CHECK ( - ch_input - ) + // Process FASTA file and generate peptides + GEN_PEPTIDES(ch_samples_from_sheet.prot) + // Combine all of the peptide tab seperated files into the peptides channel + ch_peptides = GEN_PEPTIDES.out.splitted.mix(ch_samples_from_sheet.pep) + // Split peptide data + // TODO: Check why the warnings are returned here + SPLIT_PEPTIDES(ch_peptides) + // Run epitope prediction + // TODO: there is an eroor in the epaa scripts + // TODO: Create a mulled container see module + //PEPTIDE_PREDICTION_PEP(ch_peptides.combine(ch_versions)) + //PEPTIDE_PREDICTION_VAR(ch_samples_from_sheet.variant.combine(ch_versions)) + +// ##################### OLD ##################### // +/* + * STEP 3 - Combine epitope prediction results + */ +//process mergeResults { +// publishDir "${params.outdir}/predictions", mode: 'copy' +// +// input: +// file predictions from ch_predicted_peptides.collect() +// +// output: +// file "${input_base_name}_prediction_result.tsv" +// +// script: +// def single = predictions instanceof Path ? 1 : predictions.size() +// def merge = (single == 1) ? 'cat' : 'csvtk concat -t' +// +// """ +// $merge $predictions > ${input_base_name}_prediction_result.tsv +// """ +//} +// +///* +// * STEP 3(2) optional - Combine protein sequences +// */ +//process mergeFastas { +// publishDir "${params.outdir}/predictions", mode: 'copy' +// +// input: +// file proteins from ch_protein_fastas.collect() +// +// output: +// file "${input_base_name}_prediction_proteins.fasta" +// +// when: +// params.fasta_output +// +// """ +// cat $proteins > ${input_base_name}_prediction_proteins.fasta +// """ +//} +// +///* +// * STEP 4 - Combine epitope prediction reports +// */ +// +//process mergeReports { +// publishDir "${params.outdir}/predictions", mode: 'copy' +// +// input: +// file jsons from ch_json_reports.collect() +// +// output: +// file "${input_base_name}_prediction_report.json" +// +// script: +// def single = jsons instanceof Path ? 1 : jsons.size() +// def command = (single == 1) ? "merge_jsons.py --single_input ${jsons} --prefix ${input_base_name}" : "merge_jsons.py --input \$PWD --prefix ${input_base_name}" +// +// """ +// $command +// """ +//} - // - // MODULE: Run FastQC - // - FASTQC ( - INPUT_CHECK.out.reads - ) - ch_software_versions = ch_software_versions.mix(FASTQC.out.version.first().ifEmpty(null)) +// ##################### OLD ##################### // // // MODULE: Pipeline reporting // + // TODO: Get the software versions that are done for each step (expecially the protein prediction step) ch_software_versions .map { it -> if (it) [ it.baseName, it ] } .groupTuple() @@ -904,29 +253,30 @@ def checkHostname() { .flatten() .collect() .set { ch_software_versions } - GET_SOFTWARE_VERSIONS ( ch_software_versions.map { it }.collect() ) + // // MODULE: MultiQC // - workflow_summary = WorkflowEpitopeprediction.paramsSummaryMultiqc(workflow, summary_params) - ch_workflow_summary = Channel.value(workflow_summary) - - ch_multiqc_files = Channel.empty() - ch_multiqc_files = ch_multiqc_files.mix(Channel.from(ch_multiqc_config)) - ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_custom_config.collect().ifEmpty([])) - ch_multiqc_files = ch_multiqc_files.mix(ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml')) - ch_multiqc_files = ch_multiqc_files.mix(GET_SOFTWARE_VERSIONS.out.yaml.collect()) - ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip.collect{it[1]}.ifEmpty([])) - - MULTIQC ( - ch_multiqc_files.collect() - ) - multiqc_report = MULTIQC.out.report.toList() - ch_software_versions = ch_software_versions.mix(MULTIQC.out.version.ifEmpty(null)) + // TODO: Make sure that this runs too, cannot check: "Process requirement exceed available memory -- req: 42 GB; avail: 16 GB" + // workflow_summary = WorkflowEpitopeprediction.paramsSummaryMultiqc(workflow, summary_params) + // ch_workflow_summary = Channel.value(workflow_summary) + + // ch_multiqc_files = Channel.empty() + // ch_multiqc_files = ch_multiqc_files.mix(Channel.from(ch_multiqc_config)) + // ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_custom_config.collect().ifEmpty([])) + // ch_multiqc_files = ch_multiqc_files.mix(ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml')) + // ch_multiqc_files = ch_multiqc_files.mix(GET_SOFTWARE_VERSIONS.out.yaml.collect()) + // ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip.collect{it[1]}.ifEmpty([])) + + // MULTIQC ( + // ch_multiqc_files.collect() + // ) + // multiqc_report = MULTIQC.out.report.toList() + //ch_software_versions = ch_software_versions.mix(MULTIQC.out.version.ifEmpty(null)) } /* From f0f61d206179b478e69068a6c04c2d2dfdd4c383 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Mon, 1 Nov 2021 13:57:39 +0100 Subject: [PATCH 039/137] Inclusion of modules: check_requested_models, define_software, gen_peptides, peptide_prediction, show_supported_models, snpsift_split, and split_peptides --- modules/local/check_requested_models.nf | 41 +++++++++++++++++++++ modules/local/define_software.nf | 34 ++++++++++++++++++ modules/local/gen_peptides.nf | 41 +++++++++++++++++++++ modules/local/peptide_prediction.nf | 42 ++++++++++++++++++++++ modules/local/show_supported_models.nf | 32 +++++++++++++++++ modules/local/snpsift_split.nf | 48 +++++++++++++++++++++++++ modules/local/split_peptides.nf | 27 ++++++++++++++ 7 files changed, 265 insertions(+) create mode 100644 modules/local/check_requested_models.nf create mode 100644 modules/local/define_software.nf create mode 100644 modules/local/gen_peptides.nf create mode 100644 modules/local/peptide_prediction.nf create mode 100644 modules/local/show_supported_models.nf create mode 100644 modules/local/snpsift_split.nf create mode 100644 modules/local/split_peptides.nf diff --git a/modules/local/check_requested_models.nf b/modules/local/check_requested_models.nf new file mode 100644 index 0000000..96390de --- /dev/null +++ b/modules/local/check_requested_models.nf @@ -0,0 +1,41 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process CHECK_REQUESTED_MODELS { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'reports', meta:[:], publish_by_meta:[]) } + + conda (params.enable_conda ? "bioconda::fred2=2.0.6 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + } else { + container "quay.io/biocontainers/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + } + + input: + tuple val(meta), path(raw), val(software_versions) + + output: + path '*.txt', emit: txt // model_report.txt + path '*.log', emit: log // model_warnings.log + + script: + def argument = "$options.args" + + if (argument.contains("peptides") == true) { + argument += " ${raw}" + } + + """ + check_requested_models.py ${argument} \ + --alleles "${meta.alleles}" \ + --mhcclass ${params.mhc_class} \ + --versions ${software_versions} > model_warnings.log + """ + +} diff --git a/modules/local/define_software.nf b/modules/local/define_software.nf new file mode 100644 index 0000000..5d81ce5 --- /dev/null +++ b/modules/local/define_software.nf @@ -0,0 +1,34 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process DEFINE_SOFTWARE { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'reports', meta:[:], publish_by_meta:[]) } + + conda (params.enable_conda ? "bioconda::fred2=2.0.6 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + } else { + container "quay.io/biocontainers/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + } + + output: + // Include the generation of the tools channel + path '*.csv', emit: versions // model_report.txt + + script: + """ + cat <<-END_VERSIONS > versions.csv + fred2\t\$(python -c "import pkg_resources; print 'fred2 ' + pkg_resources.get_distribution('Fred2').version" | sed 's/^fred2 //; s/ .*\$//') + mhcflurry\t\$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) + mhcnuggets\t\$(python -c "import pkg_resources; print 'mhcnuggets ' + pkg_resources.get_distribution('mhcnuggets').version" | sed 's/^mhcnuggets //; s/ .*\$//') + END_VERSIONS + """ +} + + diff --git a/modules/local/gen_peptides.nf b/modules/local/gen_peptides.nf new file mode 100644 index 0000000..99d7f59 --- /dev/null +++ b/modules/local/gen_peptides.nf @@ -0,0 +1,41 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +def VERSION = "2.0.7" + +process GEN_PEPTIDES { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'', meta:[:], publish_by_meta:[]) } + + conda (params.enable_conda ? "conda-forge::fred2:2.0.7" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/fred2:2.0.7--py_0" + } else { + container "quay.io/biocontainers/fred2:2.0.7--py_0" + } + + input: + tuple val(meta), path(raw) + + output: + tuple val(meta), path("*.tsv"), emit: splitted + + script: + def prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}_peptides" + + """ + gen_peptides.py --input ${raw} \\ + --output '${prefix}.tsv' \\ + $options.args + + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + fred2: \$(echo \$(python -c "import pkg_resources; print 'fred2 ' + pkg_resources.get_distribution('Fred2').version" | sed 's/^fred2 //; s/ .*\$//') ) + END_VERSIONS + """ +} diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf new file mode 100644 index 0000000..17319d4 --- /dev/null +++ b/modules/local/peptide_prediction.nf @@ -0,0 +1,42 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process PEPTIDE_PREDICTION { + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'', meta:[:], publish_by_meta:[]) } + + // TODO: Change the container + // fred2:2.0.7-py_0 + // mhcflurry:1.6.1-py_0 + // mhcnuggets:2.3.2-py_0 + // pandas:0.24.2-py27h86efe34_0 + // python:2.7.15-h8e446fc_1011_cpython + // pyvcf:0.6.8-py27_0 + // snpsift:4.3.1t-hdfd78af_3 + // snpsift=4.3.1t, python=2.7.15, pyvcf=0.6.8, pandas=0.24.2, fred2=2.0.7, mhcflurry=1.6.1, mhcnuggets=2.3.2 + conda (params.enable_conda ? "conda-forge::snpsift:4.2" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/snpsift:4.2--hdfd78af_5" + } else { + container "quay.io/biocontainers/snpsift:4.2--hdfd78af_5" + } + + input: + tuple val(meta), path(splitted), val(software_versions) // combine the different paths? + output: + tuple val(meta), path("*.tsv"), path("*.json"), path("*.fasta"), emit: predicted + + script: + + """ + epaa.py --identifier ${splitted.baseName} \ + --alleles "${meta.alleles}" \ + --versions ${software_versions} \ + $options.args ${splitted} + """ + +} diff --git a/modules/local/show_supported_models.nf b/modules/local/show_supported_models.nf new file mode 100644 index 0000000..0d24255 --- /dev/null +++ b/modules/local/show_supported_models.nf @@ -0,0 +1,32 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process SHOW_SUPPORTED_MODELS { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'reports', meta:[:], publish_by_meta:[]) } + + conda (params.enable_conda ? "bioconda::fred2=2.0.6 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + } else { + container "quay.io/biocontainers/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + } + + input: + tuple val(meta), path(raw), val(software_versions) + + output: + path '*.txt', emit: txt // model_report.txt + + script: + + """ + check_supported_models.py --versions ${software_versions} + """ + +} diff --git a/modules/local/snpsift_split.nf b/modules/local/snpsift_split.nf new file mode 100644 index 0000000..93aa47d --- /dev/null +++ b/modules/local/snpsift_split.nf @@ -0,0 +1,48 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process SNPSIFT_SPLIT { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'', meta:[:], publish_by_meta:[]) } + + conda (params.enable_conda ? "conda-forge::snpsift:4.2" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/snpsift:4.2--hdfd78af_5" + } else { + container "quay.io/biocontainers/snpsift:4.2--hdfd78af_5" + } + + input: + tuple val(meta) + + output: + tuple val(meta), path("*.vcf"), path("*.tsv"), path("*.GSvar"), emit: splitted + path "versions.yml", emit: versions + // when: !params.peptides && !params.show_supported_models // TODO: Remove this by creating a nstatement in the main workflow + + script: + // TODO: put the if else statement outside of the process call + // if ( variants.toString().endsWith('.vcf') || variants.toString().endsWith('.vcf.gz') ) { + // """ + // SnpSift split ${variants} + // """ + // } + // else { + // """ + // sed -i.bak '/^##/d' ${variants} + // csvtk split ${variants} -t -C '&' -f '#chr' + // """ + // } + """ + SnpSift split ${meta.variants} + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + snpsift: \$(echo \$(SnpSift 2>&1) ) + END_VERSIONS + """ +} diff --git a/modules/local/split_peptides.nf b/modules/local/split_peptides.nf new file mode 100644 index 0000000..2315e49 --- /dev/null +++ b/modules/local/split_peptides.nf @@ -0,0 +1,27 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process SPLIT_PEPTIDES { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'', meta:[:], publish_by_meta:[]) } + + input: + tuple val(meta), path(peptide) + + output: + tuple val(meta), path("*.tsv"), emit: splitted + + script: + def prefix = options.suffix ? "${peptide.baseName}_${options.suffix}" : "${peptide.baseName}" + + """ + split_peptides.py --input ${peptide} \\ + --output_base "${prefix}" \\ + $options.args + """ +} From 9b5c7e37e5edcd329423117385ade9ba9673536c Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Mon, 1 Nov 2021 14:17:37 +0100 Subject: [PATCH 040/137] Added to do: somehow there is an empty result generated in the def make_predictions_from_peptides --- bin/epaa.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bin/epaa.py b/bin/epaa.py index c923dcb..798c376 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -892,10 +892,10 @@ def make_predictions_from_peptides(peptides, methods, tool_thresholds, alleles, for method, version in methods.items(): try: predictor = EpitopePredictorFactory(method, version=version) + ## TODO: somehow there is an empty list returned results.extend([predictor.predict(all_peptides_filtered, alleles=alleles)]) except: logger.warning("Prediction for length {length} and allele {allele} not possible with {method} version {version}. No model available.".format(length=peplen, allele=','.join([str(a) for a in alleles]), method=method, version=version)) - # merge dataframes of the performed predictions if(len(results) == 0): continue @@ -946,7 +946,7 @@ def __main__(): parser.add_argument('-g', "--germline_mutations", help="Germline variants") parser.add_argument('-i', "--identifier", help="Dataset identifier") parser.add_argument('-p', "--peptides", help="File with one peptide per line") - parser.add_argument('-c', "--mhcclass", default=1, help="MHC class I or II") + parser.add_argument('-c', "--mhcclass", default=1, help="MHC class I or II", type=int) parser.add_argument('-l', "--max_length", help="Maximum peptide length") parser.add_argument('-ml', "--min_length", help="Minimum peptide length") parser.add_argument('-t', "--tools", help="Tools used for peptide predictions", required=True, type=str) @@ -1048,7 +1048,6 @@ def __main__(): except: complete_df = pd.DataFrame() logger.error("No predictions available.") - # replace method names with method names with version # complete_df.replace({'method': methods}, inplace=True) complete_df['method'] = complete_df['method'].apply(lambda x : x.lower() + '-' + methods[x.lower()] ) From e4f67f0af0fd53a7043a1903e657443db0cb0929 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Wed, 10 Nov 2021 16:03:41 +0100 Subject: [PATCH 041/137] change the epaa.py script, adjust the 'basic' files and include proper usage of modules that are supported by dsl2 --- assets/multiqc_config.yaml | 2 +- bin/check_samplesheet.py | 15 +-- bin/epaa.py | 73 ++++++------- bin/scrape_software_versions.py | 31 +----- conf/base.config | 1 + conf/test_mhcflurry.config | 2 +- conf/test_mhcnuggets.config | 2 +- modules/local/define_software.nf | 17 ++- modules/local/gen_peptides.nf | 41 -------- modules/local/peptide_prediction.nf | 23 ++-- modules/local/samplesheet_check.nf | 6 +- modules/local/show_supported_models.nf | 2 +- modules/local/snpsift_split.nf | 22 +--- modules/local/split_peptides.nf | 2 +- modules/nf-core/modules/multiqc/main.nf | 2 +- subworkflows/local/input_check.nf | 1 + workflows/epitopeprediction.nf | 133 ++++++++++++++++-------- 17 files changed, 161 insertions(+), 214 deletions(-) mode change 100644 => 100755 bin/check_samplesheet.py delete mode 100644 modules/local/gen_peptides.nf diff --git a/assets/multiqc_config.yaml b/assets/multiqc_config.yaml index 2c6006d..4166d5e 100644 --- a/assets/multiqc_config.yaml +++ b/assets/multiqc_config.yaml @@ -1,7 +1,7 @@ report_comment: > This report has been generated by the nf-core/epitopeprediction analysis pipeline. For information about how to interpret these results, please see the - documentation. + documentation. report_section_order: software_versions: order: -1000 diff --git a/bin/check_samplesheet.py b/bin/check_samplesheet.py old mode 100644 new mode 100755 index 5d14a70..b5bbd0e --- a/bin/check_samplesheet.py +++ b/bin/check_samplesheet.py @@ -4,6 +4,7 @@ import os import re import sys +import errno import argparse import re @@ -98,20 +99,20 @@ def check_samplesheet(file_in, file_out): line, ) + ## Check sample name entries sample, alleles, filename = lspl[: len(HEADER)] - ## Check if the alleles given in the text file are in the right format if alleles.endswith(".txt"): with open(alleles, "r") as af: alleles = ';'.join([al.strip('\n') if check_allele_nomenclature(al) else \ print_error("Allele format is not matching the nomenclature", "Line", line) for al in af.readlines()]) - + file_extension = os.path.splitext(filename)[1][1::] ## Get annotation of filename column - if filename.endswith(".vcf"): + if filename.endswith(".vcf") | filename.endswith(".vcf.gz"): anno = "variant" - elif filename.endswith(".tsv"): + elif filename.endswith(".tsv") | filename.endswith(".GSvar"): ## Check if it is a variant annotation file or a peptide file with open(filename, "r") as tsv: first_header_col = [col.lower() for col in tsv.readlines()[0].split('\t')][0] @@ -122,7 +123,7 @@ def check_samplesheet(file_in, file_out): else: anno = "prot" - sample_info = [sample, alleles, filename, anno] + sample_info = [sample, alleles, filename, anno, file_extension] ## Create sample mapping dictionary if sample not in sample_run_dict: sample_run_dict[sample] = [sample_info] @@ -137,10 +138,10 @@ def check_samplesheet(file_in, file_out): out_dir = os.path.dirname(file_out) make_dir(out_dir) with open(file_out, "w") as fout: - fout.write(",".join(["sample", "alleles", "filename", "anno"]) + "\n") + fout.write(",".join(["sample", "alleles", "filename", "anno", "ext"]) + "\n") for sample in sorted(sample_run_dict.keys()): - for idx, val in enumerate(sample_run_dict[sample]): + for val in sample_run_dict[sample]: fout.write(",".join(val) + "\n") diff --git a/bin/epaa.py b/bin/epaa.py index 798c376..ad2bf67 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -648,12 +648,12 @@ def get_protein_ids_for_transcripts(idtype, transcripts, ensembl_url, reference) tsvselect = [] for l in input_lists: rq_n = biomart_head % ('hsapiens_gene_ensembl', 'default') \ - + biomart_filter % (idname, ','.join(l)) \ - + biomart_attribute % ("ensembl_peptide_id") \ - + biomart_attribute % (attribut_swissprot) \ - + biomart_attribute % ("refseq_peptide") \ - + biomart_attribute % (idname) \ - + biomart_tail + + biomart_filter % (idname, ','.join(l)) \ + + biomart_attribute % ("ensembl_peptide_id") \ + + biomart_attribute % (attribut_swissprot) \ + + biomart_attribute % ("refseq_peptide") \ + + biomart_attribute % (idname) \ + + biomart_tail tsvreader = csv.DictReader(urllib2.urlopen(biomart_url + urllib2.quote(rq_n)).read().splitlines(), dialect='excel-tab') @@ -691,8 +691,7 @@ def get_protein_ids_for_transcripts(idtype, transcripts, ensembl_url, reference) def get_matrix_max_score(allele, length): allele_model = "%s_%i" % (allele, length) try: - pssm = getattr(__import__("Fred2.Data.pssms.syfpeithi.mat."+allele_model, fromlist=[allele_model]), - allele_model) + pssm = getattr(__import__("Fred2.Data.pssms.syfpeithi.mat."+allele_model, fromlist=[allele_model]), allele_model) return sum([max(scrs.values()) for pos, scrs in pssm.iteritems()]) except: return np.nan @@ -752,31 +751,31 @@ def generate_wt_seqs(peptides): not_available = False variant_available = False for p in protein_pos: - variant_dic = x.get_variants_by_protein_position(t.transcript_id, p) - variant_available = bool(variant_dic) - for key in variant_dic: - var_list = variant_dic[key] - for v in var_list: - mut_syntax = v.coding[t.transcript_id.split(':')[0]].aaMutationSyntax - if v.type in [3, 4, 5] or '?' in mut_syntax: - not_available = True - elif v.type in [1]: - m = d_pattern.match(mut_syntax.split('.')[1]) - wt = SeqUtils.seq1(m.groups()[0]) - mut_seq.insert(key, wt) - elif v.type in [2]: - not_available = True - else: - m = r.match(mut_syntax.split('.')[1]) - if m is None: - not_available = True - else: - wt = SeqUtils.seq1(m.groups()[0]) - mut_seq[key] = wt + variant_dic = x.get_variants_by_protein_position(t.transcript_id, p) + variant_available = bool(variant_dic) + for key in variant_dic: + var_list = variant_dic[key] + for v in var_list: + mut_syntax = v.coding[t.transcript_id.split(':')[0]].aaMutationSyntax + if v.type in [3, 4, 5] or '?' in mut_syntax: + not_available = True + elif v.type in [1]: + m = d_pattern.match(mut_syntax.split('.')[1]) + wt = SeqUtils.seq1(m.groups()[0]) + mut_seq.insert(key, wt) + elif v.type in [2]: + not_available = True + else: + m = r.match(mut_syntax.split('.')[1]) + if m is None: + not_available = True + else: + wt = SeqUtils.seq1(m.groups()[0]) + mut_seq[key] = wt if not_available: wt_dict['{}_{}'.format(str(x),t.transcript_id)] = np.nan elif variant_available: - wt_dict['{}_{}'.format(str(x),t.transcript_id)] = ''.join(mut_seq) + wt_dict['{}_{}'.format(str(x),t.transcript_id)] = ''.join(mut_seq) return wt_dict @@ -892,7 +891,6 @@ def make_predictions_from_peptides(peptides, methods, tool_thresholds, alleles, for method, version in methods.items(): try: predictor = EpitopePredictorFactory(method, version=version) - ## TODO: somehow there is an empty list returned results.extend([predictor.predict(all_peptides_filtered, alleles=alleles)]) except: logger.warning("Prediction for length {length} and allele {allele} not possible with {method} version {version}. No model available.".format(length=peplen, allele=','.join([str(a) for a in alleles]), method=method, version=version)) @@ -900,7 +898,7 @@ def make_predictions_from_peptides(peptides, methods, tool_thresholds, alleles, if(len(results) == 0): continue - df = pd.concat(results) + df = pd.concat(results, sort=True) df.insert(0, 'length', df.index.map(create_length_column_value)) @@ -991,7 +989,7 @@ def __main__(): # get the alleles # alleles = FileReader.read_lines(args.alleles, in_type=Allele) - alleles = args.alleles.split(";") + alleles= [Allele(a) for a in args.alleles.split(";")] # initialize MartsAdapter, GRCh37 or GRCh38 based ma = MartsAdapter(biomart=references[args.reference]) @@ -1041,17 +1039,15 @@ def __main__(): pred_dataframes, statistics = make_predictions_from_peptides(peptides, methods, thresholds, alleles, up_db, args.identifier, metadata) else: pred_dataframes, statistics, all_peptides_filtered, proteins = make_predictions_from_variants(vl, methods, thresholds, alleles, int(args.min_length), int(args.max_length) + 1, ma, up_db, args.identifier, metadata, transcriptProteinMap) - # concat dataframes for all peptide lengths try: - complete_df = pd.concat(pred_dataframes) + complete_df = pd.concat(pred_dataframes, sort=True) except: complete_df = pd.DataFrame() logger.error("No predictions available.") # replace method names with method names with version # complete_df.replace({'method': methods}, inplace=True) complete_df['method'] = complete_df['method'].apply(lambda x : x.lower() + '-' + methods[x.lower()] ) - # include wild type sequences to dataframe if specified if args.wild_type: wt_sequences = generate_wt_seqs(all_peptides_filtered) @@ -1085,14 +1081,12 @@ def __main__(): neg_predictions.append(str(r['sequence'])) if str(r['sequence']) not in binders: non_binders.append(str(r['sequence'])) - # parse protein quantification results, annotate proteins for samples if args.protein_quantification is not None: protein_quant = read_protein_quant(args.protein_quantification) first_entry = protein_quant[protein_quant.keys()[0]] for k in first_entry.keys(): complete_df['{} log2 protein LFQ intensity'.format(k)] = complete_df.apply(lambda row: create_quant_column_value_for_result(row, protein_quant, transcriptSwissProtMap, k), axis=1) - # parse (differential) expression analysis results, annotate features (genes/transcripts) if args.gene_expression is not None: fold_changes = read_diff_expression_values(args.gene_expression) @@ -1110,7 +1104,6 @@ def __main__(): deseq = False # add column to result dataframe complete_df[col_name] = complete_df.apply(lambda row: create_expression_column_value_for_result(row, fold_changes, deseq, gene_id_lengths), axis=1) - if args.diff_gene_expression is not None: gene_id_lengths = {} fold_changes = read_diff_expression_values(args.diff_gene_expression) @@ -1119,7 +1112,6 @@ def __main__(): # add column to result dataframe complete_df[col_name] = complete_df.apply(lambda row: create_expression_column_value_for_result(row, fold_changes, deseq, gene_id_lengths), axis=1) - # parse ligandomics identification results, annotate peptides for samples if args.ligandomics_id is not None: lig_id = read_lig_ID_values(args.ligandomics_id) @@ -1130,7 +1122,6 @@ def __main__(): if args.wild_type != None: complete_df['wt ligand score'] = complete_df.apply(lambda row: create_ligandomics_column_value_for_result(row, lig_id, 0, True), axis=1) complete_df['wt ligand intensity'] = complete_df.apply(lambda row: create_ligandomics_column_value_for_result(row, lig_id, 1, True), axis=1) - # write mutated protein sequences to fasta file if args.fasta_output: with open('{}_prediction_proteins.fasta'.format(args.identifier), 'w') as protein_outfile: diff --git a/bin/scrape_software_versions.py b/bin/scrape_software_versions.py index f25c496..194392f 100755 --- a/bin/scrape_software_versions.py +++ b/bin/scrape_software_versions.py @@ -2,37 +2,10 @@ from __future__ import print_function import os -regexes = { - 'nf-core/epitopeprediction': ['v_pipeline.txt', r"(\S+)"], - 'Nextflow': ['v_nextflow.txt', r"(\S+)"], - 'MultiQC': ['v_multiqc.txt', r"multiqc, version (\S+)"], - 'CSVTK': ['v_csvtk.txt', r"csvtk v(\S+)"], - 'SNPsift': ['v_snpsift.txt', r"SnpSift version (\S+)"], - 'Fred2': ['v_fred2.txt', r"fred2 (\S+)"], - 'MHCFlurry': ['v_mhcflurry.txt', r"mhcflurry (\S+)"], - 'MHCnuggets': ['v_mhcnuggets.txt', r"mhcnuggets (\S+)"], - 'NetMHC': ['v_netmhc.txt', r"netmhc (\S+)"], - 'NetMHCpan': ['v_netmhcpan.txt', r"netmhcpan (\S+)"], - 'NetMHCII': ['v_netmhcii.txt', r"netmhcii (\S+)"], - 'NetMHCIIpan': ['v_netmhciipan.txt', r"netmhciipan (\S+)"], -} - -results = OrderedDict() -results['nf-core/epitopeprediction'] = 'N/A' -results['Nextflow'] = 'N/A' -results['MultiQC'] = 'N/A' -results['CSVTK'] = 'N/A' -results['SNPsift'] = 'N/A' -results['Fred2'] = 'N/A' -results['MHCFlurry'] = 'N/A' -results['MHCnuggets'] = 'N/A' -results['NetMHC'] = 'N/A' -results['NetMHCpan'] = 'N/A' -results['NetMHCII'] = 'N/A' -results['NetMHCIIpan'] = 'N/A' - +results = {} version_files = [x for x in os.listdir(".") if x.endswith(".version.txt")] for version_file in version_files: + software = version_file.replace(".version.txt", "") if software == "pipeline": software = "nf-core/epitopeprediction" diff --git a/conf/base.config b/conf/base.config index dd5e086..fa5feba 100644 --- a/conf/base.config +++ b/conf/base.config @@ -1,3 +1,4 @@ + /* ======================================================================================== nf-core/epitopeprediction Nextflow base config file diff --git a/conf/test_mhcflurry.config b/conf/test_mhcflurry.config index 8bab838..dace3e9 100644 --- a/conf/test_mhcflurry.config +++ b/conf/test_mhcflurry.config @@ -14,7 +14,7 @@ params { max_cpus = 2 max_memory = 6.GB max_time = 48.h - + // Input data input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf' alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' diff --git a/conf/test_mhcnuggets.config b/conf/test_mhcnuggets.config index a74f375..03293c5 100644 --- a/conf/test_mhcnuggets.config +++ b/conf/test_mhcnuggets.config @@ -14,7 +14,7 @@ params { max_cpus = 2 max_memory = 6.GB max_time = 48.h - + // Input data input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf' alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' diff --git a/modules/local/define_software.nf b/modules/local/define_software.nf index 5d81ce5..5ce3142 100644 --- a/modules/local/define_software.nf +++ b/modules/local/define_software.nf @@ -11,22 +11,21 @@ process DEFINE_SOFTWARE { saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'reports', meta:[:], publish_by_meta:[]) } conda (params.enable_conda ? "bioconda::fred2=2.0.6 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" - } else { - container "quay.io/biocontainers/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" - } + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + } else { + container "quay.io/biocontainers/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + } output: - // Include the generation of the tools channel path '*.csv', emit: versions // model_report.txt script: """ cat <<-END_VERSIONS > versions.csv - fred2\t\$(python -c "import pkg_resources; print 'fred2 ' + pkg_resources.get_distribution('Fred2').version" | sed 's/^fred2 //; s/ .*\$//') - mhcflurry\t\$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) - mhcnuggets\t\$(python -c "import pkg_resources; print 'mhcnuggets ' + pkg_resources.get_distribution('mhcnuggets').version" | sed 's/^mhcnuggets //; s/ .*\$//') + mhcflurry\t\$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) + mhcnuggets\t\$(echo \$(python -c "import pkg_resources; print('mhcnuggets' + pkg_resources.get_distribution('mhcnuggets').version)" | sed 's/^mhcnuggets//; s/ .*\$//' )) + fred2\t\$(echo \$(python -c "import pkg_resources; print('fred2' + pkg_resources.get_distribution('Fred2').version)" | sed 's/^fred2//; s/ .*\$//')) END_VERSIONS """ } diff --git a/modules/local/gen_peptides.nf b/modules/local/gen_peptides.nf deleted file mode 100644 index 99d7f59..0000000 --- a/modules/local/gen_peptides.nf +++ /dev/null @@ -1,41 +0,0 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - -def VERSION = "2.0.7" - -process GEN_PEPTIDES { - - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'', meta:[:], publish_by_meta:[]) } - - conda (params.enable_conda ? "conda-forge::fred2:2.0.7" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/fred2:2.0.7--py_0" - } else { - container "quay.io/biocontainers/fred2:2.0.7--py_0" - } - - input: - tuple val(meta), path(raw) - - output: - tuple val(meta), path("*.tsv"), emit: splitted - - script: - def prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}_peptides" - - """ - gen_peptides.py --input ${raw} \\ - --output '${prefix}.tsv' \\ - $options.args - - cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: - fred2: \$(echo \$(python -c "import pkg_resources; print 'fred2 ' + pkg_resources.get_distribution('Fred2').version" | sed 's/^fred2 //; s/ .*\$//') ) - END_VERSIONS - """ -} diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf index 17319d4..f4ad2e5 100644 --- a/modules/local/peptide_prediction.nf +++ b/modules/local/peptide_prediction.nf @@ -7,28 +7,21 @@ options = initOptions(params.options) process PEPTIDE_PREDICTION { publishDir "${params.outdir}", mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'', meta:[:], publish_by_meta:[]) } + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'.', meta:[:], publish_by_meta:[]) } - // TODO: Change the container - // fred2:2.0.7-py_0 - // mhcflurry:1.6.1-py_0 - // mhcnuggets:2.3.2-py_0 - // pandas:0.24.2-py27h86efe34_0 - // python:2.7.15-h8e446fc_1011_cpython - // pyvcf:0.6.8-py27_0 - // snpsift:4.3.1t-hdfd78af_3 - // snpsift=4.3.1t, python=2.7.15, pyvcf=0.6.8, pandas=0.24.2, fred2=2.0.7, mhcflurry=1.6.1, mhcnuggets=2.3.2 - conda (params.enable_conda ? "conda-forge::snpsift:4.2" : null) + conda (params.enable_conda ? "bioconda::snpsift=4.3.1t bioconda::python=2.7.15 bioconda::pyvcf=0.6.8 conda-forge::pandas=0.24.2 bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/snpsift:4.2--hdfd78af_5" + container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" } else { - container "quay.io/biocontainers/snpsift:4.2--hdfd78af_5" + container "quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" } input: - tuple val(meta), path(splitted), val(software_versions) // combine the different paths? + tuple val(meta), path(splitted), val(software_versions) output: - tuple val(meta), path("*.tsv"), path("*.json"), path("*.fasta"), emit: predicted + tuple val(meta), path("*.tsv"), emit: predicted + path("*.json"), emit: json + path("*.log"), emit: log script: diff --git a/modules/local/samplesheet_check.nf b/modules/local/samplesheet_check.nf index 02f47f5..6fe033b 100644 --- a/modules/local/samplesheet_check.nf +++ b/modules/local/samplesheet_check.nf @@ -1,5 +1,5 @@ // Import generic module functions -include { saveFiles } from './functions' +include { initOptions; saveFiles; } from './functions' params.options = [:] @@ -17,10 +17,10 @@ process SAMPLESHEET_CHECK { } input: - path samplesheet + path samplesheet output: - path '*.csv' + path '*.csv', emit: csv script: // This script is bundled with the pipeline, in nf-core/epitopeprediction/bin/ """ diff --git a/modules/local/show_supported_models.nf b/modules/local/show_supported_models.nf index 0d24255..d101b37 100644 --- a/modules/local/show_supported_models.nf +++ b/modules/local/show_supported_models.nf @@ -8,7 +8,7 @@ process SHOW_SUPPORTED_MODELS { publishDir "${params.outdir}", mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'reports', meta:[:], publish_by_meta:[]) } + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'supported_models', meta:[:], publish_by_meta:[]) } conda (params.enable_conda ? "bioconda::fred2=2.0.6 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { diff --git a/modules/local/snpsift_split.nf b/modules/local/snpsift_split.nf index 93aa47d..56a3215 100644 --- a/modules/local/snpsift_split.nf +++ b/modules/local/snpsift_split.nf @@ -8,7 +8,7 @@ process SNPSIFT_SPLIT { publishDir "${params.outdir}", mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'', meta:[:], publish_by_meta:[]) } + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'.', meta:[:], publish_by_meta:[]) } conda (params.enable_conda ? "conda-forge::snpsift:4.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { @@ -18,28 +18,16 @@ process SNPSIFT_SPLIT { } input: - tuple val(meta) + tuple val(meta), path(raw) output: - tuple val(meta), path("*.vcf"), path("*.tsv"), path("*.GSvar"), emit: splitted + tuple val(meta), path("*.vcf"), emit: splitted path "versions.yml", emit: versions - // when: !params.peptides && !params.show_supported_models // TODO: Remove this by creating a nstatement in the main workflow script: - // TODO: put the if else statement outside of the process call - // if ( variants.toString().endsWith('.vcf') || variants.toString().endsWith('.vcf.gz') ) { - // """ - // SnpSift split ${variants} - // """ - // } - // else { - // """ - // sed -i.bak '/^##/d' ${variants} - // csvtk split ${variants} -t -C '&' -f '#chr' - // """ - // } """ - SnpSift split ${meta.variants} + SnpSift split ${raw} + cat <<-END_VERSIONS > versions.yml ${getProcessName(task.process)}: snpsift: \$(echo \$(SnpSift 2>&1) ) diff --git a/modules/local/split_peptides.nf b/modules/local/split_peptides.nf index 2315e49..a5b85a9 100644 --- a/modules/local/split_peptides.nf +++ b/modules/local/split_peptides.nf @@ -8,7 +8,7 @@ process SPLIT_PEPTIDES { publishDir "${params.outdir}", mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'', meta:[:], publish_by_meta:[]) } + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'splitted', meta:[:], publish_by_meta:[]) } input: tuple val(meta), path(peptide) diff --git a/modules/nf-core/modules/multiqc/main.nf b/modules/nf-core/modules/multiqc/main.nf index da78080..104a427 100644 --- a/modules/nf-core/modules/multiqc/main.nf +++ b/modules/nf-core/modules/multiqc/main.nf @@ -5,7 +5,7 @@ params.options = [:] options = initOptions(params.options) process MULTIQC { - label 'process_medium' + label 'process_low' publishDir "${params.outdir}", mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:[:], publish_by_meta:[]) } diff --git a/subworkflows/local/input_check.nf b/subworkflows/local/input_check.nf index 0c67e31..ca0a5ba 100644 --- a/subworkflows/local/input_check.nf +++ b/subworkflows/local/input_check.nf @@ -26,6 +26,7 @@ def get_samplesheet_paths(LinkedHashMap row) { meta.sample = row.sample meta.alleles = row.alleles meta.anno = row.anno + meta.ext = row.ext def array = [] if (!file(row.filename).exists()) { diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 48efa37..4ced8e5 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -71,13 +71,18 @@ include { CHECK_REQUESTED_MODELS as CHECK_REQUESTED_MODELS_PEP } from '../module include { CHECK_REQUESTED_MODELS } from '../modules/local/check_requested_models' addParams( options: check_modules_options ) include { SHOW_SUPPORTED_MODELS} from '../modules/local/show_supported_models' addParams( options: [:] ) -include { GEN_PEPTIDES } from '../modules/local/gen_peptides' addParams( options: get_peptides_options ) +include { SNPSIFT_SPLIT} from '../modules/local/snpsift_split' addParams( options: [:] ) +include { CSVTK_SPLIT} from '../modules/local/csvtk_split' addParams( options: [:] ) + +include { GENERATE_PEPTIDES } from '../modules/local/generate_peptides' addParams( options: get_peptides_options ) include { SPLIT_PEPTIDES } from '../modules/local/split_peptides' addParams( options: split_peptides_options ) include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_pep ) include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_var ) +// include { CAT_CAT } from '../modules/local/cat_cat' addParams( options: [:] ) // include { } + // // SUBWORKFLOW: Consisting of a mix of local and nf-core/modules @@ -111,8 +116,8 @@ workflow EPITOPEPREDICTION { ch_versions = Channel.empty() ch_software_versions = Channel.empty() - DEFINE_SOFTWARE() - ch_versions = ch_versions.mix(DEFINE_SOFTWARE.out.versions.ifEmpty(null)) + // DEFINE_SOFTWARE() //TODO: This process needs to go, the current versions are not checked + // ch_versions = ch_versions.mix(DEFINE_SOFTWARE.out.versions.ifEmpty(null)) // // SUBWORKFLOW: Read in samplesheet, validate and stage input files @@ -135,26 +140,40 @@ workflow EPITOPEPREDICTION { CHECK_REQUESTED_MODELS(ch_samples_from_sheet.prot .mix(ch_samples_from_sheet.variant) .combine(ch_versions) - .first() - ) + .first()) // Perform the check requested models on the peptide and variant but only the first item CHECK_REQUESTED_MODELS_PEP(ch_samples_from_sheet.pep.combine(ch_versions).first()) - // TODO: how do we want to include this? - //ch_model_warnings.subscribe { - // model_log_file = file("$it", checkIfExists: true) - // def lines = model_log_file.readLines() - // if (lines.size() > 0) { - // log.info "-${c_purple} Warning: ${c_reset}-" - // lines.each { String line -> - // log.info "-${c_purple} $line ${c_reset}-" - // } - // } - //} + // Return a warning if this is raised + CHECK_REQUESTED_MODELS.out.log.subscribe { + model_log_file = file("$it", checkIfExists: true) + def lines = model_log_file.readLines() + if (lines.size() > 0) { + log.info "-${c_purple} Warning: ${c_reset}-" + lines.each { String line -> + log.info "-${c_purple} $line ${c_reset}-" + } + } + } + + // Make a division for the variant files and process them further accordingly + ch_samples_from_sheet.variant.branch { + meta, filename -> + vcf : meta.ext == 'vcf' || meta.ext == 'vcf.gz' + return [ meta, filename ] + tab : meta.ext == 'tsv' || meta.ext == 'GSvar' + return [ meta, filename ] + } + .set { ch_variants } + + // Include the snpsift_split function (only vcf and vcf.gz variant files) + SNPSIFT_SPLIT(ch_variants.vcf) + // Include the csvtk_split function (only variant files with an tsv and GSvar executable) + CSVTK_SPLIT(ch_variants.tab) } else { // Include a process for the show supported models - // TODO: which version of mhcnuggets-class-1 and mhcnuggets-class-2 are supported? + // TODO: include the module that is able to retrieve the version number of netmhc(ii)(pan) SHOW_SUPPORTED_MODELS( ch_samples_from_sheet.prot .mix(ch_samples_from_sheet.variant, ch_samples_from_sheet.pep) @@ -162,19 +181,43 @@ workflow EPITOPEPREDICTION { .first() ) } - - // Process FASTA file and generate peptides - GEN_PEPTIDES(ch_samples_from_sheet.prot) - // Combine all of the peptide tab seperated files into the peptides channel - ch_peptides = GEN_PEPTIDES.out.splitted.mix(ch_samples_from_sheet.pep) - // Split peptide data - // TODO: Check why the warnings are returned here - SPLIT_PEPTIDES(ch_peptides) - // Run epitope prediction - // TODO: there is an eroor in the epaa scripts - // TODO: Create a mulled container see module - //PEPTIDE_PREDICTION_PEP(ch_peptides.combine(ch_versions)) - //PEPTIDE_PREDICTION_VAR(ch_samples_from_sheet.variant.combine(ch_versions)) + /* + ======================================================================================== + */ + +// // Process FASTA file and generate peptides +// GENERATE_PEPTIDES(ch_samples_from_sheet.prot) +// // Combine all of the peptide tab seperated files into the peptides channel +// ch_peptides = GENERATE_PEPTIDES.out.splitted.mix(ch_samples_from_sheet.pep) +// +// +// // Split peptide data +// // TODO: Check why the warnings are returned here +// SPLIT_PEPTIDES(ch_peptides) +// // Run epitope prediction +// // TODO: there is an eroor in the epaa scripts +// // TODO: Create a mulled container see module +// PEPTIDE_PREDICTION_PEP(ch_peptides.combine(ch_versions)) +// PEPTIDE_PREDICTION_VAR(ch_samples_from_sheet.variant.combine(ch_versions)) +// +// +// predicted_collection = PEPTIDE_PREDICTION_VAR.out.predicted.mix(PEPTIDE_PREDICTION_PEP.out.predicted) +// // predicted_collection.view() +// // predicted_collection +// // .flatMap { meta, predicted -> [[[sample:meta.sample, alleles:meta.alleles], predicted]] } +// // .groupTuple(by:0) +// // //.flatMap { meta, predicted -> [[[sample:meta.sample, alleles:meta.alleles, files:predicted.size()], predicted]] } +// // .collect { it -> println it[1].size() } +// // .view() + + + // flatMap { + // meta, predicted -> + // observation = meta.sample.count() + // [[[sample:meta.sample, alleles:meta.alleles], predicted, observation]] + // }.view() + // PEPTIDE_PREDICTION_VAR.out.predicted.mix(PEPTIDE_PREDICTION_PEP.out.predicted).view() + //CAT_CAT(PEPTIDE_PREDICTION_VAR.out.predicted.mix(PEPTIDE_PREDICTION_PEP.out.predicted)) // ##################### OLD ##################### // /* @@ -261,22 +304,20 @@ workflow EPITOPEPREDICTION { // // MODULE: MultiQC // - // TODO: Make sure that this runs too, cannot check: "Process requirement exceed available memory -- req: 42 GB; avail: 16 GB" - // workflow_summary = WorkflowEpitopeprediction.paramsSummaryMultiqc(workflow, summary_params) - // ch_workflow_summary = Channel.value(workflow_summary) - - // ch_multiqc_files = Channel.empty() - // ch_multiqc_files = ch_multiqc_files.mix(Channel.from(ch_multiqc_config)) - // ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_custom_config.collect().ifEmpty([])) - // ch_multiqc_files = ch_multiqc_files.mix(ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml')) - // ch_multiqc_files = ch_multiqc_files.mix(GET_SOFTWARE_VERSIONS.out.yaml.collect()) - // ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip.collect{it[1]}.ifEmpty([])) - - // MULTIQC ( - // ch_multiqc_files.collect() - // ) - // multiqc_report = MULTIQC.out.report.toList() - //ch_software_versions = ch_software_versions.mix(MULTIQC.out.version.ifEmpty(null)) + workflow_summary = WorkflowEpitopeprediction.paramsSummaryMultiqc(workflow, summary_params) + ch_workflow_summary = Channel.value(workflow_summary) + + ch_multiqc_files = Channel.empty() + ch_multiqc_files = ch_multiqc_files.mix(Channel.from(ch_multiqc_config)) + ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_custom_config.collect().ifEmpty([])) + ch_multiqc_files = ch_multiqc_files.mix(ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml')) + ch_multiqc_files = ch_multiqc_files.mix(GET_SOFTWARE_VERSIONS.out.yaml.collect()) + + MULTIQC ( + ch_multiqc_files.collect() + ) + multiqc_report = MULTIQC.out.report.toList() + ch_software_versions = ch_software_versions.mix(MULTIQC.out.version.ifEmpty(null)) } /* From a769a7c1f88c76bf0363a05a9c728b0f2a0ad3b4 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Wed, 10 Nov 2021 16:04:27 +0100 Subject: [PATCH 042/137] Include local module csvtk_split and change the name of gen_peptides to generate_peptides --- modules/local/csvtk_split.nf | 38 +++++++++++++++++++++++++++ modules/local/generate_peptides.nf | 41 ++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 modules/local/csvtk_split.nf create mode 100644 modules/local/generate_peptides.nf diff --git a/modules/local/csvtk_split.nf b/modules/local/csvtk_split.nf new file mode 100644 index 0000000..5c8e346 --- /dev/null +++ b/modules/local/csvtk_split.nf @@ -0,0 +1,38 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process CSVTK_SPLIT { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'.', meta:[:], publish_by_meta:[]) } + + conda (params.enable_conda ? "bioconda::csvtk=0.23.0" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/csvtk:0.23.0--h9ee0642_0" + } else { + container "quay.io/biocontainers/csvtk:0.23.0--h9ee0642_0" + } + + input: + tuple val(meta), path(raw) + + output: + tuple val(meta), path("*.tsv"), emit: splitted + path "versions.yml", emit: versions + + script: + """ + sed -i.bak '/^##/d' ${raw} + csvtk split ${raw} -t -C '&' -f '#chr' + + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + csvtk: \$(echo \$( csvtk version | sed -e "s/csvtk v//g" )) + END_VERSIONS + """ + +} diff --git a/modules/local/generate_peptides.nf b/modules/local/generate_peptides.nf new file mode 100644 index 0000000..aea0874 --- /dev/null +++ b/modules/local/generate_peptides.nf @@ -0,0 +1,41 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +def VERSION = "2.0.7" + +process GEN_PEPTIDES { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'.', meta:[:], publish_by_meta:[]) } + + conda (params.enable_conda ? "conda-forge::fred2:2.0.7" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/fred2:2.0.7--py_0" + } else { + container "quay.io/biocontainers/fred2:2.0.7--py_0" + } + + input: + tuple val(meta), path(raw) + + output: + tuple val(meta), path("*.tsv"), emit: splitted + + script: + def prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}_peptides" + + """ + gen_peptides.py --input ${raw} \\ + --output '${prefix}.tsv' \\ + $options.args + + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + fred2: \$(echo \$(python -c "import pkg_resources; print 'fred2 ' + pkg_resources.get_distribution('Fred2').version" | sed 's/^fred2 //; s/ .*\$//') ) + END_VERSIONS + """ +} From 2a17fa6839beee70ea46a11ec06f7867c08193b1 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Thu, 11 Nov 2021 17:06:50 +0100 Subject: [PATCH 043/137] Include new modules, and workflow according to the DSL2 structure: cat_fasta, cat_vcf, csvtk_concat, and merge_json are added. generate_peptides, peptide_prediction, split_peptides are updated --- conf/modules.config | 3 + modules/local/generate_peptides.nf | 4 +- modules/local/peptide_prediction.nf | 4 +- modules/local/split_peptides.nf | 9 ++ workflows/epitopeprediction.nf | 210 ++++++++++++---------------- 5 files changed, 104 insertions(+), 126 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index ab1f9b8..037d4cf 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -40,5 +40,8 @@ params { 'peptide_prediction' { args = "--mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --tools ${params.tools} --reference ${params.genome_version} " } + 'merge_json' { + args = "" + } } } diff --git a/modules/local/generate_peptides.nf b/modules/local/generate_peptides.nf index aea0874..75ca852 100644 --- a/modules/local/generate_peptides.nf +++ b/modules/local/generate_peptides.nf @@ -4,9 +4,7 @@ include { initOptions; saveFiles; getSoftwareName; getProcessName } from './func params.options = [:] options = initOptions(params.options) -def VERSION = "2.0.7" - -process GEN_PEPTIDES { +process GENERATE_PEPTIDES { publishDir "${params.outdir}", mode: params.publish_dir_mode, diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf index f4ad2e5..a79d45c 100644 --- a/modules/local/peptide_prediction.nf +++ b/modules/local/peptide_prediction.nf @@ -19,9 +19,9 @@ process PEPTIDE_PREDICTION { input: tuple val(meta), path(splitted), val(software_versions) output: + tuple val(meta), path("*.json"), emit: json tuple val(meta), path("*.tsv"), emit: predicted - path("*.json"), emit: json - path("*.log"), emit: log + tuple val(meta), path("*.fasta"), emit: fasta optional true script: diff --git a/modules/local/split_peptides.nf b/modules/local/split_peptides.nf index a5b85a9..49885cf 100644 --- a/modules/local/split_peptides.nf +++ b/modules/local/split_peptides.nf @@ -10,6 +10,15 @@ process SPLIT_PEPTIDES { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'splitted', meta:[:], publish_by_meta:[]) } + // TODO: include the right container (python 2.7[.15]) + // conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) + // if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + // container "https://depot.galaxyproject.org/singularity/python:3.8.3" + // } else { + // container "quay.io/biocontainers/python:3.8.3" + // } + // cache false + input: tuple val(meta), path(peptide) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 4ced8e5..16c5de1 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -17,11 +17,6 @@ for (param in checkPathParamList) { if (param) { file(param, checkIfExists: true // Check mandatory parameters if (params.input) { ch_input = file(params.input) } else { exit 1, 'Input samplesheet not specified!' } -// Determine if the parameters are defined or not -ref_prot = params.proteome ? "--proteome ${params.proteome}" : "" -wt = params.wild_type ? "--wild_type" : "" -fasta_output = params.fasta_output ? "--fasta_output" : "" -threshold_file = params.tool_thresholds ? "--tool_thresholds ${tool_thresholds}" : "" /* ======================================================================================== CONFIG FILES @@ -48,16 +43,29 @@ check_modules_options_pep.args += "--peptides" def get_peptides_options = modules['gen_peptides'] def split_peptides_options = modules['split_peptides'] def peptide_predition_options = modules['peptide_prediction'] +def merge_json_options = modules['merge_json'] def peptide_predition_pep = peptide_predition_options.clone() -// def peptide_predition_prot = peptide_predition_options.clone() def peptide_predition_var = peptide_predition_options.clone() +def merge_json_single = merge_json_options.clone() +def merge_json_multi = merge_json_options.clone() check_modules_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \"$params.multiqc_title\""]) : '' -peptide_predition_pep.args += ref_prot + wt + fasta_output + threshold_file + "--peptides " -// peptide_predition_prot.args += "--peptides " -peptide_predition_var.args += ref_prot + wt + fasta_output + threshold_file + "--somatic_mutation " +peptide_predition_pep.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' +peptide_predition_pep.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' +peptide_predition_pep.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' +peptide_predition_pep.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' +peptide_predition_pep.args += " --peptides " + +peptide_predition_var.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' +peptide_predition_var.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' +peptide_predition_var.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' +peptide_predition_var.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' +peptide_predition_var.args += " --somatic_mutation " + +merge_json_single.args = " --single_input " +merge_json_multi.args = " --input \$PWD " // @@ -67,21 +75,25 @@ include { GET_SOFTWARE_VERSIONS } from '../modules/local/get_software_versions' include { DEFINE_SOFTWARE } from '../modules/local/define_software' addParams( options: [:] ) -include { CHECK_REQUESTED_MODELS as CHECK_REQUESTED_MODELS_PEP } from '../modules/local/check_requested_models' addParams( options: check_modules_options_pep ) -include { CHECK_REQUESTED_MODELS } from '../modules/local/check_requested_models' addParams( options: check_modules_options ) -include { SHOW_SUPPORTED_MODELS} from '../modules/local/show_supported_models' addParams( options: [:] ) +include { CHECK_REQUESTED_MODELS as CHECK_REQUESTED_MODELS_PEP } from '../modules/local/check_requested_models' addParams( options: check_modules_options_pep ) +include { CHECK_REQUESTED_MODELS } from '../modules/local/check_requested_models' addParams( options: check_modules_options ) +include { SHOW_SUPPORTED_MODELS} from '../modules/local/show_supported_models' addParams( options: [:] ) + +include { SNPSIFT_SPLIT} from '../modules/local/snpsift_split' addParams( options: [:] ) +include { CSVTK_SPLIT} from '../modules/local/csvtk_split' addParams( options: [:] ) -include { SNPSIFT_SPLIT} from '../modules/local/snpsift_split' addParams( options: [:] ) -include { CSVTK_SPLIT} from '../modules/local/csvtk_split' addParams( options: [:] ) +include { GENERATE_PEPTIDES } from '../modules/local/generate_peptides' addParams( options: get_peptides_options ) +include { SPLIT_PEPTIDES } from '../modules/local/split_peptides' addParams( options: split_peptides_options ) -include { GENERATE_PEPTIDES } from '../modules/local/generate_peptides' addParams( options: get_peptides_options ) -include { SPLIT_PEPTIDES } from '../modules/local/split_peptides' addParams( options: split_peptides_options ) +include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_pep ) +include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_var ) -include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_pep ) -include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_var ) -// include { CAT_CAT } from '../modules/local/cat_cat' addParams( options: [:] ) -// include { } +include { CAT_TSV } from '../modules/local/cat_tsv' addParams( options: [:] ) +include { CAT_FASTA } from '../modules/local/cat_fasta' addParams( options: [:] ) +include { CSVTK_CONCAT } from '../modules/local/csvtk_concat' addParams( options: [:] ) +include { MERGE_JSON as MERGE_JSON_SINGLE } from '../modules/local/merge_json' addParams( options: merge_json_single ) +include { MERGE_JSON as MERGE_JSON_MULTI } from '../modules/local/merge_json' addParams( options: merge_json_multi ) // // SUBWORKFLOW: Consisting of a mix of local and nf-core/modules @@ -100,7 +112,6 @@ multiqc_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \" // // MODULE: Installed directly from nf-core/modules // -//include { FASTQC } from '../modules/nf-core/modules/fastqc/main' addParams( options: modules['fastqc'] ) include { MULTIQC } from '../modules/nf-core/modules/multiqc/main' addParams( options: multiqc_options ) /* @@ -116,8 +127,6 @@ workflow EPITOPEPREDICTION { ch_versions = Channel.empty() ch_software_versions = Channel.empty() - // DEFINE_SOFTWARE() //TODO: This process needs to go, the current versions are not checked - // ch_versions = ch_versions.mix(DEFINE_SOFTWARE.out.versions.ifEmpty(null)) // // SUBWORKFLOW: Read in samplesheet, validate and stage input files @@ -185,105 +194,64 @@ workflow EPITOPEPREDICTION { ======================================================================================== */ -// // Process FASTA file and generate peptides -// GENERATE_PEPTIDES(ch_samples_from_sheet.prot) -// // Combine all of the peptide tab seperated files into the peptides channel -// ch_peptides = GENERATE_PEPTIDES.out.splitted.mix(ch_samples_from_sheet.pep) -// -// -// // Split peptide data -// // TODO: Check why the warnings are returned here -// SPLIT_PEPTIDES(ch_peptides) -// // Run epitope prediction -// // TODO: there is an eroor in the epaa scripts -// // TODO: Create a mulled container see module -// PEPTIDE_PREDICTION_PEP(ch_peptides.combine(ch_versions)) -// PEPTIDE_PREDICTION_VAR(ch_samples_from_sheet.variant.combine(ch_versions)) -// -// -// predicted_collection = PEPTIDE_PREDICTION_VAR.out.predicted.mix(PEPTIDE_PREDICTION_PEP.out.predicted) -// // predicted_collection.view() -// // predicted_collection -// // .flatMap { meta, predicted -> [[[sample:meta.sample, alleles:meta.alleles], predicted]] } -// // .groupTuple(by:0) -// // //.flatMap { meta, predicted -> [[[sample:meta.sample, alleles:meta.alleles, files:predicted.size()], predicted]] } -// // .collect { it -> println it[1].size() } -// // .view() - - - // flatMap { - // meta, predicted -> - // observation = meta.sample.count() - // [[[sample:meta.sample, alleles:meta.alleles], predicted, observation]] - // }.view() - // PEPTIDE_PREDICTION_VAR.out.predicted.mix(PEPTIDE_PREDICTION_PEP.out.predicted).view() - //CAT_CAT(PEPTIDE_PREDICTION_VAR.out.predicted.mix(PEPTIDE_PREDICTION_PEP.out.predicted)) - -// ##################### OLD ##################### // -/* - * STEP 3 - Combine epitope prediction results - */ -//process mergeResults { -// publishDir "${params.outdir}/predictions", mode: 'copy' -// -// input: -// file predictions from ch_predicted_peptides.collect() -// -// output: -// file "${input_base_name}_prediction_result.tsv" -// -// script: -// def single = predictions instanceof Path ? 1 : predictions.size() -// def merge = (single == 1) ? 'cat' : 'csvtk concat -t' -// -// """ -// $merge $predictions > ${input_base_name}_prediction_result.tsv -// """ -//} -// -///* -// * STEP 3(2) optional - Combine protein sequences -// */ -//process mergeFastas { -// publishDir "${params.outdir}/predictions", mode: 'copy' -// -// input: -// file proteins from ch_protein_fastas.collect() -// -// output: -// file "${input_base_name}_prediction_proteins.fasta" -// -// when: -// params.fasta_output -// -// """ -// cat $proteins > ${input_base_name}_prediction_proteins.fasta -// """ -//} -// -///* -// * STEP 4 - Combine epitope prediction reports -// */ -// -//process mergeReports { -// publishDir "${params.outdir}/predictions", mode: 'copy' -// -// input: -// file jsons from ch_json_reports.collect() -// -// output: -// file "${input_base_name}_prediction_report.json" -// -// script: -// def single = jsons instanceof Path ? 1 : jsons.size() -// def command = (single == 1) ? "merge_jsons.py --single_input ${jsons} --prefix ${input_base_name}" : "merge_jsons.py --input \$PWD --prefix ${input_base_name}" -// -// """ -// $command -// """ -//} + // Process FASTA file and generated peptides + if (ch_samples_from_sheet.prot.count() != 0) { + GENERATE_PEPTIDES(ch_samples_from_sheet.prot) + ch_split_peptides = GENERATE_PEPTIDES.out.splitted + } else { + ch_split_peptides = ch_samples_from_sheet.pep + } + + // Split peptide data + // TODO: Add the appropriate container to remove the warning + SPLIT_PEPTIDES(ch_split_peptides) + /* + ======================================================================================== + */ + // TODO: Remove them when the mhcnet(ii)(pan) is introduced + DEFINE_SOFTWARE() + ch_versions = ch_versions.mix(DEFINE_SOFTWARE.out.versions.ifEmpty(null)) + /* + ======================================================================================== + */ + // Run epitope prediction + PEPTIDE_PREDICTION_PEP(SPLIT_PEPTIDES.out.splitted.combine(ch_versions).transpose()) + PEPTIDE_PREDICTION_VAR(CSVTK_SPLIT.out.splitted.mix(SNPSIFT_SPLIT.out.splitted).combine(ch_versions).transpose()) + + // Combine the predicted files and save them in a branch to make a distinction between samples with single and multi files + PEPTIDE_PREDICTION_PEP.out.predicted.mix(PEPTIDE_PREDICTION_VAR.out.predicted) + .groupTuple() + .flatMap { meta, predicted -> [[[sample:meta.sample, alleles:meta.alleles, files:predicted.size()], predicted]] } + .branch { + meta, predicted -> + multi: meta.files > 1 + return [ meta, predicted ] + single: meta.files == 1 + return [ meta, predicted ] + } + .set { ch_predicted_peptides } + + // Combine epitope prediction results + CAT_TSV(ch_predicted_peptides.single) + CSVTK_CONCAT(ch_predicted_peptides.multi) + // Combine protein sequences + CAT_FASTA(PEPTIDE_PREDICTION_PEP.out.fasta.mix(PEPTIDE_PREDICTION_VAR.out.fasta).groupTuple()) + + PEPTIDE_PREDICTION_PEP.out.json.mix(PEPTIDE_PREDICTION_VAR.out.json) + .groupTuple() + .flatMap { meta, json -> [[[sample:meta.sample, alleles:meta.alleles, files:json.size()], json]] } + .branch { + meta, json -> + multi: meta.files > 1 + return [ meta, json ] + single: meta.files == 1 + return [ meta, json ] + } + .set { ch_json_reports } -// ##################### OLD ##################### // + // Combine epitope prediction reports + MERGE_JSON_SINGLE(ch_json_reports.single) + MERGE_JSON_MULTI(ch_json_reports.multi) // // MODULE: Pipeline reporting From 189d7474028c5874721b13d50f6cb8b86355d33d Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Fri, 12 Nov 2021 08:57:27 +0100 Subject: [PATCH 044/137] Include new modules: cat_fasta, cat_vcf, csvtk_concat, and merge_json --- modules/local/cat_fasta.nf | 25 ++++++++++++++++++++++ modules/local/cat_tsv.nf | 25 ++++++++++++++++++++++ modules/local/csvtk_concat.nf | 36 +++++++++++++++++++++++++++++++ modules/local/merge_json.nf | 40 +++++++++++++++++++++++++++++++++++ 4 files changed, 126 insertions(+) create mode 100644 modules/local/cat_fasta.nf create mode 100644 modules/local/cat_tsv.nf create mode 100644 modules/local/csvtk_concat.nf create mode 100644 modules/local/merge_json.nf diff --git a/modules/local/cat_fasta.nf b/modules/local/cat_fasta.nf new file mode 100644 index 0000000..d5c37b8 --- /dev/null +++ b/modules/local/cat_fasta.nf @@ -0,0 +1,25 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process CAT_FASTA { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } + + input: + tuple val(meta), path(fasta) + + output: + tuple val(meta), path("*.fasta"), emit: fasta + + script: + prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}" + + """ + cat $fasta > ${meta.sample}_prediction_proteins.fasta + """ +} diff --git a/modules/local/cat_tsv.nf b/modules/local/cat_tsv.nf new file mode 100644 index 0000000..1a2e5cf --- /dev/null +++ b/modules/local/cat_tsv.nf @@ -0,0 +1,25 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process CAT_TSV { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } + + input: + tuple val(meta), path(predicted) + + output: + tuple val(meta), path("*.tsv"), emit: predicted + + script: + prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}" + + """ + cat $predicted > ${meta.sample}_prediction_result.tsv + """ +} diff --git a/modules/local/csvtk_concat.nf b/modules/local/csvtk_concat.nf new file mode 100644 index 0000000..0a3187c --- /dev/null +++ b/modules/local/csvtk_concat.nf @@ -0,0 +1,36 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process CSVTK_CONCAT { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } + + conda (params.enable_conda ? "bioconda::csvtk=0.23.0" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/csvtk:0.23.0--h9ee0642_0" + } else { + container "quay.io/biocontainers/csvtk:0.23.0--h9ee0642_0" + } + + input: + tuple val(meta), path(predicted) + + output: + tuple val(meta), path("*.tsv"), emit: predicted + + script: + + """ + csvtk concat -t $predicted > ${meta.sample}_prediction_result.tsv + + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + csvtk: \$(echo \$( csvtk version | sed -e "s/csvtk v//g" )) + END_VERSIONS + """ +} diff --git a/modules/local/merge_json.nf b/modules/local/merge_json.nf new file mode 100644 index 0000000..b1f3cf4 --- /dev/null +++ b/modules/local/merge_json.nf @@ -0,0 +1,40 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +process MERGE_JSON { + + publishDir "${params.outdir}", + mode: params.publish_dir_mode, + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } + + // TODO: include the right container (python 2.7[.15]) + // conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) + // if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + // container "https://depot.galaxyproject.org/singularity/python:3.8.3" + // } else { + // container "quay.io/biocontainers/python:3.8.3" + // } + // cache false + + input: + tuple val(meta), path(json) + + output: + tuple val(meta), path("*.json"), emit: json + + script: + def argument = "$options.args" + if (argument.contains("single_input") == true) { + argument += " ${json}" + } + + """ + merge_jsons.py --prefix ${meta.sample} ${argument} + """ +} + +// "merge_jsons.py --single_input ${jsons} --prefix ${input_base_name}" : +// "merge_jsons.py --input \$PWD --prefix ${input_base_name}" From a3813c1d5fba1b08caf0dba7a212dfa316e0c844 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Fri, 12 Nov 2021 16:26:03 +0100 Subject: [PATCH 045/137] Inclusion of version, appropriate naming and last parts of the conversion --- CHANGELOG.md | 3 ++ bin/check_requested_models.py | 2 +- bin/split_peptides.py | 2 +- conf/base.config | 9 ------ docs/usage.md | 28 ++++++++----------- modules/local/{cat_fasta.nf => cat_cat.nf} | 10 +++---- modules/local/cat_tsv.nf | 25 ----------------- modules/local/check_requested_models.nf | 8 ++++++ modules/local/csvtk_concat.nf | 1 + ..._peptides.nf => fred2_generatepeptides.nf} | 5 ++-- modules/local/merge_json.nf | 14 ++++------ modules/local/peptide_prediction.nf | 11 ++++++++ modules/local/show_supported_models.nf | 9 ++++++ modules/local/snpsift_split.nf | 2 +- modules/local/split_peptides.nf | 12 ++++---- workflows/epitopeprediction.nf | 13 +++++---- 16 files changed, 75 insertions(+), 79 deletions(-) rename modules/local/{cat_fasta.nf => cat_cat.nf} (69%) delete mode 100644 modules/local/cat_tsv.nf rename modules/local/{generate_peptides.nf => fred2_generatepeptides.nf} (90%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6014b0b..57ca4d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,10 +8,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Added` - [#73](https://github.com/nf-core/epitopeprediction/pull/73) - Add support for the non-free netmhc tool family including netMHC 4.0, netMHCpan 4.0, netMHCII 2.2, and netMHCIIpan 3.1 +- [#101](https://github.com/nf-core/epitopeprediction/pull/101) - Inclusion of local modules and DSL2 conversion ### `Changed` - [#100](https://github.com/nf-core/epitopeprediction/pull/89) - Merge previous template updates up to `v2.1` +- [#110](https://github.com/nf-core/epitopeprediction/pull/110) - DSL2 conversion + ### `Fixed` diff --git a/bin/check_requested_models.py b/bin/check_requested_models.py index 74b87b6..2f710a8 100755 --- a/bin/check_requested_models.py +++ b/bin/check_requested_models.py @@ -67,7 +67,7 @@ def __main__(): # get the alleles #alleles = FileReader.read_lines(args.alleles, in_type=Allele) ## Changed since the input is a allele string now - alleles = args.alleles.split(";") + alleles= [Allele(a) for a in args.alleles.split(";")] peptide_lengths = [] if (args.peptides): diff --git a/bin/split_peptides.py b/bin/split_peptides.py index 1ef879a..76c6c59 100755 --- a/bin/split_peptides.py +++ b/bin/split_peptides.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python import math import argparse diff --git a/conf/base.config b/conf/base.config index fa5feba..6cfbf4e 100644 --- a/conf/base.config +++ b/conf/base.config @@ -38,15 +38,6 @@ process { withLabel:process_long { time = { check_max( 20.h * task.attempt, 'time' ) } } - withName:mergeResults { - memory = { get_mem_mode( 7.GB * task.attempt, 40.GB * task.attempt, 500.GB * task.attempt ) } - } - withName:mergeReports { - memory = { get_mem_mode( 5.GB * task.attempt, 10.GB * task.attempt, 50.GB * task.attempt ) } - } - withName:get_software_versions { - cache = false - } withLabel:process_high_memory { memory = { check_max( 200.GB * task.attempt, 'memory' ) } } diff --git a/docs/usage.md b/docs/usage.md index 9749a74..98a09e3 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -16,13 +16,13 @@ You will need to create a samplesheet with information about the samples you wou ### Multiple runs of the same sample -The `sample` identifiers have to be the same when you have re-sequenced the same sample more than once e.g. to increase sequencing depth. The pipeline will concatenate the raw reads before performing any downstream analysis. Below is an example for the same sample sequenced across 3 lanes: +The `sample` identifiers are used to determine which sample belongs to the input file. Below is an example for the same sample with different input files that can be used: ```console -sample,fastq_1,fastq_2 -CONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz -CONTROL_REP1,AEG588A1_S1_L003_R1_001.fastq.gz,AEG588A1_S1_L003_R2_001.fastq.gz -CONTROL_REP1,AEG588A1_S1_L004_R1_001.fastq.gz,AEG588A1_S1_L004_R2_001.fastq.gz +sample,alleles,filename +GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_anno.vcf(.gz) +GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_peps.tsv +GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_prot.fasta ``` ### Full samplesheet @@ -32,21 +32,17 @@ The pipeline will auto-detect whether a sample is single- or paired-end using th A final samplesheet file consisting of both single- and paired-end data may look something like the one below. This is for 6 samples, where `TREATMENT_REP3` has been sequenced twice. ```console -sample,fastq_1,fastq_2 -CONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz -CONTROL_REP2,AEG588A2_S2_L002_R1_001.fastq.gz,AEG588A2_S2_L002_R2_001.fastq.gz -CONTROL_REP3,AEG588A3_S3_L002_R1_001.fastq.gz,AEG588A3_S3_L002_R2_001.fastq.gz -TREATMENT_REP1,AEG588A4_S4_L003_R1_001.fastq.gz, -TREATMENT_REP2,AEG588A5_S5_L003_R1_001.fastq.gz, -TREATMENT_REP3,AEG588A6_S6_L003_R1_001.fastq.gz, -TREATMENT_REP3,AEG588A6_S6_L004_R1_001.fastq.gz, +sample,alleles,filename +GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_anno.vcf +GBM_2,A*02:01;A*24:01;B*07:02;B*08:01;C*04:01;C*07:01,gbm_2_anno.vcf +GBM_3,A*01:01;A*24:01;B*07:02;B*08:01;C*03:01;C*07:01,gbm_3_anno.vcf ``` | Column | Description | |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `sample` | Custom sample name. This entry will be identical for multiple sequencing libraries/runs from the same sample. Spaces in sample names are automatically converted to underscores (`_`). | -| `fastq_1` | Full path to FastQ file for Illumina short reads 1. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | -| `fastq_2` | Full path to FastQ file for Illumina short reads 2. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | +| `alleles` | A string that consists of the patient's alleles (seperated by ";"), or a full path to a allele ".txt" file where each allele is saved on a row. | +| `filename` | Full path to a varient/peptide or protein file (".vcf", ".vcf.gz", "tsv", "fasta", or "GSvar"). | An [example samplesheet](../assets/samplesheet.csv) has been provided with the pipeline. @@ -55,7 +51,7 @@ An [example samplesheet](../assets/samplesheet.csv) has been provided with the p The typical command for running the pipeline is as follows: ```console -nextflow run nf-core/epitopeprediction --input samplesheet.csv --genome GRCh37 -profile docker +nextflow run nf-core/epitopeprediction --input samplesheet.csv -profile docker ``` This will launch the pipeline with the `docker` configuration profile and default options (`syfpeithi` by default). See below for more information about profiles. diff --git a/modules/local/cat_fasta.nf b/modules/local/cat_cat.nf similarity index 69% rename from modules/local/cat_fasta.nf rename to modules/local/cat_cat.nf index d5c37b8..74948b3 100644 --- a/modules/local/cat_fasta.nf +++ b/modules/local/cat_cat.nf @@ -4,22 +4,22 @@ include { initOptions; saveFiles; getSoftwareName; getProcessName } from './func params.options = [:] options = initOptions(params.options) -process CAT_FASTA { - +process CAT_CAT { publishDir "${params.outdir}", mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } input: - tuple val(meta), path(fasta) + tuple val(meta), path(input) output: - tuple val(meta), path("*.fasta"), emit: fasta + tuple val(meta), path("*_prediction*"), emit: output script: + def fileExt = input.collect { it.name.tokenize("\\.")[1] }.join(' ') prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}" """ - cat $fasta > ${meta.sample}_prediction_proteins.fasta + cat $input > ${prefix}_prediction.${fileExt} """ } diff --git a/modules/local/cat_tsv.nf b/modules/local/cat_tsv.nf deleted file mode 100644 index 1a2e5cf..0000000 --- a/modules/local/cat_tsv.nf +++ /dev/null @@ -1,25 +0,0 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - -process CAT_TSV { - - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } - - input: - tuple val(meta), path(predicted) - - output: - tuple val(meta), path("*.tsv"), emit: predicted - - script: - prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}" - - """ - cat $predicted > ${meta.sample}_prediction_result.tsv - """ -} diff --git a/modules/local/check_requested_models.nf b/modules/local/check_requested_models.nf index 96390de..ced6aaf 100644 --- a/modules/local/check_requested_models.nf +++ b/modules/local/check_requested_models.nf @@ -23,6 +23,7 @@ process CHECK_REQUESTED_MODELS { output: path '*.txt', emit: txt // model_report.txt path '*.log', emit: log // model_warnings.log + path "versions.yml", emit: versions script: def argument = "$options.args" @@ -36,6 +37,13 @@ process CHECK_REQUESTED_MODELS { --alleles "${meta.alleles}" \ --mhcclass ${params.mhc_class} \ --versions ${software_versions} > model_warnings.log + + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + mhcflurry: \$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) + mhcnuggets: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('mhcnuggets').version)")) + fred2: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)")) + END_VERSIONS """ } diff --git a/modules/local/csvtk_concat.nf b/modules/local/csvtk_concat.nf index 0a3187c..38b3994 100644 --- a/modules/local/csvtk_concat.nf +++ b/modules/local/csvtk_concat.nf @@ -22,6 +22,7 @@ process CSVTK_CONCAT { output: tuple val(meta), path("*.tsv"), emit: predicted + path "versions.yml", emit: versions script: diff --git a/modules/local/generate_peptides.nf b/modules/local/fred2_generatepeptides.nf similarity index 90% rename from modules/local/generate_peptides.nf rename to modules/local/fred2_generatepeptides.nf index 75ca852..f3aa24f 100644 --- a/modules/local/generate_peptides.nf +++ b/modules/local/fred2_generatepeptides.nf @@ -4,7 +4,7 @@ include { initOptions; saveFiles; getSoftwareName; getProcessName } from './func params.options = [:] options = initOptions(params.options) -process GENERATE_PEPTIDES { +process FRED2_GENERATEPEPTIDES { publishDir "${params.outdir}", mode: params.publish_dir_mode, @@ -22,6 +22,7 @@ process GENERATE_PEPTIDES { output: tuple val(meta), path("*.tsv"), emit: splitted + path "versions.yml", emit: versions script: def prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}_peptides" @@ -33,7 +34,7 @@ process GENERATE_PEPTIDES { cat <<-END_VERSIONS > versions.yml ${getProcessName(task.process)}: - fred2: \$(echo \$(python -c "import pkg_resources; print 'fred2 ' + pkg_resources.get_distribution('Fred2').version" | sed 's/^fred2 //; s/ .*\$//') ) + fred2: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)")) END_VERSIONS """ } diff --git a/modules/local/merge_json.nf b/modules/local/merge_json.nf index b1f3cf4..68d16e7 100644 --- a/modules/local/merge_json.nf +++ b/modules/local/merge_json.nf @@ -10,14 +10,12 @@ process MERGE_JSON { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } - // TODO: include the right container (python 2.7[.15]) - // conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) - // if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - // container "https://depot.galaxyproject.org/singularity/python:3.8.3" - // } else { - // container "quay.io/biocontainers/python:3.8.3" - // } - // cache false + conda (params.enable_conda ? "conda-forge::python=2.7" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/python:2.7" + } else { + container "quay.io/biocontainers/python:2.7" + } input: tuple val(meta), path(json) diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf index a79d45c..0115511 100644 --- a/modules/local/peptide_prediction.nf +++ b/modules/local/peptide_prediction.nf @@ -22,6 +22,7 @@ process PEPTIDE_PREDICTION { tuple val(meta), path("*.json"), emit: json tuple val(meta), path("*.tsv"), emit: predicted tuple val(meta), path("*.fasta"), emit: fasta optional true + path "versions.yml", emit: versions script: @@ -30,6 +31,16 @@ process PEPTIDE_PREDICTION { --alleles "${meta.alleles}" \ --versions ${software_versions} \ $options.args ${splitted} + + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + snpsift: \$(echo \$(snpsift -version 2>&1 | sed -n 3p | cut -d\$' ' -f3)) + pandas: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('pandas').version)")) + pyvcf: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('pyvcf').version)")) + mhcflurry: \$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) + mhcnuggets: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('mhcnuggets').version)")) + fred2: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)")) + END_VERSIONS """ } diff --git a/modules/local/show_supported_models.nf b/modules/local/show_supported_models.nf index d101b37..bb930b8 100644 --- a/modules/local/show_supported_models.nf +++ b/modules/local/show_supported_models.nf @@ -22,11 +22,20 @@ process SHOW_SUPPORTED_MODELS { output: path '*.txt', emit: txt // model_report.txt + path "versions.yml", emit: versions + script: """ check_supported_models.py --versions ${software_versions} + + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + mhcflurry: \$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) + mhcnuggets: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('mhcnuggets').version)")) + fred2: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)")) + END_VERSIONS """ } diff --git a/modules/local/snpsift_split.nf b/modules/local/snpsift_split.nf index 56a3215..474ed0f 100644 --- a/modules/local/snpsift_split.nf +++ b/modules/local/snpsift_split.nf @@ -30,7 +30,7 @@ process SNPSIFT_SPLIT { cat <<-END_VERSIONS > versions.yml ${getProcessName(task.process)}: - snpsift: \$(echo \$(SnpSift 2>&1) ) + snpsift: \$(echo \$(snpsift -version 2>&1 | sed -n 3p | cut -d\$' ' -f3)) END_VERSIONS """ } diff --git a/modules/local/split_peptides.nf b/modules/local/split_peptides.nf index 49885cf..721b8c0 100644 --- a/modules/local/split_peptides.nf +++ b/modules/local/split_peptides.nf @@ -11,12 +11,12 @@ process SPLIT_PEPTIDES { saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'splitted', meta:[:], publish_by_meta:[]) } // TODO: include the right container (python 2.7[.15]) - // conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) - // if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - // container "https://depot.galaxyproject.org/singularity/python:3.8.3" - // } else { - // container "quay.io/biocontainers/python:3.8.3" - // } + conda (params.enable_conda ? "conda-forge::python=2.7" : null) + if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { + container "https://depot.galaxyproject.org/singularity/python:2.7" + } else { + container "quay.io/biocontainers/python:2.7" + } // cache false input: diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 16c5de1..baec1c5 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -82,14 +82,14 @@ include { SHOW_SUPPORTED_MODELS} from '../mod include { SNPSIFT_SPLIT} from '../modules/local/snpsift_split' addParams( options: [:] ) include { CSVTK_SPLIT} from '../modules/local/csvtk_split' addParams( options: [:] ) -include { GENERATE_PEPTIDES } from '../modules/local/generate_peptides' addParams( options: get_peptides_options ) +include { FRED2_GENERATEPEPTIDES } from '../modules/local/fred2_generatepeptides' addParams( options: get_peptides_options ) include { SPLIT_PEPTIDES } from '../modules/local/split_peptides' addParams( options: split_peptides_options ) include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_pep ) include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_var ) -include { CAT_TSV } from '../modules/local/cat_tsv' addParams( options: [:] ) -include { CAT_FASTA } from '../modules/local/cat_fasta' addParams( options: [:] ) +include { CAT_CAT as CAT_TSV } from '../modules/local/cat_cat' addParams( options: [:] ) +include { CAT_CAT as CAT_FASTA } from '../modules/local/cat_cat' addParams( options: [:] ) include { CSVTK_CONCAT } from '../modules/local/csvtk_concat' addParams( options: [:] ) include { MERGE_JSON as MERGE_JSON_SINGLE } from '../modules/local/merge_json' addParams( options: merge_json_single ) @@ -196,8 +196,8 @@ workflow EPITOPEPREDICTION { // Process FASTA file and generated peptides if (ch_samples_from_sheet.prot.count() != 0) { - GENERATE_PEPTIDES(ch_samples_from_sheet.prot) - ch_split_peptides = GENERATE_PEPTIDES.out.splitted + FRED2_GENERATEPEPTIDES(ch_samples_from_sheet.prot) + ch_split_peptides = FRED2_GENERATEPEPTIDES.out.splitted } else { ch_split_peptides = ch_samples_from_sheet.pep } @@ -217,6 +217,8 @@ workflow EPITOPEPREDICTION { // Run epitope prediction PEPTIDE_PREDICTION_PEP(SPLIT_PEPTIDES.out.splitted.combine(ch_versions).transpose()) PEPTIDE_PREDICTION_VAR(CSVTK_SPLIT.out.splitted.mix(SNPSIFT_SPLIT.out.splitted).combine(ch_versions).transpose()) + // TODO: Change when the netmhc(ii)(pan) replaced the DEFINE_SOFTWARE process + ch_versions = PEPTIDE_PREDICTION_VAR.out.versions // Combine the predicted files and save them in a branch to make a distinction between samples with single and multi files PEPTIDE_PREDICTION_PEP.out.predicted.mix(PEPTIDE_PREDICTION_VAR.out.predicted) @@ -234,6 +236,7 @@ workflow EPITOPEPREDICTION { // Combine epitope prediction results CAT_TSV(ch_predicted_peptides.single) CSVTK_CONCAT(ch_predicted_peptides.multi) + ch_versions = ch_versions.mix(CSVTK_CONCAT.out.versions.ifEmpty(null)) // Combine protein sequences CAT_FASTA(PEPTIDE_PREDICTION_PEP.out.fasta.mix(PEPTIDE_PREDICTION_VAR.out.fasta).groupTuple()) From ed847b20a4552648c1694ce3efc8e9c16704a03a Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Wed, 17 Nov 2021 14:16:26 +0100 Subject: [PATCH 046/137] Adapt input parameter and paths in test configs to sample sheet --- conf/test.config | 6 +----- conf/test_full.config | 8 +------- conf/test_mhcflurry.config | 5 ++--- conf/test_mhcnuggets.config | 5 ++--- conf/test_netmhc.config | 3 +-- conf/test_netmhcii.config | 3 +-- conf/test_netmhciipan.config | 3 +-- conf/test_netmhcpan.config | 3 +-- conf/test_peptides.config | 3 +-- conf/test_peptides_h2.config | 4 +--- conf/test_proteins.config | 3 +-- conf/test_variant_tsv.config | 3 +-- 12 files changed, 14 insertions(+), 35 deletions(-) diff --git a/conf/test.config b/conf/test.config index c739209..1197400 100644 --- a/conf/test.config +++ b/conf/test.config @@ -19,11 +19,7 @@ params { max_time = 48.h // Input data - input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf' - alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' - // Ignore `--input` as otherwise the parameter validation will throw an error + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_variants.csv' schema_ignore_params = 'genomes,input_paths' - // Genome references - genome = 'R64-1-1' } diff --git a/conf/test_full.config b/conf/test_full.config index 71d7514..a479bbe 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -15,12 +15,6 @@ params { config_profile_description = 'Full test dataset to check pipeline function' // Input data for full size test - input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf' - alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' - - // Ignore `--input` as otherwise the parameter validation will throw an error + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_variants.csv' schema_ignore_params = 'genomes,input_paths' - - // Genome references - genome = 'R64-1-1' } diff --git a/conf/test_mhcflurry.config b/conf/test_mhcflurry.config index 8bab838..c591756 100644 --- a/conf/test_mhcflurry.config +++ b/conf/test_mhcflurry.config @@ -14,9 +14,8 @@ params { max_cpus = 2 max_memory = 6.GB max_time = 48.h - + // Input data - input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf' - alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_variants.csv' tools = 'mhcflurry' } diff --git a/conf/test_mhcnuggets.config b/conf/test_mhcnuggets.config index a74f375..18fa1c8 100644 --- a/conf/test_mhcnuggets.config +++ b/conf/test_mhcnuggets.config @@ -14,9 +14,8 @@ params { max_cpus = 2 max_memory = 6.GB max_time = 48.h - + // Input data - input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf' - alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_variants.csv' tools = 'mhcnuggets-class-1' } diff --git a/conf/test_netmhc.config b/conf/test_netmhc.config index 76143de..7ddb759 100644 --- a/conf/test_netmhc.config +++ b/conf/test_netmhc.config @@ -16,8 +16,7 @@ params { max_time = 48.h // Input data - peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv' - alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_peptides.csv' tools = 'netmhc' netmhc_path = './non-free/netmhc.tar.gz' diff --git a/conf/test_netmhcii.config b/conf/test_netmhcii.config index 21607e2..02cf0d6 100644 --- a/conf/test_netmhcii.config +++ b/conf/test_netmhcii.config @@ -16,8 +16,7 @@ params { max_time = 48.h // Input data - peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides_MHC_II.txt' - alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.DRB1_01_01.txt' + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_peptides_class2.csv' tools = 'netmhcii' netmhcii_path = './non-free/netmhcii.tar.Z' diff --git a/conf/test_netmhciipan.config b/conf/test_netmhciipan.config index fb3e9df..330b90a 100644 --- a/conf/test_netmhciipan.config +++ b/conf/test_netmhciipan.config @@ -16,8 +16,7 @@ params { max_time = 48.h // Input data - peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides_MHC_II.txt' - alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.DRB1_01_01.txt' + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_peptides_class2.csv' tools = 'netmhciipan' netmhciipan_path = './non-free/netmhciipan.tar.gz' diff --git a/conf/test_netmhcpan.config b/conf/test_netmhcpan.config index 77535e1..e9681d7 100644 --- a/conf/test_netmhcpan.config +++ b/conf/test_netmhcpan.config @@ -16,8 +16,7 @@ params { max_time = 48.h // Input data - peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv' - alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_peptides.csv' tools = 'netmhcpan' netmhcpan_path = './non-free/netmhcpan.tar.gz' diff --git a/conf/test_peptides.config b/conf/test_peptides.config index 88a9298..35dc0a3 100644 --- a/conf/test_peptides.config +++ b/conf/test_peptides.config @@ -13,6 +13,5 @@ params { max_time = 48.h // Input data - peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv' - alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_peptides.csv' } diff --git a/conf/test_peptides_h2.config b/conf/test_peptides_h2.config index c7b36a8..7531703 100644 --- a/conf/test_peptides_h2.config +++ b/conf/test_peptides_h2.config @@ -13,8 +13,6 @@ params { max_time = 48.h // Input data - peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv' - alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.H2.txt' - + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/sample_sheets/sample_sheet_peptides_mouse.csv' tools = 'mhcnuggets-class-1' } diff --git a/conf/test_proteins.config b/conf/test_proteins.config index c2bbb37..b0e7b70 100644 --- a/conf/test_proteins.config +++ b/conf/test_proteins.config @@ -13,6 +13,5 @@ params { max_time = 4.h // Input data - proteins = 'https://github.com/nf-core/test-datasets/raw/epitopeprediction/testdata/proteins/proteins.fasta' - alleles = 'https://github.com/nf-core/test-datasets/raw/epitopeprediction/testdata/alleles/alleles.txt' + input = 'https://github.com/nf-core/test-datasets/raw/epitopeprediction/testdata/sample_sheets/sample_sheet_proteins.csv' } diff --git a/conf/test_variant_tsv.config b/conf/test_variant_tsv.config index eda3fc5..0c9ad26 100644 --- a/conf/test_variant_tsv.config +++ b/conf/test_variant_tsv.config @@ -13,6 +13,5 @@ params { max_time = 48.h // Input data - input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.tsv' - alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt' + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_variants_tab.csv' } From 8870a52fdfc57515f6bc232f5fd80e010ade2254 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Thu, 18 Nov 2021 09:36:57 +0100 Subject: [PATCH 047/137] Resolve markdown issues --- docs/output.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/output.md b/docs/output.md index 0e178c0..620caf7 100644 --- a/docs/output.md +++ b/docs/output.md @@ -43,11 +43,11 @@ The prediction results are given as allele-specific score and affinity values pe * [`Syfpeithi`](http://www.syfpeithi.de) : * **Affinity**: Calculated based on the score as the percentage of the maximum value of the corresponding matrix: `score(peptide) divided by the maximum score of the allele/length-specific matrix * 100`. - * **Score**: Sum of the values given by the allele-specific position-specific scoring matrix (PSSM) for the respective peptide sequence. + * **Score**: Sum of the values given by the allele-specific position-specific scoring matrix (PSSM) for the respective peptide sequence. Peptides are considered binders if the affinity is higher than 50. * [`MHCflurry`](https://github.com/openvax/mhcflurry), [`MHCnuggets`](https://github.com/KarchinLab/mhcnuggets) and [`NetMHC` tool family](https://services.healthtech.dtu.dk/): - * **Affinity**: Predicted IC50 (threshold for binders: `<500 nmol/L`). - * **Score**: The provided score is calculated from the log-transformed predicted binding affinity and scaled to an interval of 0 to 1: `1-log50000(aff)`. + * **Affinity**: Predicted IC50 (threshold for binders: `<500 nmol/L`). + * **Score**: The provided score is calculated from the log-transformed predicted binding affinity and scaled to an interval of 0 to 1: `1-log50000(aff)`. When the parameter `--fasta_output` is specified a `FASTA` file will be generated that contains the sequences of proteins that are affected by the provided genomic variants. The resulting `FASTA` file will contain the wild-type and mutated protein sequences. From d0e19da920fcd03d85868ddcfd99cc2347d95c50 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Thu, 18 Nov 2021 09:37:54 +0100 Subject: [PATCH 048/137] Resolve markdown issues --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 57ca4d2..675aca4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#100](https://github.com/nf-core/epitopeprediction/pull/89) - Merge previous template updates up to `v2.1` - [#110](https://github.com/nf-core/epitopeprediction/pull/110) - DSL2 conversion - ### `Fixed` ## v1.1.0 - Morgenstelle - 2020-10-20 From c4bd543cd5a468fc5413b45d066a2b9088c5e666 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Thu, 18 Nov 2021 09:47:56 +0100 Subject: [PATCH 049/137] Resolve markdown issues --- bin/decrypt | 12 +-- bin/epaa.py | 4 +- bin/merge_jsons.py | 4 +- conf/base.config | 60 ++++++------- modules/local/define_software.nf | 2 +- nextflow.config | 140 +++++++++++++++---------------- 6 files changed, 111 insertions(+), 111 deletions(-) diff --git a/bin/decrypt b/bin/decrypt index d4d7bbd..61c15b3 100755 --- a/bin/decrypt +++ b/bin/decrypt @@ -2,9 +2,9 @@ # Decrypts stdin -> stdout reading the passphrase from the environment variable # DECRYPT_PASSPHRASE. gpg \ - --quiet \ - --batch \ - --yes \ - --decrypt \ - --passphrase="$DECRYPT_PASSPHRASE" \ - --output - + --quiet \ + --batch \ + --yes \ + --decrypt \ + --passphrase="$DECRYPT_PASSPHRASE" \ + --output - diff --git a/bin/epaa.py b/bin/epaa.py index ad2bf67..0329e61 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -390,7 +390,7 @@ def read_protein_quant(filename): valuedict[key.replace('LFQ intensity ', '').split('/')[-1]] = val for p in row['Protein IDs'].split(';'): if 'sp' in p: - intensities[p.split('|')[1]] = valuedict + intensities[p.split('|')[1]] = valuedict return intensities @@ -589,7 +589,7 @@ def create_quant_column_value_for_result(row, dict, swissProtDict, key): for p in all_proteins_filtered: if p in dict: if int(dict[p][key]) > 0: - values.append(math.log(int(dict[p][key]),2)) + values.append(math.log(int(dict[p][key]),2)) else: values.append(int(dict[p][key])) if len(values) is 0: diff --git a/bin/merge_jsons.py b/bin/merge_jsons.py index ea6d81c..0df6a17 100755 --- a/bin/merge_jsons.py +++ b/bin/merge_jsons.py @@ -40,6 +40,6 @@ def __main__(): with open('{}_prediction_report.json'.format(args.prefix), 'w') as outfile: json.dump(merged_data, outfile) - + if __name__ == "__main__": - __main__() \ No newline at end of file + __main__() diff --git a/conf/base.config b/conf/base.config index 6cfbf4e..68cdeb8 100644 --- a/conf/base.config +++ b/conf/base.config @@ -11,38 +11,38 @@ process { - cpus = { check_max( 1 * task.attempt, 'cpus' ) } - memory = { check_max( 7.GB * task.attempt, 'memory' ) } - time = { check_max( 4.h * task.attempt, 'time' ) } + cpus = { check_max( 1 * task.attempt, 'cpus' ) } + memory = { check_max( 7.GB * task.attempt, 'memory' ) } + time = { check_max( 4.h * task.attempt, 'time' ) } - errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'finish' } - maxRetries = 3 - maxErrors = '-1' + errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'finish' } + maxRetries = 3 + maxErrors = '-1' - // Process-specific resource requirements - withLabel:process_low { - cpus = { check_max( 2 * task.attempt, 'cpus' ) } - memory = { check_max( 14.GB * task.attempt, 'memory' ) } - time = { check_max( 6.h * task.attempt, 'time' ) } - } - withLabel:process_medium { - cpus = { check_max( 6 * task.attempt, 'cpus' ) } - memory = { check_max( 42.GB * task.attempt, 'memory' ) } - time = { check_max( 8.h * task.attempt, 'time' ) } - } - withLabel:process_high { - cpus = { check_max( 12 * task.attempt, 'cpus' ) } - memory = { check_max( 84.GB * task.attempt, 'memory' ) } - time = { check_max( 10.h * task.attempt, 'time' ) } - } - withLabel:process_long { - time = { check_max( 20.h * task.attempt, 'time' ) } - } - withLabel:process_high_memory { - memory = { check_max( 200.GB * task.attempt, 'memory' ) } - } - withLabel:error_ignore { - errorStrategy = 'ignore' + // Process-specific resource requirements + withLabel:process_low { + cpus = { check_max( 2 * task.attempt, 'cpus' ) } + memory = { check_max( 14.GB * task.attempt, 'memory' ) } + time = { check_max( 6.h * task.attempt, 'time' ) } + } + withLabel:process_medium { + cpus = { check_max( 6 * task.attempt, 'cpus' ) } + memory = { check_max( 42.GB * task.attempt, 'memory' ) } + time = { check_max( 8.h * task.attempt, 'time' ) } + } + withLabel:process_high { + cpus = { check_max( 12 * task.attempt, 'cpus' ) } + memory = { check_max( 84.GB * task.attempt, 'memory' ) } + time = { check_max( 10.h * task.attempt, 'time' ) } + } + withLabel:process_long { + time = { check_max( 20.h * task.attempt, 'time' ) } + } + withLabel:process_high_memory { + memory = { check_max( 200.GB * task.attempt, 'memory' ) } + } + withLabel:error_ignore { + errorStrategy = 'ignore' } withLabel:error_retry { errorStrategy = 'retry' diff --git a/modules/local/define_software.nf b/modules/local/define_software.nf index 5ce3142..3156763 100644 --- a/modules/local/define_software.nf +++ b/modules/local/define_software.nf @@ -18,7 +18,7 @@ process DEFINE_SOFTWARE { } output: - path '*.csv', emit: versions // model_report.txt + path '*.csv', emit: versions // model_report.txt script: """ diff --git a/nextflow.config b/nextflow.config index 0f9aba5..d90090f 100644 --- a/nextflow.config +++ b/nextflow.config @@ -87,7 +87,7 @@ params { config_profile_name = null - mem_mode = 'low' // to adjust memory requirements (e.g. when using arbitrary big peptide or protein files) + mem_mode = 'low' // to adjust memory requirements (e.g. when using arbitrary big peptide or protein files) } // Load base.config by default for all pipelines @@ -104,68 +104,68 @@ try { } profiles { - conda { - docker.enabled = false - singularity.enabled = false - podman.enabled = false - shifter.enabled = false - charliecloud = false - process.conda = "$projectDir/environment.yml" - } - debug { process.beforeScript = 'echo $HOSTNAME' } - docker { - docker.enabled = true - singularity.enabled = false - podman.enabled = false - shifter.enabled = false - charliecloud.enabled = false - // Avoid this error: - // WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. - // Testing this in nf-core after discussion here https://github.com/nf-core/tools/pull/351 - // once this is established and works well, nextflow might implement this behavior as new default. - docker.runOptions = '-u \$(id -u):\$(id -g)' - } - singularity { - docker.enabled = false - singularity.enabled = true - podman.enabled = false - shifter.enabled = false - charliecloud.enabled = false - singularity.autoMounts = true - } - podman { - singularity.enabled = false - docker.enabled = false - podman.enabled = true - shifter.enabled = false - charliecloud = false - } - shifter { - singularity.enabled = false - docker.enabled = false - podman.enabled = false - shifter.enabled = true - charliecloud.enabled = false - } - charliecloud { - singularity.enabled = false - docker.enabled = false - podman.enabled = false - shifter.enabled = false - charliecloud.enabled = true - } - test { includeConfig 'conf/test.config' } - test_variant_tsv { includeConfig 'conf/test_variant_tsv.config' } - test_peptides { includeConfig 'conf/test_peptides.config' } - test_peptides_h2 { includeConfig 'conf/test_peptides_h2.config' } - test_proteins { includeConfig 'conf/test_proteins.config' } - test_mhcnuggets { includeConfig 'conf/test_mhcnuggets.config' } - test_mhcflurry { includeConfig 'conf/test_mhcflurry.config' } - test_netmhc { includeConfig 'conf/test_netmhc.config' } - test_netmhcii { includeConfig 'conf/test_netmhcii.config' } - test_netmhcpan { includeConfig 'conf/test_netmhcpan.config' } - test_netmhciipan { includeConfig 'conf/test_netmhciipan.config' } - test_full { includeConfig 'conf/test_full.config' } + conda { + docker.enabled = false + singularity.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud = false + process.conda = "$projectDir/environment.yml" + } + debug { process.beforeScript = 'echo $HOSTNAME' } + docker { + docker.enabled = true + singularity.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false + // Avoid this error: + // WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. + // Testing this in nf-core after discussion here https://github.com/nf-core/tools/pull/351 + // once this is established and works well, nextflow might implement this behavior as new default. + docker.runOptions = '-u \$(id -u):\$(id -g)' + } + singularity { + docker.enabled = false + singularity.enabled = true + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false + singularity.autoMounts = true + } + podman { + singularity.enabled = false + docker.enabled = false + podman.enabled = true + shifter.enabled = false + charliecloud = false + } + shifter { + singularity.enabled = false + docker.enabled = false + podman.enabled = false + shifter.enabled = true + charliecloud.enabled = false + } + charliecloud { + singularity.enabled = false + docker.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = true + } + test { includeConfig 'conf/test.config' } + test_variant_tsv { includeConfig 'conf/test_variant_tsv.config' } + test_peptides { includeConfig 'conf/test_peptides.config' } + test_peptides_h2 { includeConfig 'conf/test_peptides_h2.config' } + test_proteins { includeConfig 'conf/test_proteins.config' } + test_mhcnuggets { includeConfig 'conf/test_mhcnuggets.config' } + test_mhcflurry { includeConfig 'conf/test_mhcflurry.config' } + test_netmhc { includeConfig 'conf/test_netmhc.config' } + test_netmhcii { includeConfig 'conf/test_netmhcii.config' } + test_netmhcpan { includeConfig 'conf/test_netmhcpan.config' } + test_netmhciipan { includeConfig 'conf/test_netmhciipan.config' } + test_full { includeConfig 'conf/test_full.config' } } // Load igenomes.config if required @@ -299,11 +299,11 @@ def check_max(obj, type) { // Function to set memory dependend on user specified memory mode def get_mem_mode(mem0, mem1, mem2) { - if (params.mem_mode == 'low') { - return check_max( mem0, 'memory' ) - } else if (params.mem_mode == 'intermediate') { - return check_max( mem1, 'memory' ) - } else { - return check_max( mem2, 'memory' ) - } + if (params.mem_mode == 'low') { + return check_max( mem0, 'memory' ) + } else if (params.mem_mode == 'intermediate') { + return check_max( mem1, 'memory' ) + } else { + return check_max( mem2, 'memory' ) + } } From bbba9bb08dcd22af38f74d117cd4d8a9c532bd1d Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Thu, 18 Nov 2021 09:50:11 +0100 Subject: [PATCH 050/137] Resolve markdown issues --- conf/base.config | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/conf/base.config b/conf/base.config index 68cdeb8..37852a1 100644 --- a/conf/base.config +++ b/conf/base.config @@ -21,28 +21,28 @@ process { // Process-specific resource requirements withLabel:process_low { - cpus = { check_max( 2 * task.attempt, 'cpus' ) } - memory = { check_max( 14.GB * task.attempt, 'memory' ) } - time = { check_max( 6.h * task.attempt, 'time' ) } + cpus = { check_max( 2 * task.attempt, 'cpus' ) } + memory = { check_max( 14.GB * task.attempt, 'memory' ) } + time = { check_max( 6.h * task.attempt, 'time' ) } } withLabel:process_medium { - cpus = { check_max( 6 * task.attempt, 'cpus' ) } - memory = { check_max( 42.GB * task.attempt, 'memory' ) } - time = { check_max( 8.h * task.attempt, 'time' ) } + cpus = { check_max( 6 * task.attempt, 'cpus' ) } + memory = { check_max( 42.GB * task.attempt, 'memory' ) } + time = { check_max( 8.h * task.attempt, 'time' ) } } withLabel:process_high { - cpus = { check_max( 12 * task.attempt, 'cpus' ) } - memory = { check_max( 84.GB * task.attempt, 'memory' ) } - time = { check_max( 10.h * task.attempt, 'time' ) } + cpus = { check_max( 12 * task.attempt, 'cpus' ) } + memory = { check_max( 84.GB * task.attempt, 'memory' ) } + time = { check_max( 10.h * task.attempt, 'time' ) } } withLabel:process_long { - time = { check_max( 20.h * task.attempt, 'time' ) } + time = { check_max( 20.h * task.attempt, 'time' ) } } withLabel:process_high_memory { - memory = { check_max( 200.GB * task.attempt, 'memory' ) } + memory = { check_max( 200.GB * task.attempt, 'memory' ) } } - withLabel:error_ignore { - errorStrategy = 'ignore' + withLabel:error_ignore { + errorStrategy = 'ignore' } withLabel:error_retry { errorStrategy = 'retry' From c4359f2d134bce34f59f769398c61081669c1c4b Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Thu, 18 Nov 2021 09:50:27 +0100 Subject: [PATCH 051/137] Resolve markdown issues --- nextflow.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextflow.config b/nextflow.config index d90090f..d6b493e 100644 --- a/nextflow.config +++ b/nextflow.config @@ -100,7 +100,7 @@ includeConfig 'conf/modules.config' try { includeConfig "${params.custom_config_base}/nfcore_custom.config" } catch (Exception e) { - System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config") + System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config") } profiles { From c9b5efd329651b18a6fc2393140320a8528763c7 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Thu, 18 Nov 2021 11:30:32 +0100 Subject: [PATCH 052/137] resolve conflict with the allele sheet --- bin/check_requested_models.py | 2 +- bin/check_samplesheet.py | 6 ------ modules/local/check_requested_models.nf | 2 +- modules/local/peptide_prediction.nf | 2 +- subworkflows/local/input_check.nf | 14 ++++++++++++-- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/bin/check_requested_models.py b/bin/check_requested_models.py index 2f710a8..5cf1afd 100755 --- a/bin/check_requested_models.py +++ b/bin/check_requested_models.py @@ -66,7 +66,7 @@ def __main__(): methods = { method:version for tool, version in tool_version for method in selected_methods if tool.lower() in method.lower() } # get the alleles - #alleles = FileReader.read_lines(args.alleles, in_type=Allele) ## Changed since the input is a allele string now + # alleles = FileReader.read_lines(args.alleles, in_type=Allele) alleles= [Allele(a) for a in args.alleles.split(";")] peptide_lengths = [] diff --git a/bin/check_samplesheet.py b/bin/check_samplesheet.py index b5bbd0e..39d74b6 100755 --- a/bin/check_samplesheet.py +++ b/bin/check_samplesheet.py @@ -102,12 +102,6 @@ def check_samplesheet(file_in, file_out): ## Check sample name entries sample, alleles, filename = lspl[: len(HEADER)] - ## Check if the alleles given in the text file are in the right format - if alleles.endswith(".txt"): - with open(alleles, "r") as af: - alleles = ';'.join([al.strip('\n') if check_allele_nomenclature(al) else \ - print_error("Allele format is not matching the nomenclature", "Line", line) for al in af.readlines()]) - file_extension = os.path.splitext(filename)[1][1::] ## Get annotation of filename column if filename.endswith(".vcf") | filename.endswith(".vcf.gz"): diff --git a/modules/local/check_requested_models.nf b/modules/local/check_requested_models.nf index ced6aaf..dfdc0d9 100644 --- a/modules/local/check_requested_models.nf +++ b/modules/local/check_requested_models.nf @@ -34,7 +34,7 @@ process CHECK_REQUESTED_MODELS { """ check_requested_models.py ${argument} \ - --alleles "${meta.alleles}" \ + --alleles ${meta.alleles} \ --mhcclass ${params.mhc_class} \ --versions ${software_versions} > model_warnings.log diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf index 0115511..8b51079 100644 --- a/modules/local/peptide_prediction.nf +++ b/modules/local/peptide_prediction.nf @@ -28,7 +28,7 @@ process PEPTIDE_PREDICTION { """ epaa.py --identifier ${splitted.baseName} \ - --alleles "${meta.alleles}" \ + --alleles ${meta.alleles} \ --versions ${software_versions} \ $options.args ${splitted} diff --git a/subworkflows/local/input_check.nf b/subworkflows/local/input_check.nf index ca0a5ba..0b41a9b 100644 --- a/subworkflows/local/input_check.nf +++ b/subworkflows/local/input_check.nf @@ -22,11 +22,21 @@ workflow INPUT_CHECK { // Function to get list of [ meta, filenames ] def get_samplesheet_paths(LinkedHashMap row) { + + // Collect the allele information from the file + def alleleString + if ( row.alleles.endsWith("txt") ) { + alleleString = file(row.alleles).readLines().join(';') + // or assign the information to a new variable + } else { + alleleString = row.alleles + } + def meta = [:] meta.sample = row.sample - meta.alleles = row.alleles + meta.alleles = alleleString meta.anno = row.anno - meta.ext = row.ext + meta.ext = row.ext def array = [] if (!file(row.filename).exists()) { From c1e54fa69d7ccb1a92621a49596b794e35d4b1f1 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Thu, 18 Nov 2021 12:34:25 +0100 Subject: [PATCH 053/137] include .allele files --- subworkflows/local/input_check.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subworkflows/local/input_check.nf b/subworkflows/local/input_check.nf index 0b41a9b..35d3a52 100644 --- a/subworkflows/local/input_check.nf +++ b/subworkflows/local/input_check.nf @@ -25,7 +25,7 @@ def get_samplesheet_paths(LinkedHashMap row) { // Collect the allele information from the file def alleleString - if ( row.alleles.endsWith("txt") ) { + if ( row.alleles.endsWith(".txt") || row.alleles.endsWith(".alleles") ) { alleleString = file(row.alleles).readLines().join(';') // or assign the information to a new variable } else { From 34f35d3081c4ae73f6b49434e51f06957d9d3b74 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Thu, 18 Nov 2021 12:48:07 +0100 Subject: [PATCH 054/137] Update nextflow version from 20.04 -> 21.04 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0bc04ea..f6bf9bc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,7 +44,7 @@ jobs: if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }} runs-on: ubuntu-latest env: - NXF_VER: '20.04.0' + NXF_VER: '21.04.0' NXF_ANSI_LOG: false strategy: matrix: @@ -81,7 +81,7 @@ jobs: if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }} runs-on: ubuntu-latest env: - NXF_VER: '20.04.0' + NXF_VER: '21.04.0' NXF_ANSI_LOG: false steps: - name: Check out pipeline code From 7ca3b622784684c9a040f2eb4a7e3c56610cfb10 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Thu, 18 Nov 2021 12:54:04 +0100 Subject: [PATCH 055/137] Include right input link for test_peptides_h2 --- conf/test_peptides_h2.config | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/conf/test_peptides_h2.config b/conf/test_peptides_h2.config index 7531703..a7ea63e 100644 --- a/conf/test_peptides_h2.config +++ b/conf/test_peptides_h2.config @@ -8,11 +8,11 @@ */ params { - max_cpus = 2 - max_memory = 6.GB - max_time = 48.h + max_cpus = 2 + max_memory = 6.GB + max_time = 48.h - // Input data - input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/sample_sheets/sample_sheet_peptides_mouse.csv' - tools = 'mhcnuggets-class-1' + // Input data + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_peptides_mouse.csv' + tools = 'mhcnuggets-class-1' } From 7b7988188e0b7be0ffc85d3465b65a957da5078f Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Mon, 22 Nov 2021 17:01:23 +0100 Subject: [PATCH 056/137] Change sample sheet validation and parsing --- bin/check_samplesheet.py | 35 ++++++++------------ subworkflows/local/input_check.nf | 54 +++++++++++++++++++++++-------- workflows/epitopeprediction.nf | 38 +++++++++++----------- 3 files changed, 73 insertions(+), 54 deletions(-) diff --git a/bin/check_samplesheet.py b/bin/check_samplesheet.py index 39d74b6..dce5dfb 100755 --- a/bin/check_samplesheet.py +++ b/bin/check_samplesheet.py @@ -14,7 +14,7 @@ def parse_args(args=None): parser = argparse.ArgumentParser(description=Description, epilog=Epilog) parser.add_argument("FILE_IN", help="Input samplesheet file.") - parser.add_argument("FILE_OUT", help="Output samplesheet file.") + parser.add_argument("FILE_OUT", help="Output file.") return parser.parse_args(args) @@ -57,16 +57,16 @@ def check_samplesheet(file_in, file_out): GBM_2,gbm_2_alleles.txt,gbm_2_anno.vcf|gbm_2_peps.tsv|gbm_2_prot.fasta - where the FileName column contains EIHTER a vcf file, a tsv file (peptides), or a fasta file (proteins) + where the FileName column contains EITHER a vcf/tsv file with genomic variants, a tsv file (peptides), or a fasta file (proteins) and the Alleles column contains EITHER a string of alleles separated by semicolon or the path to a text file containing one allele per line (no header) - Furhter Examples: + Further examples: - Class2 allele format => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.DRB1_01_01.txt - Mouse allele format => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.H2.txt - - pep.tsv => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv - - annotated_variants.tsv => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.tsv - - annotated_variants.vcf => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf + - Peptide format => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv + - Variant TSV format => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.tsv + - Variant VCF format => https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/variants/variants.vcf """ @@ -102,22 +102,11 @@ def check_samplesheet(file_in, file_out): ## Check sample name entries sample, alleles, filename = lspl[: len(HEADER)] - file_extension = os.path.splitext(filename)[1][1::] - ## Get annotation of filename column - if filename.endswith(".vcf") | filename.endswith(".vcf.gz"): - anno = "variant" - elif filename.endswith(".tsv") | filename.endswith(".GSvar"): - ## Check if it is a variant annotation file or a peptide file - with open(filename, "r") as tsv: - first_header_col = [col.lower() for col in tsv.readlines()[0].split('\t')][0] - if first_header_col == "id": - anno = "pep" - elif first_header_col == "#chr": - anno = "variant" - else: - anno = "prot" + ## Check given file types + if not filename.lower().endswith((".vcf", ".vcf.gz", ".tsv", ".GSvar", ".fasta")): + print_error("Samplesheet contains unsupported file type!", "Line", line) - sample_info = [sample, alleles, filename, anno, file_extension] + sample_info = [sample, alleles, filename] ## Create sample mapping dictionary if sample not in sample_run_dict: sample_run_dict[sample] = [sample_info] @@ -132,11 +121,13 @@ def check_samplesheet(file_in, file_out): out_dir = os.path.dirname(file_out) make_dir(out_dir) with open(file_out, "w") as fout: - fout.write(",".join(["sample", "alleles", "filename", "anno", "ext"]) + "\n") + fout.write(",".join(["sample", "alleles", "filename"]) + "\n") for sample in sorted(sample_run_dict.keys()): for val in sample_run_dict[sample]: fout.write(",".join(val) + "\n") + else: + print_error(f"No entries to process!", "Samplesheet: {file_in}") def main(args=None): diff --git a/subworkflows/local/input_check.nf b/subworkflows/local/input_check.nf index 35d3a52..129f1c9 100644 --- a/subworkflows/local/input_check.nf +++ b/subworkflows/local/input_check.nf @@ -17,26 +17,18 @@ workflow INPUT_CHECK { .set { reads } emit: - reads // channel: [ val(meta), [ reads ] ] + reads // channel: [ val(meta), [ input filename ] ] } // Function to get list of [ meta, filenames ] def get_samplesheet_paths(LinkedHashMap row) { - // Collect the allele information from the file - def alleleString - if ( row.alleles.endsWith(".txt") || row.alleles.endsWith(".alleles") ) { - alleleString = file(row.alleles).readLines().join(';') - // or assign the information to a new variable - } else { - alleleString = row.alleles - } - + def allele_string = generate_allele_string(row.alleles) + def type = determine_input_type(row.filename) def meta = [:] meta.sample = row.sample - meta.alleles = alleleString - meta.anno = row.anno - meta.ext = row.ext + meta.alleles = allele_string + meta.inputtype = type def array = [] if (!file(row.filename).exists()) { @@ -46,3 +38,39 @@ def get_samplesheet_paths(LinkedHashMap row) { } return array } + +def generate_allele_string(String alleles) { + // Collect the allele information from the file + def allele_string + if ( alleles.endsWith(".txt") || alleles.endsWith(".alleles") ) { + allele_string = file(alleles).readLines().join(';') + } + // or assign the information to a new variable + else { + allele_string = alleles + } + return allele_string +} + +def determine_input_type(String filename) { + def filetype + def input_file = file(filename) + def extension = input_file.extension + + if ( extension == "vcf" | extension == "vcf.gz" ) { + filetype = "variant" + } + else if ( extension == "tsv" | extension == "GSvar" ) { + // Check if it is a variant annotation file or a peptide file + input_file.withReader { + def first_header_col = it.readLine().split('\t')[0] + //first_header_col = [col.lower() for col in tsv.readlines()[0].split('\t')][0] + if (first_header_col == "id") { filetype = "peptide" } + else if (first_header_col == "#chr") {filetype = "variant"} + } + } + else { + filetype = "protein" + } + return filetype +} diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index baec1c5..9c3de02 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -133,25 +133,25 @@ workflow EPITOPEPREDICTION { // INPUT_CHECK ( ch_input ).branch { - meta, filename -> - variant : meta.anno == 'variant' - return [ meta, filename ] - pep : meta.anno == 'pep' - return [ meta, filename ] - prot : meta.anno == 'prot' - return [ meta, filename ] + meta, input_file -> + variant : meta.inputtype == 'variant' + return [ meta, input_file ] + pep : meta.inputtype == 'peptide' + return [ meta, input_file ] + prot : meta.inputtype == 'protein' + return [ meta, input_file ] } .set { ch_samples_from_sheet } //TODO: include and increment when at least one of the processes ahas been run thus far if (!params.show_supported_models) { // Perform the check requested models on the peptide and variant files, but only the first item - CHECK_REQUESTED_MODELS(ch_samples_from_sheet.prot + CHECK_REQUESTED_MODELS(ch_samples_from_sheet.protein .mix(ch_samples_from_sheet.variant) .combine(ch_versions) .first()) // Perform the check requested models on the peptide and variant but only the first item - CHECK_REQUESTED_MODELS_PEP(ch_samples_from_sheet.pep.combine(ch_versions).first()) + CHECK_REQUESTED_MODELS_PEP(ch_samples_from_sheet.peptide.combine(ch_versions).first()) // Return a warning if this is raised CHECK_REQUESTED_MODELS.out.log.subscribe { @@ -167,11 +167,11 @@ workflow EPITOPEPREDICTION { // Make a division for the variant files and process them further accordingly ch_samples_from_sheet.variant.branch { - meta, filename -> - vcf : meta.ext == 'vcf' || meta.ext == 'vcf.gz' - return [ meta, filename ] - tab : meta.ext == 'tsv' || meta.ext == 'GSvar' - return [ meta, filename ] + meta, input_file -> + vcf : input_file.extension == 'vcf' || input_file.extension == 'vcf.gz' + return [ meta, input_file ] + tab : input_file.extension == 'tsv' || input_file.extension == 'GSvar' + return [ meta, input_file ] } .set { ch_variants } @@ -184,8 +184,8 @@ workflow EPITOPEPREDICTION { // Include a process for the show supported models // TODO: include the module that is able to retrieve the version number of netmhc(ii)(pan) SHOW_SUPPORTED_MODELS( - ch_samples_from_sheet.prot - .mix(ch_samples_from_sheet.variant, ch_samples_from_sheet.pep) + ch_samples_from_sheet.protein + .mix(ch_samples_from_sheet.variant, ch_samples_from_sheet.peptide) .combine(ch_versions) .first() ) @@ -195,11 +195,11 @@ workflow EPITOPEPREDICTION { */ // Process FASTA file and generated peptides - if (ch_samples_from_sheet.prot.count() != 0) { - FRED2_GENERATEPEPTIDES(ch_samples_from_sheet.prot) + if (ch_samples_from_sheet.protein.count() != 0) { + FRED2_GENERATEPEPTIDES(ch_samples_from_sheet.protein) ch_split_peptides = FRED2_GENERATEPEPTIDES.out.splitted } else { - ch_split_peptides = ch_samples_from_sheet.pep + ch_split_peptides = ch_samples_from_sheet.peptide } // Split peptide data From c066e7574955c5f91bacbb634295c2c2f3e380d8 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Mon, 22 Nov 2021 17:41:34 +0100 Subject: [PATCH 057/137] Change channel names --- workflows/epitopeprediction.nf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 9c3de02..1b9f7b9 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -136,9 +136,9 @@ workflow EPITOPEPREDICTION { meta, input_file -> variant : meta.inputtype == 'variant' return [ meta, input_file ] - pep : meta.inputtype == 'peptide' + peptide : meta.inputtype == 'peptide' return [ meta, input_file ] - prot : meta.inputtype == 'protein' + protein : meta.inputtype == 'protein' return [ meta, input_file ] } .set { ch_samples_from_sheet } From aab4e6e4f355855d085628dfd1e8ce247ad5a89f Mon Sep 17 00:00:00 2001 From: Gisela Gabernet Date: Tue, 23 Nov 2021 12:34:58 +0100 Subject: [PATCH 058/137] Update .github/workflows/ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f6bf9bc..7f1ae34 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,7 +44,7 @@ jobs: if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }} runs-on: ubuntu-latest env: - NXF_VER: '21.04.0' + NXF_VER: ${{ matrix.nxf_ver }} NXF_ANSI_LOG: false strategy: matrix: From b14667f4bb69940a251b2a78dc3ce7de90ee236c Mon Sep 17 00:00:00 2001 From: Gisela Gabernet Date: Tue, 23 Nov 2021 12:35:08 +0100 Subject: [PATCH 059/137] Update .github/workflows/ci.yml --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f1ae34..3477fd3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,6 +48,7 @@ jobs: NXF_ANSI_LOG: false strategy: matrix: + nxf_ver: ['21.04.0', ''] tests: ['test_variant_tsv', 'test_peptides', 'test_peptides_h2', 'test_proteins', 'test_mhcnuggets', 'test_mhcflurry'] steps: - name: Check out pipeline code From 3235ebbe5ea43151f25b1e9c56cbe97163831c36 Mon Sep 17 00:00:00 2001 From: Gisela Gabernet Date: Tue, 23 Nov 2021 12:35:15 +0100 Subject: [PATCH 060/137] Update .github/workflows/ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3477fd3..c8809c9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -82,7 +82,7 @@ jobs: if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }} runs-on: ubuntu-latest env: - NXF_VER: '21.04.0' + NXF_VER: ${{ matrix.nxf_ver }} NXF_ANSI_LOG: false steps: - name: Check out pipeline code From 90dde0a4c86062aa7b60daafae807fc7c4e4f05d Mon Sep 17 00:00:00 2001 From: Gisela Gabernet Date: Tue, 23 Nov 2021 12:35:23 +0100 Subject: [PATCH 061/137] Update .github/workflows/ci.yml --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c8809c9..c72eb08 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,6 +84,9 @@ jobs: env: NXF_VER: ${{ matrix.nxf_ver }} NXF_ANSI_LOG: false + strategy: + matrix: + nxf_ver: ['21.04.0', ''] steps: - name: Check out pipeline code uses: actions/checkout@v2 From 2dd132a822876f00c8b3de5da93f1891bdee98c4 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 23 Nov 2021 13:22:28 +0100 Subject: [PATCH 062/137] fix editorconfig --- .github/workflows/ci.yml | 174 ++++++++++++++++++++------------------- 1 file changed, 91 insertions(+), 83 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c72eb08..c86b28b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: # Nextflow versions: check pipeline minimum and current latest - nxf_ver: ['21.04.0', ''] + nxf_ver: ["21.04.0", ""] steps: - name: Check out pipeline code uses: actions/checkout@v2 @@ -40,92 +40,100 @@ jobs: nextflow run ${GITHUB_WORKSPACE} -profile test,docker profile: - name: Run profile tests - if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }} - runs-on: ubuntu-latest - env: - NXF_VER: ${{ matrix.nxf_ver }} - NXF_ANSI_LOG: false - strategy: - matrix: - nxf_ver: ['21.04.0', ''] - tests: ['test_variant_tsv', 'test_peptides', 'test_peptides_h2', 'test_proteins', 'test_mhcnuggets', 'test_mhcflurry'] - steps: - - name: Check out pipeline code - uses: actions/checkout@v2 + name: Run profile tests + if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }} + runs-on: ubuntu-latest + env: + NXF_VER: ${{ matrix.nxf_ver }} + NXF_ANSI_LOG: false + strategy: + matrix: + nxf_ver: ["21.04.0", ""] + tests: + [ + "test_variant_tsv", + "test_peptides", + "test_peptides_h2", + "test_proteins", + "test_mhcnuggets", + "test_mhcflurry", + ] + steps: + - name: Check out pipeline code + uses: actions/checkout@v2 - - name: Check if Dockerfile or Conda environment changed - uses: technote-space/get-diff-action@v4 - with: - FILES: | - Dockerfile - environment.yml - - name: Build new docker image - if: env.MATCHED_FILES - run: docker build --no-cache . -t nfcore/epitopeprediction:dev + - name: Check if Dockerfile or Conda environment changed + uses: technote-space/get-diff-action@v4 + with: + FILES: | + Dockerfile + environment.yml + - name: Build new docker image + if: env.MATCHED_FILES + run: docker build --no-cache . -t nfcore/epitopeprediction:dev - - name: Pull docker image - if: ${{ !env.MATCHED_FILES }} - run: | - docker pull nfcore/epitopeprediction:dev - docker tag nfcore/epitopeprediction:dev nfcore/epitopeprediction:dev - - name: Install Nextflow - run: | - wget -qO- get.nextflow.io | bash - sudo mv nextflow /usr/local/bin/ - - name: Run pipeline with profile ${{ matrix.tests }} - run: | - nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.tests }},docker + - name: Pull docker image + if: ${{ !env.MATCHED_FILES }} + run: | + docker pull nfcore/epitopeprediction:dev + docker tag nfcore/epitopeprediction:dev nfcore/epitopeprediction:dev + - name: Install Nextflow + run: | + wget -qO- get.nextflow.io | bash + sudo mv nextflow /usr/local/bin/ + - name: Run pipeline with profile ${{ matrix.tests }} + run: | + nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.tests }},docker nonfree: - name: Run NetMHC tool family tests - if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }} - runs-on: ubuntu-latest - env: - NXF_VER: ${{ matrix.nxf_ver }} - NXF_ANSI_LOG: false - strategy: - matrix: - nxf_ver: ['21.04.0', ''] - steps: - - name: Check out pipeline code - uses: actions/checkout@v2 + name: Run NetMHC tool family tests + if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }} + runs-on: ubuntu-latest + env: + NXF_VER: ${{ matrix.nxf_ver }} + NXF_ANSI_LOG: false + strategy: + matrix: + nxf_ver: ["21.04.0", ""] + steps: + - name: Check out pipeline code + uses: actions/checkout@v2 - - name: Install non-free software - env: - DECRYPT_PASSPHRASE: ${{ secrets.TEST_NETMHC }} - run: | - mkdir -v non-free - curl -L https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/software/non-free-software.tar.gpg | ${GITHUB_WORKSPACE}/bin/decrypt | tar -C non-free -v -x + - name: Install non-free software + env: + DECRYPT_PASSPHRASE: ${{ secrets.TEST_NETMHC }} + run: | + mkdir -v non-free + curl -L https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/software/non-free-software.tar.gpg | ${GITHUB_WORKSPACE}/bin/decrypt | tar -C non-free -v -x - - name: Check if Dockerfile or Conda environment changed - uses: technote-space/get-diff-action@v4 - with: - FILES: | - Dockerfile - environment.yml - - name: Build new docker image - if: env.MATCHED_FILES - run: docker build --no-cache . -t nfcore/epitopeprediction:dev + - name: Check if Dockerfile or Conda environment changed + uses: technote-space/get-diff-action@v4 + with: + FILES: | + Dockerfile + environment.yml + - name: Build new docker image + if: env.MATCHED_FILES + run: docker build --no-cache . -t nfcore/epitopeprediction:dev - - name: Pull docker image - if: ${{ !env.MATCHED_FILES }} - run: | - docker pull nfcore/epitopeprediction:dev - docker tag nfcore/epitopeprediction:dev nfcore/epitopeprediction:dev - - name: Install Nextflow - run: | - wget -qO- get.nextflow.io | bash - sudo mv nextflow /usr/local/bin/ - - name: Run pipeline with NetMHC - run: | - nextflow run ${GITHUB_WORKSPACE} -profile test_netmhc,docker - - name: Run pipeline with NetMHCII - run: | - nextflow run ${GITHUB_WORKSPACE} -profile test_netmhcii,docker - - name: Run pipeline with NetMHCpan - run: | - nextflow run ${GITHUB_WORKSPACE} -profile test_netmhcpan,docker - - name: Run pipeline with NetMHCIIpan - run: | - nextflow run ${GITHUB_WORKSPACE} -profile test_netmhciipan,docker + - name: Pull docker image + if: ${{ !env.MATCHED_FILES }} + run: | + docker pull nfcore/epitopeprediction:dev + docker tag nfcore/epitopeprediction:dev nfcore/epitopeprediction:dev + - name: Install Nextflow + run: | + wget -qO- get.nextflow.io | bash + sudo mv nextflow /usr/local/bin/ + - name: Run pipeline with NetMHC + run: | + nextflow run ${GITHUB_WORKSPACE} -profile test_netmhc,docker + - name: Run pipeline with NetMHCII + run: | + nextflow run ${GITHUB_WORKSPACE} -profile test_netmhcii,docker + - name: Run pipeline with NetMHCpan + run: | + nextflow run ${GITHUB_WORKSPACE} -profile test_netmhcpan,docker + - name: Run pipeline with NetMHCIIpan + run: | + nextflow run ${GITHUB_WORKSPACE} -profile test_netmhciipan,docker From 0d735e58bdd365629c18eaef53a11d0f331e0b38 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 23 Nov 2021 13:26:56 +0100 Subject: [PATCH 063/137] update split_peptides.nf py3 --- modules/local/split_peptides.nf | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/local/split_peptides.nf b/modules/local/split_peptides.nf index 721b8c0..374cb54 100644 --- a/modules/local/split_peptides.nf +++ b/modules/local/split_peptides.nf @@ -10,12 +10,11 @@ process SPLIT_PEPTIDES { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'splitted', meta:[:], publish_by_meta:[]) } - // TODO: include the right container (python 2.7[.15]) - conda (params.enable_conda ? "conda-forge::python=2.7" : null) + conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/python:2.7" + container "https://depot.galaxyproject.org/singularity/python:3.8.3" } else { - container "quay.io/biocontainers/python:2.7" + container "quay.io/biocontainers/python:3.8.3" } // cache false From 8de305bf83e58d3eb5f3c73f6db975d059eeb4b4 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 23 Nov 2021 14:12:12 +0100 Subject: [PATCH 064/137] merge_json to py3 --- modules/local/merge_json.nf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/local/merge_json.nf b/modules/local/merge_json.nf index 68d16e7..e9ced2a 100644 --- a/modules/local/merge_json.nf +++ b/modules/local/merge_json.nf @@ -10,11 +10,11 @@ process MERGE_JSON { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "conda-forge::python=2.7" : null) + conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/python:2.7" + container "https://depot.galaxyproject.org/singularity/python:3.8.3" } else { - container "quay.io/biocontainers/python:2.7" + container "quay.io/biocontainers/python:3.8.3" } input: From 1e2b9c3c61d74e046f8d9d660285d4689df4caf8 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 23 Nov 2021 14:15:10 +0100 Subject: [PATCH 065/137] update changelog --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 675aca4..7fcaea6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ 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.2.0dev - 2021-10-28 +## v2.0dev - date ### `Added` @@ -17,6 +17,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Fixed` +### `Updated versions` + +- [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Updated `python 2.7` to `python 3.8.9` in `splitpeptides.py` and `merge_jsons.py`. + ## v1.1.0 - Morgenstelle - 2020-10-20 ### `Added` From 20fc2e181a0f9ce3f429f1e2d2752cd91f35d8b1 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 23 Nov 2021 14:20:23 +0100 Subject: [PATCH 066/137] update citations --- CITATIONS.md | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/CITATIONS.md b/CITATIONS.md index 3ac53e2..ab86e4c 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -15,21 +15,17 @@ * [MultiQC](https://www.ncbi.nlm.nih.gov/pubmed/27312411/) > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924. -* **Using Drosophila melanogaster as a model for genotoxic chemical mutational studies with a new program, SnpSift.**\ - Pablo Cingolani, Viral M. Patel, Melissa Coon, Tung Nguyen, Susan J. Land, Douglas M. Ruden and Xiangyi Lu1\ - _Frontiers in Genetics_ 3, 35 (2012). doi: [10.3389/fgene.2012.00035](https://dx.doi.org/10.3389/fgene.2012.00035). +* [SnpSift](https://dx.doi.org/10.3389/fgene.2012.00035) + > Pablo Cingolani, Viral M. Patel, Melissa Coon, Tung Nguyen, Susan J. Land, Douglas M. Ruden and Xiangyi Lu. Using Drosophila melanogaster as a model for genotoxic chemical mutational studies with a new program, SnpSift. _Frontiers in Genetics_ 3, 35 (2012). doi: 10.3389/fgene.2012.00035. -* **FRED 2: an immunoinformatics framework for Python.**\ - Benjamin Schubert, Mathias Walzer, Hans-Philipp Brachvogel, András Szolek, Christopher Mohr, Oliver Kohlbacher\ - _Bioinformatics_ 32(13), 2044-2046 (2016). doi: [10.1093/bioinformatics/btw113](https://dx.doi.org/10.1093/bioinformatics/btw113). +* [FRED2](https://dx.doi.org/10.1093/bioinformatics/btw113) + > Benjamin Schubert, Mathias Walzer, Hans-Philipp Brachvogel, András Szolek, Christopher Mohr, Oliver Kohlbacher. FRED 2: an immunoinformatics framework for Pythonö Bioinformatics 32(13), 2044-2046 (2016). doi: 10.1093/bioinformatics/btw113. -* **MHCflurry: open-source class I MHC binding affinity prediction.**\ - Timothy J. O’Donnell, Alex Rubinsteyn, Maria Bonsack, Angelika B. Riemer, Uri Laserson, Jeff Hammerbacher\ - _Cell systems_ 7(1), 129-132 (2018). doi: [10.1016/j.cels.2018.05.014](https://dx.doi.org/10.1016/j.cels.2018.05.014). +* [MHCflurry](https://dx.doi.org/10.1016/j.cels.2018.05.014) + > Timothy J. O’Donnell, Alex Rubinsteyn, Maria Bonsack, Angelika B. Riemer, Uri Laserson, Jeff Hammerbacher. MHC flurry: open-source class I MHC binding affinity prediction. Cell systems 7(1), 129-132 (2018). doi: 10.1016/j.cels.2018.05.014. -* **High-throughput prediction of MHC class i and ii neoantigens with MHCnuggets.**\ - Xiaoshan M. Shao, Rohit Bhattacharya, Justin Huang, I.K. Ashok Sivakumar, Collin Tokheim, Lily Zheng, Dylan Hirsch, Benjamin Kaminow, Ashton Omdahl, Maria Bonsack, Angelika B. Riemer, Victor E. Velculescu, Valsamo Anagnostou, Kymberleigh A. Pagel and Rachel Karchin\ - _Cancer Immunology Research_ 8(3), 396-408 (2020). doi: [10.1158/2326-6066.CIR-19-0464](https://dx.doi.org/10.1158/2326-6066.CIR-19-0464). +* [MHCnuggets](https://dx.doi.org/10.1158/2326-6066.CIR-19-0464) + > Xiaoshan M. Shao, Rohit Bhattacharya, Justin Huang, I.K. Ashok Sivakumar, Collin Tokheim, Lily Zheng, Dylan Hirsch, Benjamin Kaminow, Ashton Omdahl, Maria Bonsack, Angelika B. Riemer, Victor E. Velculescu, Valsamo Anagnostou, Kymberleigh A. Pagel and Rachel Karchin. High-throughput prediction of MHC class i and ii neoantigens with MHCnuggets. Cancer Immunology Research 8(3), 396-408 (2020). doi: 10.1158/2326-6066.CIR-19-0464. ## Software packaging/containerisation tools From 77105dfda2528410fb5e59bc073ca512e2517221 Mon Sep 17 00:00:00 2001 From: marissaDubbelaar Date: Tue, 23 Nov 2021 14:23:28 +0100 Subject: [PATCH 067/137] Update documentation --- .github/CONTRIBUTING.md | 2 +- README.md | 12 +++++++----- docs/output.md | 6 +++--- docs/usage.md | 42 ++++++++++++++++++++--------------------- 4 files changed, 32 insertions(+), 30 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d2e89c2..4216f64 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -16,7 +16,7 @@ Contributions to the code are even more welcome ;) If you'd like to write some code for nf-core/epitopeprediction, the standard workflow is as follows: 1. Check that there isn't already an issue about your idea in the [nf-core/epitopeprediction issues](https://github.com/nf-core/epitopeprediction/issues) to avoid duplicating work - * If there isn't one already, please create one so that others know you're working on this + * If there isn't one, please create one so that others know you're working on this 2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/epitopeprediction repository](https://github.com/nf-core/epitopeprediction) to your GitHub account 3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions) 4. Use `nf-core schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10). diff --git a/README.md b/README.md index d92d3c9..8cd81c2 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ **nf-core/epitopeprediction** is a bioinformatics best-practice analysis pipeline for epitope prediction and annotation. The pipeline performs epitope predictions for a given set of variants or peptides directly using state of the art prediction tools. Additionally, resulting prediction results can be annotated with metadata. -The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It uses Docker/Singularity containers making installation trivial and results highly reproducible. The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. Where possible, these processes have been submitted to and installed from [nf-core/modules](https://github.com/nf-core/modules) in order to make them available to all nf-core pipelines, and to everyone within the Nextflow community! +The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It uses Docker/Singularity containers making installation trivial and results highly reproducible. The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process which makes it easier to maintain and update software dependencies. Where possible, these processes have been submitted to and installed from [nf-core/modules](https://github.com/nf-core/modules) in order to make them available to all nf-core pipelines, and to everyone within the Nextflow community! On release, automated continuous integration tests run the pipeline on a full-sized dataset on the AWS cloud infrastructure. This ensures that the pipeline runs on AWS, has sensible resource allocation defaults set to run on real-world datasets, and permits the persistent storage of results to benchmark between pipeline releases and other analysis sources. The results obtained from the full-sized test can be viewed on the [nf-core website](https://nf-co.re/epitopeprediction/results). ## Pipeline summary -1. Read variants, proteins or peptides and HLA alleles +1. Read variants, proteins, or peptides and HLA alleles 2. Generate peptides from variants or proteins or use peptides directly 3. Predict HLA-binding peptides for the given set of HLA alleles @@ -41,8 +41,8 @@ On release, automated continuous integration tests run the pipeline on a full-si nextflow run nf-core/epitopeprediction -profile test, ``` - > * Please check [nf-core/configs](https://github.com/nf-core/configs#documentation) to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use `-profile ` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment. - > * If you are using `singularity` then the pipeline will auto-detect this and attempt to download the Singularity images directly as opposed to performing a conversion from Docker images. If you are persistently observing issues downloading Singularity images directly due to timeout or network issues then please use the `--singularity_pull_docker_container` parameter to pull and convert the Docker image instead. Alternatively, it is highly recommended to use the [`nf-core download`](https://nf-co.re/tools/#downloading-pipelines-for-offline-use) command to pre-download all of the required containers before running the pipeline and to set the [`NXF_SINGULARITY_CACHEDIR` or `singularity.cacheDir`](https://www.nextflow.io/docs/latest/singularity.html?#singularity-docker-hub) Nextflow options to be able to store and re-use the images from a central location for future pipeline runs. + > * Please check [nf-core/configs](https://github.com/nf-core/configs#documentation) to see if a custom config file to run nf-core pipelines already exists for your institute. If so, you can simply use `-profile ` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment. + > * If you are using `singularity`, then the pipeline will auto-detect this and attempt to download the Singularity images directly as opposed to performing a conversion from Docker images. If you are persistently observing issues downloading Singularity images directly due to timeout or network issues then please use the `--singularity_pull_docker_container` parameter to pull and convert the Docker image instead. Alternatively, it is highly recommended to use the [`nf-core download`](https://nf-co.re/tools/#downloading-pipelines-for-offline-use) command to pre-download all of the required containers before running the pipeline and to set the [`NXF_SINGULARITY_CACHEDIR` or `singularity.cacheDir`](https://www.nextflow.io/docs/latest/singularity.html?#singularity-docker-hub) Nextflow options to be able to store and re-use the images from a central location for future pipeline runs. > * If you are using `conda`, it is highly recommended to use the [`NXF_CONDA_CACHEDIR` or `conda.cacheDir`](https://www.nextflow.io/docs/latest/conda.html) settings to store the environments in a central location for future pipeline runs. 4. Start running your own analysis! @@ -55,12 +55,14 @@ See [usage docs](https://nf-co.re/epitopeprediction/usage) for all of the availa ## Documentation -The nf-core/epitopeprediction pipeline comes with documentation about the pipeline [usage](https://nf-co.re/epitopeprediction/usage), [parameters](https://nf-co.re/epitopeprediction/parameters) and [output](https://nf-co.re/epitopeprediction/output). +The nf-core/epitopeprediction pipeline comes with documentation about the pipeline [usage](https://nf-co.re/epitopeprediction/usage), [parameters](https://nf-co.re/epitopeprediction/parameters), and [output](https://nf-co.re/epitopeprediction/output). ## Credits nf-core/epitopeprediction was originally written by [Christopher Mohr](https://github.com/christopher-mohr) from [Institute for Translational Bioinformatics](https://kohlbacherlab.org/team_tbi/) and [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) and [Alexander Peltzer](https://github.com/apeltzer) from [Böhringer Ingelheim](https://www.boehringer-ingelheim.de). Further contributions were made by [Sabrina Krakau](https://github.com/skrakau) from [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) and [Leon Kuchenbecker](https://github.com/lkuchenb) from the [Kohlbacher Lab](https://kohlbacherlab.org/). +The pipeline was converted to Nextflow DSL2 by [Christopher Mohr](https://github.com/christopher-mohr), [Marissa Dubbelaar](https://github.com/marissaDubbelaar) from [Clinical Collaboration Unit Translational Immunology](https://www.medizin.uni-tuebingen.de/en-de/das-klinikum/einrichtungen/kliniken/medizinische-klinik/kke-translationale-immunologie) and [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/), [Gisela Gabernet](https://github.com/ggabernet) from [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/), and[Jonas Scheid](https://github.com/jonasscheid) from [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) + ## Contributions and Support If you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md). diff --git a/docs/output.md b/docs/output.md index 620caf7..d2a3854 100644 --- a/docs/output.md +++ b/docs/output.md @@ -6,7 +6,7 @@ ## Introduction -This document describes the output produced by the pipeline. Most of the plots are taken from the MultiQC report, which summarises results at the end of the pipeline. +This document describes the output produced by the pipeline. At the end, version of the tools are summarized in a MultiQC report which is generated at the end of the pipeline. The directories listed below will be created in the results directory after the pipeline has finished. All paths are relative to the top-level results directory. @@ -49,7 +49,7 @@ Peptides are considered binders if the affinity is higher than 50. * **Affinity**: Predicted IC50 (threshold for binders: `<500 nmol/L`). * **Score**: The provided score is calculated from the log-transformed predicted binding affinity and scaled to an interval of 0 to 1: `1-log50000(aff)`. -When the parameter `--fasta_output` is specified a `FASTA` file will be generated that contains the sequences of proteins that are affected by the provided genomic variants. The resulting `FASTA` file will contain the wild-type and mutated protein sequences. +When the parameter `--fasta_output` is specified, a `FASTA` file will be generated containing the protein sequences that are affected by the provided genomic variants. The resulting `FASTA` file will contain the wild-type and mutated protein sequences. **Output directory: `predictions/`** @@ -58,7 +58,7 @@ When the parameter `--fasta_output` is specified a `FASTA` file will be generate ### Supported models -When running the pipeline using the `--show_supported_models` parameter, the information about supported models for the available predictor tool versions will be written to the results folder. +When running the pipeline using the `--show_supported_models` parameter, information about supported models for the available predictor tool versions will be written to the results folder. **Output directory: `supported_models/`** diff --git a/docs/usage.md b/docs/usage.md index 98a09e3..72d90a7 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -8,7 +8,7 @@ ## Samplesheet input -You will need to create a samplesheet with information about the samples you would like to analyse 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 as shown in the examples below. +You will need to create a samplesheet with information about the samples you would like to analyse before running the pipeline. Use the `--input` parameter to specify its location of a comma-separated file that consists of 3 columns and a header row as shown in the examples below. ```console --input '[path to samplesheet file]' @@ -29,7 +29,7 @@ GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_prot.fasta The pipeline will auto-detect whether a sample is single- or paired-end using the information provided in the samplesheet. The samplesheet can have as many columns as you desire, however, there is a strict requirement for the first 3 columns to match those defined in the table below. -A final samplesheet file consisting of both single- and paired-end data may look something like the one below. This is for 6 samples, where `TREATMENT_REP3` has been sequenced twice. +A final samplesheet file consisting of both single- and paired-end data may look something like the one below. ```console sample,alleles,filename @@ -41,8 +41,8 @@ GBM_3,A*01:01;A*24:01;B*07:02;B*08:01;C*03:01;C*07:01,gbm_3_anno.vcf | Column | Description | |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `sample` | Custom sample name. This entry will be identical for multiple sequencing libraries/runs from the same sample. Spaces in sample names are automatically converted to underscores (`_`). | -| `alleles` | A string that consists of the patient's alleles (seperated by ";"), or a full path to a allele ".txt" file where each allele is saved on a row. | -| `filename` | Full path to a varient/peptide or protein file (".vcf", ".vcf.gz", "tsv", "fasta", or "GSvar"). | +| `alleles` | A string that consists of the patient's alleles (separated by ";"), or a full path to a allele ".txt" file where each allele is saved on a row. | +| `filename` | Full path to a variant/peptide or protein file (".vcf", ".vcf.gz", "tsv", "fasta", or "GSvar"). | An [example samplesheet](../assets/samplesheet.csv) has been provided with the pipeline. @@ -67,7 +67,7 @@ results # Finished results (configurable, see below) ### Updating the pipeline -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: +When you run the above command, Nextflow automatically pulls the pipeline code from GitHub and stores it as a cached version. After this, it will use the cached version if available - even if the pipeline has been updated since. To ensure that you're running the latest version of the pipeline, make sure that you regularly update the cached version of the pipeline: ```console nextflow pull nf-core/epitopeprediction @@ -75,7 +75,7 @@ nextflow pull nf-core/epitopeprediction ### Reproducibility -It is a good idea to specify a pipeline version when running the pipeline on your data. This ensures that a specific version of the pipeline code and software are used when you run your pipeline. If you keep using the same tag, you'll be running the same version of the pipeline, even if there have been changes to the code since. +It is a good idea to specify a pipeline version when running the pipeline on your data, ensuring one specific version on your analysis, even if there have been changes to the code since. First, go to the [nf-core/epitopeprediction releases page](https://github.com/nf-core/epitopeprediction/releases) and find the latest version number - numeric only (eg. `1.0.0`). Then specify this when running the pipeline with `-r` (one hyphen) - eg. `-r 1.0.0`. @@ -91,9 +91,9 @@ Use this parameter to choose a configuration profile. Profiles can give configur Several generic profiles are bundled with the pipeline which instruct the pipeline to use software packaged using different methods (Docker, Singularity, Podman, Shifter, Charliecloud, Conda) - see below. When using Biocontainers, most of these software packaging methods pull Docker containers from quay.io e.g [FastQC](https://quay.io/repository/biocontainers/fastqc) except for Singularity which directly downloads Singularity images via https hosted by the [Galaxy project](https://depot.galaxyproject.org/singularity/) and Conda which downloads and installs software locally from [Bioconda](https://bioconda.github.io/). -> We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however when this is not possible, Conda is also supported. +> We highly recommend the use of Docker or Singularity containers for full pipeline reproducibility, however, Conda is also supported as an alternative. -The pipeline also dynamically loads configurations from [https://github.com/nf-core/configs](https://github.com/nf-core/configs) when it runs, making multiple config profiles for various institutional clusters available at run time. For more information and to see if your system is available in these configs please see the [nf-core/configs documentation](https://github.com/nf-core/configs#documentation). +The pipeline dynamically loads configurations from [https://github.com/nf-core/configs](https://github.com/nf-core/configs) when it runs, making multiple config profiles for various institutional clusters available at run time. For more information, and to see if your system is available in these configs, please see the [nf-core/configs documentation](https://github.com/nf-core/configs#documentation). Note that multiple profiles can be loaded, for example: `-profile test,docker` - the order of arguments is important! They are loaded in sequence, so later profiles can overwrite earlier profiles. @@ -118,7 +118,7 @@ If `-profile` is not specified, the pipeline will run locally and expect all sof ### `-resume` -Specify this when restarting a pipeline. Nextflow will used cached results from any pipeline steps where the inputs are the same, continuing from where it got to previously. +Specify this parameter when restarting a pipeline. Nextflow will used cached results from any pipeline steps where the inputs are the same, continuing from the previous run. You can also supply a run name to resume a specific run: `-resume [run-name]`. Use the `nextflow log` command to show previous run names. @@ -130,7 +130,7 @@ Specify the path to a specific config file (this is a core Nextflow command). Se ### Resource requests -Whilst the default requirements set within the pipeline will hopefully work for most people and with most input data, you may find that you want to customise the compute resources that the pipeline requests. Each step in the pipeline has a default set of requirements for number of CPUs, memory and time. For most of the steps in the pipeline, if the job exits with any of the error codes specified [here](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/base.config#L18) it will automatically be resubmitted with higher requests (2 x original, then 3 x original). If it still fails after the third attempt then the pipeline execution is stopped. +Whilst the default requirements, set within the pipeline, will hopefully work for most people and input data, you may find that you want to customize the compute resources that the pipeline requests. Each step in the pipeline has a default set of requirements for number of CPUs, memory and time. For most of the steps in the pipeline, if the job exits with any of the error codes specified [here](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/base.config#L18) it will automatically be resubmitted with higher requests (2 x original, then 3 x original). If it still fails after the third attempt then the pipeline execution is stopped. For example, if the nf-core/rnaseq pipeline is failing after multiple re-submissions of the `STAR_ALIGN` process due to an exit code of `137` this would indicate that there is an out of memory issue: @@ -173,11 +173,11 @@ process { } ``` -> **NB:** We specify just the process name i.e. `STAR_ALIGN` in the config file and not the full task name string that is printed to screen in the error message or on the terminal whilst the pipeline is running i.e. `RNASEQ:ALIGN_STAR:STAR_ALIGN`. You may get a warning suggesting that the process selector isn't recognised but you can ignore that if the process name has been specified correctly. This is something that needs to be fixed upstream in core Nextflow. +> **NB:** We specify just the process name i.e. `STAR_ALIGN` in the config file and not the full task name string that is printed to screen in the error message or on the terminal whilst the pipeline is running i.e. `RNASEQ:ALIGN_STAR:STAR_ALIGN`. You may get a warning suggesting that the process selector isn't recognized but you can ignore that if the process name has been specified correctly. This is something that needs to be fixed upstream in core Nextflow. ### Tool-specific options -For the ultimate flexibility, we have implemented and are using Nextflow DSL2 modules in a way where it is possible for both developers and users to change tool-specific command-line arguments (e.g. providing an additional command-line argument to the `STAR_ALIGN` process) as well as publishing options (e.g. saving files produced by the `STAR_ALIGN` process that aren't saved by default by the pipeline). In the majority of instances, as a user you won't have to change the default options set by the pipeline developer(s), however, there may be edge cases where creating a simple custom config file can improve the behaviour of the pipeline if for example it is failing due to a weird error that requires setting a tool-specific parameter to deal with smaller / larger genomes. +For the ultimate flexibility, we have implemented Nextflow DSL2 modules in a way that allows both developers and users to change tool-specific command-line arguments (e.g. providing an additional command-line argument to the `STAR_ALIGN` process) as well as publishing options (e.g. saving files produced by the `STAR_ALIGN` process that aren't saved by default by the pipeline). In the majority of the instances, a user doesn't have to change the default options set by the pipeline developer(s). However, there may be edge cases where creating a simple custom config file can improve the behavior of the pipeline. For example, when it is failing due to an error that requires an adjustment of a tool-specific parameter to deal with smaller / larger genomes. The command-line arguments passed to STAR in the `STAR_ALIGN` module are a combination of: @@ -185,13 +185,13 @@ The command-line arguments passed to STAR in the `STAR_ALIGN` module are a combi * An [`options.args`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/modules/nf-core/software/star/align/main.nf#L56) string of non-mandatory parameters that is set to be empty by default in the module but can be overwritten when including the module in the sub-workflow / workflow context via the `addParams` Nextflow option. -The nf-core/rnaseq pipeline has a sub-workflow (see [terminology](https://github.com/nf-core/modules#terminology)) specifically to align reads with STAR and to sort, index and generate some basic stats on the resulting BAM files using SAMtools. At the top of this file we import the `STAR_ALIGN` module via the Nextflow [`include`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/subworkflows/nf-core/align_star.nf#L10) keyword and by default the options passed to the module via the `addParams` option are set as an empty Groovy map [here](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/subworkflows/nf-core/align_star.nf#L5); this in turn means `options.args` will be set to empty by default in the module file too. This is an intentional design choice and allows us to implement well-written sub-workflows composed of a chain of tools that by default run with the bare minimum parameter set for any given tool in order to make it much easier to share across pipelines and to provide the flexibility for users and developers to customise any non-mandatory arguments. +The nf-core/rnaseq pipeline has a sub-workflow (see [terminology](https://github.com/nf-core/modules#terminology)) specifically to align reads with STAR and to sort, index and generate some basic stats on the resulting BAM files using SAMtools. At the top of this file we import the `STAR_ALIGN` module via the Nextflow [`include`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/subworkflows/nf-core/align_star.nf#L10) keyword and by default the options passed to the module via the `addParams` option are set as an empty Groovy map [here](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/subworkflows/nf-core/align_star.nf#L5); this in turn means `options.args` will be set to empty by default in the module file too. This is an intentional design choice and allows us to implement well-written sub-workflows composed of a chain of tools that by default run with the bare minimum parameter set for any given tool in order to make it much easier to share across pipelines and to provide the flexibility for users and developers to customize any non-mandatory arguments. -When including the sub-workflow above in the main pipeline workflow we use the same `include` statement, however, we now have the ability to overwrite options for each of the tools in the sub-workflow including the [`align_options`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/workflows/rnaseq.nf#L225) variable that will be used specifically to overwrite the optional arguments passed to the `STAR_ALIGN` module. In this case, the options to be provided to `STAR_ALIGN` have been assigned sensible defaults by the developer(s) in the pipeline's [`modules.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L70-L74) and can be accessed and customised in the [workflow context](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/workflows/rnaseq.nf#L201-L204) too before eventually passing them to the sub-workflow as a Groovy map called `star_align_options`. These options will then be propagated from `workflow -> sub-workflow -> module`. +When the aforementioned sub-workflow is included in the main pipeline workflow, we use the same `include` statement. However, we now have the ability to overwrite options for each of the tools in the sub-workflow including the [`align_options`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/workflows/rnaseq.nf#L225) variable that will be used specifically to overwrite the optional arguments passed to the `STAR_ALIGN` module. In this case, the options to be provided to `STAR_ALIGN` have been assigned sensible defaults by the developer(s) in the pipeline's [`modules.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L70-L74) and can be accessed and customized in the [workflow context](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/workflows/rnaseq.nf#L201-L204) too before eventually passing them to the sub-workflow as a Groovy map called `star_align_options`. These options will then be propagated from `workflow -> sub-workflow -> module`. -As mentioned at the beginning of this section it may also be necessary for users to overwrite the options passed to modules to be able to customise specific aspects of the way in which a particular tool is executed by the pipeline. Given that all of the default module options are stored in the pipeline's `modules.config` as a [`params` variable](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L24-L25) it is also possible to overwrite any of these options via a custom config file. +As mentioned at the beginning of this section, it may also be necessary for users to overwrite the options that are passed to modules to customize the execution of specific aspects of a particular tool in the pipeline. Given that all of the default module options are stored in the pipeline's `modules.config` as a [`params` variable](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L24-L25) it is also possible to overwrite any of these options via a custom config file. -Say for example we want to append an additional, non-mandatory parameter (i.e. `--outFilterMismatchNmax 16`) to the arguments passed to the `STAR_ALIGN` module. Firstly, we need to copy across the default `args` specified in the [`modules.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L71) and create a custom config file that is a composite of the default `args` as well as the additional options you would like to provide. This is very important because Nextflow will overwrite the default value of `args` that you provide via the custom config. +Say for example, we want to append an additional, non-mandatory parameter (i.e. `--outFilterMismatchNmax 16`) to the arguments passed to the `STAR_ALIGN` module. First, we need to copy across the default `args`, specified in the [`modules.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L71), and create a custom config file that is a composite of the default `args` as well as the additional options you would like to provide. This is very important because Nextflow will overwrite the default value of `args` that you provide via the custom config. As you will see in the example below, we have: @@ -213,7 +213,7 @@ params { ### Updating containers -The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. If for some reason you need to use a different version of a particular tool with the pipeline then you just need to identify the `process` name and override the Nextflow `container` definition for that process using the `withName` declaration. For example, in the [nf-core/viralrecon](https://nf-co.re/viralrecon) pipeline a tool called [Pangolin](https://github.com/cov-lineages/pangolin) has been used during the COVID-19 pandemic to assign lineages to SARS-CoV-2 genome sequenced samples. Given that the lineage assignments change quite frequently it doesn't make sense to re-release the nf-core/viralrecon everytime a new version of Pangolin has been released. However, you can override the default container used by the pipeline by creating a custom config file and passing it as a command-line argument via `-c custom.config`. +The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process, which makes easier to maintain and update software dependencies. If for some reason, you need to use a different version of a particular tool with the pipeline then you just need to identify the `process` name and override the Nextflow `container` definition for that process using the `withName` declaration. For example, in the [nf-core/viralrecon](https://nf-co.re/viralrecon) pipeline a tool called [Pangolin](https://github.com/cov-lineages/pangolin) has been used during the COVID-19 pandemic to assign lineages to SARS-CoV-2 genome sequenced samples. Given that the lineage assignments change quite frequently, it doesn't make sense to re-release the nf-core/viralrecon every time a new version of Pangolin has been released. However, you can override the default container used by the pipeline by creating a custom config file and passing it as a command-line argument via `-c custom.config`. 1. Check the default version used by the pipeline in the module file for [Pangolin](https://github.com/nf-core/viralrecon/blob/a85d5969f9025409e3618d6c280ef15ce417df65/modules/nf-core/software/pangolin/main.nf#L14-L19) 2. Find the latest version of the Biocontainer available on [Quay.io](https://quay.io/repository/biocontainers/pangolin?tag=latest&tab=tags) @@ -249,15 +249,15 @@ The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementatio } ``` -> **NB:** If you wish to periodically update individual tool-specific results (e.g. Pangolin) generated by the pipeline then you must ensure to keep the `work/` directory otherwise the `-resume` ability of the pipeline will be compromised and it will restart from scratch. +> **NB:** If you wish to periodically update individual tool-specific results (e.g. Pangolin), generated by the pipeline, then you must ensure to keep the `work/` directory. Otherwise the `-resume` ability of the pipeline will be compromised and it will restart from scratch. ### nf-core/configs -In most cases, you will only need to create a custom config as a one-off but if you and others within your organisation are likely to be running nf-core pipelines regularly and need to use the same settings regularly it may be a good idea to request that your custom config file is uploaded to the `nf-core/configs` git repository. Before you do this please can you test that the config file works with your pipeline of choice using the `-c` parameter. You can then create a pull request to the `nf-core/configs` repository with the addition of your config file, associated documentation file (see examples in [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs)), and amending [`nfcore_custom.config`](https://github.com/nf-core/configs/blob/master/nfcore_custom.config) to include your custom profile. +In most cases, you will need to create a custom config as a one-off but if you, and others within your organization, are likely to be running nf-core pipelines regularly and need to use the same settings regularly then we can advise that you request that your custom config file is uploaded to the `nf-core/configs` git repository. Before you do this, test that the config file works with your pipeline of choice using the `-c` parameter. Then you can create a pull request to the `nf-core/configs` repository with the addition of your config file, associated documentation file (see examples in [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs)), and amending [`nfcore_custom.config`](https://github.com/nf-core/configs/blob/master/nfcore_custom.config) to include your custom profile. See the main [Nextflow documentation](https://www.nextflow.io/docs/latest/config.html) for more information about creating your own configuration files. -If you have any questions or issues please send us a message on [Slack](https://nf-co.re/join/slack) on the [`#configs` channel](https://nfcore.slack.com/channels/configs). +If you have any questions or issues, please send us a message on [Slack](https://nf-co.re/join/slack) on the [`#configs` channel](https://nfcore.slack.com/channels/configs). ## Running in the background @@ -265,7 +265,7 @@ Nextflow handles job submissions and supervises the running jobs. The Nextflow p The Nextflow `-bg` flag launches Nextflow in the background, detached from your terminal so that the workflow does not stop if you log out of your session. The logs are saved to a file. -Alternatively, you can use `screen` / `tmux` or similar tool to create a detached session which you can log back into at a later time. +Alternatively, you can use `screen` / `tmux` or a similar tool to create a detached session which you can log back into at a later time. Some HPC setups also allow you to run nextflow within a cluster job submitted your job scheduler (from where it submits more jobs). ## Nextflow memory requirements From c86ceb736a74f92bcea5bc2b15feeb879a84cefb Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 23 Nov 2021 16:00:45 +0100 Subject: [PATCH 068/137] merge_jsons.py to py3 --- bin/merge_jsons.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bin/merge_jsons.py b/bin/merge_jsons.py index 0df6a17..667cb2a 100755 --- a/bin/merge_jsons.py +++ b/bin/merge_jsons.py @@ -4,6 +4,7 @@ import sys import json import argparse +import operator from collections import Counter @@ -19,19 +20,23 @@ def __main__(): parser.print_help() sys.exit(1) + # Combine_dicts function + def combine_dicts(a, b): + return dict(list(a.items()) + list(b.items())) + # read in json reports - data = [] + data = dict() if args.single_input: with open(args.single_input, 'r') as infile: - data.append(Counter(json.load(infile))) + data = combine_dicts(data, json.load(infile)) else: for file in os.listdir(args.input): if file.endswith(".json"): with open(file, "r") as infile: - data.append(Counter(json.load(infile))) + data = combine_dicts(data, json.load(infile)) # merge and write json report - merged_data = sum(data, Counter()) + merged_data = data merged_data['prediction_methods'] = ''.join(set(merged_data['prediction_methods'])) merged_data['number_of_unique_peptides'] = len(set(merged_data['number_of_unique_peptides'])) merged_data['number_of_unique_peptides_after_filtering'] = len(set(merged_data['number_of_unique_peptides_after_filtering'])) From 449c1212aab90be5fcb5dbc86957dfd80a922e79 Mon Sep 17 00:00:00 2001 From: Gisela Gabernet Date: Wed, 24 Nov 2021 09:23:19 +0100 Subject: [PATCH 069/137] Update CHANGELOG.md Co-authored-by: Christopher Mohr --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fcaea6..8d40044 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Updated versions` -- [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Updated `python 2.7` to `python 3.8.9` in `splitpeptides.py` and `merge_jsons.py`. +- [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Updated `python 2.7` to `python 3.8.9` in `split_peptides.nf` and `merge_json.nf`. ## v1.1.0 - Morgenstelle - 2020-10-20 From 72847cc64a594bb2f84eabe054cdf5deaebd8b3e Mon Sep 17 00:00:00 2001 From: Gisela Gabernet Date: Wed, 24 Nov 2021 09:23:34 +0100 Subject: [PATCH 070/137] Update CHANGELOG.md Co-authored-by: Christopher Mohr --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d40044..f9b3dce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Fixed` -### `Updated versions` +### `Changed` - [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Updated `python 2.7` to `python 3.8.9` in `split_peptides.nf` and `merge_json.nf`. From 20eeb203845c5921947f77d2fb98a0d2e7d8f937 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 24 Nov 2021 15:46:14 +0100 Subject: [PATCH 071/137] fix merge_jsons.py --- bin/merge_jsons.py | 64 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 47 insertions(+), 17 deletions(-) diff --git a/bin/merge_jsons.py b/bin/merge_jsons.py index 667cb2a..f056e74 100755 --- a/bin/merge_jsons.py +++ b/bin/merge_jsons.py @@ -4,15 +4,17 @@ import sys import json import argparse -import operator +from itertools import chain +from collections.abc import Iterable -from collections import Counter def __main__(): - parser = argparse.ArgumentParser(description="") - parser.add_argument('-s', "--single_input", help='Single input JSON report') - parser.add_argument('-i', "--input", help='Input directory with JSON reports') - parser.add_argument('-p', "--prefix", help="Prefix for output") + parser = argparse.ArgumentParser( + description="Merge multiple JSON reports into one." + ) + parser.add_argument("-s", "--single_input", help="Single input JSON report") + parser.add_argument("-i", "--input", help="Input directory with JSON reports") + parser.add_argument("-p", "--prefix", help="Prefix for output") args = parser.parse_args() @@ -20,14 +22,30 @@ def __main__(): parser.print_help() sys.exit(1) + # Flatten irregular list function + def flatten(l): + """Flatten list using recursion.""" + if isinstance(l, list): + for el in l: + if isinstance(el, list): + yield from flatten(el) + else: + yield el + else: + return l + # Combine_dicts function def combine_dicts(a, b): - return dict(list(a.items()) + list(b.items())) + joined_list = list(a.items()) + list(b.items()) + d = {} + for key, value in joined_list: + d.setdefault(key, []).append(value) + return d # read in json reports data = dict() if args.single_input: - with open(args.single_input, 'r') as infile: + with open(args.single_input, "r") as infile: data = combine_dicts(data, json.load(infile)) else: for file in os.listdir(args.input): @@ -36,15 +54,27 @@ def combine_dicts(a, b): data = combine_dicts(data, json.load(infile)) # merge and write json report - merged_data = data - merged_data['prediction_methods'] = ''.join(set(merged_data['prediction_methods'])) - merged_data['number_of_unique_peptides'] = len(set(merged_data['number_of_unique_peptides'])) - merged_data['number_of_unique_peptides_after_filtering'] = len(set(merged_data['number_of_unique_peptides_after_filtering'])) - merged_data['number_of_unique_nonbinders'] = len(set(merged_data['number_of_unique_nonbinders'])) - merged_data['number_of_unique_binders'] = len(set(merged_data['number_of_unique_binders'])) - - with open('{}_prediction_report.json'.format(args.prefix), 'w') as outfile: - json.dump(merged_data, outfile) + data["prediction_methods"] = "".join(set(list(flatten(data["prediction_methods"])))) + data["number_of_unique_peptides"] = len( + set(list(flatten((data["number_of_unique_peptides"])))) + ) + data["number_of_unique_peptides_after_filtering"] = len( + set(list(flatten(data["number_of_unique_peptides_after_filtering"]))) + ) + data["number_of_unique_nonbinders"] = len( + set(list(flatten(data["number_of_unique_nonbinders"]))) + ) + data["number_of_unique_binders"] = len( + set(list(flatten(data["number_of_unique_binders"]))) + ) + data["number_of_nonbinders"] = sum(list(flatten(data["number_of_nonbinders"]))) + data["number_of_binders"] = sum(list(flatten(data["number_of_binders"]))) + data["number_of_predictions"] = sum(list(flatten(data["number_of_predictions"]))) + data["number_of_variants"] = sum(list(flatten(data["number_of_variants"]))) + + with open("{}_prediction_report.json".format(args.prefix), "w") as outfile: + json.dump(data, outfile) + if __name__ == "__main__": __main__() From 645ce0a33d310c4db2ca3c6f584b9d6689dc2a95 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 24 Nov 2021 15:48:16 +0100 Subject: [PATCH 072/137] fix changelog --- CHANGELOG.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9b3dce..103ebab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,13 +14,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#100](https://github.com/nf-core/epitopeprediction/pull/89) - Merge previous template updates up to `v2.1` - [#110](https://github.com/nf-core/epitopeprediction/pull/110) - DSL2 conversion +- [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Updated `python 2.7` to `python 3.8.9` in `split_peptides.nf` and `merge_json.nf`. ### `Fixed` -### `Changed` - -- [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Updated `python 2.7` to `python 3.8.9` in `split_peptides.nf` and `merge_json.nf`. - ## v1.1.0 - Morgenstelle - 2020-10-20 ### `Added` From 60d304e8acda2c49e85997d3b229a3c7316be734 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 24 Nov 2021 15:49:44 +0100 Subject: [PATCH 073/137] rm unnecessary imports --- bin/merge_jsons.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/bin/merge_jsons.py b/bin/merge_jsons.py index f056e74..21892ab 100755 --- a/bin/merge_jsons.py +++ b/bin/merge_jsons.py @@ -4,8 +4,6 @@ import sys import json import argparse -from itertools import chain -from collections.abc import Iterable def __main__(): From 46f81b6c41dc4dbc9b0813dd20e6be2f41ca5f3f Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 24 Nov 2021 15:54:40 +0100 Subject: [PATCH 074/137] fix parenthesis merge_jsons --- bin/merge_jsons.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/merge_jsons.py b/bin/merge_jsons.py index 21892ab..fe8f42a 100755 --- a/bin/merge_jsons.py +++ b/bin/merge_jsons.py @@ -54,7 +54,7 @@ def combine_dicts(a, b): # merge and write json report data["prediction_methods"] = "".join(set(list(flatten(data["prediction_methods"])))) data["number_of_unique_peptides"] = len( - set(list(flatten((data["number_of_unique_peptides"])))) + set(list(flatten(data["number_of_unique_peptides"]))) ) data["number_of_unique_peptides_after_filtering"] = len( set(list(flatten(data["number_of_unique_peptides_after_filtering"]))) From 14412f72e894bb959e15c093fb69014435aa415c Mon Sep 17 00:00:00 2001 From: Gisela Gabernet Date: Thu, 2 Dec 2021 13:55:26 +0100 Subject: [PATCH 075/137] Update bin/merge_jsons.py Co-authored-by: Christopher Mohr --- bin/merge_jsons.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/merge_jsons.py b/bin/merge_jsons.py index fe8f42a..38a855b 100755 --- a/bin/merge_jsons.py +++ b/bin/merge_jsons.py @@ -48,7 +48,7 @@ def combine_dicts(a, b): else: for file in os.listdir(args.input): if file.endswith(".json"): - with open(file, "r") as infile: + with open(os.path.join(args.input, file), "r") as infile: data = combine_dicts(data, json.load(infile)) # merge and write json report From 946ea1e890aefcf5adeabc3de0d577964686193c Mon Sep 17 00:00:00 2001 From: ggabernet Date: Thu, 2 Dec 2021 18:24:36 +0100 Subject: [PATCH 076/137] improve readability --- workflows/epitopeprediction.nf | 174 +++++++++++++++++++-------------- 1 file changed, 98 insertions(+), 76 deletions(-) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 1b9f7b9..bd3c37c 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -42,27 +42,27 @@ check_modules_options_pep.args += "--peptides" def get_peptides_options = modules['gen_peptides'] def split_peptides_options = modules['split_peptides'] -def peptide_predition_options = modules['peptide_prediction'] +def peptide_prediction_options = modules['peptide_prediction'] def merge_json_options = modules['merge_json'] -def peptide_predition_pep = peptide_predition_options.clone() -def peptide_predition_var = peptide_predition_options.clone() +def peptide_prediction_pep = peptide_prediction_options.clone() +def peptide_prediction_var = peptide_prediction_options.clone() def merge_json_single = merge_json_options.clone() def merge_json_multi = merge_json_options.clone() check_modules_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \"$params.multiqc_title\""]) : '' -peptide_predition_pep.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' -peptide_predition_pep.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' -peptide_predition_pep.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' -peptide_predition_pep.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' -peptide_predition_pep.args += " --peptides " +peptide_prediction_pep.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' +peptide_prediction_pep.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' +peptide_prediction_pep.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' +peptide_prediction_pep.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' +peptide_prediction_pep.args += " --peptides " -peptide_predition_var.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' -peptide_predition_var.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' -peptide_predition_var.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' -peptide_predition_var.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' -peptide_predition_var.args += " --somatic_mutation " +peptide_prediction_var.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' +peptide_prediction_var.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' +peptide_prediction_var.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' +peptide_prediction_var.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' +peptide_prediction_var.args += " --somatic_mutation " merge_json_single.args = " --single_input " merge_json_multi.args = " --input \$PWD " @@ -85,8 +85,8 @@ include { CSVTK_SPLIT} from '../mod include { FRED2_GENERATEPEPTIDES } from '../modules/local/fred2_generatepeptides' addParams( options: get_peptides_options ) include { SPLIT_PEPTIDES } from '../modules/local/split_peptides' addParams( options: split_peptides_options ) -include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_pep ) -include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_var ) +include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' addParams( options: peptide_prediction_pep ) +include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' addParams( options: peptide_prediction_var ) include { CAT_CAT as CAT_TSV } from '../modules/local/cat_cat' addParams( options: [:] ) include { CAT_CAT as CAT_FASTA } from '../modules/local/cat_cat' addParams( options: [:] ) @@ -132,26 +132,37 @@ workflow EPITOPEPREDICTION { // SUBWORKFLOW: Read in samplesheet, validate and stage input files // - INPUT_CHECK ( ch_input ).branch { - meta, input_file -> - variant : meta.inputtype == 'variant' - return [ meta, input_file ] - peptide : meta.inputtype == 'peptide' - return [ meta, input_file ] - protein : meta.inputtype == 'protein' - return [ meta, input_file ] - } - .set { ch_samples_from_sheet } + INPUT_CHECK ( + ch_input + ) + + INPUT_CHECK.out + .branch { + meta, input_file -> + variant : meta.inputtype == 'variant' + return [ meta, input_file ] + peptide : meta.inputtype == 'peptide' + return [ meta, input_file ] + protein : meta.inputtype == 'protein' + return [ meta, input_file ] + } + .set { ch_samples_from_sheet } //TODO: include and increment when at least one of the processes ahas been run thus far if (!params.show_supported_models) { + // Perform the check requested models on the peptide and variant files, but only the first item - CHECK_REQUESTED_MODELS(ch_samples_from_sheet.protein - .mix(ch_samples_from_sheet.variant) - .combine(ch_versions) - .first()) + CHECK_REQUESTED_MODELS( + ch_samples_from_sheet.protein + .mix(ch_samples_from_sheet.variant) + .combine(ch_versions) + .first() + ) + // Perform the check requested models on the peptide and variant but only the first item - CHECK_REQUESTED_MODELS_PEP(ch_samples_from_sheet.peptide.combine(ch_versions).first()) + CHECK_REQUESTED_MODELS_PEP( + ch_samples_from_sheet.peptide.combine(ch_versions).first() + ) // Return a warning if this is raised CHECK_REQUESTED_MODELS.out.log.subscribe { @@ -166,17 +177,19 @@ workflow EPITOPEPREDICTION { } // Make a division for the variant files and process them further accordingly - ch_samples_from_sheet.variant.branch { - meta, input_file -> - vcf : input_file.extension == 'vcf' || input_file.extension == 'vcf.gz' - return [ meta, input_file ] - tab : input_file.extension == 'tsv' || input_file.extension == 'GSvar' - return [ meta, input_file ] - } - .set { ch_variants } + ch_samples_from_sheet.variant + .branch { + meta, input_file -> + vcf : input_file.extension == 'vcf' || input_file.extension == 'vcf.gz' + return [ meta, input_file ] + tab : input_file.extension == 'tsv' || input_file.extension == 'GSvar' + return [ meta, input_file ] + } + .set { ch_variants } // Include the snpsift_split function (only vcf and vcf.gz variant files) SNPSIFT_SPLIT(ch_variants.vcf) + // Include the csvtk_split function (only variant files with an tsv and GSvar executable) CSVTK_SPLIT(ch_variants.tab) @@ -185,14 +198,11 @@ workflow EPITOPEPREDICTION { // TODO: include the module that is able to retrieve the version number of netmhc(ii)(pan) SHOW_SUPPORTED_MODELS( ch_samples_from_sheet.protein - .mix(ch_samples_from_sheet.variant, ch_samples_from_sheet.peptide) - .combine(ch_versions) - .first() + .mix(ch_samples_from_sheet.variant, ch_samples_from_sheet.peptide) + .combine(ch_versions) + .first() ) } - /* - ======================================================================================== - */ // Process FASTA file and generated peptides if (ch_samples_from_sheet.protein.count() != 0) { @@ -205,52 +215,64 @@ workflow EPITOPEPREDICTION { // Split peptide data // TODO: Add the appropriate container to remove the warning SPLIT_PEPTIDES(ch_split_peptides) - /* - ======================================================================================== - */ + // TODO: Remove them when the mhcnet(ii)(pan) is introduced DEFINE_SOFTWARE() ch_versions = ch_versions.mix(DEFINE_SOFTWARE.out.versions.ifEmpty(null)) - /* - ======================================================================================== - */ - // Run epitope prediction - PEPTIDE_PREDICTION_PEP(SPLIT_PEPTIDES.out.splitted.combine(ch_versions).transpose()) - PEPTIDE_PREDICTION_VAR(CSVTK_SPLIT.out.splitted.mix(SNPSIFT_SPLIT.out.splitted).combine(ch_versions).transpose()) + + // Run epitope prediction for peptides + PEPTIDE_PREDICTION_PEP( + SPLIT_PEPTIDES.out.splitted + .combine(ch_versions) + .transpose() + ) + + // Run epitope prediction for variants + PEPTIDE_PREDICTION_VAR( + CSVTK_SPLIT.out.splitted + .mix(SNPSIFT_SPLIT.out.splitted) + .combine(ch_versions) + .transpose() + ) + // TODO: Change when the netmhc(ii)(pan) replaced the DEFINE_SOFTWARE process ch_versions = PEPTIDE_PREDICTION_VAR.out.versions // Combine the predicted files and save them in a branch to make a distinction between samples with single and multi files - PEPTIDE_PREDICTION_PEP.out.predicted.mix(PEPTIDE_PREDICTION_VAR.out.predicted) - .groupTuple() - .flatMap { meta, predicted -> [[[sample:meta.sample, alleles:meta.alleles, files:predicted.size()], predicted]] } - .branch { - meta, predicted -> - multi: meta.files > 1 - return [ meta, predicted ] - single: meta.files == 1 - return [ meta, predicted ] - } - .set { ch_predicted_peptides } + PEPTIDE_PREDICTION_PEP.out.predicted + .mix(PEPTIDE_PREDICTION_VAR.out.predicted) + .groupTuple() + .flatMap { meta, predicted -> [[[sample:meta.sample, alleles:meta.alleles, files:predicted.size()], predicted]] } + .branch { + meta, predicted -> + multi: meta.files > 1 + return [ meta, predicted ] + single: meta.files == 1 + return [ meta, predicted ] + } + .set { ch_predicted_peptides } // Combine epitope prediction results CAT_TSV(ch_predicted_peptides.single) + CSVTK_CONCAT(ch_predicted_peptides.multi) ch_versions = ch_versions.mix(CSVTK_CONCAT.out.versions.ifEmpty(null)) + // Combine protein sequences CAT_FASTA(PEPTIDE_PREDICTION_PEP.out.fasta.mix(PEPTIDE_PREDICTION_VAR.out.fasta).groupTuple()) - PEPTIDE_PREDICTION_PEP.out.json.mix(PEPTIDE_PREDICTION_VAR.out.json) - .groupTuple() - .flatMap { meta, json -> [[[sample:meta.sample, alleles:meta.alleles, files:json.size()], json]] } - .branch { - meta, json -> - multi: meta.files > 1 - return [ meta, json ] - single: meta.files == 1 - return [ meta, json ] - } - .set { ch_json_reports } + PEPTIDE_PREDICTION_PEP.out.json + .mix(PEPTIDE_PREDICTION_VAR.out.json) + .groupTuple() + .flatMap { meta, json -> [[[sample:meta.sample, alleles:meta.alleles, files:json.size()], json]] } + .branch { + meta, json -> + multi: meta.files > 1 + return [ meta, json ] + single: meta.files == 1 + return [ meta, json ] + } + .set { ch_json_reports } // Combine epitope prediction reports MERGE_JSON_SINGLE(ch_json_reports.single) @@ -267,11 +289,11 @@ workflow EPITOPEPREDICTION { .flatten() .collect() .set { ch_software_versions } + GET_SOFTWARE_VERSIONS ( ch_software_versions.map { it }.collect() ) - // // MODULE: MultiQC // From df59be3100da55fffbeb74fd2d7e25e73fd0b6a1 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Thu, 2 Dec 2021 18:26:42 +0100 Subject: [PATCH 077/137] variants for peptides zero --- bin/epaa.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bin/epaa.py b/bin/epaa.py index 0329e61..128829b 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -858,7 +858,11 @@ def make_predictions_from_variants(variants_all, methods, tool_thresholds, allel df = df.rename(columns={'Method': 'method'}) pred_dataframes.append(df) - statistics = {'prediction_methods': [ method + "-" + version for method, version in methods.items() ] ,'number_of_variants': len(variants_all), 'number_of_unique_peptides': [str(p) for p in all_peptides], 'number_of_unique_peptides_after_filtering': [str(p) for p in all_peptides_filtered]} + statistics = {'prediction_methods': [ method + "-" + version for method, version in methods.items() ], + 'number_of_variants': len(variants_all), + 'number_of_unique_peptides': [str(p) for p in all_peptides], + 'number_of_unique_peptides_after_filtering': [str(p) for p in all_peptides_filtered] + } return pred_dataframes, statistics, all_peptides_filtered, prots @@ -934,7 +938,11 @@ def make_predictions_from_peptides(peptides, methods, tool_thresholds, alleles, pred_dataframes.append(df) # write prediction statistics - statistics = {'prediction_methods': [ method + "-" + version for method, version in methods.items() ],'number_of_variants': '-', 'number_of_unique_peptides': [str(p) for p in peptides], 'number_of_unique_peptides_after_filtering': [str(p) for p in peptides_filtered]} + statistics = {'prediction_methods': [ method + "-" + version for method, version in methods.items() ], + 'number_of_variants': 0, + 'number_of_unique_peptides': [str(p) for p in peptides], + 'number_of_unique_peptides_after_filtering': [str(p) for p in peptides_filtered] + } return pred_dataframes, statistics def __main__(): From 809f08b4a9db84a3b0f0b41f1aecf83c33d112dd Mon Sep 17 00:00:00 2001 From: Marissa Dubbelaar <71317334+marissaDubbelaar@users.noreply.github.com> Date: Fri, 3 Dec 2021 11:27:13 +0100 Subject: [PATCH 078/137] Update .github/CONTRIBUTING.md Co-authored-by: Gisela Gabernet --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 4216f64..d2e89c2 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -16,7 +16,7 @@ Contributions to the code are even more welcome ;) If you'd like to write some code for nf-core/epitopeprediction, the standard workflow is as follows: 1. Check that there isn't already an issue about your idea in the [nf-core/epitopeprediction issues](https://github.com/nf-core/epitopeprediction/issues) to avoid duplicating work - * If there isn't one, please create one so that others know you're working on this + * If there isn't one already, please create one so that others know you're working on this 2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/epitopeprediction repository](https://github.com/nf-core/epitopeprediction) to your GitHub account 3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions) 4. Use `nf-core schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10). From 207b115dc14f93a50964f1377e7b8aae02ee7574 Mon Sep 17 00:00:00 2001 From: Marissa Dubbelaar <71317334+marissaDubbelaar@users.noreply.github.com> Date: Fri, 3 Dec 2021 11:27:53 +0100 Subject: [PATCH 079/137] Update docs/output.md Co-authored-by: Gisela Gabernet --- docs/output.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/output.md b/docs/output.md index d2a3854..0bdcf06 100644 --- a/docs/output.md +++ b/docs/output.md @@ -6,7 +6,7 @@ ## Introduction -This document describes the output produced by the pipeline. At the end, version of the tools are summarized in a MultiQC report which is generated at the end of the pipeline. +This document describes the output produced by the pipeline. The version of all tools used in the pipeline are summarized in a MultiQC report which is generated at the end of the pipeline. The directories listed below will be created in the results directory after the pipeline has finished. All paths are relative to the top-level results directory. From fc0b3b97c61f30b9156a28b2c018874f1389e976 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Mon, 6 Dec 2021 19:27:35 +0100 Subject: [PATCH 080/137] Implement external tool import, fix check for available models input handling and predictions --- bin/check_requested_models.py | 4 +- bin/epaa.py | 7 +- modules/local/{cat_cat.nf => cat_files.nf} | 2 +- modules/local/check_requested_models.nf | 10 +- modules/local/external_tools_import.nf | 75 +++++ ...software.nf => get_prediction_versions.nf} | 28 +- modules/local/snpsift_split.nf | 12 +- workflows/epitopeprediction.nf | 273 ++++++++++++------ 8 files changed, 299 insertions(+), 112 deletions(-) rename modules/local/{cat_cat.nf => cat_files.nf} (97%) create mode 100644 modules/local/external_tools_import.nf rename modules/local/{define_software.nf => get_prediction_versions.nf} (57%) diff --git a/bin/check_requested_models.py b/bin/check_requested_models.py index 5cf1afd..a6fff1a 100755 --- a/bin/check_requested_models.py +++ b/bin/check_requested_models.py @@ -36,7 +36,6 @@ def read_peptide_input(filename): def convert_allele_back(allele): name = str(allele) - print(name) if name.startswith("H-2-"): # convert internal Fred2 representation back to the nf-core/epitopeprediction input allele format return name.replace("H-2-", "H2-") @@ -56,7 +55,6 @@ def __main__(): parser.add_argument('-t', '--tools', help='Tools requested for peptide predictions', required=True, type=str) parser.add_argument('-v', '--versions', help=' File with used software versions.', required=True) args = parser.parse_args() - selected_methods = [item for item in args.tools.split(',')] with open(args.versions, 'r') as versions_file: tool_version = [ (row[0].split()[0], str(row[1])) for row in csv.reader(versions_file, delimiter = "\t") ] @@ -79,7 +77,7 @@ def __main__(): with open("model_report.txt", 'w') as output: # check if requested tool versions are supported for method, version in methods.items(): - if version not in EpitopePredictorFactory.available_methods()[method]: + if version not in EpitopePredictorFactory.available_methods()[method.lower()]: raise ValueError("The specified version " + version + " for " + method + " is not supported by Fred2.") # check if reuested alleles are supported diff --git a/bin/epaa.py b/bin/epaa.py index 0329e61..8f988b6 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -1042,12 +1042,13 @@ def __main__(): # concat dataframes for all peptide lengths try: complete_df = pd.concat(pred_dataframes, sort=True) + # replace method names with method names with version + # complete_df.replace({'method': methods}, inplace=True) + complete_df['method'] = complete_df['method'].apply(lambda x : x.lower() + '-' + methods[x.lower()] ) except: complete_df = pd.DataFrame() logger.error("No predictions available.") - # replace method names with method names with version - # complete_df.replace({'method': methods}, inplace=True) - complete_df['method'] = complete_df['method'].apply(lambda x : x.lower() + '-' + methods[x.lower()] ) + # include wild type sequences to dataframe if specified if args.wild_type: wt_sequences = generate_wt_seqs(all_peptides_filtered) diff --git a/modules/local/cat_cat.nf b/modules/local/cat_files.nf similarity index 97% rename from modules/local/cat_cat.nf rename to modules/local/cat_files.nf index 74948b3..5519a3d 100644 --- a/modules/local/cat_cat.nf +++ b/modules/local/cat_files.nf @@ -4,7 +4,7 @@ include { initOptions; saveFiles; getSoftwareName; getProcessName } from './func params.options = [:] options = initOptions(params.options) -process CAT_CAT { +process CAT_FILES { publishDir "${params.outdir}", mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } diff --git a/modules/local/check_requested_models.nf b/modules/local/check_requested_models.nf index dfdc0d9..3b4fc58 100644 --- a/modules/local/check_requested_models.nf +++ b/modules/local/check_requested_models.nf @@ -18,23 +18,25 @@ process CHECK_REQUESTED_MODELS { } input: - tuple val(meta), path(raw), val(software_versions) + tuple val(alleles), path(input_file) + val(software_versions) output: path '*.txt', emit: txt // model_report.txt path '*.log', emit: log // model_warnings.log - path "versions.yml", emit: versions + val "versions.yml", emit: versions + script: def argument = "$options.args" if (argument.contains("peptides") == true) { - argument += " ${raw}" + argument += " ${input_file}" } """ check_requested_models.py ${argument} \ - --alleles ${meta.alleles} \ + --alleles '${alleles.join(';')}' \ --mhcclass ${params.mhc_class} \ --versions ${software_versions} > model_warnings.log diff --git a/modules/local/external_tools_import.nf b/modules/local/external_tools_import.nf new file mode 100644 index 0000000..0119a48 --- /dev/null +++ b/modules/local/external_tools_import.nf @@ -0,0 +1,75 @@ +// Import generic module functions +include { initOptions; saveFiles; getSoftwareName } from './functions' + +params.options = [:] +options = initOptions(params.options) + +/* +* Copy non-free software provided by the user into the working directory +*/ +process EXTERNAL_TOOLS_IMPORT { + + input: + tuple val(toolname), val(toolversion), val(toolchecksum), path(tooltarball), file(datatarball), val(datachecksum), val(toolbinaryname) + + output: + path "${toolname}", emit: nonfree_tools + val "v_*.txt", emit: versions + + script: + """ + # + # CHECK IF THE PROVIDED SOFTWARE TARBALL IS A REGULAR FILES + # + if [ ! -f "$tooltarball" ]; then + echo "Path specified for ${toolname} does not point to a regular file. Please specify a path to the original tool tarball." >&2 + exit 1 + fi + + # + # VALIDATE THE CHECKSUM OF THE PROVIDED SOFTWARE TARBALL + # + checksum="\$(md5sum "$tooltarball" | cut -f1 -d' ')" + echo "\$checksum" + if [ "\$checksum" != "${toolchecksum}" ]; then + echo "Checksum error for $toolname. Please make sure to provide the original tarball for $toolname version $toolversion" >&2 + exit 2 + fi + + # + # UNPACK THE PROVIDED SOFTWARE TARBALL + # + mkdir -v "${toolname}" + tar -C "${toolname}" --strip-components 1 -x -f "$tooltarball" + + # + # MODIFY THE NETMHC WRAPPER SCRIPT ACCORDING TO INSTALL INSTRUCTIONS + # Substitution 1: We install tcsh via conda, thus /bin/tcsh won't work + # Substitution 2: We want temp files to be written to /tmp if TMPDIR is not set + # Substitution 3: NMHOME should be the folder in which the tcsh script itself resides + # + sed -i.bak \ + -e 's_bin/tcsh.*\$_usr/bin/env tcsh_' \ + -e "s_/scratch_/tmp_" \ + -e "s_setenv[[:space:]]NMHOME.*_setenv NMHOME \\`realpath -s \\\$0 | sed -r 's/[^/]+\$//'\\`_" "${toolname}/${toolbinaryname}" + + # + # VALIDATE THE CHECKSUM OF THE DOWNLOADED MODEL DATA + # + checksum="\$(md5sum "$datatarball" | cut -f1 -d' ')" + if [ "\$checksum" != "${datachecksum}" ]; then + echo "A checksum mismatch occurred when checking the data file for ${toolname}." >&2 + exit 3 + fi + + # + # UNPACK THE DOWNLOADED MODEL DATA + # + tar -C "${toolname}" -v -x -f "$datatarball" + + # + # CREATE VERSION FILE + # + echo "${toolname} ${toolversion}" > "v_${toolname}.txt" + """ +} diff --git a/modules/local/define_software.nf b/modules/local/get_prediction_versions.nf similarity index 57% rename from modules/local/define_software.nf rename to modules/local/get_prediction_versions.nf index 3156763..d62fd04 100644 --- a/modules/local/define_software.nf +++ b/modules/local/get_prediction_versions.nf @@ -4,7 +4,7 @@ include { initOptions; saveFiles; getSoftwareName; getProcessName } from './func params.options = [:] options = initOptions(params.options) -process DEFINE_SOFTWARE { +process GET_PREDICTION_VERSIONS { publishDir "${params.outdir}", mode: params.publish_dir_mode, @@ -17,17 +17,27 @@ process DEFINE_SOFTWARE { container "quay.io/biocontainers/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" } + input: + val external_tool_versions + output: - path '*.csv', emit: versions // model_report.txt + path "versions.csv", emit: versions script: - """ - cat <<-END_VERSIONS > versions.csv - mhcflurry\t\$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) - mhcnuggets\t\$(echo \$(python -c "import pkg_resources; print('mhcnuggets' + pkg_resources.get_distribution('mhcnuggets').version)" | sed 's/^mhcnuggets//; s/ .*\$//' )) - fred2\t\$(echo \$(python -c "import pkg_resources; print('fred2' + pkg_resources.get_distribution('Fred2').version)" | sed 's/^fred2//; s/ .*\$//')) - END_VERSIONS - """ + external_tools = external_tool_versions.join('\n') + +""" +cat <<-END_VERSIONS > versions.csv +mhcflurry\t\$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) +mhcnuggets\t\$(echo \$(python -c "import pkg_resources; print('mhcnuggets' + pkg_resources.get_distribution('mhcnuggets').version)" | sed 's/^mhcnuggets//; s/ .*\$//' )) +fred2\t\$(echo \$(python -c "import pkg_resources; print('fred2' + pkg_resources.get_distribution('Fred2').version)" | sed 's/^fred2//; s/ .*\$//')) +END_VERSIONS + +if ! [ -z "${external_tools}" ] +then + echo ${external_tools} >> versions.csv +fi +""" } diff --git a/modules/local/snpsift_split.nf b/modules/local/snpsift_split.nf index 474ed0f..62553cc 100644 --- a/modules/local/snpsift_split.nf +++ b/modules/local/snpsift_split.nf @@ -18,7 +18,7 @@ process SNPSIFT_SPLIT { } input: - tuple val(meta), path(raw) + tuple val(meta), path(input_file) output: tuple val(meta), path("*.vcf"), emit: splitted @@ -26,11 +26,11 @@ process SNPSIFT_SPLIT { script: """ - SnpSift split ${raw} + SnpSift split ${input_file} - cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: - snpsift: \$(echo \$(snpsift -version 2>&1 | sed -n 3p | cut -d\$' ' -f3)) - END_VERSIONS + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + snpsift: \$(echo \$(snpsift -version 2>&1 | sed -n 3p | cut -d\$' ' -f3)) + END_VERSIONS """ } diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 1b9f7b9..d35961f 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -37,8 +37,8 @@ def modules = params.modules.clone() def check_modules_options = modules['check_modules'] def check_modules_options_pep = check_modules_options.clone() -check_modules_options.args += "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length}" -check_modules_options_pep.args += "--peptides" +check_modules_options.args += "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length}" +check_modules_options_pep.args += "--peptides" def get_peptides_options = modules['gen_peptides'] def split_peptides_options = modules['split_peptides'] @@ -50,19 +50,19 @@ def peptide_predition_var = peptide_predition_options.clone() def merge_json_single = merge_json_options.clone() def merge_json_multi = merge_json_options.clone() -check_modules_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \"$params.multiqc_title\""]) : '' +check_modules_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \"$params.multiqc_title\""]) : '' -peptide_predition_pep.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' -peptide_predition_pep.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' -peptide_predition_pep.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' -peptide_predition_pep.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' -peptide_predition_pep.args += " --peptides " +peptide_predition_pep.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' +peptide_predition_pep.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' +peptide_predition_pep.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' +peptide_predition_pep.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' +peptide_predition_pep.args += " --peptides " -peptide_predition_var.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' -peptide_predition_var.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' -peptide_predition_var.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' -peptide_predition_var.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' -peptide_predition_var.args += " --somatic_mutation " +peptide_predition_var.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' +peptide_predition_var.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' +peptide_predition_var.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' +peptide_predition_var.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' +peptide_predition_var.args += " --somatic_mutation " merge_json_single.args = " --single_input " merge_json_multi.args = " --input \$PWD " @@ -71,9 +71,11 @@ merge_json_multi.args = " --input \$PWD " // // MODULE: Local to the pipeline // -include { GET_SOFTWARE_VERSIONS } from '../modules/local/get_software_versions' addParams( options: [publish_files : ['tsv':'']] ) +include { GET_SOFTWARE_VERSIONS } from '../modules/local/get_software_versions' addParams( options: [publish_files : ['tsv':'']] ) -include { DEFINE_SOFTWARE } from '../modules/local/define_software' addParams( options: [:] ) +include { GET_PREDICTION_VERSIONS } from '../modules/local/get_prediction_versions' addParams( options: [:] ) + +include { EXTERNAL_TOOLS_IMPORT } from '../modules/local/external_tools_import' addParams( options: [:] ) include { CHECK_REQUESTED_MODELS as CHECK_REQUESTED_MODELS_PEP } from '../modules/local/check_requested_models' addParams( options: check_modules_options_pep ) include { CHECK_REQUESTED_MODELS } from '../modules/local/check_requested_models' addParams( options: check_modules_options ) @@ -84,12 +86,14 @@ include { CSVTK_SPLIT} from '../mod include { FRED2_GENERATEPEPTIDES } from '../modules/local/fred2_generatepeptides' addParams( options: get_peptides_options ) include { SPLIT_PEPTIDES } from '../modules/local/split_peptides' addParams( options: split_peptides_options ) +include { SPLIT_PEPTIDES as SPLIT_PEPTIDES_PROTEIN } from '../modules/local/split_peptides' addParams( options: split_peptides_options ) +include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PROTEIN } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_pep ) include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_pep ) include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' addParams( options: peptide_predition_var ) -include { CAT_CAT as CAT_TSV } from '../modules/local/cat_cat' addParams( options: [:] ) -include { CAT_CAT as CAT_FASTA } from '../modules/local/cat_cat' addParams( options: [:] ) +include { CAT_FILES as CAT_TSV } from '../modules/local/cat_files' addParams( options: [:] ) +include { CAT_FILES as CAT_FASTA } from '../modules/local/cat_files' addParams( options: [:] ) include { CSVTK_CONCAT } from '../modules/local/csvtk_concat' addParams( options: [:] ) include { MERGE_JSON as MERGE_JSON_SINGLE } from '../modules/local/merge_json' addParams( options: merge_json_single ) @@ -127,34 +131,106 @@ workflow EPITOPEPREDICTION { ch_versions = Channel.empty() ch_software_versions = Channel.empty() + // Non-free prediction tools + ch_nonfree_paths = Channel.empty() // // SUBWORKFLOW: Read in samplesheet, validate and stage input files // - - INPUT_CHECK ( ch_input ).branch { - meta, input_file -> - variant : meta.inputtype == 'variant' - return [ meta, input_file ] - peptide : meta.inputtype == 'peptide' - return [ meta, input_file ] - protein : meta.inputtype == 'protein' - return [ meta, input_file ] + INPUT_CHECK ( ch_input ) + + INPUT_CHECK.out.branch { + meta_data, input_file -> + variant : meta_data.inputtype == 'variant' + return [ meta_data, input_file ] + peptide : meta_data.inputtype == 'peptide' + return [ meta_data, input_file ] + protein : meta_data.inputtype == 'protein' + return [ meta_data, input_file ] } .set { ch_samples_from_sheet } - //TODO: include and increment when at least one of the processes ahas been run thus far + //TODO think about a better how to handle these supported external versions, config file? (CM) + netmhc_meta_data = [ + netmhc : [ + version : "4.0", + software_md5 : "132dc322da1e2043521138637dd31ebf", + data_url : "https://services.healthtech.dtu.dk/services/NetMHC-4.0/data.tar.gz", + data_md5 : "63c646fa0921d617576531396954d633", + binary_name : "netMHC" + ], + netmhcpan: [ + version : "4.0", + software_md5 : "94aa60f3dfd9752881c64878500e58f3", + data_url : "https://services.healthtech.dtu.dk/services/NetMHCpan-4.0/data.Linux.tar.gz", + data_md5 : "26cbbd99a38f6692249442aeca48608f", + binary_name : "netMHCpan" + ], + netmhcii: [ + version : "2.2", + software_md5 : "918b7108a37599887b0725623d0974e6", + data_url : "https://services.healthtech.dtu.dk/services/NetMHCII-2.2/data.tar.gz", + data_md5 : "11579b61d3bfe13311f7b42fc93b4dd8", + binary_name : "netMHCII" + ], + netmhciipan: [ + version : "3.1", + software_md5 : "0962ce799f7a4c9631f8566a55237073", + data_url : "https://services.healthtech.dtu.dk/services/NetMHCIIpan-3.1/data.tar.gz", + data_md5 : "f833df245378e60ca6e55748344a36f6", + binary_name : "netMHCIIpan" + ] + ] + + tools = params.tools?.tokenize(',') + + if (tools.isEmpty()) { exit 1, "No valid tools specified." } + + c_purple = params.monochrome_logs ? '' : "\033[0;35m"; + c_reset = params.monochrome_logs ? '' : "\033[0m"; + + // get versions of specified external tools + ch_external_versions = Channel + .from(tools) + .filter( ~/(?i)^net.*/ ) + .map { it -> "${it}\t${netmhc_meta_data[it.toLowerCase()].version}"} + .collect() + + // get versions of all prediction tools + GET_PREDICTION_VERSIONS(ch_external_versions.ifEmpty([])) + ch_versions = ch_versions.mix(GET_PREDICTION_VERSIONS.out.versions.ifEmpty("")) + if (!params.show_supported_models) { - // Perform the check requested models on the peptide and variant files, but only the first item - CHECK_REQUESTED_MODELS(ch_samples_from_sheet.protein - .mix(ch_samples_from_sheet.variant) - .combine(ch_versions) - .first()) - // Perform the check requested models on the peptide and variant but only the first item - CHECK_REQUESTED_MODELS_PEP(ch_samples_from_sheet.peptide.combine(ch_versions).first()) + // perform the check requested models on the protein and variant files + // we have to perform it on all alleles that are given in the sample sheet + ch_variants_protein_models = ch_samples_from_sheet.variant + .mix(ch_samples_from_sheet.protein) + .map { meta_data, file -> meta_data.alleles } + .splitCsv(sep: ';') + .collect() + .toList() + .combine(ch_samples_from_sheet.variant.first()) + .map { it -> tuple(it[0], it[-1])} + + CHECK_REQUESTED_MODELS( + ch_variants_protein_models, + ch_versions + ) + + // perform the check requested models on the peptide file where we need the input itself to determine the given peptide lengths + //ch_peptide_models = ch_samples_from_sheet.peptide + //.map { meta_data, input_file -> tuple( [meta_data.alleles], input_file ) } + + CHECK_REQUESTED_MODELS_PEP( + ch_samples_from_sheet.peptide + .map { meta_data, input_file -> tuple( [meta_data.alleles], input_file ) }, + ch_versions + ) // Return a warning if this is raised - CHECK_REQUESTED_MODELS.out.log.subscribe { + CHECK_REQUESTED_MODELS.out.log + .combine(CHECK_REQUESTED_MODELS_PEP.out.log) + .subscribe { model_log_file = file("$it", checkIfExists: true) def lines = model_log_file.readLines() if (lines.size() > 0) { @@ -164,25 +240,8 @@ workflow EPITOPEPREDICTION { } } } - - // Make a division for the variant files and process them further accordingly - ch_samples_from_sheet.variant.branch { - meta, input_file -> - vcf : input_file.extension == 'vcf' || input_file.extension == 'vcf.gz' - return [ meta, input_file ] - tab : input_file.extension == 'tsv' || input_file.extension == 'GSvar' - return [ meta, input_file ] - } - .set { ch_variants } - - // Include the snpsift_split function (only vcf and vcf.gz variant files) - SNPSIFT_SPLIT(ch_variants.vcf) - // Include the csvtk_split function (only variant files with an tsv and GSvar executable) - CSVTK_SPLIT(ch_variants.tab) - - } else { - // Include a process for the show supported models - // TODO: include the module that is able to retrieve the version number of netmhc(ii)(pan) + } + else { SHOW_SUPPORTED_MODELS( ch_samples_from_sheet.protein .mix(ch_samples_from_sheet.variant, ch_samples_from_sheet.peptide) @@ -190,46 +249,89 @@ workflow EPITOPEPREDICTION { .first() ) } + + // Retrieve meta data for external tools + ["netmhc", "netmhcpan", "netmhcii", "netmhciipan"].each { + // Check if the _path parameter was set for this tool + if (params["${it}_path"] as Boolean && ! tools.contains(it)) + { + log.warn("--${it}_path specified, but --tools does not contain ${it}. Both have to be specified to enable ${it}. Ignoring.") + } + else if (!params["${it}_path"] as Boolean && tools.contains(it)) + { + log.warn("--${it}_path not specified, but --tools contains ${it}. Both have to be specified to enable ${it}. Ignoring.") + tools.removeElement(it) + } + else if (params["${it}_path"]) + { + // If so, add the tool name and user installation path to the external tools import channel + ch_nonfree_paths.bind([ + it, + netmhc_meta_data[it].version, + netmhc_meta_data[it].software_md5, + file(params["${it}_path"], checkIfExists:true), + file(netmhc_meta_data[it].data_url), + netmhc_meta_data[it].data_md5, + netmhc_meta_data[it].binary_name + ]) + } + } + // import external tools + EXTERNAL_TOOLS_IMPORT(ch_nonfree_paths) + /* + ======================================================================================== + PREPARE INPUT FOR PREDICTION ======================================================================================== */ - // Process FASTA file and generated peptides - if (ch_samples_from_sheet.protein.count() != 0) { - FRED2_GENERATEPEPTIDES(ch_samples_from_sheet.protein) - ch_split_peptides = FRED2_GENERATEPEPTIDES.out.splitted - } else { - ch_split_peptides = ch_samples_from_sheet.peptide + // Make a division for the variant files and process them further accordingly + ch_samples_from_sheet.variant.branch { + meta_data, input_file -> + vcf : input_file.extension == 'vcf' || input_file.extension == 'vcf.gz' + return [ meta_data, input_file ] + tab : input_file.extension == 'tsv' || input_file.extension == 'GSvar' + return [ meta_data, input_file ] } + .set { ch_variants } + + // include the snpsift_split function (only vcf and vcf.gz variant files) + SNPSIFT_SPLIT(ch_variants.vcf) + // include the csvtk_split function (only variant files with an tsv and GSvar executable) + CSVTK_SPLIT(ch_variants.tab) + + // process FASTA file and generated peptides + FRED2_GENERATEPEPTIDES(ch_samples_from_sheet.protein) + SPLIT_PEPTIDES_PROTEIN(FRED2_GENERATEPEPTIDES.out.splitted) - // Split peptide data + // split peptide data // TODO: Add the appropriate container to remove the warning - SPLIT_PEPTIDES(ch_split_peptides) + SPLIT_PEPTIDES(ch_samples_from_sheet.peptide) + /* ======================================================================================== - */ - // TODO: Remove them when the mhcnet(ii)(pan) is introduced - DEFINE_SOFTWARE() - ch_versions = ch_versions.mix(DEFINE_SOFTWARE.out.versions.ifEmpty(null)) - /* + RUN EPITOPE PREDICTION ======================================================================================== */ - // Run epitope prediction + + // not sure if this is the best solution to also have a extra process for protein, but I think we need it for cases when we have both in one sheet? (CM) + PEPTIDE_PREDICTION_PROTEIN(SPLIT_PEPTIDES_PROTEIN.out.splitted.combine(ch_versions).transpose()) PEPTIDE_PREDICTION_PEP(SPLIT_PEPTIDES.out.splitted.combine(ch_versions).transpose()) PEPTIDE_PREDICTION_VAR(CSVTK_SPLIT.out.splitted.mix(SNPSIFT_SPLIT.out.splitted).combine(ch_versions).transpose()) - // TODO: Change when the netmhc(ii)(pan) replaced the DEFINE_SOFTWARE process - ch_versions = PEPTIDE_PREDICTION_VAR.out.versions + + // collect prediction script versions + ch_versions = ch_versions.mix(PEPTIDE_PREDICTION_VAR.out.versions) // Combine the predicted files and save them in a branch to make a distinction between samples with single and multi files - PEPTIDE_PREDICTION_PEP.out.predicted.mix(PEPTIDE_PREDICTION_VAR.out.predicted) + PEPTIDE_PREDICTION_PEP.out.predicted.mix(PEPTIDE_PREDICTION_VAR.out.predicted, PEPTIDE_PREDICTION_PROTEIN.out.predicted) .groupTuple() - .flatMap { meta, predicted -> [[[sample:meta.sample, alleles:meta.alleles, files:predicted.size()], predicted]] } + .flatMap { meta_data, predicted -> [[[sample:meta_data.sample, alleles:meta_data.alleles, files:predicted.size()], predicted]] } .branch { - meta, predicted -> - multi: meta.files > 1 - return [ meta, predicted ] - single: meta.files == 1 - return [ meta, predicted ] + meta_data, predicted -> + multi: meta_data.files > 1 + return [ meta_data, predicted ] + single: meta_data.files == 1 + return [ meta_data, predicted ] } .set { ch_predicted_peptides } @@ -237,18 +339,19 @@ workflow EPITOPEPREDICTION { CAT_TSV(ch_predicted_peptides.single) CSVTK_CONCAT(ch_predicted_peptides.multi) ch_versions = ch_versions.mix(CSVTK_CONCAT.out.versions.ifEmpty(null)) + // Combine protein sequences CAT_FASTA(PEPTIDE_PREDICTION_PEP.out.fasta.mix(PEPTIDE_PREDICTION_VAR.out.fasta).groupTuple()) PEPTIDE_PREDICTION_PEP.out.json.mix(PEPTIDE_PREDICTION_VAR.out.json) .groupTuple() - .flatMap { meta, json -> [[[sample:meta.sample, alleles:meta.alleles, files:json.size()], json]] } + .flatMap { meta_data, json -> [[[sample:meta_data.sample, alleles:meta_data.alleles, files:json.size()], json]] } .branch { - meta, json -> - multi: meta.files > 1 - return [ meta, json ] - single: meta.files == 1 - return [ meta, json ] + meta_data, json -> + multi: meta_data.files > 1 + return [ meta_data, json ] + single: meta_data.files == 1 + return [ meta_data, json ] } .set { ch_json_reports } @@ -259,8 +362,7 @@ workflow EPITOPEPREDICTION { // // MODULE: Pipeline reporting // - // TODO: Get the software versions that are done for each step (expecially the protein prediction step) - ch_software_versions + ch_versions .map { it -> if (it) [ it.baseName, it ] } .groupTuple() .map { it[1][0] } @@ -271,7 +373,6 @@ workflow EPITOPEPREDICTION { ch_software_versions.map { it }.collect() ) - // // MODULE: MultiQC // From 36e6a354c6fea5c6930ac4e27ae22a83d7163469 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Tue, 7 Dec 2021 08:17:31 +0100 Subject: [PATCH 081/137] Change formatting and process output type --- modules/local/check_requested_models.nf | 3 ++- workflows/epitopeprediction.nf | 33 ++++++++++++++----------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/modules/local/check_requested_models.nf b/modules/local/check_requested_models.nf index 3b4fc58..dda4f5e 100644 --- a/modules/local/check_requested_models.nf +++ b/modules/local/check_requested_models.nf @@ -24,12 +24,13 @@ process CHECK_REQUESTED_MODELS { output: path '*.txt', emit: txt // model_report.txt path '*.log', emit: log // model_warnings.log - val "versions.yml", emit: versions + path "versions.yml", emit: versions script: def argument = "$options.args" + if (argument.contains("peptides") == true) { argument += " ${input_file}" } diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 6cbdb6d..527ed50 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -52,17 +52,17 @@ def merge_json_multi = merge_json_options.clone() check_modules_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \"$params.multiqc_title\""]) : '' -peptide_prediction_pep.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' -peptide_prediction_pep.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' -peptide_prediction_pep.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' -peptide_prediction_pep.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' -peptide_prediction_pep.args += " --peptides " - -peptide_prediction_var.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' -peptide_prediction_var.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' -peptide_prediction_var.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' -peptide_prediction_var.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' -peptide_prediction_var.args += " --somatic_mutation " +peptide_prediction_pep.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' +peptide_prediction_pep.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' +peptide_prediction_pep.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' +peptide_prediction_pep.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' +peptide_prediction_pep.args += " --peptides " + +peptide_prediction_var.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' +peptide_prediction_var.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' +peptide_prediction_var.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' +peptide_prediction_var.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' +peptide_prediction_var.args += " --somatic_mutation " merge_json_single.args = " --single_input " merge_json_multi.args = " --input \$PWD " @@ -210,6 +210,7 @@ workflow EPITOPEPREDICTION { .map { meta_data, file -> meta_data.alleles } .splitCsv(sep: ';') .collect() + .unique() .toList() .combine(ch_samples_from_sheet.variant.first()) .map { it -> tuple(it[0], it[-1])} @@ -319,19 +320,23 @@ workflow EPITOPEPREDICTION { PEPTIDE_PREDICTION_PROTEIN( SPLIT_PEPTIDES_PROTEIN.out.splitted .combine(ch_versions) - .transpose()) + .transpose() + ) // Run epitope prediction for peptides PEPTIDE_PREDICTION_PEP( SPLIT_PEPTIDES.out.splitted .combine(ch_versions) - .transpose()) + .transpose() + ) // Run epitope prediction for variants PEPTIDE_PREDICTION_VAR( CSVTK_SPLIT.out.splitted .mix(SNPSIFT_SPLIT.out.splitted) - .combine(ch_versions).transpose()) + .combine(ch_versions) + .transpose() + ) // collect prediction script versions ch_versions = ch_versions.mix(PEPTIDE_PREDICTION_VAR.out.versions) From 3b275d8f2a07bdfc6580086cb9916abedc16e13e Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Tue, 7 Dec 2021 08:38:42 +0100 Subject: [PATCH 082/137] Use unique allele input for check of requested models --- workflows/epitopeprediction.nf | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 527ed50..2bdcdf9 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -210,10 +210,9 @@ workflow EPITOPEPREDICTION { .map { meta_data, file -> meta_data.alleles } .splitCsv(sep: ';') .collect() - .unique() .toList() .combine(ch_samples_from_sheet.variant.first()) - .map { it -> tuple(it[0], it[-1])} + .map { it -> tuple(it[0].unique(), it[-1])} CHECK_REQUESTED_MODELS( ch_variants_protein_models, @@ -223,7 +222,7 @@ workflow EPITOPEPREDICTION { // perform the check requested models on the peptide file where we need the input itself to determine the given peptide lengths CHECK_REQUESTED_MODELS_PEP( ch_samples_from_sheet.peptide - .map { meta_data, input_file -> tuple( [meta_data.alleles], input_file ) }, + .map { meta_data, input_file -> tuple( meta_data.alleles.split(';'), input_file ) }, ch_versions ) From e94cf6ea89066426410a9aff867977da5edb5c1d Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Tue, 7 Dec 2021 14:02:55 +0100 Subject: [PATCH 083/137] Change order of profiles and module config import, update container for process, fix quotes and minor things --- bin/check_requested_models.py | 5 ++--- conf/modules.config | 4 ++-- modules/local/check_requested_models.nf | 5 ++--- modules/local/peptide_prediction.nf | 6 +++--- nextflow.config | 6 +++--- workflows/epitopeprediction.nf | 18 +++++++++--------- 6 files changed, 21 insertions(+), 23 deletions(-) diff --git a/bin/check_requested_models.py b/bin/check_requested_models.py index a6fff1a..9229084 100755 --- a/bin/check_requested_models.py +++ b/bin/check_requested_models.py @@ -64,7 +64,6 @@ def __main__(): methods = { method:version for tool, version in tool_version for method in selected_methods if tool.lower() in method.lower() } # get the alleles - # alleles = FileReader.read_lines(args.alleles, in_type=Allele) alleles= [Allele(a) for a in args.alleles.split(";")] peptide_lengths = [] @@ -80,7 +79,7 @@ def __main__(): if version not in EpitopePredictorFactory.available_methods()[method.lower()]: raise ValueError("The specified version " + version + " for " + method + " is not supported by Fred2.") - # check if reuested alleles are supported + # check if requested alleles are supported support_all_alleles = True no_allele_support = True for a in alleles: @@ -107,7 +106,7 @@ def __main__(): output.write("\n") - # check if reuested lengths are supported + # check if requested lengths are supported support_all_lengths = True no_length_support = True for l in peptide_lengths: diff --git a/conf/modules.config b/conf/modules.config index 037d4cf..b778776 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -29,7 +29,7 @@ params { args = "" } 'check_modules' { - args = "--tools ${params.tools.tokenize(',').join(',') } " + args = "--tools ${params.tools} " } 'gen_peptides' { args = "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} " @@ -38,7 +38,7 @@ params { args = "--min_size ${params.peptides_split_minchunksize} --max_chunks ${params.peptides_split_maxchunks} " } 'peptide_prediction' { - args = "--mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --tools ${params.tools} --reference ${params.genome_version} " + args = "--tools ${params.tools} --mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --reference ${params.genome_version} " } 'merge_json' { args = "" diff --git a/modules/local/check_requested_models.nf b/modules/local/check_requested_models.nf index dda4f5e..16c5a9a 100644 --- a/modules/local/check_requested_models.nf +++ b/modules/local/check_requested_models.nf @@ -10,11 +10,11 @@ process CHECK_REQUESTED_MODELS { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'reports', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "bioconda::fred2=2.0.6 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) + conda (params.enable_conda ? "bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" } else { - container "quay.io/biocontainers/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + container "quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" } input: @@ -30,7 +30,6 @@ process CHECK_REQUESTED_MODELS { script: def argument = "$options.args" - if (argument.contains("peptides") == true) { argument += " ${input_file}" } diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf index 8b51079..329e7d2 100644 --- a/modules/local/peptide_prediction.nf +++ b/modules/local/peptide_prediction.nf @@ -28,9 +28,9 @@ process PEPTIDE_PREDICTION { """ epaa.py --identifier ${splitted.baseName} \ - --alleles ${meta.alleles} \ - --versions ${software_versions} \ - $options.args ${splitted} + --alleles '${meta.alleles}' \ + --versions ${software_versions} \ + $options.args ${splitted} cat <<-END_VERSIONS > versions.yml ${getProcessName(task.process)}: diff --git a/nextflow.config b/nextflow.config index d6b493e..055a4f4 100644 --- a/nextflow.config +++ b/nextflow.config @@ -93,9 +93,6 @@ params { // Load base.config by default for all pipelines includeConfig 'conf/base.config' -// Load modules.config for DSL2 module specific options -includeConfig 'conf/modules.config' - // Load nf-core custom profiles from different Institutions try { includeConfig "${params.custom_config_base}/nfcore_custom.config" @@ -168,6 +165,9 @@ profiles { test_full { includeConfig 'conf/test_full.config' } } +// Load modules.config for DSL2 module specific options +includeConfig 'conf/modules.config' + // Load igenomes.config if required if (!params.igenomes_ignore) { includeConfig 'conf/igenomes.config' diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 2bdcdf9..c0e47b5 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -37,8 +37,6 @@ def modules = params.modules.clone() def check_modules_options = modules['check_modules'] def check_modules_options_pep = check_modules_options.clone() -check_modules_options.args += "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length}" -check_modules_options_pep.args += "--peptides" def get_peptides_options = modules['gen_peptides'] def split_peptides_options = modules['split_peptides'] @@ -50,21 +48,23 @@ def peptide_prediction_var = peptide_prediction_options.clone() def merge_json_single = merge_json_options.clone() def merge_json_multi = merge_json_options.clone() +check_modules_options.args += " --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} " +check_modules_options_pep.args += " --peptides " check_modules_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \"$params.multiqc_title\""]) : '' -peptide_prediction_pep.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' +peptide_prediction_pep.args += params.proteome ? Utils.joinModuleArgs(["--proteome ${params.proteome}"]) : '' peptide_prediction_pep.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' peptide_prediction_pep.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' -peptide_prediction_pep.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' -peptide_prediction_pep.args += " --peptides " +peptide_prediction_pep.args += params.tool_thresholds ? Utils.joinModuleArgs(["--tool_thresholds ${tool_thresholds}"]) : '' +peptide_prediction_pep.args += ' --peptides ' -peptide_prediction_var.args += params.proteome ? Utils.joinModuleArgs(['--proteome ${params.proteome}']) : '' +peptide_prediction_var.args += params.proteome ? Utils.joinModuleArgs(["--proteome ${params.proteome}"]) : '' peptide_prediction_var.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' peptide_prediction_var.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' -peptide_prediction_var.args += params.tool_thresholds ? Utils.joinModuleArgs(['--tool_thresholds ${tool_thresholds}']) : '' -peptide_prediction_var.args += " --somatic_mutation " +peptide_prediction_var.args += params.tool_thresholds ? Utils.joinModuleArgs(["--tool_thresholds ${tool_thresholds}"]) : '' +peptide_prediction_var.args += ' --somatic_mutation ' -merge_json_single.args = " --single_input " +merge_json_single.args = ' --single_input ' merge_json_multi.args = " --input \$PWD " // From 41ffe2d7658708d3ff4e5ac40346ffa7da914cbf Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Thu, 9 Dec 2021 16:49:42 +0100 Subject: [PATCH 084/137] Add module for software versions fix tracking of software versions add protein results to report generation update containers processes change results folder structure fix functionality for supported models --- bin/check_requested_models.py | 2 +- bin/check_supported_models.py | 6 +- bin/epaa.py | 2 +- modules.json | 5 +- modules/local/cat_files.nf | 6 +- modules/local/csvtk_concat.nf | 2 +- modules/local/csvtk_split.nf | 8 +- modules/local/fred2_generatepeptides.nf | 9 +- modules/local/get_prediction_versions.nf | 6 +- modules/local/merge_json.nf | 8 +- modules/local/peptide_prediction.nf | 16 +-- modules/local/show_supported_models.nf | 4 +- modules/local/snpsift_split.nf | 2 +- modules/local/split_peptides.nf | 6 + .../custom/dumpsoftwareversions/main.nf | 21 +++ .../custom/dumpsoftwareversions/meta.yml | 34 +++++ .../templates/dumpsoftwareversions.py | 89 ++++++++++++ workflows/epitopeprediction.nf | 134 ++++++++++-------- 18 files changed, 266 insertions(+), 94 deletions(-) create mode 100644 modules/nf-core/modules/custom/dumpsoftwareversions/main.nf create mode 100644 modules/nf-core/modules/custom/dumpsoftwareversions/meta.yml create mode 100644 modules/nf-core/modules/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py diff --git a/bin/check_requested_models.py b/bin/check_requested_models.py index 9229084..a81311d 100755 --- a/bin/check_requested_models.py +++ b/bin/check_requested_models.py @@ -57,7 +57,7 @@ def __main__(): args = parser.parse_args() selected_methods = [item for item in args.tools.split(',')] with open(args.versions, 'r') as versions_file: - tool_version = [ (row[0].split()[0], str(row[1])) for row in csv.reader(versions_file, delimiter = "\t") ] + tool_version = [ (row[0].split()[0], str(row[1])) for row in csv.reader(versions_file, delimiter = ":") ] # NOTE this needs to be updated, if a newer version will be available via Fred2 and should be used in the future tool_version.append(('syfpeithi', '1.0')) # how to handle this? # get for each method the corresponding tool version diff --git a/bin/check_supported_models.py b/bin/check_supported_models.py index c0d8ab7..bbcdabb 100755 --- a/bin/check_supported_models.py +++ b/bin/check_supported_models.py @@ -25,14 +25,14 @@ def __main__(): # NOTE this needs to be updated manually, if other methods should be used in the future available_methods = ['syfpeithi', 'mhcflurry', 'mhcnuggets-class-1', 'mhcnuggets-class-2'] with open(args.versions, 'r') as versions_file: - tool_version = [ (row[0].split()[0], str(row[1])) for row in csv.reader(versions_file, delimiter = "\t") ] + tool_version = [ (row[0].split()[0], str(row[1])) for row in csv.reader(versions_file, delimiter = ":") ] # NOTE this needs to be updated, if a newer version will be available via Fred2 and should be used in the future tool_version.append(('syfpeithi', '1.0')) # get for each method the corresponding tool version - methods = { method:version for tool, version in tool_version for method in available_methods if tool.lower() in method.lower() } + methods = { method.strip():version.strip() for tool, version in tool_version for method in available_methods if tool.lower() in method.lower() } for method, version in methods.items(): - if version not in EpitopePredictorFactory.available_methods()[method]: + if (version not in EpitopePredictorFactory.available_methods()[method]): raise ValueError("The specified version " + version + " for " + method + " is not supported by Fred2.") predictor = EpitopePredictorFactory(method, version=version) diff --git a/bin/epaa.py b/bin/epaa.py index d1e32f3..9b19ae0 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -1016,7 +1016,7 @@ def __main__(): selected_methods = [item for item in args.tools.split(',')] with open(args.versions, 'r') as versions_file: - tool_version = [ (row[0].split()[0], str(row[1])) for row in csv.reader(versions_file, delimiter = "\t") ] + tool_version = [ (row[0].split()[0], str(row[1])) for row in csv.reader(versions_file, delimiter = ":") ] # NOTE this needs to be updated, if a newer version will be available via Fred2 and should be used in the future tool_version.append(('syfpeithi', '1.0')) # get for each selected method the corresponding tool version diff --git a/modules.json b/modules.json index 81e124f..3fc7b4d 100644 --- a/modules.json +++ b/modules.json @@ -3,6 +3,9 @@ "homePage": "https://github.com/nf-core/epitopeprediction", "repos": { "nf-core/modules": { + "custom/dumpsoftwareversions": { + "git_sha": "20d8250d9f39ddb05dfb437603aaf99b5c0b2b41" + }, "fastqc": { "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" }, @@ -11,4 +14,4 @@ } } } -} +} \ No newline at end of file diff --git a/modules/local/cat_files.nf b/modules/local/cat_files.nf index 5519a3d..5dff1ef 100644 --- a/modules/local/cat_files.nf +++ b/modules/local/cat_files.nf @@ -7,16 +7,16 @@ options = initOptions(params.options) process CAT_FILES { publishDir "${params.outdir}", mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'merged_predictions', meta:[:], publish_by_meta:[]) } input: tuple val(meta), path(input) output: - tuple val(meta), path("*_prediction*"), emit: output + tuple val(meta), path("*_prediction.*"), emit: output script: - def fileExt = input.collect { it.name.tokenize("\\.")[1] }.join(' ') + def fileExt = input.collect { it.name.tokenize("\\.")[-1] }.join(' ') prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}" """ diff --git a/modules/local/csvtk_concat.nf b/modules/local/csvtk_concat.nf index 38b3994..28a248c 100644 --- a/modules/local/csvtk_concat.nf +++ b/modules/local/csvtk_concat.nf @@ -8,7 +8,7 @@ process CSVTK_CONCAT { publishDir "${params.outdir}", mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'merged_predictions', meta:[:], publish_by_meta:[]) } conda (params.enable_conda ? "bioconda::csvtk=0.23.0" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { diff --git a/modules/local/csvtk_split.nf b/modules/local/csvtk_split.nf index 5c8e346..65cdbe9 100644 --- a/modules/local/csvtk_split.nf +++ b/modules/local/csvtk_split.nf @@ -8,7 +8,7 @@ process CSVTK_SPLIT { publishDir "${params.outdir}", mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'.', meta:[:], publish_by_meta:[]) } + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'splitted', meta:[:], publish_by_meta:[]) } conda (params.enable_conda ? "bioconda::csvtk=0.23.0" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { @@ -30,9 +30,9 @@ process CSVTK_SPLIT { csvtk split ${raw} -t -C '&' -f '#chr' cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: - csvtk: \$(echo \$( csvtk version | sed -e "s/csvtk v//g" )) - END_VERSIONS + ${getProcessName(task.process)}: + csvtk: \$(echo \$( csvtk version | sed -e "s/csvtk v//g" )) + END_VERSIONS """ } diff --git a/modules/local/fred2_generatepeptides.nf b/modules/local/fred2_generatepeptides.nf index f3aa24f..b30f9c1 100644 --- a/modules/local/fred2_generatepeptides.nf +++ b/modules/local/fred2_generatepeptides.nf @@ -8,7 +8,7 @@ process FRED2_GENERATEPEPTIDES { publishDir "${params.outdir}", mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'.', meta:[:], publish_by_meta:[]) } + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getProcessName(task.process), meta:[:], publish_by_meta:[]) } conda (params.enable_conda ? "conda-forge::fred2:2.0.7" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { @@ -33,8 +33,9 @@ process FRED2_GENERATEPEPTIDES { $options.args cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: - fred2: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)")) - END_VERSIONS + ${getProcessName(task.process)}: + fred2: \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)") + python: \$(python --version 2>&1 | sed 's/Python //g') + END_VERSIONS """ } diff --git a/modules/local/get_prediction_versions.nf b/modules/local/get_prediction_versions.nf index d62fd04..6405b5e 100644 --- a/modules/local/get_prediction_versions.nf +++ b/modules/local/get_prediction_versions.nf @@ -28,9 +28,9 @@ process GET_PREDICTION_VERSIONS { """ cat <<-END_VERSIONS > versions.csv -mhcflurry\t\$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) -mhcnuggets\t\$(echo \$(python -c "import pkg_resources; print('mhcnuggets' + pkg_resources.get_distribution('mhcnuggets').version)" | sed 's/^mhcnuggets//; s/ .*\$//' )) -fred2\t\$(echo \$(python -c "import pkg_resources; print('fred2' + pkg_resources.get_distribution('Fred2').version)" | sed 's/^fred2//; s/ .*\$//')) +mhcflurry: \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') +mhcnuggets: \$(python -c "import pkg_resources; print('mhcnuggets' + pkg_resources.get_distribution('mhcnuggets').version)" | sed 's/^mhcnuggets//; s/ .*\$//' ) +fred2: \$(python -c "import pkg_resources; print('fred2' + pkg_resources.get_distribution('Fred2').version)" | sed 's/^fred2//; s/ .*\$//') END_VERSIONS if ! [ -z "${external_tools}" ] diff --git a/modules/local/merge_json.nf b/modules/local/merge_json.nf index e9ced2a..b50d568 100644 --- a/modules/local/merge_json.nf +++ b/modules/local/merge_json.nf @@ -8,7 +8,7 @@ process MERGE_JSON { publishDir "${params.outdir}", mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'merged_predictions', meta:[:], publish_by_meta:[]) } conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { @@ -22,6 +22,7 @@ process MERGE_JSON { output: tuple val(meta), path("*.json"), emit: json + path "versions.yml", emit: versions script: def argument = "$options.args" @@ -31,6 +32,11 @@ process MERGE_JSON { """ merge_jsons.py --prefix ${meta.sample} ${argument} + + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + python: \$(python --version | sed 's/Python //g') + END_VERSIONS """ } diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf index 329e7d2..c418405 100644 --- a/modules/local/peptide_prediction.nf +++ b/modules/local/peptide_prediction.nf @@ -7,7 +7,7 @@ options = initOptions(params.options) process PEPTIDE_PREDICTION { publishDir "${params.outdir}", mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'.', meta:[:], publish_by_meta:[]) } + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } conda (params.enable_conda ? "bioconda::snpsift=4.3.1t bioconda::python=2.7.15 bioconda::pyvcf=0.6.8 conda-forge::pandas=0.24.2 bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { @@ -18,6 +18,7 @@ process PEPTIDE_PREDICTION { input: tuple val(meta), path(splitted), val(software_versions) + output: tuple val(meta), path("*.json"), emit: json tuple val(meta), path("*.tsv"), emit: predicted @@ -25,7 +26,6 @@ process PEPTIDE_PREDICTION { path "versions.yml", emit: versions script: - """ epaa.py --identifier ${splitted.baseName} \ --alleles '${meta.alleles}' \ @@ -34,12 +34,12 @@ process PEPTIDE_PREDICTION { cat <<-END_VERSIONS > versions.yml ${getProcessName(task.process)}: - snpsift: \$(echo \$(snpsift -version 2>&1 | sed -n 3p | cut -d\$' ' -f3)) - pandas: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('pandas').version)")) - pyvcf: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('pyvcf').version)")) - mhcflurry: \$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) - mhcnuggets: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('mhcnuggets').version)")) - fred2: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)")) + python: \$(python --version 2>&1 | sed 's/Python //g') + fred2: \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)") + pandas: \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('pandas').version)") + pyvcf: \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('pyvcf').version)") + mhcflurry: \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') + mhcnuggets: \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('mhcnuggets').version)") END_VERSIONS """ diff --git a/modules/local/show_supported_models.nf b/modules/local/show_supported_models.nf index bb930b8..72990b5 100644 --- a/modules/local/show_supported_models.nf +++ b/modules/local/show_supported_models.nf @@ -10,11 +10,11 @@ process SHOW_SUPPORTED_MODELS { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'supported_models', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "bioconda::fred2=2.0.6 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) + conda (params.enable_conda ? "bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" } else { - container "quay.io/biocontainers/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + container "quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" } input: diff --git a/modules/local/snpsift_split.nf b/modules/local/snpsift_split.nf index 62553cc..9acc94d 100644 --- a/modules/local/snpsift_split.nf +++ b/modules/local/snpsift_split.nf @@ -8,7 +8,7 @@ process SNPSIFT_SPLIT { publishDir "${params.outdir}", mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'.', meta:[:], publish_by_meta:[]) } + saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'splitted', meta:[:], publish_by_meta:[]) } conda (params.enable_conda ? "conda-forge::snpsift:4.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { diff --git a/modules/local/split_peptides.nf b/modules/local/split_peptides.nf index 374cb54..fd30fe7 100644 --- a/modules/local/split_peptides.nf +++ b/modules/local/split_peptides.nf @@ -23,6 +23,7 @@ process SPLIT_PEPTIDES { output: tuple val(meta), path("*.tsv"), emit: splitted + path "versions.yml", emit: versions script: def prefix = options.suffix ? "${peptide.baseName}_${options.suffix}" : "${peptide.baseName}" @@ -31,5 +32,10 @@ process SPLIT_PEPTIDES { split_peptides.py --input ${peptide} \\ --output_base "${prefix}" \\ $options.args + + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + python: \$(python --version | sed 's/Python //g') + END_VERSIONS """ } diff --git a/modules/nf-core/modules/custom/dumpsoftwareversions/main.nf b/modules/nf-core/modules/custom/dumpsoftwareversions/main.nf new file mode 100644 index 0000000..934bb46 --- /dev/null +++ b/modules/nf-core/modules/custom/dumpsoftwareversions/main.nf @@ -0,0 +1,21 @@ +process CUSTOM_DUMPSOFTWAREVERSIONS { + label 'process_low' + + // Requires `pyyaml` which does not have a dedicated container but is in the MultiQC container + conda (params.enable_conda ? "bioconda::multiqc=1.11" : null) + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/multiqc:1.11--pyhdfd78af_0' : + 'quay.io/biocontainers/multiqc:1.11--pyhdfd78af_0' }" + + input: + path versions + + output: + path "software_versions.yml" , emit: yml + path "software_versions_mqc.yml", emit: mqc_yml + path "versions.yml" , emit: versions + + script: + def args = task.ext.args ?: '' + template 'dumpsoftwareversions.py' +} diff --git a/modules/nf-core/modules/custom/dumpsoftwareversions/meta.yml b/modules/nf-core/modules/custom/dumpsoftwareversions/meta.yml new file mode 100644 index 0000000..5b5b8a6 --- /dev/null +++ b/modules/nf-core/modules/custom/dumpsoftwareversions/meta.yml @@ -0,0 +1,34 @@ +name: custom_dumpsoftwareversions +description: Custom module used to dump software versions within the nf-core pipeline template +keywords: + - custom + - version +tools: + - custom: + description: Custom module used to dump software versions within the nf-core pipeline template + homepage: https://github.com/nf-core/tools + documentation: https://github.com/nf-core/tools + licence: ['MIT'] +input: + - versions: + type: file + description: YML file containing software versions + pattern: "*.yml" + +output: + - yml: + type: file + description: Standard YML file containing software versions + pattern: "software_versions.yml" + - mqc_yml: + type: file + description: MultiQC custom content YML file containing software versions + pattern: "software_versions_mqc.yml" + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" + +authors: + - "@drpatelh" + - "@grst" diff --git a/modules/nf-core/modules/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py b/modules/nf-core/modules/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py new file mode 100644 index 0000000..d139039 --- /dev/null +++ b/modules/nf-core/modules/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python + +import yaml +import platform +from textwrap import dedent + + +def _make_versions_html(versions): + html = [ + dedent( + """\\ + + + + + + + + + + """ + ) + ] + for process, tmp_versions in sorted(versions.items()): + html.append("") + for i, (tool, version) in enumerate(sorted(tmp_versions.items())): + html.append( + dedent( + f"""\\ + + + + + + """ + ) + ) + html.append("") + html.append("
Process Name Software Version
{process if (i == 0) else ''}{tool}{version}
") + return "\\n".join(html) + + +versions_this_module = {} +versions_this_module["${task.process}"] = { + "python": platform.python_version(), + "yaml": yaml.__version__, +} + +with open("$versions") as f: + versions_by_process = yaml.load(f, Loader=yaml.BaseLoader) | versions_this_module + +# aggregate versions by the module name (derived from fully-qualified process name) +versions_by_module = {} +for process, process_versions in versions_by_process.items(): + module = process.split(":")[-1] + try: + assert versions_by_module[module] == process_versions, ( + "We assume that software versions are the same between all modules. " + "If you see this error-message it means you discovered an edge-case " + "and should open an issue in nf-core/tools. " + ) + except KeyError: + versions_by_module[module] = process_versions + +versions_by_module["Workflow"] = { + "Nextflow": "$workflow.nextflow.version", + "$workflow.manifest.name": "$workflow.manifest.version", +} + +versions_mqc = { + "id": "software_versions", + "section_name": "${workflow.manifest.name} Software Versions", + "section_href": "https://github.com/${workflow.manifest.name}", + "plot_type": "html", + "description": "are collected at run time from the software output.", + "data": _make_versions_html(versions_by_module), +} + +with open("software_versions.yml", "w") as f: + yaml.dump(versions_by_module, f, default_flow_style=False) +with open("software_versions_mqc.yml", "w") as f: + yaml.dump(versions_mqc, f, default_flow_style=False) + +with open("versions.yml", "w") as f: + yaml.dump(versions_this_module, f, default_flow_style=False) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index c0e47b5..ba4d245 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -115,7 +115,8 @@ multiqc_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \" // // MODULE: Installed directly from nf-core/modules // -include { MULTIQC } from '../modules/nf-core/modules/multiqc/main' addParams( options: multiqc_options ) +include { MULTIQC } from '../modules/nf-core/modules/multiqc/main' addParams( options: multiqc_options ) +include { CUSTOM_DUMPSOFTWAREVERSIONS } from '../modules/nf-core/modules/custom/dumpsoftwareversions/main' addParams( options: [:] ) /* ======================================================================================== @@ -195,60 +196,68 @@ workflow EPITOPEPREDICTION { ch_external_versions = Channel .from(tools) .filter( ~/(?i)^net.*/ ) - .map { it -> "${it}\t${netmhc_meta_data[it.toLowerCase()].version}"} + .map { it -> "${it}: ${netmhc_meta_data[it.toLowerCase()].version}"} .collect() // get versions of all prediction tools GET_PREDICTION_VERSIONS(ch_external_versions.ifEmpty([])) - ch_versions = ch_versions.mix(GET_PREDICTION_VERSIONS.out.versions.ifEmpty("")) - - if (!params.show_supported_models) { - // perform the check requested models on the protein and variant files - // we have to perform it on all alleles that are given in the sample sheet - ch_variants_protein_models = ch_samples_from_sheet.variant - .mix(ch_samples_from_sheet.protein) - .map { meta_data, file -> meta_data.alleles } - .splitCsv(sep: ';') - .collect() - .toList() - .combine(ch_samples_from_sheet.variant.first()) - .map { it -> tuple(it[0].unique(), it[-1])} - - CHECK_REQUESTED_MODELS( - ch_variants_protein_models, - ch_versions - ) - - // perform the check requested models on the peptide file where we need the input itself to determine the given peptide lengths - CHECK_REQUESTED_MODELS_PEP( - ch_samples_from_sheet.peptide - .map { meta_data, input_file -> tuple( meta_data.alleles.split(';'), input_file ) }, - ch_versions - ) + ch_prediction_tool_versions = GET_PREDICTION_VERSIONS.out.versions.ifEmpty("") - // Return a warning if this is raised - CHECK_REQUESTED_MODELS.out.log - .combine(CHECK_REQUESTED_MODELS_PEP.out.log) - .subscribe { - model_log_file = file("$it", checkIfExists: true) - def lines = model_log_file.readLines() - if (lines.size() > 0) { - log.info "-${c_purple} Warning: ${c_reset}-" - lines.each { String line -> - log.info "-${c_purple} $line ${c_reset}-" - } - } - } - } - else { + // TODO I guess it would be better to have two subworkflows for the if else parts (CM) + if (params.show_supported_models) { SHOW_SUPPORTED_MODELS( ch_samples_from_sheet.protein .mix(ch_samples_from_sheet.variant, ch_samples_from_sheet.peptide) - .combine(ch_versions) + .combine(ch_prediction_tool_versions) .first() ) } + else { + + /* + ======================================================================================== + CHECK AVAILABLE MODELS AND LOAD EXTERNAL TOOLS + ======================================================================================== + */ + + // perform the check requested models on the protein and variant files + // we have to perform it on all alleles that are given in the sample sheet + ch_variants_protein_models = ch_samples_from_sheet.variant + .mix(ch_samples_from_sheet.protein) + .map { meta_data, file -> meta_data.alleles } + .splitCsv(sep: ';') + .collect() + .toList() + .combine(ch_samples_from_sheet.variant.first()) + .map { it -> tuple(it[0].unique(), it[-1])} + + CHECK_REQUESTED_MODELS( + ch_variants_protein_models, + ch_prediction_tool_versions + ) + + // perform the check requested models on the peptide file where we need the input itself to determine the given peptide lengths + CHECK_REQUESTED_MODELS_PEP( + ch_samples_from_sheet.peptide + .map { meta_data, input_file -> tuple( meta_data.alleles.split(';'), input_file ) }, + ch_prediction_tool_versions + ) + + // Return a warning if this is raised + CHECK_REQUESTED_MODELS.out.log + .combine(CHECK_REQUESTED_MODELS_PEP.out.log) + .subscribe { + model_log_file = file("$it", checkIfExists: true) + def lines = model_log_file.readLines() + if (lines.size() > 0) { + log.info "-${c_purple} Warning: ${c_reset}-" + lines.each { String line -> + log.info "-${c_purple} $line ${c_reset}-" + } + } + } + // Retrieve meta data for external tools ["netmhc", "netmhcpan", "netmhcii", "netmhciipan"].each { // Check if the _path parameter was set for this tool @@ -300,13 +309,20 @@ workflow EPITOPEPREDICTION { // include the csvtk_split function (only variant files with an tsv and GSvar executable) CSVTK_SPLIT(ch_variants.tab) + ch_versions = ch_versions.mix(SNPSIFT_SPLIT.out.versions.ifEmpty(null)) + ch_versions = ch_versions.mix(CSVTK_SPLIT.out.versions.ifEmpty(null)) + // process FASTA file and generated peptides FRED2_GENERATEPEPTIDES(ch_samples_from_sheet.protein) SPLIT_PEPTIDES_PROTEIN(FRED2_GENERATEPEPTIDES.out.splitted) + ch_versions = ch_versions.mix(FRED2_GENERATEPEPTIDES.out.versions.ifEmpty(null)) + ch_versions = ch_versions.mix(SPLIT_PEPTIDES_PROTEIN.out.versions.ifEmpty(null)) + // split peptide data // TODO: Add the appropriate container to remove the warning SPLIT_PEPTIDES(ch_samples_from_sheet.peptide) + ch_versions = ch_versions.mix(SPLIT_PEPTIDES.out.versions.ifEmpty(null)) /* ======================================================================================== @@ -318,14 +334,14 @@ workflow EPITOPEPREDICTION { // run epitope prediction for proteins PEPTIDE_PREDICTION_PROTEIN( SPLIT_PEPTIDES_PROTEIN.out.splitted - .combine(ch_versions) + .combine(ch_prediction_tool_versions) .transpose() ) // Run epitope prediction for peptides PEPTIDE_PREDICTION_PEP( SPLIT_PEPTIDES.out.splitted - .combine(ch_versions) + .combine(ch_prediction_tool_versions) .transpose() ) @@ -333,12 +349,14 @@ workflow EPITOPEPREDICTION { PEPTIDE_PREDICTION_VAR( CSVTK_SPLIT.out.splitted .mix(SNPSIFT_SPLIT.out.splitted) - .combine(ch_versions) + .combine(ch_prediction_tool_versions) .transpose() ) // collect prediction script versions - ch_versions = ch_versions.mix(PEPTIDE_PREDICTION_VAR.out.versions) + ch_versions = ch_versions.mix(PEPTIDE_PREDICTION_VAR.out.versions.ifEmpty(null)) + ch_versions = ch_versions.mix(PEPTIDE_PREDICTION_PEP.out.versions.ifEmpty(null)) + ch_versions = ch_versions.mix(PEPTIDE_PREDICTION_PROTEIN.out.versions.ifEmpty(null)) // Combine the predicted files and save them in a branch to make a distinction between samples with single and multi files PEPTIDE_PREDICTION_PEP.out.predicted.mix(PEPTIDE_PREDICTION_VAR.out.predicted, PEPTIDE_PREDICTION_PROTEIN.out.predicted) @@ -355,15 +373,15 @@ workflow EPITOPEPREDICTION { // Combine epitope prediction results CAT_TSV(ch_predicted_peptides.single) - CSVTK_CONCAT(ch_predicted_peptides.multi) ch_versions = ch_versions.mix(CSVTK_CONCAT.out.versions.ifEmpty(null)) // Combine protein sequences - CAT_FASTA(PEPTIDE_PREDICTION_PEP.out.fasta.mix(PEPTIDE_PREDICTION_VAR.out.fasta).groupTuple()) + CAT_FASTA(PEPTIDE_PREDICTION_PEP.out.fasta.mix(PEPTIDE_PREDICTION_VAR.out.fasta, PEPTIDE_PREDICTION_PROTEIN.out.fasta).groupTuple()) PEPTIDE_PREDICTION_PEP.out.json .mix(PEPTIDE_PREDICTION_VAR.out.json) + .mix(PEPTIDE_PREDICTION_PROTEIN.out.json) .groupTuple() .flatMap { meta, json -> [[[sample:meta.sample, alleles:meta.alleles, files:json.size()], json]] } .branch { @@ -378,20 +396,14 @@ workflow EPITOPEPREDICTION { // Combine epitope prediction reports MERGE_JSON_SINGLE(ch_json_reports.single) MERGE_JSON_MULTI(ch_json_reports.multi) + ch_versions = ch_versions.mix(MERGE_JSON_SINGLE.out.versions.ifEmpty(null)) + ch_versions = ch_versions.mix(MERGE_JSON_MULTI.out.versions.ifEmpty(null)) // // MODULE: Pipeline reporting // - ch_versions - .map { it -> if (it) [ it.baseName, it ] } - .groupTuple() - .map { it[1][0] } - .flatten() - .collect() - .set { ch_software_versions } - - GET_SOFTWARE_VERSIONS ( - ch_software_versions.map { it }.collect() + CUSTOM_DUMPSOFTWAREVERSIONS ( + ch_versions.unique().collectFile() ) // @@ -403,14 +415,14 @@ workflow EPITOPEPREDICTION { ch_multiqc_files = Channel.empty() ch_multiqc_files = ch_multiqc_files.mix(Channel.from(ch_multiqc_config)) ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_custom_config.collect().ifEmpty([])) + ch_multiqc_files = ch_multiqc_files.mix(CUSTOM_DUMPSOFTWAREVERSIONS.out.mqc_yml.collect()) ch_multiqc_files = ch_multiqc_files.mix(ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml')) - ch_multiqc_files = ch_multiqc_files.mix(GET_SOFTWARE_VERSIONS.out.yaml.collect()) MULTIQC ( ch_multiqc_files.collect() ) multiqc_report = MULTIQC.out.report.toList() - ch_software_versions = ch_software_versions.mix(MULTIQC.out.version.ifEmpty(null)) +} } /* From a82fd2f2e3f75d1750ad0121e8b78581e948dc42 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Thu, 9 Dec 2021 16:59:15 +0100 Subject: [PATCH 085/137] Update nextflow version for ci --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c86b28b..d497cca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: strategy: matrix: # Nextflow versions: check pipeline minimum and current latest - nxf_ver: ["21.04.0", ""] + nxf_ver: ["21.10.4", ""] steps: - name: Check out pipeline code uses: actions/checkout@v2 @@ -48,7 +48,7 @@ jobs: NXF_ANSI_LOG: false strategy: matrix: - nxf_ver: ["21.04.0", ""] + nxf_ver: ["21.10.0", ""] tests: [ "test_variant_tsv", @@ -94,7 +94,7 @@ jobs: NXF_ANSI_LOG: false strategy: matrix: - nxf_ver: ["21.04.0", ""] + nxf_ver: ["21.10.0", ""] steps: - name: Check out pipeline code uses: actions/checkout@v2 From c0882d0fa203994ce7ab27ca30e25c6960e68635 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Thu, 9 Dec 2021 18:04:33 +0100 Subject: [PATCH 086/137] Fix prediction tool version check --- bin/check_requested_models.py | 2 +- bin/epaa.py | 2 +- modules/local/check_requested_models.nf | 2 +- modules/local/get_prediction_versions.nf | 4 ++-- modules/local/show_supported_models.nf | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/check_requested_models.py b/bin/check_requested_models.py index a81311d..a58335b 100755 --- a/bin/check_requested_models.py +++ b/bin/check_requested_models.py @@ -61,7 +61,7 @@ def __main__(): # NOTE this needs to be updated, if a newer version will be available via Fred2 and should be used in the future tool_version.append(('syfpeithi', '1.0')) # how to handle this? # get for each method the corresponding tool version - methods = { method:version for tool, version in tool_version for method in selected_methods if tool.lower() in method.lower() } + methods = { method.strip():version.strip() for tool, version in tool_version for method in selected_methods if tool.lower() in method.lower() } # get the alleles alleles= [Allele(a) for a in args.alleles.split(";")] diff --git a/bin/epaa.py b/bin/epaa.py index 9b19ae0..d9a5a4a 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -1020,7 +1020,7 @@ def __main__(): # NOTE this needs to be updated, if a newer version will be available via Fred2 and should be used in the future tool_version.append(('syfpeithi', '1.0')) # get for each selected method the corresponding tool version - methods = { method.lower() : version for tool, version in tool_version for method in selected_methods if tool.lower() in method.lower() } + methods = { method.lower().strip() : version.strip() for tool, version in tool_version for method in selected_methods if tool.lower() in method.lower() } for method, version in methods.items(): if version not in EpitopePredictorFactory.available_methods()[method]: diff --git a/modules/local/check_requested_models.nf b/modules/local/check_requested_models.nf index 16c5a9a..908b270 100644 --- a/modules/local/check_requested_models.nf +++ b/modules/local/check_requested_models.nf @@ -12,7 +12,7 @@ process CHECK_REQUESTED_MODELS { conda (params.enable_conda ? "bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" } else { container "quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" } diff --git a/modules/local/get_prediction_versions.nf b/modules/local/get_prediction_versions.nf index 6405b5e..fc3814b 100644 --- a/modules/local/get_prediction_versions.nf +++ b/modules/local/get_prediction_versions.nf @@ -12,9 +12,9 @@ process GET_PREDICTION_VERSIONS { conda (params.enable_conda ? "bioconda::fred2=2.0.6 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" } else { - container "quay.io/biocontainers/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + container "quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" } input: diff --git a/modules/local/show_supported_models.nf b/modules/local/show_supported_models.nf index 72990b5..bb20fca 100644 --- a/modules/local/show_supported_models.nf +++ b/modules/local/show_supported_models.nf @@ -12,7 +12,7 @@ process SHOW_SUPPORTED_MODELS { conda (params.enable_conda ? "bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/mulled-v2-689ae0756dd82c61400782baaa8a7a1c2289930d:a9e10ca22d4cbcabf6b54f0fb5d766ea16bb171e-0" + container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" } else { container "quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" } From d8ce2c9d13ec6281ee5f5653d93336523b989313 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Fri, 10 Dec 2021 10:35:56 +0100 Subject: [PATCH 087/137] Use same nextflow version for all ci jobs --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d497cca..42dce4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,7 +48,7 @@ jobs: NXF_ANSI_LOG: false strategy: matrix: - nxf_ver: ["21.10.0", ""] + nxf_ver: ["21.10.4", ""] tests: [ "test_variant_tsv", @@ -94,7 +94,7 @@ jobs: NXF_ANSI_LOG: false strategy: matrix: - nxf_ver: ["21.10.0", ""] + nxf_ver: ["21.10.4", ""] steps: - name: Check out pipeline code uses: actions/checkout@v2 From 243265e9047777ee43749d5a82300830ee5123c1 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Fri, 10 Dec 2021 11:18:46 +0100 Subject: [PATCH 088/137] update fred2 version in prediction version module delete get_software_versions local module --- modules/local/get_prediction_versions.nf | 2 +- modules/local/get_software_versions.nf | 33 ------------------------ workflows/epitopeprediction.nf | 2 -- 3 files changed, 1 insertion(+), 36 deletions(-) delete mode 100644 modules/local/get_software_versions.nf diff --git a/modules/local/get_prediction_versions.nf b/modules/local/get_prediction_versions.nf index fc3814b..a3581f3 100644 --- a/modules/local/get_prediction_versions.nf +++ b/modules/local/get_prediction_versions.nf @@ -10,7 +10,7 @@ process GET_PREDICTION_VERSIONS { mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'reports', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "bioconda::fred2=2.0.6 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) + conda (params.enable_conda ? "bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" } else { diff --git a/modules/local/get_software_versions.nf b/modules/local/get_software_versions.nf deleted file mode 100644 index 96349f2..0000000 --- a/modules/local/get_software_versions.nf +++ /dev/null @@ -1,33 +0,0 @@ -// Import generic module functions -include { saveFiles } from './functions' - -params.options = [:] - -process GET_SOFTWARE_VERSIONS { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'pipeline_info', meta:[:], publish_by_meta:[]) } - - conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/python:3.8.3" - } else { - container "quay.io/biocontainers/python:3.8.3" - } - - cache false - - input: - path versions - - output: - path "software_versions.tsv" , emit: tsv - path 'software_versions_mqc.yaml', emit: yaml - - script: // This script is bundled with the pipeline, in nf-core/epitopeprediction/bin/ - """ - echo $workflow.manifest.version > pipeline.version.txt - echo $workflow.nextflow.version > nextflow.version.txt - scrape_software_versions.py &> software_versions_mqc.yaml - """ -} diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index ba4d245..da67e60 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -70,8 +70,6 @@ merge_json_multi.args = " --input \$PWD " // // MODULE: Local to the pipeline // -include { GET_SOFTWARE_VERSIONS } from '../modules/local/get_software_versions' addParams( options: [publish_files : ['tsv':'']] ) - include { GET_PREDICTION_VERSIONS } from '../modules/local/get_prediction_versions' addParams( options: [:] ) include { EXTERNAL_TOOLS_IMPORT } from '../modules/local/external_tools_import' addParams( options: [:] ) From d7177deef783bd59f1137fd5292099de6b897ca8 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Mon, 13 Dec 2021 14:24:52 +0100 Subject: [PATCH 089/137] bump minimal NXF version --- README.md | 2 +- nextflow.config | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8cd81c2..ab5944c 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/epitopeprediction/results) [![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.3564666-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.3564666) -[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.04.0-23aa62.svg?labelColor=000000)](https://www.nextflow.io/) +[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.4-23aa62.svg?labelColor=000000)](https://www.nextflow.io/) [![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/) [![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/) [![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/) diff --git a/nextflow.config b/nextflow.config index 055a4f4..553a1ca 100644 --- a/nextflow.config +++ b/nextflow.config @@ -260,7 +260,7 @@ manifest { homePage = 'https://github.com/nf-core/epitopeprediction' description = 'A fully reproducible and state of the art epitope prediction pipeline.' mainScript = 'main.nf' - nextflowVersion = '!>=21.04.0' + nextflowVersion = '!>=21.10.4' version = '1.2.0dev' } @@ -306,4 +306,4 @@ def get_mem_mode(mem0, mem1, mem2) { } else { return check_max( mem2, 'memory' ) } -} +} \ No newline at end of file From e93f4e58650037d485d71504b2b086c2d16219b3 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Mon, 13 Dec 2021 14:26:00 +0100 Subject: [PATCH 090/137] ignorre lint get_software_versions.nf --- .nf-core.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .nf-core.yml diff --git a/.nf-core.yml b/.nf-core.yml new file mode 100644 index 0000000..04a917a --- /dev/null +++ b/.nf-core.yml @@ -0,0 +1,3 @@ +lint: + files_exist: + - modules/local/get_software_versions.nf From 7268ab0e3cee8350599335cb31b1b5cbb55b2625 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Mon, 13 Dec 2021 14:28:27 +0100 Subject: [PATCH 091/137] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 103ebab..9402d4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#100](https://github.com/nf-core/epitopeprediction/pull/89) - Merge previous template updates up to `v2.1` - [#110](https://github.com/nf-core/epitopeprediction/pull/110) - DSL2 conversion - [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Updated `python 2.7` to `python 3.8.9` in `split_peptides.nf` and `merge_json.nf`. +- [#117](https://github.com/nf-core/epitopeprediction/pull/117) - Bump minimal NXF version to `21.10.4` ### `Fixed` From 5e7c5bcfb105fef1e6bb0cdac7c28e0e85e5612e Mon Sep 17 00:00:00 2001 From: ggabernet Date: Mon, 13 Dec 2021 14:29:41 +0100 Subject: [PATCH 092/137] fix editorconfig --- nextflow.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextflow.config b/nextflow.config index 553a1ca..4b8177e 100644 --- a/nextflow.config +++ b/nextflow.config @@ -306,4 +306,4 @@ def get_mem_mode(mem0, mem1, mem2) { } else { return check_max( mem2, 'memory' ) } -} \ No newline at end of file +} From 91f3f7912334b8eae343151f11396875923c0b31 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 14 Dec 2021 11:47:39 +0100 Subject: [PATCH 093/137] fix .txt file error --- bin/check_samplesheet.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/check_samplesheet.py b/bin/check_samplesheet.py index dce5dfb..a559aa7 100755 --- a/bin/check_samplesheet.py +++ b/bin/check_samplesheet.py @@ -103,7 +103,7 @@ def check_samplesheet(file_in, file_out): sample, alleles, filename = lspl[: len(HEADER)] ## Check given file types - if not filename.lower().endswith((".vcf", ".vcf.gz", ".tsv", ".GSvar", ".fasta")): + if not filename.lower().endswith((".vcf", ".vcf.gz", ".tsv", ".GSvar", ".fasta", ".txt")): print_error("Samplesheet contains unsupported file type!", "Line", line) sample_info = [sample, alleles, filename] From 10924c7d225de1e26d8e12a44434dc106d11b06f Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 14 Dec 2021 11:49:12 +0100 Subject: [PATCH 094/137] also in schema input --- assets/schema_input.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/schema_input.json b/assets/schema_input.json index ef53d2f..d3c2954 100644 --- a/assets/schema_input.json +++ b/assets/schema_input.json @@ -27,7 +27,7 @@ }, "filename": { "type": "string", - "pattern": "^\\S+\\.(vcf|tsv|fasta|fa)$", + "pattern": "^\\S+\\.(vcf|tsv|fasta|fa|txt)$", "errorMessage": "Variants/proteins/peptides for sample must be provided and have one of the following extensions: '.vcf', '.tsv', '.fasta', '.fa'" } }, From bd35d196de4ebc5668336424a5c3e9b2e4967aa6 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 14 Dec 2021 11:49:56 +0100 Subject: [PATCH 095/137] also in description :) --- assets/schema_input.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/schema_input.json b/assets/schema_input.json index d3c2954..2f1556c 100644 --- a/assets/schema_input.json +++ b/assets/schema_input.json @@ -28,7 +28,7 @@ "filename": { "type": "string", "pattern": "^\\S+\\.(vcf|tsv|fasta|fa|txt)$", - "errorMessage": "Variants/proteins/peptides for sample must be provided and have one of the following extensions: '.vcf', '.tsv', '.fasta', '.fa'" + "errorMessage": "Variants/proteins/peptides for sample must be provided and have one of the following extensions: '.vcf', '.tsv', '.fasta', '.fa', '.txt'" } }, "required": [ From 59ff0402dfcbdb61c27b15d0a44d56a41930f7ca Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 14 Dec 2021 13:15:10 +0100 Subject: [PATCH 096/137] fix AWS megatests --- modules/local/check_requested_models.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/local/check_requested_models.nf b/modules/local/check_requested_models.nf index 908b270..b4bad18 100644 --- a/modules/local/check_requested_models.nf +++ b/modules/local/check_requested_models.nf @@ -19,7 +19,7 @@ process CHECK_REQUESTED_MODELS { input: tuple val(alleles), path(input_file) - val(software_versions) + path(software_versions) output: path '*.txt', emit: txt // model_report.txt From 2923d6b5d4a82c1920d0470749c2ad5b6b448012 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 14 Dec 2021 14:25:40 +0100 Subject: [PATCH 097/137] Fix val to path channel --- modules/local/peptide_prediction.nf | 2 +- modules/local/show_supported_models.nf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf index c418405..fdc9760 100644 --- a/modules/local/peptide_prediction.nf +++ b/modules/local/peptide_prediction.nf @@ -17,7 +17,7 @@ process PEPTIDE_PREDICTION { } input: - tuple val(meta), path(splitted), val(software_versions) + tuple val(meta), path(splitted), path(software_versions) output: tuple val(meta), path("*.json"), emit: json diff --git a/modules/local/show_supported_models.nf b/modules/local/show_supported_models.nf index bb20fca..fa3b0fc 100644 --- a/modules/local/show_supported_models.nf +++ b/modules/local/show_supported_models.nf @@ -18,7 +18,7 @@ process SHOW_SUPPORTED_MODELS { } input: - tuple val(meta), path(raw), val(software_versions) + tuple val(meta), path(raw), path(software_versions) output: path '*.txt', emit: txt // model_report.txt From b6c17ffbbe0a4d099a1006572fb3a39811c55b3f Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Tue, 14 Dec 2021 16:42:45 +0000 Subject: [PATCH 098/137] Template update for nf-core/tools version 2.2 --- .gitattributes | 2 + .github/CONTRIBUTING.md | 38 ++------ .github/ISSUE_TEMPLATE/bug_report.md | 63 ------------- .github/ISSUE_TEMPLATE/bug_report.yml | 52 ++++++++++ .github/ISSUE_TEMPLATE/config.yml | 1 - .github/ISSUE_TEMPLATE/feature_request.md | 32 ------- .github/ISSUE_TEMPLATE/feature_request.yml | 11 +++ .github/workflows/awsfulltest.yml | 8 +- .github/workflows/awstest.yml | 10 +- .github/workflows/ci.yml | 23 +++-- .github/workflows/linting_comment.yml | 1 + CITATIONS.md | 2 +- README.md | 13 ++- assets/multiqc_config.yaml | 2 +- assets/nf-core-epitopeprediction_logo.png | Bin 17147 -> 0 bytes .../nf-core-epitopeprediction_logo_light.png | Bin 0 -> 9624 bytes assets/sendmail_template.txt | 4 +- bin/scrape_software_versions.py | 36 ------- conf/base.config | 3 + conf/modules.config | 55 ++++++----- conf/test.config | 4 +- .../images/nf-core-epitopeprediction_logo.png | Bin 32767 -> 0 bytes .../nf-core-epitopeprediction_logo_dark.png | 13 +++ .../nf-core-epitopeprediction_logo_light.png | Bin 0 -> 88902 bytes docs/output.md | 2 +- docs/usage.md | 36 ------- lib/NfcoreSchema.groovy | 26 +++-- lib/NfcoreTemplate.groovy | 30 ++---- lib/Utils.groovy | 7 -- lib/WorkflowMain.groovy | 6 +- modules.json | 9 +- modules/local/functions.nf | 68 ------------- modules/local/get_software_versions.nf | 33 ------- modules/local/samplesheet_check.nf | 24 ++--- .../custom/dumpsoftwareversions/main.nf | 21 +++++ .../custom/dumpsoftwareversions/meta.yml | 34 +++++++ .../templates/dumpsoftwareversions.py | 89 ++++++++++++++++++ modules/nf-core/modules/fastqc/functions.nf | 68 ------------- modules/nf-core/modules/fastqc/main.nf | 39 ++++---- modules/nf-core/modules/fastqc/meta.yml | 7 +- modules/nf-core/modules/multiqc/functions.nf | 68 ------------- modules/nf-core/modules/multiqc/main.nf | 31 +++--- modules/nf-core/modules/multiqc/meta.yml | 7 +- nextflow.config | 31 +++--- nextflow_schema.json | 29 ------ subworkflows/local/input_check.nf | 8 +- workflows/epitopeprediction.nf | 44 +++------ 47 files changed, 421 insertions(+), 669 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml delete mode 100644 assets/nf-core-epitopeprediction_logo.png create mode 100644 assets/nf-core-epitopeprediction_logo_light.png delete mode 100755 bin/scrape_software_versions.py delete mode 100644 docs/images/nf-core-epitopeprediction_logo.png create mode 100644 docs/images/nf-core-epitopeprediction_logo_dark.png create mode 100644 docs/images/nf-core-epitopeprediction_logo_light.png delete mode 100644 modules/local/functions.nf delete mode 100644 modules/local/get_software_versions.nf create mode 100644 modules/nf-core/modules/custom/dumpsoftwareversions/main.nf create mode 100644 modules/nf-core/modules/custom/dumpsoftwareversions/meta.yml create mode 100644 modules/nf-core/modules/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py delete mode 100644 modules/nf-core/modules/fastqc/functions.nf delete mode 100644 modules/nf-core/modules/multiqc/functions.nf diff --git a/.gitattributes b/.gitattributes index 7fe5500..050bb12 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,3 @@ *.config linguist-language=nextflow +modules/nf-core/** linguist-generated +subworkflows/nf-core/** linguist-generated diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d2e89c2..d08056c 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -68,16 +68,13 @@ If you wish to contribute a new step, please use the following coding standards: 1. Define the corresponding input channel into your new process from the expected previous process channel 2. Write the process block (see below). 3. Define the output channel if needed (see below). -4. Add any new flags/options to `nextflow.config` with a default (see below). -5. Add any new flags/options to `nextflow_schema.json` with help text (with `nf-core schema build`). -6. Add any new flags/options to the help message (for integer/text parameters, print to help the corresponding `nextflow.config` parameter). -7. Add sanity checks for all relevant parameters. -8. Add any new software to the `scrape_software_versions.py` script in `bin/` and the version command to the `scrape_software_versions` process in `main.nf`. -9. Do local tests that the new code works properly and as expected. -10. Add a new test command in `.github/workflow/ci.yml`. -11. If applicable add a [MultiQC](https://https://multiqc.info/) module. -12. Update MultiQC config `assets/multiqc_config.yaml` so relevant suffixes, name clean up, General Statistics Table column order, and module figures are in the right order. -13. Optional: Add any descriptions of MultiQC report sections and output files to `docs/output.md`. +4. Add any new parameters to `nextflow.config` with a default (see below). +5. Add any new parameters to `nextflow_schema.json` with help text (via the `nf-core schema build` tool). +6. Add sanity checks and validation for all relevant parameters. +7. Perform local tests to validate that the new code works as expected. +8. If applicable, add a new test command in `.github/workflow/ci.yml`. +9. Update MultiQC config `assets/multiqc_config.yaml` so relevant suffixes, file name clean up and module plots are in the appropriate order. If applicable, add a [MultiQC](https://https://multiqc.info/) module. +10. Add a description of the output files and if relevant any appropriate images from the MultiQC report to `docs/output.md`. ### Default values @@ -102,27 +99,6 @@ Please use the following naming schemes, to make it easy to understand what is g If you are using a new feature from core Nextflow, you may bump the minimum required version of nextflow in the pipeline with: `nf-core bump-version --nextflow . [min-nf-version]` -### Software version reporting - -If you add a new tool to the pipeline, please ensure you add the information of the tool to the `get_software_version` process. - -Add to the script block of the process, something like the following: - -```bash - --version &> v_.txt 2>&1 || true -``` - -or - -```bash - --help | head -n 1 &> v_.txt 2>&1 || true -``` - -You then need to edit the script `bin/scrape_software_versions.py` to: - -1. Add a Python regex for your tool's `--version` output (as in stored in the `v_.txt` file), to ensure the version is reported as a `v` and the version number e.g. `v2.1.1` -2. Add a HTML entry to the `OrderedDict` for formatting in MultiQC. - ### Images and figures For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines). diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 4f4169e..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -name: Bug report -about: Report something that is broken or incorrect -labels: bug ---- - - - -## Check Documentation - -I have checked the following places for your error: - -- [ ] [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting) -- [ ] [nf-core/epitopeprediction pipeline documentation](https://nf-co.re/epitopeprediction/usage) - -## Description of the bug - - - -## Steps to reproduce - -Steps to reproduce the behaviour: - -1. Command line: -2. See error: - -## Expected behaviour - - - -## Log files - -Have you provided the following extra information/files: - -- [ ] The command used to run the pipeline -- [ ] The `.nextflow.log` file - -## System - -- Hardware: -- Executor: -- OS: -- Version - -## Nextflow Installation - -- Version: - -## Container engine - -- Engine: -- version: - -## Additional context - - diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..ef71508 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,52 @@ + +name: Bug report +description: Report something that is broken or incorrect +labels: bug +body: + + - type: markdown + attributes: + value: | + Before you post this issue, please check the documentation: + + - [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting) + - [nf-core/epitopeprediction pipeline documentation](https://nf-co.re/epitopeprediction/usage) + + - type: textarea + id: description + attributes: + label: Description of the bug + description: A clear and concise description of what the bug is. + validations: + required: true + + - type: textarea + id: command_used + attributes: + label: Command used and terminal output + description: Steps to reproduce the behaviour. Please paste the command you used to launch the pipeline and the output from your terminal. + render: console + placeholder: | + $ nextflow run ... + + Some output where something broke + + - type: textarea + id: files + attributes: + label: Relevant files + description: | + Please drag and drop the relevant files here. Create a `.zip` archive if the extension is not allowed. + Your verbose log file `.nextflow.log` is often useful _(this is a hidden file in the directory where you launched the pipeline)_ as well as custom Nextflow configuration files. + + - type: textarea + id: system + attributes: + label: System information + description: | + * Nextflow version _(eg. 21.10.3)_ + * Hardware _(eg. HPC, Desktop, Cloud)_ + * Executor _(eg. slurm, local, awsbatch)_ + * Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter or Charliecloud)_ + * OS _(eg. CentOS Linux, macOS, Linux Mint)_ + * Version of nf-core/epitopeprediction _(eg. 1.1, 1.5, 1.8.2)_ diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index aa737b1..eae2d91 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,4 +1,3 @@ -blank_issues_enabled: false contact_links: - name: Join nf-core url: https://nf-co.re/join diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 3cb5e63..0000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for the nf-core/epitopeprediction pipeline -labels: enhancement ---- - - - -## Is your feature request related to a problem? Please describe - - - - - -## Describe the solution you'd like - - - -## Describe alternatives you've considered - - - -## Additional context - - diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..43ea7ac --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,11 @@ +name: Feature request +description: Suggest an idea for the nf-core/epitopeprediction pipeline +labels: enhancement +body: + - type: textarea + id: description + attributes: + label: Description of feature + description: Please describe your suggestion for a new feature. It might help to describe a problem or use case, plus any alternatives that you have considered. + validations: + required: true diff --git a/.github/workflows/awsfulltest.yml b/.github/workflows/awsfulltest.yml index f731a7f..bc3d7a1 100644 --- a/.github/workflows/awsfulltest.yml +++ b/.github/workflows/awsfulltest.yml @@ -14,14 +14,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Launch workflow via tower - uses: nf-core/tower-action@master + uses: nf-core/tower-action@v2 # TODO nf-core: You can customise AWS full pipeline tests as required # Add full size test data (but still relatively small datasets for few samples) # on the `test_full.config` test runs with only one set of parameters with: workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }} - bearer_token: ${{ secrets.TOWER_BEARER_TOKEN }} + access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} compute_env: ${{ secrets.TOWER_COMPUTE_ENV }} pipeline: ${{ github.repository }} revision: ${{ github.sha }} @@ -30,5 +30,5 @@ jobs: { "outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/epitopeprediction/results-${{ github.sha }}" } - profiles: '[ "test_full", "aws_tower" ]' - + profiles: test_full,aws_tower + pre_run_script: 'export NXF_VER=21.10.3' diff --git a/.github/workflows/awstest.yml b/.github/workflows/awstest.yml index be77d09..1faba67 100644 --- a/.github/workflows/awstest.yml +++ b/.github/workflows/awstest.yml @@ -11,18 +11,18 @@ jobs: runs-on: ubuntu-latest steps: - name: Launch workflow via tower - uses: nf-core/tower-action@master + uses: nf-core/tower-action@v2 with: workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }} - bearer_token: ${{ secrets.TOWER_BEARER_TOKEN }} + access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} compute_env: ${{ secrets.TOWER_COMPUTE_ENV }} pipeline: ${{ github.repository }} revision: ${{ github.sha }} workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/epitopeprediction/work-${{ github.sha }} parameters: | { - "outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/epitopeprediction/results-${{ github.sha }}" + "outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/epitopeprediction/results-test-${{ github.sha }}" } - profiles: '[ "test", "aws_tower" ]' - + profiles: test,aws_tower + pre_run_script: 'export NXF_VER=21.10.3' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7b4b38f..cb4ab56 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,8 +8,9 @@ on: release: types: [published] -# Uncomment if we need an edge release of Nextflow again -# env: NXF_EDGE: 1 +env: + NXF_ANSI_LOG: false + CAPSULE_LOG: none jobs: test: @@ -17,20 +18,26 @@ jobs: # Only run on push if this is the nf-core dev branch (merged PRs) if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }} runs-on: ubuntu-latest - env: - NXF_VER: ${{ matrix.nxf_ver }} - NXF_ANSI_LOG: false strategy: matrix: - # Nextflow versions: check pipeline minimum and current latest - nxf_ver: ['21.04.0', ''] + # Nextflow versions + include: + # Test pipeline minimum Nextflow version + - NXF_VER: '21.10.3' + NXF_EDGE: '' + # Test latest edge release of Nextflow + - NXF_VER: '' + NXF_EDGE: '1' steps: - name: Check out pipeline code uses: actions/checkout@v2 - name: Install Nextflow env: - CAPSULE_LOG: none + NXF_VER: ${{ matrix.NXF_VER }} + # Uncomment only if the edge release is more recent than the latest stable release + # See https://github.com/nextflow-io/nextflow/issues/2467 + # NXF_EDGE: ${{ matrix.NXF_EDGE }} run: | wget -qO- get.nextflow.io | bash sudo mv nextflow /usr/local/bin/ diff --git a/.github/workflows/linting_comment.yml b/.github/workflows/linting_comment.yml index 90f03c6..44d7299 100644 --- a/.github/workflows/linting_comment.yml +++ b/.github/workflows/linting_comment.yml @@ -15,6 +15,7 @@ jobs: uses: dawidd6/action-download-artifact@v2 with: workflow: linting.yml + workflow_conclusion: completed - name: Get PR number id: pr_number diff --git a/CITATIONS.md b/CITATIONS.md index 1818168..bd819cf 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -12,7 +12,7 @@ * [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) -* [MultiQC](https://www.ncbi.nlm.nih.gov/pubmed/27312411/) +* [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/) > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924. ## Software packaging/containerisation tools diff --git a/README.md b/README.md index 715c23f..ad05b66 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# ![nf-core/epitopeprediction](docs/images/nf-core-epitopeprediction_logo.png) +# ![nf-core/epitopeprediction](docs/images/nf-core-epitopeprediction_logo_light.png#gh-light-mode-only) ![nf-core/epitopeprediction](docs/images/nf-core-epitopeprediction_logo_dark.png#gh-dark-mode-only) [![GitHub Actions CI Status](https://github.com/nf-core/epitopeprediction/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/epitopeprediction/actions?query=workflow%3A%22nf-core+CI%22) [![GitHub Actions Linting Status](https://github.com/nf-core/epitopeprediction/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/epitopeprediction/actions?query=workflow%3A%22nf-core+linting%22) [![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/epitopeprediction/results) [![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX) -[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.04.0-23aa62.svg?labelColor=000000)](https://www.nextflow.io/) +[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg?labelColor=000000)](https://www.nextflow.io/) [![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/) [![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/) [![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/) @@ -33,18 +33,21 @@ On release, automated continuous integration tests run the pipeline on a full-si ## Quick Start -1. Install [`Nextflow`](https://www.nextflow.io/docs/latest/getstarted.html#installation) (`>=21.04.0`) +1. Install [`Nextflow`](https://www.nextflow.io/docs/latest/getstarted.html#installation) (`>=21.10.3`) 2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) for full pipeline reproducibility _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_ 3. Download the pipeline and test it on a minimal dataset with a single command: ```console - nextflow run nf-core/epitopeprediction -profile test, + nextflow run nf-core/epitopeprediction -profile test,YOURPROFILE ``` + Note that some form of configuration will be needed so that Nextflow knows how to fetch the required software. This is usually done in the form of a config profile (`YOURPROFILE` in the example command above). You can chain multiple config profiles in a comma-separated string. + + > * The pipeline comes with config profiles called `docker`, `singularity`, `podman`, `shifter`, `charliecloud` and `conda` which instruct the pipeline to use the named tool for software management. For example, `-profile test,docker`. > * Please check [nf-core/configs](https://github.com/nf-core/configs#documentation) to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use `-profile ` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment. - > * If you are using `singularity` then the pipeline will auto-detect this and attempt to download the Singularity images directly as opposed to performing a conversion from Docker images. If you are persistently observing issues downloading Singularity images directly due to timeout or network issues then please use the `--singularity_pull_docker_container` parameter to pull and convert the Docker image instead. Alternatively, it is highly recommended to use the [`nf-core download`](https://nf-co.re/tools/#downloading-pipelines-for-offline-use) command to pre-download all of the required containers before running the pipeline and to set the [`NXF_SINGULARITY_CACHEDIR` or `singularity.cacheDir`](https://www.nextflow.io/docs/latest/singularity.html?#singularity-docker-hub) Nextflow options to be able to store and re-use the images from a central location for future pipeline runs. + > * If you are using `singularity` and are persistently observing issues downloading Singularity images directly due to timeout or network issues, then you can use the `--singularity_pull_docker_container` parameter to pull and convert the Docker image instead. Alternatively, you can use the [`nf-core download`](https://nf-co.re/tools/#downloading-pipelines-for-offline-use) command to download images first, before running the pipeline. Setting the [`NXF_SINGULARITY_CACHEDIR` or `singularity.cacheDir`](https://www.nextflow.io/docs/latest/singularity.html?#singularity-docker-hub) Nextflow options enables you to store and re-use the images from a central location for future pipeline runs. > * If you are using `conda`, it is highly recommended to use the [`NXF_CONDA_CACHEDIR` or `conda.cacheDir`](https://www.nextflow.io/docs/latest/conda.html) settings to store the environments in a central location for future pipeline runs. 4. Start running your own analysis! diff --git a/assets/multiqc_config.yaml b/assets/multiqc_config.yaml index 4166d5e..2c6006d 100644 --- a/assets/multiqc_config.yaml +++ b/assets/multiqc_config.yaml @@ -1,7 +1,7 @@ report_comment: > This report has been generated by the nf-core/epitopeprediction analysis pipeline. For information about how to interpret these results, please see the - documentation. + documentation. report_section_order: software_versions: order: -1000 diff --git a/assets/nf-core-epitopeprediction_logo.png b/assets/nf-core-epitopeprediction_logo.png deleted file mode 100644 index 7922d85bfd65f3d7ab8eda6a0a3b42aa7ab8744e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17147 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 C`D#u8 diff --git a/assets/nf-core-epitopeprediction_logo_light.png b/assets/nf-core-epitopeprediction_logo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..07da76cdca7a96358b3d4e74b271542e08497dc5 GIT binary patch literal 9624 zcmb7Kby!n>)MukX8l<}>>1d=oL_!p#kbac}@h*zcZ11lTjNp$64| zA5d*G9~>O=zW?5UG(mD^92^cD9d(r#0oi+BLO-);d^uE-%a|YD?V~*A1KY9SYDU40 za5c#_AU``+4${>20c%Am&$-eA=}21ry; zax7;buVX{+j95@;uv^LxcheC)gRxzaV5PAJ3j4P9HtehG<+2TaOabWsdyq{^&C?mC zZqkra5X89BviBDbJV!;~Xt zA{axKO~BIn&wt0HeOXFGK4702E-V<@>^WIBt!Kof?1BA_diM6VG*aQet3RA)wTx2K z|9jH%Pir@gW;<6*iiCi2>ZW|F`yWZJa^og#ue+BiRUlipfMNk zxd%vTIQL+P2(Z@Gh|Zeqq~>O+%`SGo6eJ9>Buxr7php4*Rt`yQ#U2ygFkWbQIi0)S zPY)i4Tc#wHMgL|1^ET$DCg5Cd7yCeC~3+HHP^dKazW7d^tk)JE+YB zR~op~`DLj+r7EjH;^P~BWy;WZbZol9+2r3$Z~PqYl{u+`)VoUE#GvFqBZ%TV1DX^@ zX3jg_H?6MPIqppM!|qyITW*u)`U`Z@2@gxCBo}}yyTJyt#8{yeyhchIE>i0PT{a`qC4y$3HhP1^S7M@7o178rqk?AbHpsu3v;*7Lf;puj^dc-8A5zQ^6wDW@c8QT1hL3Vjv!JB_SqWZw|CilR74?>W7gWYn=r z-1vp6;!+5tNDzA zR*K*7%#x@1WrHl$#reZUEh9T|j0s1V+493vYokFKxwU3N8iDKEZ-3g&RxCs59EMXa zNU(;G#Frr=J{-aoRlUIg{BS}6GeC+nKfi;r=O!_ooz73>OCNH-MfGDw_rE`>%w-sj zI3cn}UD*|p`2k=^b}Ih~$y?lr%$>gvdcD-;{j3p0Q{+4)c@)3mc=j!b-CcQRIMYY$ z7h!+6x6q}WxSKWg*HwSnL3qpg#{8`09mF!frdy{T7JKjSvx9i-ng<=keGr9$At997 zgP_|_uKapW4Hz<0a**p|4@z=bYy6th{Wh2fozSk4%Q`m`3Okyr#>S#`Frc9?T^&Ff^`C1_xV}zFL`I<#Qk@C4p^Ys!RX1w7D(v11J<~{kKthkwQa7= z2ROFj{+mH<`UiWv)_-JcXX*vVVvS3GZPaJTA9~oYRHywIfGg1G)Kb0NA4ihKoq$M^ zRl_f>kp4b%!{xWQ_yv^FEp8Qr2)<8N22d_b^|F4IL2(K>vztFKCdUt^EVR*mYVLSyX0Pt+*-?@tdfO3 zQj|Q|_52Qn`mOyeb=3d;Q)lkmaiI;NW$TSssLg4_h(Q-=w9oeEsTq^8cEi+9lLI70 z7?lw%f)>8z$;P_ohHC`gpqnh#u#_vMQ5@R!i-idG@n1n#j~{cVk8}v?T74RFoJTBE za}uqs5FA|}$;pTR#qk_<5I?|1P+#;zrHtgt60Z{q+DN-py8ah^&u&<3>7FmgQqe61 zdD`5ZR_i~9ZT=ujcL#)s^%hO$F8j}~q+q(6O5w(idW`ZOsHwLV9_IosjL@qS+08V( zn+hyakReBC=I2pa@y`Quz$QNOrIdKegP3W+xToiR=LWXfco9i^^{=A}HtUNT+1`6_lKs( ztZr$;OG(zC|3RSh&}2Cx_a6Mrg1J08vWZ+xU_n1fOOECV-^9%LXhX)?^I5tvc!2?XRw)}IiqH=y|r&p^dp%4l)U zc0LXlHmzwQWqn0Rg2gz(sD~UbMWZ7``f^jp*OW;=9K_QE!@Z?wgq15Cjn8&3kBGQF zqkvsHea^KBw8gJA)!=dFZv&z`!?h~no3LJrj(mZ#727Ln*n8l#@W_!rW!t$_n6q&T3JM?+Xq(gH09# zEHvxx8LvVGdcvBd=I7(96zerj*v!-{W)9t(6nNx0Sa>bBCd@>;hz?mL=S5Y+j2r$5 z@~)9ss{E9kXZ&YSc@ZcGHKy5qE^Xl1f>*Fm{P&L5!BQMke5EcX1(F$W`W-v9`r{Oh($J?5f|@BX{6G{y!D#;wEoe&@!h8gf>Ot4Oqo=d zHo^~iu(9D4QLt~J7wHU0QGJm&@>S!J?ofa=aT4a-x;boPN;-eHJAM=e!?mrh{O}XG zP*v5R@4epkq7=&`jVeXPa@g?)vw2WB*X#6E;#AUJ8jQ{IwRqY+;fs;XOS-eAz$`2t z^PN)A`kAz1oE9n4mO%Mu0kYKWsXRtOA&V1AhQCq{VN9<>R(`Rh3{h5r3g43?UAQYd zb{K6}G;h{t{Fr|Jh47*fYhr5Vy86M>G?g^o7>TiKC)N}(-k5W&@u> zKZ6~HT=PNC)&iZ>4M<9z&dYoGaBbe!alMQlxR&5jc*n?I@q7kwvF7$}57RuSwf``8by z(VG3{fKX%*OJeJr8!W6~Y2bL0Bm!vIpDksIyJ<_p0?+antuNN?c#I%ZshzABao3e; z4#c}>rtz^0vWPJ(LubR*u!Lcf!;Q$N6UcHLzkn7Q z8F@XCw2EDJ)~MuLPMl`m<9?*s{>6*TQqLEu>V|YC>x(Kd7qnXeR&~G}N{X0GZK7A2 zZc_pZ43XZ5Jlwq;|KL72rE5*Ln2Uw3Cs<0_9L%1DEjK;NbpaT!Yf>N4(6#b>NXYU~ zUFe0^eo$NJW4oY}q1oDYXK!pT06w%C2_zF-iYw=hgTBC_{I!-Sy9fvmZzQ^n%_n{CdS;33XZ?MJG>d@(M4dm>I3*0eJw~ zM`uH$GjA9h5Aewg4iXn}7l})KC>K41)wkF|i&$=H9lMJ*8hJ?B zAN8z1`>0b43XK|{J1%@~yJujAsZj;nRReCeGQOYWHYI4|({I_U{CguFlOhvOlvIo) zMMS4jYz4YjM>vp*h>`T6e1(*j4?gf*Ixx zZW8Vg@1<1=X!M)0(IuB$)qv&-f@=Mao{z9E=p@a^n5Ev5$Gc%3hpmn?)g%^S{RPJI zFkF||k4X&4x7_>2>hlocLm&I@kCIdxBDO`gU4@}}kD2DasQnQ5Xp6hXk`IDpHjURH zeOODIb2siHDZjw-snU(pQ4o?fwgn@T{ZCj1UFIa0&{NI9$NAn%tX_3KLJ#C;;+AMB z<-={4C%QR;EpLR>weEEP6s(Tn%Th-Vov{5*XhZaGL0zsglFA=42YHIrddqvy)4WQX zruHE~ehxos$XF0I9V(LpGR9Y^>}@{1dy&@Y&3stRms$ymF0_6%7{GyrM?ptYD?ZfpP3oo^a64+tTX; ztc1l`o_gVX0&1`cP!r@^0xFCqp>)v0dUBpoR{3BX+cFAPLanep2p?`Pjy@i_s>vxY zI^1W-lm<&NWVNAxW0S%&C;*i~a_tt3c;%qze4x4!H4>jjU&FFG_wU~B49HulBl)uKzE7>4}o)Xkcuj9-f1o!#`lsBHaRaYez#8H1tqLock zM=dfy&hSJ2JlX-c?LE?YS(U~B3DJ2gcVgydGrN5i_wogN_cisMu=c%ypkM)LJxb#4 zz!4@WnDV$Gnw*kVdMnHvfyD|iYFNvUC(f=v;0xl>U_d{E5BHtC1NxO4yPE?nXQ&Lv zCEM?&9sTV1rUs;Y{26hdH5K1Rt^V>n z#{UDXo|u^VsPzFI2f3REdp$b503>Nw&AK6bv4oY)xc4NEkeZ$Y#gKF|{ejcsvp#?i z$AB}7Si!y812mou=8Fi>8P-UdeTH9;Y=}zl??mYBA>W<^fu_6%M-Q+JyV(Lkz0h#v_$I&|1L^83neS)4h7gE zJdjT|+UKTitrn~(|v*#(w)hkmyAver{Htm_6lU zG&-@mF`ZyL8Hgdy1_%|kje99TaSxxld5nleqCV>k+|i-|S{z~SQ7X2)Uuj=i8+`C* zy(Y3HhDsz6XLk{_u(XuV1hxFz_YK~ja+VZNH;Tqta5(693Q#I)UR*LLru-mUh9gkg49peIN{&m6F)QooV z^c!bFYUiUp;j$DL!1y5cOFV74L+Jv-9}Y9~i5fT7A-AuQl2IHr>9aHI9PCvJO!F#J}!ElK1xWC}tL6`7##m(ykZ!yle#;Rf*U*~8pzRNB4qnt_lqL6;!h zlmRjtwf$jVv6~CSK_3nN^JTy@GJpCN?MFCsJUBc&Dhni}VIp0q@inp4?Cx}GnE*n~ zFTc+p61t01gLfv5%HG?G6^Co-pu*0$mD|C8!dnEBBL!AZf|QCvR*goLI8&z35fXgz zxdEu)P0qstUm`rr5=24eJgV zgIBlGc=B=IHc8a2eskjs`Kp$ugi-dIOU6w7sR~fuplJfjvAW0$z}{6axEK`%2os9 zSelL?%UNqTWjF9$<78Rt9$kTei5$y^OHoVQeGZ-)lO*q5QIvIrn&;5me=Hc14vhIV zo7>*y%zOit%@J?T@wrx9uF-`fXn{&$B_s;{Q+*{O>i!HDQ6bvrbyAbIgJ^E)76)!B zyz;Z&65Z}q6gNceA&06Oi_e0Y5A9agFO;s-DCrD&^XD)EMSCUO9xm{7E)SM}qq39S zRb4Bx-9*`VH(`x_(T!)8{>z1wtWaK;8;{+f94@gpfplx9VpK=AL9Ea(n@mY*HDk#= z=<`LGbG4x+HgFu6 zT@v*m=jp{&S%6p=eU+=O4uW=RnV}Tl)EN_UFJR)c>Y8lxI<(rT;U7M@msrDKWBn4bD#6XiFFu-s;seCC}&J_>tKC!$f z92374{^{RYX$~3gQMNirlnGr%UUH)v>vs|!qh5{q&fuXkDC5f<6OL}W7&9ajk&LdM zCzj1$&C%t^%1_W7E~jX*ZulS8Ln%xz7L{0s4l8B0VJO2OPd@k9vX0qtgiks_ z!sQjJD~cUf9X|hHWhlxZn3mM}c^6Lunoc1`4z}Ma@@YeV%vbB>B19}i;YM>~PU~au zQLUmUP^9`#noISPOZA?oM2?UOd5>4=UJW(rH|lPby~-k@lbT*^wcQ}|GfeRl&KvP> zz49MSaVO)z;)Qof`Yio=1(W<}2iAh+__e%2Ge^2i7hGbpI6*b~Hj0tW%#Lm<{trbh zblu8|Eo;kNx71C51zZ?}@UGbJIqKg89=CT&SXsa75kvfAn(p2oUcq~7^MB5BcK(>2 z{0=)jpIty9BMnJ`Xc2Y;mG=(eU8_M@!JD_yn^3}dxtUa&K~)yFxLCJ7SM)t+$HHy@ zYx3#%r;@9{I1?I=gU^uvnob=xl!|zXhJ>TC2hG_Yy`(y&*jl&E%{` zV^fuS3St zDtOP#<*SD#)3wPdnKsHpKBfhc#W}INgvs~EY!~Gjt;g1qHSr~nLQ;w1c^mCN5Pg{x zFsORfN5?VpZ%MzcPL7Lw&wc7D7zkT=)j&{p8fBZv6pqm)i`H@_~dAyjF%gzA?`m(xDaie)xq+_e(D{D`d?6bZzAC0w`G?tM! ze)B35;WugZV+&~>cuCC6Ye2$s?c3iS$|iGexBeq{TEMa@T=ah4#Pv8Nw)f#p*hp|s z`D0fHg^)(H9d|~x)9;?veA(80tVAu&(6--2=m>JkU$H|45|cJfqf zo|GL@hRy8LMq?bBDdIW5W#z+*tVK8VZv;vMk%`aVk|g{K+V_gP3`Knw+$ndHw7j;7 zSDHpIjr=3vZu zj<*cne-A@?fcH1KQz4FQT-rfN`rfp5hw|-j-#0cn$6b;iUPkRq4%lA5RJZlgeBkM& ze)jbcrYx7l^6V5E2L8ije>fM{QF)8d=V?xTF+&je=!FFtgFe$_FV<9#{_M zx6%IBr+bsCal!5^z)FM9SiOGniVH)5!zS!@UA-GPi(d1}V&z%ETe-S+xLCNv;qkq5 zg$#!wbCbP-p496G(M*#~=6n5nsxRZA0wfH!6~V#5SNv};0FD7bKkw{9JojrWTd3+3 zmXY1#VER-RO$Rmv7|hqb0-x!!DIUw1Xr=$-e-<`EE&+JE^Pzc(oM_;2Nb|}-F zK}(~-YfkJ$_y{(flRhEoKL6yR2qS_c+JZFM>V$ta4Kqz#bq;D0+fvOy9khb=tB4{> zg9pu7ro|+s7_lbm(LZJsf;tzBxWWDA%o&$c3X{1SFY-{ddReeC;PxUD{g9BD&` z?Xz+E>I=IQVj$Je1ild9%*^w{rD^m#+0v(ZDobjJ-S%(?ipr_dkJ0dZ3tqtb=loS9 zt8|tOeE@yqZ&$El2$7T??3Z&yRtAoe|MGi)@L% z;^$L~V%=+;nU^`J5tx~`?u$4L-gXP)s^3o38(HIPDqWLymsW)if1AO)-^DeqE#2fe z^tER%b_@jY>06{k$kx91=N_8mrVI-V45Lrh?*_Q61R;W|8Zi{#8IEbk*~FLCsn=Lz z843i(<{}@M&l-l^%{a)PZh=f&7_Az`{%}9N?N`^*_rf2on-QseuFo`QyYoujKt4A4 ztYU9KZ$}IHtg#O}S4mKQP->JNg?HJ>I^LbW@K*QkuRm}(O5E5#a;SF+_K;I#CT;8+ zsgYY1AcR1Of*1=f6j6R?tN5w}#c&2I!Ru9hduS`br9E%O9}}K?%o6g|Xm$N8R))TH#_SC< zksYIhLmA;M4PCe{Vb4>vlfL`Ptx>)aO?la}%`?>5+>rF_Q$dOzd7aaASK-?H$7phO z%kY^i^|eakowu5MA$bYh!Q%8!XSnY;Vb2_3Q35Kz)vQLZa*K;W_*jr%?A1YfaNgM{+zsfQHJETQ@Re>}xYT%?AAk85M;xQ4&= z+ut|ahIyA2SD(bKKc+vzj;#vgNGP!*INpZ>%Ggm{>Z>xG|3-3l|IO-XHKO}JV?@T^ zaE?cBW>WE-SeDYupncr+4&+u=2{cPmKFl24R{!7jCy6;;+Qc8}zuAkaeTv;`g`=aP LuU?~S`~H6bE19xL literal 0 HcmV?d00001 diff --git a/assets/sendmail_template.txt b/assets/sendmail_template.txt index d96284c..14942c7 100644 --- a/assets/sendmail_template.txt +++ b/assets/sendmail_template.txt @@ -12,9 +12,9 @@ $email_html Content-Type: image/png;name="nf-core-epitopeprediction_logo.png" Content-Transfer-Encoding: base64 Content-ID: -Content-Disposition: inline; filename="nf-core-epitopeprediction_logo.png" +Content-Disposition: inline; filename="nf-core-epitopeprediction_logo_light.png" -<% out << new File("$projectDir/assets/nf-core-epitopeprediction_logo.png"). +<% out << new File("$projectDir/assets/nf-core-epitopeprediction_logo_light.png"). bytes. encodeBase64(). toString(). diff --git a/bin/scrape_software_versions.py b/bin/scrape_software_versions.py deleted file mode 100755 index 194392f..0000000 --- a/bin/scrape_software_versions.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python -from __future__ import print_function -import os - -results = {} -version_files = [x for x in os.listdir(".") if x.endswith(".version.txt")] -for version_file in version_files: - - software = version_file.replace(".version.txt", "") - if software == "pipeline": - software = "nf-core/epitopeprediction" - - with open(version_file) as fin: - version = fin.read().strip() - results[software] = version - -# Dump to YAML -print( - """ -id: 'software_versions' -section_name: 'nf-core/epitopeprediction Software Versions' -section_href: 'https://github.com/nf-core/epitopeprediction' -plot_type: 'html' -description: 'are collected at run time from the software output.' -data: | -
-""" -) -for k, v in sorted(results.items()): - print("
{}
{}
".format(k, v)) -print("
") - -# Write out as tsv file: -with open("software_versions.tsv", "w") as f: - for k, v in sorted(results.items()): - f.write("{}\t{}\n".format(k, v)) diff --git a/conf/base.config b/conf/base.config index ce2017f..e73c51f 100644 --- a/conf/base.config +++ b/conf/base.config @@ -54,4 +54,7 @@ process { errorStrategy = 'retry' maxRetries = 2 } + withName:CUSTOM_DUMPSOFTWAREVERSIONS { + cache = false + } } diff --git a/conf/modules.config b/conf/modules.config index 0b1bfde..a0506a4 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -1,32 +1,41 @@ /* ======================================================================================== - Config file for defining DSL2 per module options + Config file for defining DSL2 per module options and publishing paths ======================================================================================== Available keys to override module options: - args = Additional arguments appended to command in module. - args2 = Second set of arguments appended to command in module (multi-tool modules). - args3 = Third set of arguments appended to command in module (multi-tool modules). - publish_dir = Directory to publish results. - publish_by_meta = Groovy list of keys available in meta map to append as directories to "publish_dir" path - If publish_by_meta = true - Value of ${meta['id']} is appended as a directory to "publish_dir" path - If publish_by_meta = ['id', 'custompath'] - If "id" is in meta map and "custompath" isn't then "${meta['id']}/custompath/" - is appended as a directory to "publish_dir" path - If publish_by_meta = false / null - No directories are appended to "publish_dir" path - publish_files = Groovy map where key = "file_ext" and value = "directory" to publish results for that file extension - The value of "directory" is appended to the standard "publish_dir" path as defined above. - If publish_files = null (unspecified) - All files are published. - If publish_files = false - No files are published. - suffix = File name suffix for output files. + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. ---------------------------------------------------------------------------------------- */ -params { - modules { - 'fastqc' { - args = "--quiet" - } - 'multiqc' { - args = "" - } +process { + + publishDir = [ + path: { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }, + mode: 'copy', + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + + withName: SAMPLESHEET_CHECK { + publishDir = [ + path: { "${params.outdir}/pipeline_info" }, + mode: 'copy', + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: FASTQC { + ext.args = '--quiet' } + + withName: CUSTOM_DUMPSOFTWAREVERSIONS { + publishDir = [ + path: { "${params.outdir}/pipeline_info" }, + mode: 'copy', + pattern: '*_versions.yml' + ] + } + } diff --git a/conf/test.config b/conf/test.config index 582f46a..c6f176a 100644 --- a/conf/test.config +++ b/conf/test.config @@ -16,8 +16,8 @@ params { // Limit resources so that this can run on GitHub Actions max_cpus = 2 - max_memory = 6.GB - max_time = 6.h + max_memory = '6.GB' + max_time = '6.h' // Input data // TODO nf-core: Specify the paths to your test data on nf-core/test-datasets diff --git a/docs/images/nf-core-epitopeprediction_logo.png b/docs/images/nf-core-epitopeprediction_logo.png deleted file mode 100644 index d5b6abf6e6d3afed9260809425d6bf88260985e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32767 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 z 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 EKLA1WAOHXW diff --git a/docs/images/nf-core-epitopeprediction_logo_dark.png b/docs/images/nf-core-epitopeprediction_logo_dark.png new file mode 100644 index 0000000..1993002 --- /dev/null +++ b/docs/images/nf-core-epitopeprediction_logo_dark.png @@ -0,0 +1,13 @@ + + +507 Insufficient Storage + +

Insufficient Storage

+

The method could not be performed on the resource +because the server is unable to store the +representation needed to successfully complete the +request. There is insufficient free space left in +your storage allocation.

+

Additionally, a 507 Insufficient Storage +error was encountered while trying to use an ErrorDocument to handle the request.

+ diff --git a/docs/images/nf-core-epitopeprediction_logo_light.png b/docs/images/nf-core-epitopeprediction_logo_light.png new file mode 100644 index 0000000000000000000000000000000000000000..40ba75d4e04e731090c5a0ac65a4bb8b5c6015e0 GIT binary patch literal 88902 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 z
6YFjZl>|1E$`T1^UP=l7kGt^w;NeYGe5*{Is@ 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 X>tr6^yxi(nhx`Syo0lthFD30S>a_u& literal 0 HcmV?d00001 diff --git a/docs/output.md b/docs/output.md index 5ef5f02..7fe013c 100644 --- a/docs/output.md +++ b/docs/output.md @@ -60,7 +60,7 @@ Results generated by MultiQC collate pipeline QC from supported tools e.g. FastQ * `pipeline_info/` * Reports generated by Nextflow: `execution_report.html`, `execution_timeline.html`, `execution_trace.txt` and `pipeline_dag.dot`/`pipeline_dag.svg`. - * Reports generated by the pipeline: `pipeline_report.html`, `pipeline_report.txt` and `software_versions.tsv`. + * Reports generated by the pipeline: `pipeline_report.html`, `pipeline_report.txt` and `software_versions.yml`. The `pipeline_report*` files will only be present if the `--email` / `--email_on_fail` parameter's are used when running the pipeline. * Reformatted samplesheet files used as input to the pipeline: `samplesheet.valid.csv`. diff --git a/docs/usage.md b/docs/usage.md index b7a0a60..aecfad1 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -181,42 +181,6 @@ process { > **NB:** We specify just the process name i.e. `STAR_ALIGN` in the config file and not the full task name string that is printed to screen in the error message or on the terminal whilst the pipeline is running i.e. `RNASEQ:ALIGN_STAR:STAR_ALIGN`. You may get a warning suggesting that the process selector isn't recognised but you can ignore that if the process name has been specified correctly. This is something that needs to be fixed upstream in core Nextflow. -### Tool-specific options - -For the ultimate flexibility, we have implemented and are using Nextflow DSL2 modules in a way where it is possible for both developers and users to change tool-specific command-line arguments (e.g. providing an additional command-line argument to the `STAR_ALIGN` process) as well as publishing options (e.g. saving files produced by the `STAR_ALIGN` process that aren't saved by default by the pipeline). In the majority of instances, as a user you won't have to change the default options set by the pipeline developer(s), however, there may be edge cases where creating a simple custom config file can improve the behaviour of the pipeline if for example it is failing due to a weird error that requires setting a tool-specific parameter to deal with smaller / larger genomes. - -The command-line arguments passed to STAR in the `STAR_ALIGN` module are a combination of: - -* Mandatory arguments or those that need to be evaluated within the scope of the module, as supplied in the [`script`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/modules/nf-core/software/star/align/main.nf#L49-L55) section of the module file. - -* An [`options.args`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/modules/nf-core/software/star/align/main.nf#L56) string of non-mandatory parameters that is set to be empty by default in the module but can be overwritten when including the module in the sub-workflow / workflow context via the `addParams` Nextflow option. - -The nf-core/rnaseq pipeline has a sub-workflow (see [terminology](https://github.com/nf-core/modules#terminology)) specifically to align reads with STAR and to sort, index and generate some basic stats on the resulting BAM files using SAMtools. At the top of this file we import the `STAR_ALIGN` module via the Nextflow [`include`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/subworkflows/nf-core/align_star.nf#L10) keyword and by default the options passed to the module via the `addParams` option are set as an empty Groovy map [here](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/subworkflows/nf-core/align_star.nf#L5); this in turn means `options.args` will be set to empty by default in the module file too. This is an intentional design choice and allows us to implement well-written sub-workflows composed of a chain of tools that by default run with the bare minimum parameter set for any given tool in order to make it much easier to share across pipelines and to provide the flexibility for users and developers to customise any non-mandatory arguments. - -When including the sub-workflow above in the main pipeline workflow we use the same `include` statement, however, we now have the ability to overwrite options for each of the tools in the sub-workflow including the [`align_options`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/workflows/rnaseq.nf#L225) variable that will be used specifically to overwrite the optional arguments passed to the `STAR_ALIGN` module. In this case, the options to be provided to `STAR_ALIGN` have been assigned sensible defaults by the developer(s) in the pipeline's [`modules.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L70-L74) and can be accessed and customised in the [workflow context](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/workflows/rnaseq.nf#L201-L204) too before eventually passing them to the sub-workflow as a Groovy map called `star_align_options`. These options will then be propagated from `workflow -> sub-workflow -> module`. - -As mentioned at the beginning of this section it may also be necessary for users to overwrite the options passed to modules to be able to customise specific aspects of the way in which a particular tool is executed by the pipeline. Given that all of the default module options are stored in the pipeline's `modules.config` as a [`params` variable](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L24-L25) it is also possible to overwrite any of these options via a custom config file. - -Say for example we want to append an additional, non-mandatory parameter (i.e. `--outFilterMismatchNmax 16`) to the arguments passed to the `STAR_ALIGN` module. Firstly, we need to copy across the default `args` specified in the [`modules.config`](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/modules.config#L71) and create a custom config file that is a composite of the default `args` as well as the additional options you would like to provide. This is very important because Nextflow will overwrite the default value of `args` that you provide via the custom config. - -As you will see in the example below, we have: - -* appended `--outFilterMismatchNmax 16` to the default `args` used by the module. -* changed the default `publish_dir` value to where the files will eventually be published in the main results directory. -* appended `'bam':''` to the default value of `publish_files` so that the BAM files generated by the process will also be saved in the top-level results directory for the module. Note: `'out':'log'` means any file/directory ending in `out` will now be saved in a separate directory called `my_star_directory/log/`. - -```nextflow -params { - modules { - 'star_align' { - args = "--quantMode TranscriptomeSAM --twopassMode Basic --outSAMtype BAM Unsorted --readFilesCommand zcat --runRNGseed 0 --outFilterMultimapNmax 20 --alignSJDBoverhangMin 1 --outSAMattributes NH HI AS NM MD --quantTranscriptomeBan Singleend --outFilterMismatchNmax 16" - publish_dir = "my_star_directory" - publish_files = ['out':'log', 'tab':'log', 'bam':''] - } - } -} -``` - ### Updating containers The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. If for some reason you need to use a different version of a particular tool with the pipeline then you just need to identify the `process` name and override the Nextflow `container` definition for that process using the `withName` declaration. For example, in the [nf-core/viralrecon](https://nf-co.re/viralrecon) pipeline a tool called [Pangolin](https://github.com/cov-lineages/pangolin) has been used during the COVID-19 pandemic to assign lineages to SARS-CoV-2 genome sequenced samples. Given that the lineage assignments change quite frequently it doesn't make sense to re-release the nf-core/viralrecon everytime a new version of Pangolin has been released. However, you can override the default container used by the pipeline by creating a custom config file and passing it as a command-line argument via `-c custom.config`. diff --git a/lib/NfcoreSchema.groovy b/lib/NfcoreSchema.groovy index 8d6920d..40ab65f 100755 --- a/lib/NfcoreSchema.groovy +++ b/lib/NfcoreSchema.groovy @@ -105,9 +105,13 @@ class NfcoreSchema { // Collect expected parameters from the schema def expectedParams = [] + def enums = [:] for (group in schemaParams) { for (p in group.value['properties']) { expectedParams.push(p.key) + if (group.value['properties'][p.key].containsKey('enum')) { + enums[p.key] = group.value['properties'][p.key]['enum'] + } } } @@ -155,7 +159,7 @@ class NfcoreSchema { println '' log.error 'ERROR: Validation of pipeline parameters failed!' JSONObject exceptionJSON = e.toJSON() - printExceptions(exceptionJSON, params_json, log) + printExceptions(exceptionJSON, params_json, log, enums) println '' has_error = true } @@ -202,7 +206,7 @@ class NfcoreSchema { } def type = '[' + group_params.get(param).type + ']' def description = group_params.get(param).description - def defaultValue = group_params.get(param).default ? " [default: " + group_params.get(param).default.toString() + "]" : '' + def defaultValue = group_params.get(param).default != null ? " [default: " + group_params.get(param).default.toString() + "]" : '' def description_default = description + colors.dim + defaultValue + colors.reset // Wrap long description texts // Loosely based on https://dzone.com/articles/groovy-plain-text-word-wrap @@ -260,13 +264,12 @@ class NfcoreSchema { // Get pipeline parameters defined in JSON Schema def Map params_summary = [:] - def blacklist = ['hostnames'] def params_map = paramsLoad(getSchemaPath(workflow, schema_filename=schema_filename)) for (group in params_map.keySet()) { def sub_params = new LinkedHashMap() def group_params = params_map.get(group) // This gets the parameters of that particular group for (param in group_params.keySet()) { - if (params.containsKey(param) && !blacklist.contains(param)) { + if (params.containsKey(param)) { def params_value = params.get(param) def schema_value = group_params.get(param).default def param_type = group_params.get(param).type @@ -330,7 +333,7 @@ class NfcoreSchema { // // Loop over nested exceptions and print the causingException // - private static void printExceptions(ex_json, params_json, log) { + private static void printExceptions(ex_json, params_json, log, enums, limit=5) { def causingExceptions = ex_json['causingExceptions'] if (causingExceptions.length() == 0) { def m = ex_json['message'] =~ /required key \[([^\]]+)\] not found/ @@ -346,11 +349,20 @@ class NfcoreSchema { else { def param = ex_json['pointerToViolation'] - ~/^#\// def param_val = params_json[param].toString() - log.error "* --${param}: ${ex_json['message']} (${param_val})" + if (enums.containsKey(param)) { + def error_msg = "* --${param}: '${param_val}' is not a valid choice (Available choices" + if (enums[param].size() > limit) { + log.error "${error_msg} (${limit} of ${enums[param].size()}): ${enums[param][0..limit-1].join(', ')}, ... )" + } else { + log.error "${error_msg}: ${enums[param].join(', ')})" + } + } else { + log.error "* --${param}: ${ex_json['message']} (${param_val})" + } } } for (ex in causingExceptions) { - printExceptions(ex, params_json, log) + printExceptions(ex, params_json, log, enums) } } diff --git a/lib/NfcoreTemplate.groovy b/lib/NfcoreTemplate.groovy index 44551e0..2fc0a9b 100755 --- a/lib/NfcoreTemplate.groovy +++ b/lib/NfcoreTemplate.groovy @@ -19,27 +19,16 @@ class NfcoreTemplate { } // - // Check params.hostnames + // Warn if a -profile or Nextflow config has not been provided to run the pipeline // - public static void hostName(workflow, params, log) { - Map colors = logColours(params.monochrome_logs) - if (params.hostnames) { - try { - def hostname = "hostname".execute().text.trim() - params.hostnames.each { prof, hnames -> - hnames.each { hname -> - if (hostname.contains(hname) && !workflow.profile.contains(prof)) { - log.info "=${colors.yellow}====================================================${colors.reset}=\n" + - "${colors.yellow}WARN: You are running with `-profile $workflow.profile`\n" + - " but your machine hostname is ${colors.white}'$hostname'${colors.reset}.\n" + - " ${colors.yellow_bold}Please use `-profile $prof${colors.reset}`\n" + - "=${colors.yellow}====================================================${colors.reset}=" - } - } - } - } catch (Exception e) { - log.warn "[$workflow.manifest.name] Could not determine 'hostname' - skipping check. Reason: ${e.message}." - } + public static void checkConfigProvided(workflow, log) { + if (workflow.profile == 'standard' && workflow.configFiles.size() <= 1) { + log.warn "[$workflow.manifest.name] You are attempting to run the pipeline without any custom configuration!\n\n" + + "This will be dependent on your local compute environment but can be achieved via one or more of the following:\n" + + " (1) Using an existing pipeline profile e.g. `-profile docker` or `-profile singularity`\n" + + " (2) Using an existing nf-core/configs for your Institution e.g. `-profile crick` or `-profile uppmax`\n" + + " (3) Using your own local custom config e.g. `-c /path/to/your/custom.config`\n\n" + + "Please refer to the quick start section and usage docs for the pipeline.\n " } } @@ -168,7 +157,6 @@ class NfcoreTemplate { log.info "-${colors.purple}[$workflow.manifest.name]${colors.red} Pipeline completed successfully, but with errored process(es) ${colors.reset}-" } } else { - hostName(workflow, params, log) log.info "-${colors.purple}[$workflow.manifest.name]${colors.red} Pipeline completed with errors${colors.reset}-" } } diff --git a/lib/Utils.groovy b/lib/Utils.groovy index 18173e9..1b88aec 100755 --- a/lib/Utils.groovy +++ b/lib/Utils.groovy @@ -37,11 +37,4 @@ class Utils { "===================================================================================" } } - - // - // Join module args with appropriate spacing - // - public static String joinModuleArgs(args_list) { - return ' ' + args_list.join(' ') - } } diff --git a/lib/WorkflowMain.groovy b/lib/WorkflowMain.groovy index 27fcde2..c9abb65 100755 --- a/lib/WorkflowMain.groovy +++ b/lib/WorkflowMain.groovy @@ -61,6 +61,9 @@ class WorkflowMain { // Print parameter summary log to screen log.info paramsSummaryLog(workflow, params, log) + // Check that a -profile or Nextflow config has been provided to run the pipeline + NfcoreTemplate.checkConfigProvided(workflow, log) + // Check that conda channels are set-up correctly if (params.enable_conda) { Utils.checkCondaChannels(log) @@ -69,9 +72,6 @@ class WorkflowMain { // Check AWS batch settings NfcoreTemplate.awsBatch(workflow, params) - // Check the hostnames against configured profiles - NfcoreTemplate.hostName(workflow, params, log) - // Check input has been provided if (!params.input) { log.error "Please provide an input samplesheet to the pipeline e.g. '--input samplesheet.csv'" diff --git a/modules.json b/modules.json index 81e124f..80bccfc 100644 --- a/modules.json +++ b/modules.json @@ -3,12 +3,15 @@ "homePage": "https://github.com/nf-core/epitopeprediction", "repos": { "nf-core/modules": { + "custom/dumpsoftwareversions": { + "git_sha": "20d8250d9f39ddb05dfb437603aaf99b5c0b2b41" + }, "fastqc": { - "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + "git_sha": "9d0cad583b9a71a6509b754fdf589cbfbed08961" }, "multiqc": { - "git_sha": "e937c7950af70930d1f34bb961403d9d2aa81c7d" + "git_sha": "20d8250d9f39ddb05dfb437603aaf99b5c0b2b41" } } } -} +} \ No newline at end of file diff --git a/modules/local/functions.nf b/modules/local/functions.nf deleted file mode 100644 index da9da09..0000000 --- a/modules/local/functions.nf +++ /dev/null @@ -1,68 +0,0 @@ -// -// Utility functions used in nf-core DSL2 module files -// - -// -// Extract name of software tool from process name using $task.process -// -def getSoftwareName(task_process) { - return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase() -} - -// -// Function to initialise default values and to generate a Groovy Map of available options for nf-core modules -// -def initOptions(Map args) { - def Map options = [:] - options.args = args.args ?: '' - options.args2 = args.args2 ?: '' - options.args3 = args.args3 ?: '' - options.publish_by_meta = args.publish_by_meta ?: [] - options.publish_dir = args.publish_dir ?: '' - options.publish_files = args.publish_files - options.suffix = args.suffix ?: '' - return options -} - -// -// Tidy up and join elements of a list to return a path string -// -def getPathFromList(path_list) { - def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries - paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes - return paths.join('/') -} - -// -// Function to save/publish module results -// -def saveFiles(Map args) { - if (!args.filename.endsWith('.version.txt')) { - def ioptions = initOptions(args.options) - def path_list = [ ioptions.publish_dir ?: args.publish_dir ] - if (ioptions.publish_by_meta) { - def key_list = ioptions.publish_by_meta instanceof List ? ioptions.publish_by_meta : args.publish_by_meta - for (key in key_list) { - if (args.meta && key instanceof String) { - def path = key - if (args.meta.containsKey(key)) { - path = args.meta[key] instanceof Boolean ? "${key}_${args.meta[key]}".toString() : args.meta[key] - } - path = path instanceof String ? path : '' - path_list.add(path) - } - } - } - if (ioptions.publish_files instanceof Map) { - for (ext in ioptions.publish_files) { - if (args.filename.endsWith(ext.key)) { - def ext_list = path_list.collect() - ext_list.add(ext.value) - return "${getPathFromList(ext_list)}/$args.filename" - } - } - } else if (ioptions.publish_files == null) { - return "${getPathFromList(path_list)}/$args.filename" - } - } -} diff --git a/modules/local/get_software_versions.nf b/modules/local/get_software_versions.nf deleted file mode 100644 index 96349f2..0000000 --- a/modules/local/get_software_versions.nf +++ /dev/null @@ -1,33 +0,0 @@ -// Import generic module functions -include { saveFiles } from './functions' - -params.options = [:] - -process GET_SOFTWARE_VERSIONS { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'pipeline_info', meta:[:], publish_by_meta:[]) } - - conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/python:3.8.3" - } else { - container "quay.io/biocontainers/python:3.8.3" - } - - cache false - - input: - path versions - - output: - path "software_versions.tsv" , emit: tsv - path 'software_versions_mqc.yaml', emit: yaml - - script: // This script is bundled with the pipeline, in nf-core/epitopeprediction/bin/ - """ - echo $workflow.manifest.version > pipeline.version.txt - echo $workflow.nextflow.version > nextflow.version.txt - scrape_software_versions.py &> software_versions_mqc.yaml - """ -} diff --git a/modules/local/samplesheet_check.nf b/modules/local/samplesheet_check.nf index 02f47f5..7df86c8 100644 --- a/modules/local/samplesheet_check.nf +++ b/modules/local/samplesheet_check.nf @@ -1,31 +1,27 @@ -// Import generic module functions -include { saveFiles } from './functions' - -params.options = [:] - process SAMPLESHEET_CHECK { tag "$samplesheet" - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'pipeline_info', meta:[:], publish_by_meta:[]) } conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/python:3.8.3" - } else { - container "quay.io/biocontainers/python:3.8.3" - } + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/python:3.8.3' : + 'quay.io/biocontainers/python:3.8.3' }" input: path samplesheet output: - path '*.csv' + path '*.csv' , emit: csv + path "versions.yml", emit: versions script: // This script is bundled with the pipeline, in nf-core/epitopeprediction/bin/ """ check_samplesheet.py \\ $samplesheet \\ samplesheet.valid.csv + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + python: \$(python --version | sed 's/Python //g') + END_VERSIONS """ } diff --git a/modules/nf-core/modules/custom/dumpsoftwareversions/main.nf b/modules/nf-core/modules/custom/dumpsoftwareversions/main.nf new file mode 100644 index 0000000..934bb46 --- /dev/null +++ b/modules/nf-core/modules/custom/dumpsoftwareversions/main.nf @@ -0,0 +1,21 @@ +process CUSTOM_DUMPSOFTWAREVERSIONS { + label 'process_low' + + // Requires `pyyaml` which does not have a dedicated container but is in the MultiQC container + conda (params.enable_conda ? "bioconda::multiqc=1.11" : null) + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/multiqc:1.11--pyhdfd78af_0' : + 'quay.io/biocontainers/multiqc:1.11--pyhdfd78af_0' }" + + input: + path versions + + output: + path "software_versions.yml" , emit: yml + path "software_versions_mqc.yml", emit: mqc_yml + path "versions.yml" , emit: versions + + script: + def args = task.ext.args ?: '' + template 'dumpsoftwareversions.py' +} diff --git a/modules/nf-core/modules/custom/dumpsoftwareversions/meta.yml b/modules/nf-core/modules/custom/dumpsoftwareversions/meta.yml new file mode 100644 index 0000000..5b5b8a6 --- /dev/null +++ b/modules/nf-core/modules/custom/dumpsoftwareversions/meta.yml @@ -0,0 +1,34 @@ +name: custom_dumpsoftwareversions +description: Custom module used to dump software versions within the nf-core pipeline template +keywords: + - custom + - version +tools: + - custom: + description: Custom module used to dump software versions within the nf-core pipeline template + homepage: https://github.com/nf-core/tools + documentation: https://github.com/nf-core/tools + licence: ['MIT'] +input: + - versions: + type: file + description: YML file containing software versions + pattern: "*.yml" + +output: + - yml: + type: file + description: Standard YML file containing software versions + pattern: "software_versions.yml" + - mqc_yml: + type: file + description: MultiQC custom content YML file containing software versions + pattern: "software_versions_mqc.yml" + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" + +authors: + - "@drpatelh" + - "@grst" diff --git a/modules/nf-core/modules/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py b/modules/nf-core/modules/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py new file mode 100644 index 0000000..d139039 --- /dev/null +++ b/modules/nf-core/modules/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python + +import yaml +import platform +from textwrap import dedent + + +def _make_versions_html(versions): + html = [ + dedent( + """\\ + + + + + + + + + + """ + ) + ] + for process, tmp_versions in sorted(versions.items()): + html.append("") + for i, (tool, version) in enumerate(sorted(tmp_versions.items())): + html.append( + dedent( + f"""\\ + + + + + + """ + ) + ) + html.append("") + html.append("
Process Name Software Version
{process if (i == 0) else ''}{tool}{version}
") + return "\\n".join(html) + + +versions_this_module = {} +versions_this_module["${task.process}"] = { + "python": platform.python_version(), + "yaml": yaml.__version__, +} + +with open("$versions") as f: + versions_by_process = yaml.load(f, Loader=yaml.BaseLoader) | versions_this_module + +# aggregate versions by the module name (derived from fully-qualified process name) +versions_by_module = {} +for process, process_versions in versions_by_process.items(): + module = process.split(":")[-1] + try: + assert versions_by_module[module] == process_versions, ( + "We assume that software versions are the same between all modules. " + "If you see this error-message it means you discovered an edge-case " + "and should open an issue in nf-core/tools. " + ) + except KeyError: + versions_by_module[module] = process_versions + +versions_by_module["Workflow"] = { + "Nextflow": "$workflow.nextflow.version", + "$workflow.manifest.name": "$workflow.manifest.version", +} + +versions_mqc = { + "id": "software_versions", + "section_name": "${workflow.manifest.name} Software Versions", + "section_href": "https://github.com/${workflow.manifest.name}", + "plot_type": "html", + "description": "are collected at run time from the software output.", + "data": _make_versions_html(versions_by_module), +} + +with open("software_versions.yml", "w") as f: + yaml.dump(versions_by_module, f, default_flow_style=False) +with open("software_versions_mqc.yml", "w") as f: + yaml.dump(versions_mqc, f, default_flow_style=False) + +with open("versions.yml", "w") as f: + yaml.dump(versions_this_module, f, default_flow_style=False) diff --git a/modules/nf-core/modules/fastqc/functions.nf b/modules/nf-core/modules/fastqc/functions.nf deleted file mode 100644 index da9da09..0000000 --- a/modules/nf-core/modules/fastqc/functions.nf +++ /dev/null @@ -1,68 +0,0 @@ -// -// Utility functions used in nf-core DSL2 module files -// - -// -// Extract name of software tool from process name using $task.process -// -def getSoftwareName(task_process) { - return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase() -} - -// -// Function to initialise default values and to generate a Groovy Map of available options for nf-core modules -// -def initOptions(Map args) { - def Map options = [:] - options.args = args.args ?: '' - options.args2 = args.args2 ?: '' - options.args3 = args.args3 ?: '' - options.publish_by_meta = args.publish_by_meta ?: [] - options.publish_dir = args.publish_dir ?: '' - options.publish_files = args.publish_files - options.suffix = args.suffix ?: '' - return options -} - -// -// Tidy up and join elements of a list to return a path string -// -def getPathFromList(path_list) { - def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries - paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes - return paths.join('/') -} - -// -// Function to save/publish module results -// -def saveFiles(Map args) { - if (!args.filename.endsWith('.version.txt')) { - def ioptions = initOptions(args.options) - def path_list = [ ioptions.publish_dir ?: args.publish_dir ] - if (ioptions.publish_by_meta) { - def key_list = ioptions.publish_by_meta instanceof List ? ioptions.publish_by_meta : args.publish_by_meta - for (key in key_list) { - if (args.meta && key instanceof String) { - def path = key - if (args.meta.containsKey(key)) { - path = args.meta[key] instanceof Boolean ? "${key}_${args.meta[key]}".toString() : args.meta[key] - } - path = path instanceof String ? path : '' - path_list.add(path) - } - } - } - if (ioptions.publish_files instanceof Map) { - for (ext in ioptions.publish_files) { - if (args.filename.endsWith(ext.key)) { - def ext_list = path_list.collect() - ext_list.add(ext.value) - return "${getPathFromList(ext_list)}/$args.filename" - } - } - } else if (ioptions.publish_files == null) { - return "${getPathFromList(path_list)}/$args.filename" - } - } -} diff --git a/modules/nf-core/modules/fastqc/main.nf b/modules/nf-core/modules/fastqc/main.nf index 39c327b..d250eca 100644 --- a/modules/nf-core/modules/fastqc/main.nf +++ b/modules/nf-core/modules/fastqc/main.nf @@ -1,22 +1,11 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process FASTQC { tag "$meta.id" label 'process_medium' - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) } conda (params.enable_conda ? "bioconda::fastqc=0.11.9" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/fastqc:0.11.9--0" - } else { - container "quay.io/biocontainers/fastqc:0.11.9--0" - } + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/fastqc:0.11.9--0' : + 'quay.io/biocontainers/fastqc:0.11.9--0' }" input: tuple val(meta), path(reads) @@ -24,24 +13,32 @@ process FASTQC { output: tuple val(meta), path("*.html"), emit: html tuple val(meta), path("*.zip") , emit: zip - path "*.version.txt" , emit: version + path "versions.yml" , emit: versions script: + def args = task.ext.args ?: '' // Add soft-links to original FastQs for consistent naming in pipeline - def software = getSoftwareName(task.process) - def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}" + def prefix = task.ext.prefix ?: "${meta.id}" if (meta.single_end) { """ [ ! -f ${prefix}.fastq.gz ] && ln -s $reads ${prefix}.fastq.gz - fastqc $options.args --threads $task.cpus ${prefix}.fastq.gz - fastqc --version | sed -e "s/FastQC v//g" > ${software}.version.txt + fastqc $args --threads $task.cpus ${prefix}.fastq.gz + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" ) + END_VERSIONS """ } else { """ [ ! -f ${prefix}_1.fastq.gz ] && ln -s ${reads[0]} ${prefix}_1.fastq.gz [ ! -f ${prefix}_2.fastq.gz ] && ln -s ${reads[1]} ${prefix}_2.fastq.gz - fastqc $options.args --threads $task.cpus ${prefix}_1.fastq.gz ${prefix}_2.fastq.gz - fastqc --version | sed -e "s/FastQC v//g" > ${software}.version.txt + fastqc $args --threads $task.cpus ${prefix}_1.fastq.gz ${prefix}_2.fastq.gz + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" ) + END_VERSIONS """ } } diff --git a/modules/nf-core/modules/fastqc/meta.yml b/modules/nf-core/modules/fastqc/meta.yml index 8eb9953..b09553a 100644 --- a/modules/nf-core/modules/fastqc/meta.yml +++ b/modules/nf-core/modules/fastqc/meta.yml @@ -15,6 +15,7 @@ tools: overrepresented sequences. homepage: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/ documentation: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/ + licence: ['GPL-2.0-only'] input: - meta: type: map @@ -40,10 +41,10 @@ output: type: file description: FastQC report archive pattern: "*_{fastqc.zip}" - - version: + - versions: type: file - description: File containing software version - pattern: "*.{version.txt}" + description: File containing software versions + pattern: "versions.yml" authors: - "@drpatelh" - "@grst" diff --git a/modules/nf-core/modules/multiqc/functions.nf b/modules/nf-core/modules/multiqc/functions.nf deleted file mode 100644 index da9da09..0000000 --- a/modules/nf-core/modules/multiqc/functions.nf +++ /dev/null @@ -1,68 +0,0 @@ -// -// Utility functions used in nf-core DSL2 module files -// - -// -// Extract name of software tool from process name using $task.process -// -def getSoftwareName(task_process) { - return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase() -} - -// -// Function to initialise default values and to generate a Groovy Map of available options for nf-core modules -// -def initOptions(Map args) { - def Map options = [:] - options.args = args.args ?: '' - options.args2 = args.args2 ?: '' - options.args3 = args.args3 ?: '' - options.publish_by_meta = args.publish_by_meta ?: [] - options.publish_dir = args.publish_dir ?: '' - options.publish_files = args.publish_files - options.suffix = args.suffix ?: '' - return options -} - -// -// Tidy up and join elements of a list to return a path string -// -def getPathFromList(path_list) { - def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries - paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes - return paths.join('/') -} - -// -// Function to save/publish module results -// -def saveFiles(Map args) { - if (!args.filename.endsWith('.version.txt')) { - def ioptions = initOptions(args.options) - def path_list = [ ioptions.publish_dir ?: args.publish_dir ] - if (ioptions.publish_by_meta) { - def key_list = ioptions.publish_by_meta instanceof List ? ioptions.publish_by_meta : args.publish_by_meta - for (key in key_list) { - if (args.meta && key instanceof String) { - def path = key - if (args.meta.containsKey(key)) { - path = args.meta[key] instanceof Boolean ? "${key}_${args.meta[key]}".toString() : args.meta[key] - } - path = path instanceof String ? path : '' - path_list.add(path) - } - } - } - if (ioptions.publish_files instanceof Map) { - for (ext in ioptions.publish_files) { - if (args.filename.endsWith(ext.key)) { - def ext_list = path_list.collect() - ext_list.add(ext.value) - return "${getPathFromList(ext_list)}/$args.filename" - } - } - } else if (ioptions.publish_files == null) { - return "${getPathFromList(path_list)}/$args.filename" - } - } -} diff --git a/modules/nf-core/modules/multiqc/main.nf b/modules/nf-core/modules/multiqc/main.nf index da78080..3dceb16 100644 --- a/modules/nf-core/modules/multiqc/main.nf +++ b/modules/nf-core/modules/multiqc/main.nf @@ -1,21 +1,10 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process MULTIQC { label 'process_medium' - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "bioconda::multiqc=1.10.1" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/multiqc:1.10.1--py_0" - } else { - container "quay.io/biocontainers/multiqc:1.10.1--py_0" - } + conda (params.enable_conda ? 'bioconda::multiqc=1.11' : null) + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/multiqc:1.11--pyhdfd78af_0' : + 'quay.io/biocontainers/multiqc:1.11--pyhdfd78af_0' }" input: path multiqc_files @@ -24,12 +13,16 @@ process MULTIQC { path "*multiqc_report.html", emit: report path "*_data" , emit: data path "*_plots" , optional:true, emit: plots - path "*.version.txt" , emit: version + path "versions.yml" , emit: versions script: - def software = getSoftwareName(task.process) + def args = task.ext.args ?: '' """ - multiqc -f $options.args . - multiqc --version | sed -e "s/multiqc, version //g" > ${software}.version.txt + multiqc -f $args . + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + multiqc: \$( multiqc --version | sed -e "s/multiqc, version //g" ) + END_VERSIONS """ } diff --git a/modules/nf-core/modules/multiqc/meta.yml b/modules/nf-core/modules/multiqc/meta.yml index 532a8bb..63c75a4 100644 --- a/modules/nf-core/modules/multiqc/meta.yml +++ b/modules/nf-core/modules/multiqc/meta.yml @@ -11,6 +11,7 @@ tools: It's a general use tool, perfect for summarising the output from numerous bioinformatics tools. homepage: https://multiqc.info/ documentation: https://multiqc.info/docs/ + licence: ['GPL-3.0-or-later'] input: - multiqc_files: type: file @@ -29,10 +30,10 @@ output: type: file description: Plots created by MultiQC pattern: "*_data" - - version: + - versions: type: file - description: File containing software version - pattern: "*.{version.txt}" + description: File containing software versions + pattern: "versions.yml" authors: - "@abhi18av" - "@bunop" diff --git a/nextflow.config b/nextflow.config index 987ea3c..1655305 100644 --- a/nextflow.config +++ b/nextflow.config @@ -26,7 +26,6 @@ params { // Boilerplate options outdir = './results' tracedir = "${params.outdir}/pipeline_info" - publish_dir_mode = 'copy' email = null email_on_fail = null plaintext_email = false @@ -34,14 +33,12 @@ params { help = false validate_params = true show_hidden_params = false - schema_ignore_params = 'genomes,modules' + schema_ignore_params = 'genomes' enable_conda = false - singularity_pull_docker_container = false // Config options custom_config_version = 'master' custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}" - hostnames = [:] config_profile_description = null config_profile_contact = null config_profile_url = null @@ -58,9 +55,6 @@ params { // Load base.config by default for all pipelines includeConfig 'conf/base.config' -// Load modules.config for DSL2 module specific options -includeConfig 'conf/modules.config' - // Load nf-core custom profiles from different Institutions try { includeConfig "${params.custom_config_base}/nfcore_custom.config" @@ -68,13 +62,6 @@ try { System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config") } -// Load igenomes.config if required -if (!params.igenomes_ignore) { - includeConfig 'conf/igenomes.config' -} else { - params.genomes = [:] -} - profiles { debug { process.beforeScript = 'echo $HOSTNAME' } conda { @@ -126,11 +113,22 @@ profiles { test_full { includeConfig 'conf/test_full.config' } } +// Load igenomes.config if required +if (!params.igenomes_ignore) { + includeConfig 'conf/igenomes.config' +} else { + params.genomes = [:] +} + // 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. +// See https://apeltzer.github.io/post/03-julia-lang-nextflow/ for details on that. Once we have a common agreement on where to keep Julia packages, this is adjustable. + env { PYTHONNOUSERSITE = 1 R_PROFILE_USER = "/.Rprofile" R_ENVIRON_USER = "/.Renviron" + JULIA_DEPOT_PATH = "/usr/local/share/julia" } // Capture exit codes from upstream processes when piping @@ -160,10 +158,13 @@ manifest { homePage = 'https://github.com/nf-core/epitopeprediction' description = 'A fully reproducible and state of the art epitope prediction pipeline.' mainScript = 'main.nf' - nextflowVersion = '!>=21.04.0' + nextflowVersion = '!>=21.10.3' version = '1.2.0dev' } +// Load modules.config for DSL2 module specific options +includeConfig 'conf/modules.config' + // Function to ensure that resource requirements don't go beyond // a maximum limit def check_max(obj, type) { diff --git a/nextflow_schema.json b/nextflow_schema.json index 4f67cb4..cea5532 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -104,12 +104,6 @@ "help_text": "If you're running offline, Nextflow will not be able to fetch the institutional config files from the internet. If you don't need them, then this is not a problem. If you do need them, you should download the files from the repo and tell Nextflow where to find them with this parameter.", "fa_icon": "fas fa-users-cog" }, - "hostnames": { - "type": "string", - "description": "Institutional configs hostname.", - "hidden": true, - "fa_icon": "fas fa-users-cog" - }, "config_profile_name": { "type": "string", "description": "Institutional config name.", @@ -184,22 +178,6 @@ "fa_icon": "fas fa-question-circle", "hidden": true }, - "publish_dir_mode": { - "type": "string", - "default": "copy", - "description": "Method used to save pipeline results to output directory.", - "help_text": "The Nextflow `publishDir` option specifies which intermediate files should be saved to the output directory. This option tells the pipeline what method should be used to move these files. See [Nextflow docs](https://www.nextflow.io/docs/latest/process.html#publishdir) for details.", - "fa_icon": "fas fa-copy", - "enum": [ - "symlink", - "rellink", - "link", - "copy", - "copyNoFollow", - "move" - ], - "hidden": true - }, "email_on_fail": { "type": "string", "description": "Email address for completion summary, only when pipeline fails.", @@ -260,13 +238,6 @@ "description": "Run this workflow with Conda. You can also use '-profile conda' instead of providing this parameter.", "hidden": true, "fa_icon": "fas fa-bacon" - }, - "singularity_pull_docker_container": { - "type": "boolean", - "description": "Instead of directly downloading Singularity images for use with Singularity, force the workflow to pull and convert Docker containers instead.", - "hidden": true, - "fa_icon": "fas fa-toolbox", - "help_text": "This may be useful for example if you are unable to directly pull Singularity containers to run the pipeline due to http/https proxy issues." } } } diff --git a/subworkflows/local/input_check.nf b/subworkflows/local/input_check.nf index b664bc8..cddcbb3 100644 --- a/subworkflows/local/input_check.nf +++ b/subworkflows/local/input_check.nf @@ -2,9 +2,7 @@ // Check input samplesheet and get read channels // -params.options = [:] - -include { SAMPLESHEET_CHECK } from '../../modules/local/samplesheet_check' addParams( options: params.options ) +include { SAMPLESHEET_CHECK } from '../../modules/local/samplesheet_check' workflow INPUT_CHECK { take: @@ -12,12 +10,14 @@ workflow INPUT_CHECK { main: SAMPLESHEET_CHECK ( samplesheet ) + .csv .splitCsv ( header:true, sep:',' ) .map { create_fastq_channels(it) } .set { reads } emit: - reads // channel: [ val(meta), [ reads ] ] + reads // channel: [ val(meta), [ reads ] ] + versions = SAMPLESHEET_CHECK.out.versions // channel: [ versions.yml ] } // Function to get list of [ meta, [ fastq_1, fastq_2 ] ] diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 34f5d3c..ebf623b 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -32,18 +32,10 @@ ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multi ======================================================================================== */ -// Don't overwrite global params.modules, create a copy instead and use that within the main script. -def modules = params.modules.clone() - -// -// MODULE: Local to the pipeline -// -include { GET_SOFTWARE_VERSIONS } from '../modules/local/get_software_versions' addParams( options: [publish_files : ['tsv':'']] ) - // // SUBWORKFLOW: Consisting of a mix of local and nf-core/modules // -include { INPUT_CHECK } from '../subworkflows/local/input_check' addParams( options: [:] ) +include { INPUT_CHECK } from '../subworkflows/local/input_check' /* ======================================================================================== @@ -51,14 +43,12 @@ include { INPUT_CHECK } from '../subworkflows/local/input_check' addParams( opti ======================================================================================== */ -def multiqc_options = modules['multiqc'] -multiqc_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \"$params.multiqc_title\""]) : '' - // // MODULE: Installed directly from nf-core/modules // -include { FASTQC } from '../modules/nf-core/modules/fastqc/main' addParams( options: modules['fastqc'] ) -include { MULTIQC } from '../modules/nf-core/modules/multiqc/main' addParams( options: multiqc_options ) +include { FASTQC } from '../modules/nf-core/modules/fastqc/main' +include { MULTIQC } from '../modules/nf-core/modules/multiqc/main' +include { CUSTOM_DUMPSOFTWAREVERSIONS } from '../modules/nf-core/modules/custom/dumpsoftwareversions/main' /* ======================================================================================== @@ -71,7 +61,7 @@ def multiqc_report = [] workflow EPITOPEPREDICTION { - ch_software_versions = Channel.empty() + ch_versions = Channel.empty() // // SUBWORKFLOW: Read in samplesheet, validate and stage input files @@ -79,6 +69,7 @@ workflow EPITOPEPREDICTION { INPUT_CHECK ( ch_input ) + ch_versions = ch_versions.mix(INPUT_CHECK.out.versions) // // MODULE: Run FastQC @@ -86,21 +77,10 @@ workflow EPITOPEPREDICTION { FASTQC ( INPUT_CHECK.out.reads ) - ch_software_versions = ch_software_versions.mix(FASTQC.out.version.first().ifEmpty(null)) + ch_versions = ch_versions.mix(FASTQC.out.versions.first()) - // - // MODULE: Pipeline reporting - // - ch_software_versions - .map { it -> if (it) [ it.baseName, it ] } - .groupTuple() - .map { it[1][0] } - .flatten() - .collect() - .set { ch_software_versions } - - GET_SOFTWARE_VERSIONS ( - ch_software_versions.map { it }.collect() + CUSTOM_DUMPSOFTWAREVERSIONS ( + ch_versions.unique().collectFile(name: 'collated_versions.yml') ) // @@ -113,14 +93,14 @@ workflow EPITOPEPREDICTION { ch_multiqc_files = ch_multiqc_files.mix(Channel.from(ch_multiqc_config)) ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_custom_config.collect().ifEmpty([])) ch_multiqc_files = ch_multiqc_files.mix(ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml')) - ch_multiqc_files = ch_multiqc_files.mix(GET_SOFTWARE_VERSIONS.out.yaml.collect()) + ch_multiqc_files = ch_multiqc_files.mix(CUSTOM_DUMPSOFTWAREVERSIONS.out.mqc_yml.collect()) ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip.collect{it[1]}.ifEmpty([])) MULTIQC ( ch_multiqc_files.collect() ) - multiqc_report = MULTIQC.out.report.toList() - ch_software_versions = ch_software_versions.mix(MULTIQC.out.version.ifEmpty(null)) + multiqc_report = MULTIQC.out.report.toList() + ch_versions = ch_versions.mix(MULTIQC.out.versions) } /* From 71e97c02fc16386755c898ba09d8e619855e1e72 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Wed, 15 Dec 2021 09:42:45 +0100 Subject: [PATCH 099/137] change sample sheet for full test fix model check channel combination --- conf/test_full.config | 2 +- workflows/epitopeprediction.nf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/test_full.config b/conf/test_full.config index a479bbe..f54a9af 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -15,6 +15,6 @@ params { config_profile_description = 'Full test dataset to check pipeline function' // Input data for full size test - input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_variants.csv' + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/sample_sheets/sample_sheet_full_test.csv' schema_ignore_params = 'genomes,input_paths' } diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index da67e60..8fbac4e 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -244,7 +244,7 @@ workflow EPITOPEPREDICTION { // Return a warning if this is raised CHECK_REQUESTED_MODELS.out.log - .combine(CHECK_REQUESTED_MODELS_PEP.out.log) + .mix(CHECK_REQUESTED_MODELS_PEP.out.log) .subscribe { model_log_file = file("$it", checkIfExists: true) def lines = model_log_file.readLines() From a2c258304e946cba3276dbc4e4b41c46909ba93a Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Wed, 15 Dec 2021 09:53:07 +0100 Subject: [PATCH 100/137] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9402d4b..4b5a011 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#110](https://github.com/nf-core/epitopeprediction/pull/110) - DSL2 conversion - [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Updated `python 2.7` to `python 3.8.9` in `split_peptides.nf` and `merge_json.nf`. - [#117](https://github.com/nf-core/epitopeprediction/pull/117) - Bump minimal NXF version to `21.10.4` +- [#121](https://github.com/nf-core/epitopeprediction/pull/121) - Extend full test to cover more test cases ### `Fixed` From b024ebc5d418144b14501cdb29ca9277191b874e Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 11:04:51 +0100 Subject: [PATCH 101/137] fix check requested models args --- modules/local/check_requested_models.nf | 6 +++- workflows/epitopeprediction.nf | 41 +++++++++++-------------- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/modules/local/check_requested_models.nf b/modules/local/check_requested_models.nf index b4bad18..bf06377 100644 --- a/modules/local/check_requested_models.nf +++ b/modules/local/check_requested_models.nf @@ -28,12 +28,16 @@ process CHECK_REQUESTED_MODELS { script: - def argument = "$options.args" + def argument = task.ext.args if (argument.contains("peptides") == true) { argument += " ${input_file}" } + if (params.multiqc_title) { + argument += "--title \"$params.multiqc_title\"" + } + """ check_requested_models.py ${argument} \ --alleles '${alleles.join(';')}' \ diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 29c0d77..3f31068 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -34,8 +34,7 @@ ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multi // Don't overwrite global params.modules, create a copy instead and use that within the main script. def modules = params.modules.clone() -def check_modules_options = modules['check_modules'] -def check_modules_options_pep = check_modules_options.clone() + def get_peptides_options = modules['gen_peptides'] def split_peptides_options = modules['split_peptides'] @@ -47,10 +46,6 @@ def peptide_prediction_var = peptide_prediction_options.clone() def merge_json_single = merge_json_options.clone() def merge_json_multi = merge_json_options.clone() -check_modules_options.args += " --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} " -check_modules_options_pep.args += " --peptides " -check_modules_options.args += params.multiqc_title ? Utils.joinModuleArgs(["--title \"$params.multiqc_title\""]) : '' - peptide_prediction_pep.args += params.proteome ? Utils.joinModuleArgs(["--proteome ${params.proteome}"]) : '' peptide_prediction_pep.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' peptide_prediction_pep.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' @@ -219,13 +214,13 @@ workflow EPITOPEPREDICTION { // perform the check requested models on the protein and variant files // we have to perform it on all alleles that are given in the sample sheet ch_variants_protein_models = ch_samples_from_sheet.variant - .mix(ch_samples_from_sheet.protein) - .map { meta_data, file -> meta_data.alleles } - .splitCsv(sep: ';') - .collect() - .toList() - .combine(ch_samples_from_sheet.variant.first()) - .map { it -> tuple(it[0].unique(), it[-1])} + .mix(ch_samples_from_sheet.protein) + .map { meta_data, file -> meta_data.alleles } + .splitCsv(sep: ';') + .collect() + .toList() + .combine(ch_samples_from_sheet.variant.first()) + .map { it -> tuple(it[0].unique(), it[-1])} CHECK_REQUESTED_MODELS( ch_variants_protein_models, @@ -241,16 +236,16 @@ workflow EPITOPEPREDICTION { // Return a warning if this is raised CHECK_REQUESTED_MODELS.out.log - .combine(CHECK_REQUESTED_MODELS_PEP.out.log) - .subscribe { - model_log_file = file("$it", checkIfExists: true) - def lines = model_log_file.readLines() - if (lines.size() > 0) { - log.info "-${c_purple} Warning: ${c_reset}-" - lines.each { String line -> - log.info "-${c_purple} $line ${c_reset}-" - } - } + .combine(CHECK_REQUESTED_MODELS_PEP.out.log) + .subscribe { + model_log_file = file("$it", checkIfExists: true) + def lines = model_log_file.readLines() + if (lines.size() > 0) { + log.info "-${c_purple} Warning: ${c_reset}-" + lines.each { String line -> + log.info "-${c_purple} $line ${c_reset}-" + } + } } // Retrieve meta data for external tools From 1c9e3b5ea01b8d942520370d8b97c62480787124 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 11:10:45 +0100 Subject: [PATCH 102/137] add modules options --- conf/modules.config | 28 +++++++++++++--------------- workflows/epitopeprediction.nf | 16 +++++----------- 2 files changed, 18 insertions(+), 26 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 50c7478..3160f0b 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -12,21 +12,7 @@ params { modules { - 'fastqc' { - args = "--quiet" - } - 'multiqc' { - args = "" - } - 'check_modules' { - args = "" - } - 'gen_peptides' { - args = "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} " - } - 'split_peptides' { - args = "--min_size ${params.peptides_split_minchunksize} --max_chunks ${params.peptides_split_maxchunks} " - } + 'peptide_prediction' { args = "--tools ${params.tools} --mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --reference ${params.genome_version} " } @@ -75,4 +61,16 @@ process { ext.args = "--tools ${params.tools} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --peptides" } + withName: FRED2_GENERATEPEPTIDES { + ext.args = "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length}" + } + + withName: SPLIT_PEPTIDES { + ext.args = "--min_size ${params.peptides_split_minchunksize} --max_chunks ${params.peptides_split_maxchunks}" + } + + withName: SPLIT_PEPTIDES_PROTEIN { + ext.args = "--min_size ${params.peptides_split_minchunksize} --max_chunks ${params.peptides_split_maxchunks}" + } + } diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 3f31068..af2bb08 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -31,13 +31,7 @@ ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multi ======================================================================================== */ -// Don't overwrite global params.modules, create a copy instead and use that within the main script. -def modules = params.modules.clone() - - -def get_peptides_options = modules['gen_peptides'] -def split_peptides_options = modules['split_peptides'] def peptide_prediction_options = modules['peptide_prediction'] def merge_json_options = modules['merge_json'] @@ -68,16 +62,16 @@ include { GET_PREDICTION_VERSIONS } from '../mod include { EXTERNAL_TOOLS_IMPORT } from '../modules/local/external_tools_import' addParams( options: [:] ) -include { CHECK_REQUESTED_MODELS as CHECK_REQUESTED_MODELS_PEP } from '../modules/local/check_requested_models' addParams( options: check_modules_options_pep ) -include { CHECK_REQUESTED_MODELS } from '../modules/local/check_requested_models' addParams( options: check_modules_options ) +include { CHECK_REQUESTED_MODELS as CHECK_REQUESTED_MODELS_PEP } from '../modules/local/check_requested_models' +include { CHECK_REQUESTED_MODELS } from '../modules/local/check_requested_models' include { SHOW_SUPPORTED_MODELS} from '../modules/local/show_supported_models' addParams( options: [:] ) include { SNPSIFT_SPLIT} from '../modules/local/snpsift_split' addParams( options: [:] ) include { CSVTK_SPLIT} from '../modules/local/csvtk_split' addParams( options: [:] ) -include { FRED2_GENERATEPEPTIDES } from '../modules/local/fred2_generatepeptides' addParams( options: get_peptides_options ) -include { SPLIT_PEPTIDES } from '../modules/local/split_peptides' addParams( options: split_peptides_options ) -include { SPLIT_PEPTIDES as SPLIT_PEPTIDES_PROTEIN } from '../modules/local/split_peptides' addParams( options: split_peptides_options ) +include { FRED2_GENERATEPEPTIDES } from '../modules/local/fred2_generatepeptides' +include { SPLIT_PEPTIDES } from '../modules/local/split_peptides' +include { SPLIT_PEPTIDES as SPLIT_PEPTIDES_PROTEIN } from '../modules/local/split_peptides' include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PROTEIN } from '../modules/local/peptide_prediction' addParams( options: peptide_prediction_pep ) include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' addParams( options: peptide_prediction_pep ) From b46887cdd31965d20caec85124f254377b4b4481 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 11:29:58 +0100 Subject: [PATCH 103/137] add peptide pred options --- conf/modules.config | 27 +++++++++++++++++++++------ modules/local/peptide_prediction.nf | 25 ++++++++++++++++++++----- workflows/epitopeprediction.nf | 17 +++-------------- 3 files changed, 44 insertions(+), 25 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 3160f0b..15722c8 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -14,7 +14,7 @@ params { modules { 'peptide_prediction' { - args = "--tools ${params.tools} --mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --reference ${params.genome_version} " + args = } 'merge_json' { args = "" @@ -54,23 +54,38 @@ process { } withName: CHECK_REQUESTED_MODELS { - ext.args = "--tools ${params.tools} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length}" + ext.args = "--tools ${params.tools} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} " } withName: CHECK_REQUESTED_MODELS_PEP { - ext.args = "--tools ${params.tools} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --peptides" + ext.args = "--tools ${params.tools} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --peptides " } withName: FRED2_GENERATEPEPTIDES { - ext.args = "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length}" + ext.args = "--max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} " } withName: SPLIT_PEPTIDES { - ext.args = "--min_size ${params.peptides_split_minchunksize} --max_chunks ${params.peptides_split_maxchunks}" + ext.args = "--min_size ${params.peptides_split_minchunksize} --max_chunks ${params.peptides_split_maxchunks} " } withName: SPLIT_PEPTIDES_PROTEIN { - ext.args = "--min_size ${params.peptides_split_minchunksize} --max_chunks ${params.peptides_split_maxchunks}" + ext.args = "--min_size ${params.peptides_split_minchunksize} --max_chunks ${params.peptides_split_maxchunks} " + } + + withName: PEPTIDE_PREDICTION_PROTEIN { + // Argument list needs to end with --peptides + ext.args = "--tools ${params.tools} --mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --reference ${params.genome_version} --peptides" + } + + withName: PEPTIDE_PREDICTION_PEP { + // Argument list needs to end with --peptides + ext.args = "--tools ${params.tools} --mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --reference ${params.genome_version} --peptides" + } + + withName: PEPTIDE_PREDICTION_VAR{ + // Argument list needs to end with --somatic_mutation + ext.args = "--tools ${params.tools} --mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --reference ${params.genome_version} --somatic_mutation" } } diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf index fdc9760..453cad4 100644 --- a/modules/local/peptide_prediction.nf +++ b/modules/local/peptide_prediction.nf @@ -1,9 +1,4 @@ // Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process PEPTIDE_PREDICTION { publishDir "${params.outdir}", mode: params.publish_dir_mode, @@ -26,6 +21,26 @@ process PEPTIDE_PREDICTION { path "versions.yml", emit: versions script: + // Additions to the argument command need to go to the beginning. + // Argument list needs to end with --peptides or --somatic_mutation + def argument = task.ext.args + + if (params.proteome) { + argument = "--proteome ${params.proteome} " + argument + } + + if (params.wild_type) { + argument = "--wild_type " + argument + } + + if (params.fasta_output) { + argument = "--fasta_output " + argument + } + + if (params.tool_thresholds) { + argument = "--tool_thresholds ${tool_thresholds} " + argument + } + """ epaa.py --identifier ${splitted.baseName} \ --alleles '${meta.alleles}' \ diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index af2bb08..73761e7 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -32,25 +32,14 @@ ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multi */ -def peptide_prediction_options = modules['peptide_prediction'] + def merge_json_options = modules['merge_json'] -def peptide_prediction_pep = peptide_prediction_options.clone() -def peptide_prediction_var = peptide_prediction_options.clone() + def merge_json_single = merge_json_options.clone() def merge_json_multi = merge_json_options.clone() -peptide_prediction_pep.args += params.proteome ? Utils.joinModuleArgs(["--proteome ${params.proteome}"]) : '' -peptide_prediction_pep.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' -peptide_prediction_pep.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' -peptide_prediction_pep.args += params.tool_thresholds ? Utils.joinModuleArgs(["--tool_thresholds ${tool_thresholds}"]) : '' -peptide_prediction_pep.args += ' --peptides ' - -peptide_prediction_var.args += params.proteome ? Utils.joinModuleArgs(["--proteome ${params.proteome}"]) : '' -peptide_prediction_var.args += params.wild_type ? Utils.joinModuleArgs(['--wild_type']) : '' -peptide_prediction_var.args += params.fasta_output ? Utils.joinModuleArgs(['--fasta_output']) : '' -peptide_prediction_var.args += params.tool_thresholds ? Utils.joinModuleArgs(["--tool_thresholds ${tool_thresholds}"]) : '' -peptide_prediction_var.args += ' --somatic_mutation ' + merge_json_single.args = ' --single_input ' merge_json_multi.args = " --input \$PWD " From 0dc8aa0ce1a5f05ba0fbc9df7ad29b125f5e8030 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 11:45:12 +0100 Subject: [PATCH 104/137] add module options --- conf/modules.config | 21 +++++++++------------ workflows/epitopeprediction.nf | 23 +++++------------------ 2 files changed, 14 insertions(+), 30 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 15722c8..cd56fc3 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -10,17 +10,6 @@ ---------------------------------------------------------------------------------------- */ -params { - modules { - - 'peptide_prediction' { - args = - } - 'merge_json' { - args = "" - } - } -} process { publishDir = [ @@ -83,9 +72,17 @@ process { ext.args = "--tools ${params.tools} --mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --reference ${params.genome_version} --peptides" } - withName: PEPTIDE_PREDICTION_VAR{ + withName: PEPTIDE_PREDICTION_VAR { // Argument list needs to end with --somatic_mutation ext.args = "--tools ${params.tools} --mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --reference ${params.genome_version} --somatic_mutation" } + withName: MERGE_JSON_SINGLE { + ext.args = " --single_input " + } + + withName: MERGE_JSON_MULTI { + ext.args = " --input \$PWD " + } + } diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 73761e7..dac6ab0 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -31,19 +31,6 @@ ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multi ======================================================================================== */ - - -def merge_json_options = modules['merge_json'] - - -def merge_json_single = merge_json_options.clone() -def merge_json_multi = merge_json_options.clone() - - - -merge_json_single.args = ' --single_input ' -merge_json_multi.args = " --input \$PWD " - // // MODULE: Local to the pipeline // @@ -62,16 +49,16 @@ include { FRED2_GENERATEPEPTIDES } from '../mod include { SPLIT_PEPTIDES } from '../modules/local/split_peptides' include { SPLIT_PEPTIDES as SPLIT_PEPTIDES_PROTEIN } from '../modules/local/split_peptides' -include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PROTEIN } from '../modules/local/peptide_prediction' addParams( options: peptide_prediction_pep ) -include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' addParams( options: peptide_prediction_pep ) -include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' addParams( options: peptide_prediction_var ) +include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PROTEIN } from '../modules/local/peptide_prediction' +include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' +include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' include { CAT_FILES as CAT_TSV } from '../modules/local/cat_files' addParams( options: [:] ) include { CAT_FILES as CAT_FASTA } from '../modules/local/cat_files' addParams( options: [:] ) include { CSVTK_CONCAT } from '../modules/local/csvtk_concat' addParams( options: [:] ) -include { MERGE_JSON as MERGE_JSON_SINGLE } from '../modules/local/merge_json' addParams( options: merge_json_single ) -include { MERGE_JSON as MERGE_JSON_MULTI } from '../modules/local/merge_json' addParams( options: merge_json_multi ) +include { MERGE_JSON as MERGE_JSON_SINGLE } from '../modules/local/merge_json' +include { MERGE_JSON as MERGE_JSON_MULTI } from '../modules/local/merge_json' // // SUBWORKFLOW: Consisting of a mix of local and nf-core/modules From c6646cfb7dc48f031a9226f7c370c7c6a10e5c66 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 12:04:54 +0100 Subject: [PATCH 105/137] move publishdir to modules.config --- conf/modules.config | 70 +++++++++++++++++++++++- modules/local/cat_files.nf | 9 --- modules/local/check_requested_models.nf | 10 ---- modules/local/csvtk_concat.nf | 27 +++------ modules/local/csvtk_split.nf | 4 -- modules/local/external_tools_import.nf | 6 -- modules/local/fred2_generatepeptides.nf | 10 ---- modules/local/get_prediction_versions.nf | 10 ---- modules/local/merge_json.nf | 10 ---- modules/local/peptide_prediction.nf | 4 -- modules/local/show_supported_models.nf | 10 ---- modules/local/snpsift_split.nf | 10 ---- modules/local/split_peptides.nf | 10 ---- workflows/epitopeprediction.nf | 6 +- 14 files changed, 78 insertions(+), 118 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index cd56fc3..d043150 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -26,7 +26,6 @@ process { publishDir = [ path: { "${params.outdir}/pipeline_info" }, mode: 'copy', - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } ] } @@ -37,16 +36,21 @@ process { withName: CUSTOM_DUMPSOFTWAREVERSIONS { publishDir = [ path: { "${params.outdir}/pipeline_info" }, - mode: 'copy', pattern: '*_versions.yml' ] } withName: CHECK_REQUESTED_MODELS { + publishDir = [ + path: { "${params.outdir}/reports" }, + ] ext.args = "--tools ${params.tools} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} " } withName: CHECK_REQUESTED_MODELS_PEP { + publishDir = [ + path: { "${params.outdir}/reports" }, + ] ext.args = "--tools ${params.tools} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --peptides " } @@ -63,16 +67,25 @@ process { } withName: PEPTIDE_PREDICTION_PROTEIN { + publishDir = [ + path: { "${params.outdir}/predictions" }, + ] // Argument list needs to end with --peptides ext.args = "--tools ${params.tools} --mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --reference ${params.genome_version} --peptides" } withName: PEPTIDE_PREDICTION_PEP { + publishDir = [ + path: { "${params.outdir}/predictions" }, + ] // Argument list needs to end with --peptides ext.args = "--tools ${params.tools} --mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --reference ${params.genome_version} --peptides" } withName: PEPTIDE_PREDICTION_VAR { + publishDir = [ + path: { "${params.outdir}/predictions" }, + ] // Argument list needs to end with --somatic_mutation ext.args = "--tools ${params.tools} --mhcclass ${params.mhc_class} --max_length ${params.max_peptide_length} --min_length ${params.min_peptide_length} --reference ${params.genome_version} --somatic_mutation" } @@ -85,4 +98,57 @@ process { ext.args = " --input \$PWD " } + withName: CAT_TSV { + publishDir = [ + path: { "${params.outdir}/merged_predictions" }, + ] + } + + withName: CAT_FASTA { + publishDir = [ + path: { "${params.outdir}/merged_predictions" }, + ] + } + + withName: CSTKV_CONCAT { + publishDir = [ + path: { "${params.outdir}/merged_predictions" }, + ] + } + + withName: CSTKV_SPLIT { + publishDir = [ + path: { "${params.outdir}/splitted" }, + ] + } + + withName: GET_PREDICTION_VERSIONS { + publishDir = [ + path: { "${params.outdir}/reports" }, + ] + } + + withName: MERGE_JSON { + publishDir = [ + path: { "${params.outdir}/merged_predictions" }, + ] + } + + withName: SHOW_SUPPORTED_MODELS { + publishDir = [ + path: { "${params.outdir}/supported_models" }, + ] + } + + withName: SNPSIFT_SPLIT { + publishDir = [ + path: { "${params.outdir}/splitted" }, + ] + } + + withName: SPLIT_PEPTIDES { + publishDir = [ + path: { "${params.outdir}/splitted" }, + ] + } } diff --git a/modules/local/cat_files.nf b/modules/local/cat_files.nf index 5dff1ef..6fd235b 100644 --- a/modules/local/cat_files.nf +++ b/modules/local/cat_files.nf @@ -1,13 +1,4 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process CAT_FILES { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'merged_predictions', meta:[:], publish_by_meta:[]) } input: tuple val(meta), path(input) diff --git a/modules/local/check_requested_models.nf b/modules/local/check_requested_models.nf index bf06377..6f89207 100644 --- a/modules/local/check_requested_models.nf +++ b/modules/local/check_requested_models.nf @@ -1,15 +1,5 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process CHECK_REQUESTED_MODELS { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'reports', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" diff --git a/modules/local/csvtk_concat.nf b/modules/local/csvtk_concat.nf index 28a248c..0976121 100644 --- a/modules/local/csvtk_concat.nf +++ b/modules/local/csvtk_concat.nf @@ -1,15 +1,5 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process CSVTK_CONCAT { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'merged_predictions', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "bioconda::csvtk=0.23.0" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/csvtk:0.23.0--h9ee0642_0" @@ -25,13 +15,12 @@ process CSVTK_CONCAT { path "versions.yml", emit: versions script: - - """ - csvtk concat -t $predicted > ${meta.sample}_prediction_result.tsv - - cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: - csvtk: \$(echo \$( csvtk version | sed -e "s/csvtk v//g" )) - END_VERSIONS - """ + """ + csvtk concat -t $predicted > ${meta.sample}_prediction_result.tsv + + cat <<-END_VERSIONS > versions.yml + ${getProcessName(task.process)}: + csvtk: \$(echo \$( csvtk version | sed -e "s/csvtk v//g" )) + END_VERSIONS + """ } diff --git a/modules/local/csvtk_split.nf b/modules/local/csvtk_split.nf index 65cdbe9..b7655ba 100644 --- a/modules/local/csvtk_split.nf +++ b/modules/local/csvtk_split.nf @@ -6,10 +6,6 @@ options = initOptions(params.options) process CSVTK_SPLIT { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'splitted', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "bioconda::csvtk=0.23.0" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/csvtk:0.23.0--h9ee0642_0" diff --git a/modules/local/external_tools_import.nf b/modules/local/external_tools_import.nf index 0119a48..2e03803 100644 --- a/modules/local/external_tools_import.nf +++ b/modules/local/external_tools_import.nf @@ -1,9 +1,3 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName } from './functions' - -params.options = [:] -options = initOptions(params.options) - /* * Copy non-free software provided by the user into the working directory */ diff --git a/modules/local/fred2_generatepeptides.nf b/modules/local/fred2_generatepeptides.nf index b30f9c1..fa96971 100644 --- a/modules/local/fred2_generatepeptides.nf +++ b/modules/local/fred2_generatepeptides.nf @@ -1,15 +1,5 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process FRED2_GENERATEPEPTIDES { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getProcessName(task.process), meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "conda-forge::fred2:2.0.7" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/fred2:2.0.7--py_0" diff --git a/modules/local/get_prediction_versions.nf b/modules/local/get_prediction_versions.nf index a3581f3..9e7d2ae 100644 --- a/modules/local/get_prediction_versions.nf +++ b/modules/local/get_prediction_versions.nf @@ -1,15 +1,5 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process GET_PREDICTION_VERSIONS { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'reports', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" diff --git a/modules/local/merge_json.nf b/modules/local/merge_json.nf index b50d568..fd33b62 100644 --- a/modules/local/merge_json.nf +++ b/modules/local/merge_json.nf @@ -1,15 +1,5 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process MERGE_JSON { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'merged_predictions', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/python:3.8.3" diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf index 453cad4..6384a84 100644 --- a/modules/local/peptide_prediction.nf +++ b/modules/local/peptide_prediction.nf @@ -1,8 +1,4 @@ -// Import generic module functions process PEPTIDE_PREDICTION { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'predictions', meta:[:], publish_by_meta:[]) } conda (params.enable_conda ? "bioconda::snpsift=4.3.1t bioconda::python=2.7.15 bioconda::pyvcf=0.6.8 conda-forge::pandas=0.24.2 bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { diff --git a/modules/local/show_supported_models.nf b/modules/local/show_supported_models.nf index fa3b0fc..316c186 100644 --- a/modules/local/show_supported_models.nf +++ b/modules/local/show_supported_models.nf @@ -1,15 +1,5 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process SHOW_SUPPORTED_MODELS { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'supported_models', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" diff --git a/modules/local/snpsift_split.nf b/modules/local/snpsift_split.nf index 9acc94d..49b3840 100644 --- a/modules/local/snpsift_split.nf +++ b/modules/local/snpsift_split.nf @@ -1,15 +1,5 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process SNPSIFT_SPLIT { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'splitted', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "conda-forge::snpsift:4.2" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/snpsift:4.2--hdfd78af_5" diff --git a/modules/local/split_peptides.nf b/modules/local/split_peptides.nf index fd30fe7..d836f59 100644 --- a/modules/local/split_peptides.nf +++ b/modules/local/split_peptides.nf @@ -1,15 +1,5 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process SPLIT_PEPTIDES { - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:'splitted', meta:[:], publish_by_meta:[]) } - conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/python:3.8.3" diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index dac6ab0..cfb5c68 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -43,7 +43,7 @@ include { CHECK_REQUESTED_MODELS } from '../mod include { SHOW_SUPPORTED_MODELS} from '../modules/local/show_supported_models' addParams( options: [:] ) include { SNPSIFT_SPLIT} from '../modules/local/snpsift_split' addParams( options: [:] ) -include { CSVTK_SPLIT} from '../modules/local/csvtk_split' addParams( options: [:] ) +include { CSVTK_SPLIT} from '../modules/local/csvtk_split' include { FRED2_GENERATEPEPTIDES } from '../modules/local/fred2_generatepeptides' include { SPLIT_PEPTIDES } from '../modules/local/split_peptides' @@ -53,9 +53,7 @@ include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PROTEIN } from '../mod include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' -include { CAT_FILES as CAT_TSV } from '../modules/local/cat_files' addParams( options: [:] ) -include { CAT_FILES as CAT_FASTA } from '../modules/local/cat_files' addParams( options: [:] ) -include { CSVTK_CONCAT } from '../modules/local/csvtk_concat' addParams( options: [:] ) +include { CSVTK_CONCAT } from '../modules/local/csvtk_concat' include { MERGE_JSON as MERGE_JSON_SINGLE } from '../modules/local/merge_json' include { MERGE_JSON as MERGE_JSON_MULTI } from '../modules/local/merge_json' From 982796a9a48ce0ad3bc131a08e814c66acb6c4fe Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 12:08:35 +0100 Subject: [PATCH 106/137] remove addparams --- workflows/epitopeprediction.nf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index cfb5c68..a35b16a 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -34,15 +34,15 @@ ch_multiqc_custom_config = params.multiqc_config ? Channel.fromPath(params.multi // // MODULE: Local to the pipeline // -include { GET_PREDICTION_VERSIONS } from '../modules/local/get_prediction_versions' addParams( options: [:] ) +include { GET_PREDICTION_VERSIONS } from '../modules/local/get_prediction_versions' -include { EXTERNAL_TOOLS_IMPORT } from '../modules/local/external_tools_import' addParams( options: [:] ) +include { EXTERNAL_TOOLS_IMPORT } from '../modules/local/external_tools_import' include { CHECK_REQUESTED_MODELS as CHECK_REQUESTED_MODELS_PEP } from '../modules/local/check_requested_models' include { CHECK_REQUESTED_MODELS } from '../modules/local/check_requested_models' -include { SHOW_SUPPORTED_MODELS} from '../modules/local/show_supported_models' addParams( options: [:] ) +include { SHOW_SUPPORTED_MODELS} from '../modules/local/show_supported_models' -include { SNPSIFT_SPLIT} from '../modules/local/snpsift_split' addParams( options: [:] ) +include { SNPSIFT_SPLIT} from '../modules/local/snpsift_split' include { CSVTK_SPLIT} from '../modules/local/csvtk_split' include { FRED2_GENERATEPEPTIDES } from '../modules/local/fred2_generatepeptides' @@ -61,7 +61,7 @@ include { MERGE_JSON as MERGE_JSON_MULTI } from '../mod // // SUBWORKFLOW: Consisting of a mix of local and nf-core/modules -include { INPUT_CHECK } from '../subworkflows/local/input_check' addParams( options: [:] ) +include { INPUT_CHECK } from '../subworkflows/local/input_check' /* ======================================================================================== From d37fd40f10d5e893a512058117e67cd17fa54db8 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 12:31:57 +0100 Subject: [PATCH 107/137] update module containers and format --- modules/local/cat_files.nf | 15 ++-- modules/local/check_requested_models.nf | 64 +++++++------- modules/local/csvtk_concat.nf | 17 ++-- modules/local/csvtk_split.nf | 33 +++---- modules/local/external_tools_import.nf | 105 ++++++++++++----------- modules/local/fred2_generatepeptides.nf | 37 ++++---- modules/local/get_prediction_versions.nf | 41 +++++---- modules/local/merge_json.nf | 41 ++++----- modules/local/peptide_prediction.nf | 22 +++-- modules/local/samplesheet_check.nf | 2 +- modules/local/show_supported_models.nf | 37 ++++---- modules/local/snpsift_split.nf | 17 ++-- modules/local/split_peptides.nf | 36 ++++---- 13 files changed, 222 insertions(+), 245 deletions(-) diff --git a/modules/local/cat_files.nf b/modules/local/cat_files.nf index 6fd235b..1b24be7 100644 --- a/modules/local/cat_files.nf +++ b/modules/local/cat_files.nf @@ -1,16 +1,17 @@ process CAT_FILES { + label 'process_low' input: - tuple val(meta), path(input) + tuple val(meta), path(input) output: - tuple val(meta), path("*_prediction.*"), emit: output + tuple val(meta), path("*_prediction.*"), emit: output script: - def fileExt = input.collect { it.name.tokenize("\\.")[-1] }.join(' ') - prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}" + def fileExt = input.collect { it.name.tokenize("\\.")[-1] }.join(' ') + prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}" - """ - cat $input > ${prefix}_prediction.${fileExt} - """ + """ + cat $input > ${prefix}_prediction.${fileExt} + """ } diff --git a/modules/local/check_requested_models.nf b/modules/local/check_requested_models.nf index 6f89207..cf6562c 100644 --- a/modules/local/check_requested_models.nf +++ b/modules/local/check_requested_models.nf @@ -1,45 +1,43 @@ process CHECK_REQUESTED_MODELS { + label 'process_low' conda (params.enable_conda ? "bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" - } else { - container "quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" - } + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0' : + 'quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0' }" input: - tuple val(alleles), path(input_file) - path(software_versions) + tuple val(alleles), path(input_file) + path(software_versions) output: - path '*.txt', emit: txt // model_report.txt - path '*.log', emit: log // model_warnings.log - path "versions.yml", emit: versions + path '*.txt', emit: txt // model_report.txt + path '*.log', emit: log // model_warnings.log + path "versions.yml", emit: versions script: - def argument = task.ext.args - - if (argument.contains("peptides") == true) { - argument += " ${input_file}" - } - - if (params.multiqc_title) { - argument += "--title \"$params.multiqc_title\"" - } - - """ - check_requested_models.py ${argument} \ - --alleles '${alleles.join(';')}' \ - --mhcclass ${params.mhc_class} \ - --versions ${software_versions} > model_warnings.log - - cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: - mhcflurry: \$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) - mhcnuggets: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('mhcnuggets').version)")) - fred2: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)")) - END_VERSIONS - """ + def argument = task.ext.args + + if (argument.contains("peptides") == true) { + argument += " ${input_file}" + } + + if (params.multiqc_title) { + argument += "--title \"$params.multiqc_title\"" + } + """ + check_requested_models.py ${argument} \ + --alleles '${alleles.join(';')}' \ + --mhcclass ${params.mhc_class} \ + --versions ${software_versions} > model_warnings.log + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + mhcflurry: \$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) + mhcnuggets: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('mhcnuggets').version)")) + fred2: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)")) + END_VERSIONS + """ } diff --git a/modules/local/csvtk_concat.nf b/modules/local/csvtk_concat.nf index 0976121..2abaaeb 100644 --- a/modules/local/csvtk_concat.nf +++ b/modules/local/csvtk_concat.nf @@ -1,25 +1,24 @@ process CSVTK_CONCAT { + label 'process_low' conda (params.enable_conda ? "bioconda::csvtk=0.23.0" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/csvtk:0.23.0--h9ee0642_0" - } else { - container "quay.io/biocontainers/csvtk:0.23.0--h9ee0642_0" - } + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/csvtk:0.23.0--h9ee0642_0' : + 'quay.io/biocontainers/csvtk:0.23.0--h9ee0642_0' }" input: - tuple val(meta), path(predicted) + tuple val(meta), path(predicted) output: - tuple val(meta), path("*.tsv"), emit: predicted - path "versions.yml", emit: versions + tuple val(meta), path("*.tsv"), emit: predicted + path "versions.yml", emit: versions script: """ csvtk concat -t $predicted > ${meta.sample}_prediction_result.tsv cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: + "${task.process}": csvtk: \$(echo \$( csvtk version | sed -e "s/csvtk v//g" )) END_VERSIONS """ diff --git a/modules/local/csvtk_split.nf b/modules/local/csvtk_split.nf index b7655ba..2091b24 100644 --- a/modules/local/csvtk_split.nf +++ b/modules/local/csvtk_split.nf @@ -1,34 +1,27 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName; getProcessName } from './functions' - -params.options = [:] -options = initOptions(params.options) - process CSVTK_SPLIT { + label 'process_low' conda (params.enable_conda ? "bioconda::csvtk=0.23.0" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/csvtk:0.23.0--h9ee0642_0" - } else { - container "quay.io/biocontainers/csvtk:0.23.0--h9ee0642_0" - } + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/csvtk:0.23.0--h9ee0642_0' : + 'quay.io/biocontainers/csvtk:0.23.0--h9ee0642_0' }" input: - tuple val(meta), path(raw) + tuple val(meta), path(raw) output: - tuple val(meta), path("*.tsv"), emit: splitted - path "versions.yml", emit: versions + tuple val(meta), path("*.tsv"), emit: splitted + path "versions.yml", emit: versions script: """ - sed -i.bak '/^##/d' ${raw} - csvtk split ${raw} -t -C '&' -f '#chr' + sed -i.bak '/^##/d' ${raw} + csvtk split ${raw} -t -C '&' -f '#chr' - cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: - csvtk: \$(echo \$( csvtk version | sed -e "s/csvtk v//g" )) - END_VERSIONS + cat <<-END_VERSIONS > versions.yml + "${task.process}": + csvtk: \$(echo \$( csvtk version | sed -e "s/csvtk v//g" )) + END_VERSIONS """ } diff --git a/modules/local/external_tools_import.nf b/modules/local/external_tools_import.nf index 2e03803..a40f392 100644 --- a/modules/local/external_tools_import.nf +++ b/modules/local/external_tools_import.nf @@ -2,68 +2,69 @@ * Copy non-free software provided by the user into the working directory */ process EXTERNAL_TOOLS_IMPORT { + label 'process_low' input: - tuple val(toolname), val(toolversion), val(toolchecksum), path(tooltarball), file(datatarball), val(datachecksum), val(toolbinaryname) + tuple val(toolname), val(toolversion), val(toolchecksum), path(tooltarball), file(datatarball), val(datachecksum), val(toolbinaryname) output: - path "${toolname}", emit: nonfree_tools - val "v_*.txt", emit: versions + path "${toolname}", emit: nonfree_tools + val "v_*.txt", emit: versions script: - """ - # - # CHECK IF THE PROVIDED SOFTWARE TARBALL IS A REGULAR FILES - # - if [ ! -f "$tooltarball" ]; then - echo "Path specified for ${toolname} does not point to a regular file. Please specify a path to the original tool tarball." >&2 - exit 1 - fi + """ + # + # CHECK IF THE PROVIDED SOFTWARE TARBALL IS A REGULAR FILES + # + if [ ! -f "$tooltarball" ]; then + echo "Path specified for ${toolname} does not point to a regular file. Please specify a path to the original tool tarball." >&2 + exit 1 + fi - # - # VALIDATE THE CHECKSUM OF THE PROVIDED SOFTWARE TARBALL - # - checksum="\$(md5sum "$tooltarball" | cut -f1 -d' ')" - echo "\$checksum" - if [ "\$checksum" != "${toolchecksum}" ]; then - echo "Checksum error for $toolname. Please make sure to provide the original tarball for $toolname version $toolversion" >&2 - exit 2 - fi + # + # VALIDATE THE CHECKSUM OF THE PROVIDED SOFTWARE TARBALL + # + checksum="\$(md5sum "$tooltarball" | cut -f1 -d' ')" + echo "\$checksum" + if [ "\$checksum" != "${toolchecksum}" ]; then + echo "Checksum error for $toolname. Please make sure to provide the original tarball for $toolname version $toolversion" >&2 + exit 2 + fi - # - # UNPACK THE PROVIDED SOFTWARE TARBALL - # - mkdir -v "${toolname}" - tar -C "${toolname}" --strip-components 1 -x -f "$tooltarball" + # + # UNPACK THE PROVIDED SOFTWARE TARBALL + # + mkdir -v "${toolname}" + tar -C "${toolname}" --strip-components 1 -x -f "$tooltarball" - # - # MODIFY THE NETMHC WRAPPER SCRIPT ACCORDING TO INSTALL INSTRUCTIONS - # Substitution 1: We install tcsh via conda, thus /bin/tcsh won't work - # Substitution 2: We want temp files to be written to /tmp if TMPDIR is not set - # Substitution 3: NMHOME should be the folder in which the tcsh script itself resides - # - sed -i.bak \ - -e 's_bin/tcsh.*\$_usr/bin/env tcsh_' \ - -e "s_/scratch_/tmp_" \ - -e "s_setenv[[:space:]]NMHOME.*_setenv NMHOME \\`realpath -s \\\$0 | sed -r 's/[^/]+\$//'\\`_" "${toolname}/${toolbinaryname}" + # + # MODIFY THE NETMHC WRAPPER SCRIPT ACCORDING TO INSTALL INSTRUCTIONS + # Substitution 1: We install tcsh via conda, thus /bin/tcsh won't work + # Substitution 2: We want temp files to be written to /tmp if TMPDIR is not set + # Substitution 3: NMHOME should be the folder in which the tcsh script itself resides + # + sed -i.bak \ + -e 's_bin/tcsh.*\$_usr/bin/env tcsh_' \ + -e "s_/scratch_/tmp_" \ + -e "s_setenv[[:space:]]NMHOME.*_setenv NMHOME \\`realpath -s \\\$0 | sed -r 's/[^/]+\$//'\\`_" "${toolname}/${toolbinaryname}" - # - # VALIDATE THE CHECKSUM OF THE DOWNLOADED MODEL DATA - # - checksum="\$(md5sum "$datatarball" | cut -f1 -d' ')" - if [ "\$checksum" != "${datachecksum}" ]; then - echo "A checksum mismatch occurred when checking the data file for ${toolname}." >&2 - exit 3 - fi + # + # VALIDATE THE CHECKSUM OF THE DOWNLOADED MODEL DATA + # + checksum="\$(md5sum "$datatarball" | cut -f1 -d' ')" + if [ "\$checksum" != "${datachecksum}" ]; then + echo "A checksum mismatch occurred when checking the data file for ${toolname}." >&2 + exit 3 + fi - # - # UNPACK THE DOWNLOADED MODEL DATA - # - tar -C "${toolname}" -v -x -f "$datatarball" + # + # UNPACK THE DOWNLOADED MODEL DATA + # + tar -C "${toolname}" -v -x -f "$datatarball" - # - # CREATE VERSION FILE - # - echo "${toolname} ${toolversion}" > "v_${toolname}.txt" - """ + # + # CREATE VERSION FILE + # + echo "${toolname} ${toolversion}" > "v_${toolname}.txt" + """ } diff --git a/modules/local/fred2_generatepeptides.nf b/modules/local/fred2_generatepeptides.nf index fa96971..1d4feff 100644 --- a/modules/local/fred2_generatepeptides.nf +++ b/modules/local/fred2_generatepeptides.nf @@ -1,31 +1,30 @@ process FRED2_GENERATEPEPTIDES { + label 'process_low' conda (params.enable_conda ? "conda-forge::fred2:2.0.7" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/fred2:2.0.7--py_0" - } else { - container "quay.io/biocontainers/fred2:2.0.7--py_0" - } + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/fred2:2.0.7--py_0' : + 'quay.io/biocontainers/fred2:2.0.7--py_0' }" input: - tuple val(meta), path(raw) + tuple val(meta), path(raw) output: - tuple val(meta), path("*.tsv"), emit: splitted - path "versions.yml", emit: versions + tuple val(meta), path("*.tsv"), emit: splitted + path "versions.yml", emit: versions script: - def prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}_peptides" + def prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}_peptides" - """ - gen_peptides.py --input ${raw} \\ - --output '${prefix}.tsv' \\ - $options.args + """ + gen_peptides.py --input ${raw} \\ + --output '${prefix}.tsv' \\ + $options.args - cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: - fred2: \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)") - python: \$(python --version 2>&1 | sed 's/Python //g') - END_VERSIONS - """ + cat <<-END_VERSIONS > versions.yml + "${task.process}": + fred2: \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)") + python: \$(python --version 2>&1 | sed 's/Python //g') + END_VERSIONS + """ } diff --git a/modules/local/get_prediction_versions.nf b/modules/local/get_prediction_versions.nf index 9e7d2ae..e4653a8 100644 --- a/modules/local/get_prediction_versions.nf +++ b/modules/local/get_prediction_versions.nf @@ -1,33 +1,32 @@ process GET_PREDICTION_VERSIONS { + label 'process_low' conda (params.enable_conda ? "bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" - } else { - container "quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" - } + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0' : + 'quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0' }" input: - val external_tool_versions + val external_tool_versions output: - path "versions.csv", emit: versions + path "versions.csv", emit: versions script: - external_tools = external_tool_versions.join('\n') - -""" -cat <<-END_VERSIONS > versions.csv -mhcflurry: \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') -mhcnuggets: \$(python -c "import pkg_resources; print('mhcnuggets' + pkg_resources.get_distribution('mhcnuggets').version)" | sed 's/^mhcnuggets//; s/ .*\$//' ) -fred2: \$(python -c "import pkg_resources; print('fred2' + pkg_resources.get_distribution('Fred2').version)" | sed 's/^fred2//; s/ .*\$//') -END_VERSIONS - -if ! [ -z "${external_tools}" ] -then - echo ${external_tools} >> versions.csv -fi -""" + def external_tools = external_tool_versions.join('\n') + + """ + cat <<-END_VERSIONS > versions.csv + mhcflurry: \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') + mhcnuggets: \$(python -c "import pkg_resources; print('mhcnuggets' + pkg_resources.get_distribution('mhcnuggets').version)" | sed 's/^mhcnuggets//; s/ .*\$//' ) + fred2: \$(python -c "import pkg_resources; print('fred2' + pkg_resources.get_distribution('Fred2').version)" | sed 's/^fred2//; s/ .*\$//') + END_VERSIONS + + if ! [ -z "${external_tools}" ] + then + echo ${external_tools} >> versions.csv + fi + """ } diff --git a/modules/local/merge_json.nf b/modules/local/merge_json.nf index fd33b62..f8f8c11 100644 --- a/modules/local/merge_json.nf +++ b/modules/local/merge_json.nf @@ -1,34 +1,29 @@ process MERGE_JSON { + label 'process_low' conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/python:3.8.3" - } else { - container "quay.io/biocontainers/python:3.8.3" - } + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/python:3.8.3' : + 'quay.io/biocontainers/python:3.8.3' }" input: - tuple val(meta), path(json) + tuple val(meta), path(json) output: - tuple val(meta), path("*.json"), emit: json - path "versions.yml", emit: versions + tuple val(meta), path("*.json"), emit: json + path "versions.yml", emit: versions script: - def argument = "$options.args" - if (argument.contains("single_input") == true) { - argument += " ${json}" - } - - """ - merge_jsons.py --prefix ${meta.sample} ${argument} + def argument = "$options.args" + if (argument.contains("single_input") == true) { + argument += " ${json}" + } + """ + merge_jsons.py --prefix ${meta.sample} ${argument} - cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: - python: \$(python --version | sed 's/Python //g') - END_VERSIONS - """ + cat <<-END_VERSIONS > versions.yml + "${task.process}": + python: \$(python --version | sed 's/Python //g') + END_VERSIONS + """ } - -// "merge_jsons.py --single_input ${jsons} --prefix ${input_base_name}" : -// "merge_jsons.py --input \$PWD --prefix ${input_base_name}" diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf index 6384a84..134639e 100644 --- a/modules/local/peptide_prediction.nf +++ b/modules/local/peptide_prediction.nf @@ -1,20 +1,19 @@ process PEPTIDE_PREDICTION { + label 'process_low' conda (params.enable_conda ? "bioconda::snpsift=4.3.1t bioconda::python=2.7.15 bioconda::pyvcf=0.6.8 conda-forge::pandas=0.24.2 bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" - } else { - container "quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" - } + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0' : + 'quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0' }" input: - tuple val(meta), path(splitted), path(software_versions) + tuple val(meta), path(splitted), path(software_versions) output: - tuple val(meta), path("*.json"), emit: json - tuple val(meta), path("*.tsv"), emit: predicted - tuple val(meta), path("*.fasta"), emit: fasta optional true - path "versions.yml", emit: versions + tuple val(meta), path("*.json"), emit: json + tuple val(meta), path("*.tsv"), emit: predicted + tuple val(meta), path("*.fasta"), emit: fasta optional true + path "versions.yml", emit: versions script: // Additions to the argument command need to go to the beginning. @@ -44,7 +43,7 @@ process PEPTIDE_PREDICTION { $options.args ${splitted} cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: + "${task.process}": python: \$(python --version 2>&1 | sed 's/Python //g') fred2: \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)") pandas: \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('pandas').version)") @@ -53,5 +52,4 @@ process PEPTIDE_PREDICTION { mhcnuggets: \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('mhcnuggets').version)") END_VERSIONS """ - } diff --git a/modules/local/samplesheet_check.nf b/modules/local/samplesheet_check.nf index 021aeb0..7df86c8 100644 --- a/modules/local/samplesheet_check.nf +++ b/modules/local/samplesheet_check.nf @@ -7,7 +7,7 @@ process SAMPLESHEET_CHECK { 'quay.io/biocontainers/python:3.8.3' }" input: - path samplesheet + path samplesheet output: path '*.csv' , emit: csv diff --git a/modules/local/show_supported_models.nf b/modules/local/show_supported_models.nf index 316c186..34b876a 100644 --- a/modules/local/show_supported_models.nf +++ b/modules/local/show_supported_models.nf @@ -1,31 +1,28 @@ process SHOW_SUPPORTED_MODELS { + label 'process_low' conda (params.enable_conda ? "bioconda::fred2=2.0.7 bioconda::mhcflurry=1.4.3 bioconda::mhcnuggets=2.3.2" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" - } else { - container "quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0" - } + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0' : + 'quay.io/biocontainers/mulled-v2-c3f301504f7fa2e7bf81c3783de19a9990ea3001:12b1b9f040fd92a80629d58f8a558dde4820eb15-0' }" input: - tuple val(meta), path(raw), path(software_versions) + tuple val(meta), path(raw), path(software_versions) output: - path '*.txt', emit: txt // model_report.txt - path "versions.yml", emit: versions - + path '*.txt', emit: txt // model_report.txt + path "versions.yml", emit: versions script: - - """ - check_supported_models.py --versions ${software_versions} - - cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: - mhcflurry: \$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) - mhcnuggets: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('mhcnuggets').version)")) - fred2: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)")) - END_VERSIONS - """ + """ + check_supported_models.py --versions ${software_versions} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + mhcflurry: \$(echo \$(mhcflurry-predict --version 2>&1 | sed 's/^mhcflurry //; s/ .*\$//') ) + mhcnuggets: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('mhcnuggets').version)")) + fred2: \$(echo \$(python -c "import pkg_resources; print(pkg_resources.get_distribution('Fred2').version)")) + END_VERSIONS + """ } diff --git a/modules/local/snpsift_split.nf b/modules/local/snpsift_split.nf index 49b3840..5c1db0e 100644 --- a/modules/local/snpsift_split.nf +++ b/modules/local/snpsift_split.nf @@ -1,25 +1,24 @@ process SNPSIFT_SPLIT { + label 'process_low' conda (params.enable_conda ? "conda-forge::snpsift:4.2" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/snpsift:4.2--hdfd78af_5" - } else { - container "quay.io/biocontainers/snpsift:4.2--hdfd78af_5" - } + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/snpsift:4.2--hdfd78af_5' : + 'quay.io/biocontainers/snpsift:4.2--hdfd78af_5' }" input: - tuple val(meta), path(input_file) + tuple val(meta), path(input_file) output: - tuple val(meta), path("*.vcf"), emit: splitted - path "versions.yml", emit: versions + tuple val(meta), path("*.vcf"), emit: splitted + path "versions.yml", emit: versions script: """ SnpSift split ${input_file} cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: + "${task.process}": snpsift: \$(echo \$(snpsift -version 2>&1 | sed -n 3p | cut -d\$' ' -f3)) END_VERSIONS """ diff --git a/modules/local/split_peptides.nf b/modules/local/split_peptides.nf index d836f59..77fb3d1 100644 --- a/modules/local/split_peptides.nf +++ b/modules/local/split_peptides.nf @@ -1,31 +1,29 @@ process SPLIT_PEPTIDES { + label 'process_low' conda (params.enable_conda ? "conda-forge::python=3.8.3" : null) - if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/python:3.8.3" - } else { - container "quay.io/biocontainers/python:3.8.3" - } - // cache false + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/python:3.8.3' : + 'quay.io/biocontainers/python:3.8.3' }" input: - tuple val(meta), path(peptide) + tuple val(meta), path(peptide) output: - tuple val(meta), path("*.tsv"), emit: splitted - path "versions.yml", emit: versions + tuple val(meta), path("*.tsv"), emit: splitted + path "versions.yml", emit: versions script: - def prefix = options.suffix ? "${peptide.baseName}_${options.suffix}" : "${peptide.baseName}" + def prefix = options.suffix ? "${peptide.baseName}_${options.suffix}" : "${peptide.baseName}" - """ - split_peptides.py --input ${peptide} \\ - --output_base "${prefix}" \\ - $options.args + """ + split_peptides.py --input ${peptide} \\ + --output_base "${prefix}" \\ + $options.args - cat <<-END_VERSIONS > versions.yml - ${getProcessName(task.process)}: - python: \$(python --version | sed 's/Python //g') - END_VERSIONS - """ + cat <<-END_VERSIONS > versions.yml + "${task.process}": + python: \$(python --version | sed 's/Python //g') + END_VERSIONS + """ } From 080f9d273831f2db47ec1ac355fed0842da4950b Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 12:55:30 +0100 Subject: [PATCH 108/137] fix igenomes ignore --- nextflow.config | 1 + 1 file changed, 1 insertion(+) diff --git a/nextflow.config b/nextflow.config index aa4c9ff..bba11b1 100644 --- a/nextflow.config +++ b/nextflow.config @@ -52,6 +52,7 @@ params { show_hidden_params = false schema_ignore_params = 'genomes' enable_conda = false + igenomes_ignore = true // Max resource options // Defaults only, expecting to be overwritten From ef5fe7beab4d959042957aaa9802a8fac5ccdc16 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 13:58:09 +0100 Subject: [PATCH 109/137] fix bugs --- conf/modules.config | 8 ++------ nextflow.config | 2 +- workflows/epitopeprediction.nf | 24 +++++++++++++----------- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index d043150..bbcafc6 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -29,10 +29,6 @@ process { ] } - withName: FASTQC { - ext.args = '--quiet' - } - withName: CUSTOM_DUMPSOFTWAREVERSIONS { publishDir = [ path: { "${params.outdir}/pipeline_info" }, @@ -110,13 +106,13 @@ process { ] } - withName: CSTKV_CONCAT { + withName: CSVTK_CONCAT { publishDir = [ path: { "${params.outdir}/merged_predictions" }, ] } - withName: CSTKV_SPLIT { + withName: CSVTK_SPLIT { publishDir = [ path: { "${params.outdir}/splitted" }, ] diff --git a/nextflow.config b/nextflow.config index bba11b1..0b2d66a 100644 --- a/nextflow.config +++ b/nextflow.config @@ -196,7 +196,7 @@ manifest { homePage = 'https://github.com/nf-core/epitopeprediction' description = 'A fully reproducible and state of the art epitope prediction pipeline.' mainScript = 'main.nf' - nextflowVersion = '!>=21.10.4' + nextflowVersion = '!>=21.10.3' version = '1.2.0dev' } diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 98e9f9f..c450035 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -53,6 +53,8 @@ include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PROTEIN } from '../mod include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_PEP } from '../modules/local/peptide_prediction' include { PEPTIDE_PREDICTION as PEPTIDE_PREDICTION_VAR } from '../modules/local/peptide_prediction' +include { CAT_FILES as CAT_TSV } from '../modules/local/cat_files' +include { CAT_FILES as CAT_FASTA } from '../modules/local/cat_files' include { CSVTK_CONCAT } from '../modules/local/csvtk_concat' include { MERGE_JSON as MERGE_JSON_SINGLE } from '../modules/local/merge_json' @@ -99,7 +101,7 @@ workflow EPITOPEPREDICTION { ) ch_versions = ch_versions.mix(INPUT_CHECK.out.versions) - INPUT_CHECK.out + INPUT_CHECK.out.reads .branch { meta_data, input_file -> variant : meta_data.inputtype == 'variant' @@ -204,16 +206,16 @@ workflow EPITOPEPREDICTION { // Return a warning if this is raised CHECK_REQUESTED_MODELS.out.log - .mix(CHECK_REQUESTED_MODELS_PEP.out.log) - .subscribe { - model_log_file = file("$it", checkIfExists: true) - def lines = model_log_file.readLines() - if (lines.size() > 0) { - log.info "-${c_purple} Warning: ${c_reset}-" - lines.each { String line -> - log.info "-${c_purple} $line ${c_reset}-" - } - } + .mix(CHECK_REQUESTED_MODELS_PEP.out.log) + .subscribe { + model_log_file = file("$it", checkIfExists: true) + def lines = model_log_file.readLines() + if (lines.size() > 0) { + log.info "-${c_purple} Warning: ${c_reset}-" + lines.each { String line -> + log.info "-${c_purple} $line ${c_reset}-" + } + } } // Retrieve meta data for external tools From e504260418c6c86272354e5860d243f6b36171a7 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 15:28:49 +0100 Subject: [PATCH 110/137] fix options bug --- modules/local/merge_json.nf | 2 +- modules/local/peptide_prediction.nf | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/local/merge_json.nf b/modules/local/merge_json.nf index f8f8c11..0eca9cc 100644 --- a/modules/local/merge_json.nf +++ b/modules/local/merge_json.nf @@ -14,7 +14,7 @@ process MERGE_JSON { path "versions.yml", emit: versions script: - def argument = "$options.args" + def argument = task.ext.args if (argument.contains("single_input") == true) { argument += " ${json}" } diff --git a/modules/local/peptide_prediction.nf b/modules/local/peptide_prediction.nf index 134639e..92dd6a8 100644 --- a/modules/local/peptide_prediction.nf +++ b/modules/local/peptide_prediction.nf @@ -33,14 +33,14 @@ process PEPTIDE_PREDICTION { } if (params.tool_thresholds) { - argument = "--tool_thresholds ${tool_thresholds} " + argument + argument = "--tool_thresholds ${params.tool_thresholds} " + argument } """ epaa.py --identifier ${splitted.baseName} \ --alleles '${meta.alleles}' \ --versions ${software_versions} \ - $options.args ${splitted} + ${argument} ${splitted} cat <<-END_VERSIONS > versions.yml "${task.process}": From fcb46bbcccae919919ad6f6d30e9a0d13a8ffb2d Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 16:03:39 +0100 Subject: [PATCH 111/137] remove options arg --- modules/local/cat_files.nf | 2 +- modules/local/fred2_generatepeptides.nf | 5 +++-- modules/local/split_peptides.nf | 4 ++-- nextflow.config | 15 +-------------- nextflow_schema.json | 6 ------ 5 files changed, 7 insertions(+), 25 deletions(-) diff --git a/modules/local/cat_files.nf b/modules/local/cat_files.nf index 1b24be7..c23280e 100644 --- a/modules/local/cat_files.nf +++ b/modules/local/cat_files.nf @@ -9,7 +9,7 @@ process CAT_FILES { script: def fileExt = input.collect { it.name.tokenize("\\.")[-1] }.join(' ') - prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}" + prefix = task.ext.suffix ? "${meta.sample}_${task.ext.suffix}" : "${meta.sample}" """ cat $input > ${prefix}_prediction.${fileExt} diff --git a/modules/local/fred2_generatepeptides.nf b/modules/local/fred2_generatepeptides.nf index 1d4feff..d9fb96c 100644 --- a/modules/local/fred2_generatepeptides.nf +++ b/modules/local/fred2_generatepeptides.nf @@ -1,5 +1,6 @@ process FRED2_GENERATEPEPTIDES { label 'process_low' + tag "${meta.sample}" conda (params.enable_conda ? "conda-forge::fred2:2.0.7" : null) container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? @@ -14,12 +15,12 @@ process FRED2_GENERATEPEPTIDES { path "versions.yml", emit: versions script: - def prefix = options.suffix ? "${meta.sample}_${options.suffix}" : "${meta.sample}_peptides" + def prefix = task.ext.suffix ? "${meta.sample}_${task.ext.suffix}" : "${meta.sample}_peptides" """ gen_peptides.py --input ${raw} \\ --output '${prefix}.tsv' \\ - $options.args + $task.ext.args cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/local/split_peptides.nf b/modules/local/split_peptides.nf index 77fb3d1..b6e5aa1 100644 --- a/modules/local/split_peptides.nf +++ b/modules/local/split_peptides.nf @@ -14,12 +14,12 @@ process SPLIT_PEPTIDES { path "versions.yml", emit: versions script: - def prefix = options.suffix ? "${peptide.baseName}_${options.suffix}" : "${peptide.baseName}" + def prefix = task.ext.suffix ? "${peptide.baseName}_${task.ext.suffix}" : "${peptide.baseName}" """ split_peptides.py --input ${peptide} \\ --output_base "${prefix}" \\ - $options.args + $task.ext.args cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/nextflow.config b/nextflow.config index 0b2d66a..3ade506 100644 --- a/nextflow.config +++ b/nextflow.config @@ -73,8 +73,6 @@ params { config_profile_url = null config_profile_name = null - - mem_mode = 'low' // to adjust memory requirements (e.g. when using arbitrary big peptide or protein files) } // Load base.config by default for all pipelines @@ -197,7 +195,7 @@ manifest { description = 'A fully reproducible and state of the art epitope prediction pipeline.' mainScript = 'main.nf' nextflowVersion = '!>=21.10.3' - version = '1.2.0dev' + version = '2.0.0' } // Function to ensure that resource requirements don't go beyond @@ -232,14 +230,3 @@ def check_max(obj, type) { } } } - -// Function to set memory dependend on user specified memory mode -def get_mem_mode(mem0, mem1, mem2) { - if (params.mem_mode == 'low') { - return check_max( mem0, 'memory' ) - } else if (params.mem_mode == 'intermediate') { - return check_max( mem1, 'memory' ) - } else { - return check_max( mem2, 'memory' ) - } -} diff --git a/nextflow_schema.json b/nextflow_schema.json index 5c5743f..1b57951 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -174,12 +174,6 @@ "default": 5000, "help_text": "Used in combination with `--peptides` or `--proteins`: minimum number of peptides that should be written into one chunk.", "description": "Specifies the minimum number of peptides that should be written into one chunk." - }, - "mem_mode": { - "type": "string", - "default": "low", - "help_text": "Specifies which memory mode should be used for processes requiring a bit more memory, useful e.g. when running on arbitrary big protein or peptide input data. Available: `low`, `intermediate`, `high` (corresponding to max. 7.GB, 40.GB, 500.GB). Default: `low`.", - "description": "Specifies which memory mode should be used." } } }, From 18b3c73b5b266e39c3369de3fe5f53337f5bdce7 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 16:11:08 +0100 Subject: [PATCH 112/137] fix json schema --- nextflow.config | 8 ++++---- nextflow_schema.json | 14 -------------- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/nextflow.config b/nextflow.config index 3ade506..7cd8164 100644 --- a/nextflow.config +++ b/nextflow.config @@ -24,10 +24,10 @@ params { // Options: Filtering filter_self = false show_supported_models = false - netmhcpan_path = false - netmhc_path = false - netmhciipan_path = false - netmhcii_path = false + netmhcpan_path = null + netmhc_path = null + netmhciipan_path = null + netmhcii_path = null // Options: Peptides max_peptide_length = (mhc_class == 1) ? 11 : 16 diff --git a/nextflow_schema.json b/nextflow_schema.json index 1b57951..22591a4 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -73,20 +73,6 @@ "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." - }, - "igenomes_base": { - "type": "string", - "format": "directory-path", - "description": "Directory / URL base for iGenomes references.", - "default": "s3://ngi-igenomes/igenomes", - "fa_icon": "fas fa-cloud-download-alt", - "hidden": true - }, "igenomes_ignore": { "type": "boolean", "description": "Do not load the iGenomes reference config.", From 11a7d833d16b18a2206e5d93dd5a371f5598e9c8 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 16:16:02 +0100 Subject: [PATCH 113/137] fix indents --- workflows/epitopeprediction.nf | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index c450035..1c140aa 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -154,10 +154,10 @@ workflow EPITOPEPREDICTION { // get versions of specified external tools ch_external_versions = Channel - .from(tools) - .filter( ~/(?i)^net.*/ ) - .map { it -> "${it}: ${netmhc_meta_data[it.toLowerCase()].version}"} - .collect() + .from(tools) + .filter( ~/(?i)^net.*/ ) + .map { it -> "${it}: ${netmhc_meta_data[it.toLowerCase()].version}"} + .collect() // get versions of all prediction tools GET_PREDICTION_VERSIONS(ch_external_versions.ifEmpty([])) @@ -200,7 +200,7 @@ workflow EPITOPEPREDICTION { // perform the check requested models on the peptide file where we need the input itself to determine the given peptide lengths CHECK_REQUESTED_MODELS_PEP( ch_samples_from_sheet.peptide - .map { meta_data, input_file -> tuple( meta_data.alleles.split(';'), input_file ) }, + .map { meta_data, input_file -> tuple( meta_data.alleles.split(';'), input_file ) }, ch_prediction_tool_versions ) @@ -320,16 +320,16 @@ workflow EPITOPEPREDICTION { // Combine the predicted files and save them in a branch to make a distinction between samples with single and multi files PEPTIDE_PREDICTION_PEP.out.predicted.mix(PEPTIDE_PREDICTION_VAR.out.predicted, PEPTIDE_PREDICTION_PROTEIN.out.predicted) - .groupTuple() - .flatMap { meta_data, predicted -> [[[sample:meta_data.sample, alleles:meta_data.alleles, files:predicted.size()], predicted]] } - .branch { - meta_data, predicted -> - multi: meta_data.files > 1 - return [ meta_data, predicted ] - single: meta_data.files == 1 - return [ meta_data, predicted ] - } - .set { ch_predicted_peptides } + .groupTuple() + .flatMap { meta_data, predicted -> [[[sample:meta_data.sample, alleles:meta_data.alleles, files:predicted.size()], predicted]] } + .branch { + meta_data, predicted -> + multi: meta_data.files > 1 + return [ meta_data, predicted ] + single: meta_data.files == 1 + return [ meta_data, predicted ] + } + .set { ch_predicted_peptides } // Combine epitope prediction results CAT_TSV(ch_predicted_peptides.single) @@ -381,7 +381,7 @@ workflow EPITOPEPREDICTION { MULTIQC ( ch_multiqc_files.collect() ) - multiqc_report = MULTIQC.out.report.toList() + multiqc_report = MULTIQC.out.report.toList() } } From 40637abde9907ef3a9e892f1edf9a5eb3f22dbc0 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 16:19:08 +0100 Subject: [PATCH 114/137] fix NXF ver --- .github/workflows/ci.yml | 6 +++--- README.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d8dee0..3c5906d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: # Nextflow versions include: # Test pipeline minimum Nextflow version - - NXF_VER: '21.10.4' + - NXF_VER: '21.10.3' NXF_EDGE: '' # Test latest edge release of Nextflow - NXF_VER: '' @@ -57,7 +57,7 @@ jobs: matrix: include: # Test pipeline minimum Nextflow version - - NXF_VER: '21.10.4' + - NXF_VER: '21.10.3' NXF_EDGE: '' # Test latest edge release of Nextflow - NXF_VER: '' @@ -97,7 +97,7 @@ jobs: matrix: include: # Test pipeline minimum Nextflow version - - NXF_VER: '21.10.4' + - NXF_VER: '21.10.3' NXF_EDGE: '' # Test latest edge release of Nextflow - NXF_VER: '' diff --git a/README.md b/README.md index c726f2c..726acd4 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/epitopeprediction/results) [![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.3564666-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.3564666) -[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.4-23aa62.svg?labelColor=000000)](https://www.nextflow.io/) +[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg?labelColor=000000)](https://www.nextflow.io/) [![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/) [![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/) [![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/) From 5338d1a2570d12498e338a21505960fe15fb7de9 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 16:20:50 +0100 Subject: [PATCH 115/137] ignore lint error --- .nf-core.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nf-core.yml b/.nf-core.yml index 04a917a..f288a34 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -1,3 +1,3 @@ lint: files_exist: - - modules/local/get_software_versions.nf + - docs/images/nf-core-epitopeprediction_logo_dark.png From 09f0f7dccada9c4a2aa1eca287e018c5b57316ae Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 16:23:43 +0100 Subject: [PATCH 116/137] really ignore linting error --- .nf-core.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nf-core.yml b/.nf-core.yml index f288a34..b78b221 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -1,3 +1,3 @@ lint: - files_exist: + files_unchanged: - docs/images/nf-core-epitopeprediction_logo_dark.png From a546437c814c29721780a979e1330ebaa3995ee1 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 16:45:17 +0100 Subject: [PATCH 117/137] formatting changes --- workflows/epitopeprediction.nf | 242 +++++++++++++++++++-------------- 1 file changed, 142 insertions(+), 100 deletions(-) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 1c140aa..0152897 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -154,10 +154,10 @@ workflow EPITOPEPREDICTION { // get versions of specified external tools ch_external_versions = Channel - .from(tools) - .filter( ~/(?i)^net.*/ ) - .map { it -> "${it}: ${netmhc_meta_data[it.toLowerCase()].version}"} - .collect() + .from(tools) + .filter( ~/(?i)^net.*/ ) + .map { it -> "${it}: ${netmhc_meta_data[it.toLowerCase()].version}"} + .collect() // get versions of all prediction tools GET_PREDICTION_VERSIONS(ch_external_versions.ifEmpty([])) @@ -166,10 +166,11 @@ workflow EPITOPEPREDICTION { // TODO I guess it would be better to have two subworkflows for the if else parts (CM) if (params.show_supported_models) { SHOW_SUPPORTED_MODELS( - ch_samples_from_sheet.protein - .mix(ch_samples_from_sheet.variant, ch_samples_from_sheet.peptide) - .combine(ch_prediction_tool_versions) - .first() + ch_samples_from_sheet + .protein + .mix(ch_samples_from_sheet.variant, ch_samples_from_sheet.peptide) + .combine(ch_prediction_tool_versions) + .first() ) } @@ -183,14 +184,15 @@ workflow EPITOPEPREDICTION { // perform the check requested models on the protein and variant files // we have to perform it on all alleles that are given in the sample sheet - ch_variants_protein_models = ch_samples_from_sheet.variant - .mix(ch_samples_from_sheet.protein) - .map { meta_data, file -> meta_data.alleles } - .splitCsv(sep: ';') - .collect() - .toList() - .combine(ch_samples_from_sheet.variant.first()) - .map { it -> tuple(it[0].unique(), it[-1])} + ch_variants_protein_models = ch_samples_from_sheet + .variant + .mix(ch_samples_from_sheet.protein) + .map { meta_data, file -> meta_data.alleles } + .splitCsv(sep: ';') + .collect() + .toList() + .combine(ch_samples_from_sheet.variant.first()) + .map { it -> tuple(it[0].unique(), it[-1])} CHECK_REQUESTED_MODELS( ch_variants_protein_models, @@ -199,23 +201,26 @@ workflow EPITOPEPREDICTION { // perform the check requested models on the peptide file where we need the input itself to determine the given peptide lengths CHECK_REQUESTED_MODELS_PEP( - ch_samples_from_sheet.peptide - .map { meta_data, input_file -> tuple( meta_data.alleles.split(';'), input_file ) }, + ch_samples_from_sheet + .peptide + .map { meta_data, input_file -> tuple( meta_data.alleles.split(';'), input_file ) }, ch_prediction_tool_versions ) // Return a warning if this is raised - CHECK_REQUESTED_MODELS.out.log - .mix(CHECK_REQUESTED_MODELS_PEP.out.log) - .subscribe { - model_log_file = file("$it", checkIfExists: true) - def lines = model_log_file.readLines() - if (lines.size() > 0) { - log.info "-${c_purple} Warning: ${c_reset}-" - lines.each { String line -> - log.info "-${c_purple} $line ${c_reset}-" - } - } + CHECK_REQUESTED_MODELS + .out + .log + .mix(CHECK_REQUESTED_MODELS_PEP.out.log) + .subscribe { + model_log_file = file("$it", checkIfExists: true) + def lines = model_log_file.readLines() + if (lines.size() > 0) { + log.info "-${c_purple} Warning: ${c_reset}-" + lines.each { String line -> + log.info "-${c_purple} $line ${c_reset}-" + } + } } // Retrieve meta data for external tools @@ -254,35 +259,47 @@ workflow EPITOPEPREDICTION { */ // Make a division for the variant files and process them further accordingly - ch_samples_from_sheet.variant - .branch { - meta_data, input_file -> - vcf : input_file.extension == 'vcf' || input_file.extension == 'vcf.gz' - return [ meta_data, input_file ] - tab : input_file.extension == 'tsv' || input_file.extension == 'GSvar' - return [ meta_data, input_file ] - } - .set { ch_variants } + ch_samples_from_sheet + .variant + .branch { + meta_data, input_file -> + vcf : input_file.extension == 'vcf' || input_file.extension == 'vcf.gz' + return [ meta_data, input_file ] + tab : input_file.extension == 'tsv' || input_file.extension == 'GSvar' + return [ meta_data, input_file ] + } + .set { ch_variants } // include the snpsift_split function (only vcf and vcf.gz variant files) - SNPSIFT_SPLIT(ch_variants.vcf) + SNPSIFT_SPLIT( + ch_variants.vcf + ) // include the csvtk_split function (only variant files with an tsv and GSvar executable) - CSVTK_SPLIT(ch_variants.tab) + CSVTK_SPLIT( + ch_variants.tab + ) - ch_versions = ch_versions.mix(SNPSIFT_SPLIT.out.versions.ifEmpty(null)) - ch_versions = ch_versions.mix(CSVTK_SPLIT.out.versions.ifEmpty(null)) + ch_versions = ch_versions.mix( SNPSIFT_SPLIT.out.versions.ifEmpty(null) ) + ch_versions = ch_versions.mix( CSVTK_SPLIT.out.versions.ifEmpty(null) ) // process FASTA file and generated peptides - FRED2_GENERATEPEPTIDES(ch_samples_from_sheet.protein) - SPLIT_PEPTIDES_PROTEIN(FRED2_GENERATEPEPTIDES.out.splitted) + FRED2_GENERATEPEPTIDES( + ch_samples_from_sheet.protein + ) - ch_versions = ch_versions.mix(FRED2_GENERATEPEPTIDES.out.versions.ifEmpty(null)) - ch_versions = ch_versions.mix(SPLIT_PEPTIDES_PROTEIN.out.versions.ifEmpty(null)) + SPLIT_PEPTIDES_PROTEIN( + FRED2_GENERATEPEPTIDES.out.splitted + ) + + ch_versions = ch_versions.mix( FRED2_GENERATEPEPTIDES.out.versions.ifEmpty(null) ) + ch_versions = ch_versions.mix( SPLIT_PEPTIDES_PROTEIN.out.versions.ifEmpty(null) ) // split peptide data // TODO: Add the appropriate container to remove the warning - SPLIT_PEPTIDES(ch_samples_from_sheet.peptide) - ch_versions = ch_versions.mix(SPLIT_PEPTIDES.out.versions.ifEmpty(null)) + SPLIT_PEPTIDES( + ch_samples_from_sheet.peptide + ) + ch_versions = ch_versions.mix( SPLIT_PEPTIDES.out.versions.ifEmpty(null) ) /* ======================================================================================== @@ -293,71 +310,96 @@ workflow EPITOPEPREDICTION { // not sure if this is the best solution to also have a extra process for protein, but I think we need it for cases when we have both in one sheet? (CM) // run epitope prediction for proteins PEPTIDE_PREDICTION_PROTEIN( - SPLIT_PEPTIDES_PROTEIN.out.splitted - .combine(ch_prediction_tool_versions) - .transpose() + SPLIT_PEPTIDES_PROTEIN + .out + .splitted + .combine( ch_prediction_tool_versions ) + .transpose() ) // Run epitope prediction for peptides PEPTIDE_PREDICTION_PEP( - SPLIT_PEPTIDES.out.splitted - .combine(ch_prediction_tool_versions) - .transpose() + SPLIT_PEPTIDES + .out + .splitted + .combine( ch_prediction_tool_versions ) + .transpose() ) // Run epitope prediction for variants PEPTIDE_PREDICTION_VAR( - CSVTK_SPLIT.out.splitted - .mix(SNPSIFT_SPLIT.out.splitted) - .combine(ch_prediction_tool_versions) - .transpose() + CSVTK_SPLIT + .out + .splitted + .mix( SNPSIFT_SPLIT.out.splitted ) + .combine( ch_prediction_tool_versions ) + .transpose() ) // collect prediction script versions - ch_versions = ch_versions.mix(PEPTIDE_PREDICTION_VAR.out.versions.ifEmpty(null)) - ch_versions = ch_versions.mix(PEPTIDE_PREDICTION_PEP.out.versions.ifEmpty(null)) - ch_versions = ch_versions.mix(PEPTIDE_PREDICTION_PROTEIN.out.versions.ifEmpty(null)) + ch_versions = ch_versions.mix( PEPTIDE_PREDICTION_VAR.out.versions.ifEmpty(null) ) + ch_versions = ch_versions.mix( PEPTIDE_PREDICTION_PEP.out.versions.ifEmpty(null) ) + ch_versions = ch_versions.mix( PEPTIDE_PREDICTION_PROTEIN.out.versions.ifEmpty(null) ) // Combine the predicted files and save them in a branch to make a distinction between samples with single and multi files - PEPTIDE_PREDICTION_PEP.out.predicted.mix(PEPTIDE_PREDICTION_VAR.out.predicted, PEPTIDE_PREDICTION_PROTEIN.out.predicted) - .groupTuple() - .flatMap { meta_data, predicted -> [[[sample:meta_data.sample, alleles:meta_data.alleles, files:predicted.size()], predicted]] } - .branch { - meta_data, predicted -> - multi: meta_data.files > 1 - return [ meta_data, predicted ] - single: meta_data.files == 1 - return [ meta_data, predicted ] - } - .set { ch_predicted_peptides } + PEPTIDE_PREDICTION_PEP + .out + .predicted + .mix( PEPTIDE_PREDICTION_VAR.out.predicted, PEPTIDE_PREDICTION_PROTEIN.out.predicted ) + .groupTuple() + .flatMap { meta_data, predicted -> [[[ sample:meta_data.sample, alleles:meta_data.alleles, files:predicted.size() ], predicted ]] } + .branch { + meta_data, predicted -> + multi: meta_data.files > 1 + return [ meta_data, predicted ] + single: meta_data.files == 1 + return [ meta_data, predicted ] + } + .set { ch_predicted_peptides } // Combine epitope prediction results - CAT_TSV(ch_predicted_peptides.single) - CSVTK_CONCAT(ch_predicted_peptides.multi) - ch_versions = ch_versions.mix(CSVTK_CONCAT.out.versions.ifEmpty(null)) + CAT_TSV( + ch_predicted_peptides.single + ) + CSVTK_CONCAT( + ch_predicted_peptides.multi + ) + ch_versions = ch_versions.mix( CSVTK_CONCAT.out.versions.ifEmpty(null) ) // Combine protein sequences - CAT_FASTA(PEPTIDE_PREDICTION_PEP.out.fasta.mix(PEPTIDE_PREDICTION_VAR.out.fasta, PEPTIDE_PREDICTION_PROTEIN.out.fasta).groupTuple()) - - PEPTIDE_PREDICTION_PEP.out.json - .mix(PEPTIDE_PREDICTION_VAR.out.json) - .mix(PEPTIDE_PREDICTION_PROTEIN.out.json) - .groupTuple() - .flatMap { meta, json -> [[[sample:meta.sample, alleles:meta.alleles, files:json.size()], json]] } - .branch { - meta, json -> - multi: meta.files > 1 - return [ meta, json ] - single: meta.files == 1 - return [ meta, json ] - } - .set { ch_json_reports } + CAT_FASTA( + PEPTIDE_PREDICTION_PEP + .out + .fasta + .mix( PEPTIDE_PREDICTION_VAR.out.fasta, PEPTIDE_PREDICTION_PROTEIN.out.fasta ) + .groupTuple() + ) + + PEPTIDE_PREDICTION_PEP + .out + .json + .mix( PEPTIDE_PREDICTION_VAR.out.json ) + .mix( PEPTIDE_PREDICTION_PROTEIN.out.json ) + .groupTuple() + .flatMap { meta, json -> [[[ sample:meta.sample, alleles:meta.alleles, files:json.size() ], json ]] } + .branch { + meta, json -> + multi: meta.files > 1 + return [ meta, json ] + single: meta.files == 1 + return [ meta, json ] + } + .set { ch_json_reports } // Combine epitope prediction reports - MERGE_JSON_SINGLE(ch_json_reports.single) - MERGE_JSON_MULTI(ch_json_reports.multi) - ch_versions = ch_versions.mix(MERGE_JSON_SINGLE.out.versions.ifEmpty(null)) - ch_versions = ch_versions.mix(MERGE_JSON_MULTI.out.versions.ifEmpty(null)) + MERGE_JSON_SINGLE( + ch_json_reports.single + ) + MERGE_JSON_MULTI( + ch_json_reports.multi + ) + ch_versions = ch_versions.mix( MERGE_JSON_SINGLE.out.versions.ifEmpty(null) ) + ch_versions = ch_versions.mix( MERGE_JSON_MULTI.out.versions.ifEmpty(null) ) // // MODULE: Pipeline reporting @@ -369,14 +411,14 @@ workflow EPITOPEPREDICTION { // // MODULE: MultiQC // - workflow_summary = WorkflowEpitopeprediction.paramsSummaryMultiqc(workflow, summary_params) - ch_workflow_summary = Channel.value(workflow_summary) + workflow_summary = WorkflowEpitopeprediction.paramsSummaryMultiqc( workflow, summary_params ) + ch_workflow_summary = Channel.value( workflow_summary ) ch_multiqc_files = Channel.empty() - ch_multiqc_files = ch_multiqc_files.mix(Channel.from(ch_multiqc_config)) - ch_multiqc_files = ch_multiqc_files.mix(ch_multiqc_custom_config.collect().ifEmpty([])) - ch_multiqc_files = ch_multiqc_files.mix(CUSTOM_DUMPSOFTWAREVERSIONS.out.mqc_yml.collect()) - ch_multiqc_files = ch_multiqc_files.mix(ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml')) + ch_multiqc_files = ch_multiqc_files.mix( Channel.from( ch_multiqc_config ) ) + ch_multiqc_files = ch_multiqc_files.mix( ch_multiqc_custom_config.collect().ifEmpty([]) ) + ch_multiqc_files = ch_multiqc_files.mix( CUSTOM_DUMPSOFTWAREVERSIONS.out.mqc_yml.collect() ) + ch_multiqc_files = ch_multiqc_files.mix( ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml') ) MULTIQC ( ch_multiqc_files.collect() From 9de5a861f3b0cb3aa3e4f9906bbbf3aefc26f4e5 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 16:59:09 +0100 Subject: [PATCH 118/137] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b5a011..ad9fe30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Updated `python 2.7` to `python 3.8.9` in `split_peptides.nf` and `merge_json.nf`. - [#117](https://github.com/nf-core/epitopeprediction/pull/117) - Bump minimal NXF version to `21.10.4` - [#121](https://github.com/nf-core/epitopeprediction/pull/121) - Extend full test to cover more test cases +- [#122](https://github.com/nf-core/epitopeprediction/pull/122) - Updated to nf-core template v2.2 ### `Fixed` From 89859a71e15d9b748618d67f271cc1abb8f3fc31 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Wed, 15 Dec 2021 17:29:24 +0100 Subject: [PATCH 119/137] use only logo light --- .../nf-core-epitopeprediction_logo_dark.png | Bin 519 -> 88902 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/nf-core-epitopeprediction_logo_dark.png b/docs/images/nf-core-epitopeprediction_logo_dark.png index 1993002f28494136e88a278dbbfcb5170b757b3e..40ba75d4e04e731090c5a0ac65a4bb8b5c6015e0 100644 GIT binary patch literal 88902 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 z
6YFjZl>|1E$`T1^UP=l7kGt^w;NeYGe5*{Is@ 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 X>tr6^yxi(nhx`Syo0lthFD30S>a_u& literal 519 zcmZ`$%TB{E5WMFrmY$(5NQjFS37Q}(6{tiwaCGcVW680DA5{5!)~=8^z|lM7*_j=F z(Y$WEk3$Pj-SZv}?+^Rk7FJh`?b_~k+QHm6>3PID|$mi2Z0O~wDLI9FES~jCKZdQNH0^8lo-O0 zj9F;yG#iXRUp^CtxCS6&Bty#jciO=tLYRd_FgQd4tA%WprE~=l#yDBltvQ=Z!h5B3 z-cQhS2?GARV1?d04<``-E#1OKGN9lz>YU3j+8(p_99>vwGr4gxO}PY`kHV@ Date: Wed, 15 Dec 2021 18:12:33 +0100 Subject: [PATCH 120/137] Remove netmhcii specs and deactivate corresponding tests --- .github/workflows/ci.yml | 6 ------ nextflow.config | 2 -- workflows/epitopeprediction.nf | 16 +--------------- 3 files changed, 1 insertion(+), 23 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3c5906d..52dbd3e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -125,12 +125,6 @@ jobs: - name: Run pipeline with NetMHC run: | nextflow run ${GITHUB_WORKSPACE} -profile test_netmhc,docker - - name: Run pipeline with NetMHCII - run: | - nextflow run ${GITHUB_WORKSPACE} -profile test_netmhcii,docker - name: Run pipeline with NetMHCpan run: | nextflow run ${GITHUB_WORKSPACE} -profile test_netmhcpan,docker - - name: Run pipeline with NetMHCIIpan - run: | - nextflow run ${GITHUB_WORKSPACE} -profile test_netmhciipan,docker diff --git a/nextflow.config b/nextflow.config index 7cd8164..974b282 100644 --- a/nextflow.config +++ b/nextflow.config @@ -140,9 +140,7 @@ profiles { test_mhcnuggets { includeConfig 'conf/test_mhcnuggets.config' } test_mhcflurry { includeConfig 'conf/test_mhcflurry.config' } test_netmhc { includeConfig 'conf/test_netmhc.config' } - test_netmhcii { includeConfig 'conf/test_netmhcii.config' } test_netmhcpan { includeConfig 'conf/test_netmhcpan.config' } - test_netmhciipan { includeConfig 'conf/test_netmhciipan.config' } test_full { includeConfig 'conf/test_full.config' } } diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 0152897..a9aed37 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -128,20 +128,6 @@ workflow EPITOPEPREDICTION { data_url : "https://services.healthtech.dtu.dk/services/NetMHCpan-4.0/data.Linux.tar.gz", data_md5 : "26cbbd99a38f6692249442aeca48608f", binary_name : "netMHCpan" - ], - netmhcii: [ - version : "2.2", - software_md5 : "918b7108a37599887b0725623d0974e6", - data_url : "https://services.healthtech.dtu.dk/services/NetMHCII-2.2/data.tar.gz", - data_md5 : "11579b61d3bfe13311f7b42fc93b4dd8", - binary_name : "netMHCII" - ], - netmhciipan: [ - version : "3.1", - software_md5 : "0962ce799f7a4c9631f8566a55237073", - data_url : "https://services.healthtech.dtu.dk/services/NetMHCIIpan-3.1/data.tar.gz", - data_md5 : "f833df245378e60ca6e55748344a36f6", - binary_name : "netMHCIIpan" ] ] @@ -224,7 +210,7 @@ workflow EPITOPEPREDICTION { } // Retrieve meta data for external tools - ["netmhc", "netmhcpan", "netmhcii", "netmhciipan"].each { + ["netmhc", "netmhcpan"].each { // Check if the _path parameter was set for this tool if (params["${it}_path"] as Boolean && ! tools.contains(it)) { From 10a2865e573aa6bb77e08a0e9a0ca24963293edd Mon Sep 17 00:00:00 2001 From: ggabernet Date: Mon, 20 Dec 2021 10:48:11 +0100 Subject: [PATCH 121/137] test aws fix --- workflows/epitopeprediction.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index a9aed37..5ea7253 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -199,7 +199,7 @@ workflow EPITOPEPREDICTION { .log .mix(CHECK_REQUESTED_MODELS_PEP.out.log) .subscribe { - model_log_file = file("$it", checkIfExists: true) + model_log_file = file(${it}, checkIfExists: true) def lines = model_log_file.readLines() if (lines.size() > 0) { log.info "-${c_purple} Warning: ${c_reset}-" From 401b28621483d65fbceff36481ff983023c1c6e2 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Mon, 20 Dec 2021 11:38:04 +0100 Subject: [PATCH 122/137] Add dark logo --- .../nf-core-epitopeprediction_logo_dark.png | Bin 88902 -> 89011 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/nf-core-epitopeprediction_logo_dark.png b/docs/images/nf-core-epitopeprediction_logo_dark.png index 40ba75d4e04e731090c5a0ac65a4bb8b5c6015e0..7c162709fc54ea6423b6fb1dd37dff838964f2f1 100644 GIT binary patch literal 89011 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 OBRJW+*iru+kn}H6;{7TB literal 88902 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 z
6YFjZl>|1E$`T1^UP=l7kGt^w;NeYGe5*{Is@ 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 X>tr6^yxi(nhx`Syo0lthFD30S>a_u& From 55ae8eda2e876429518e6949e3811eb4ed7f166b Mon Sep 17 00:00:00 2001 From: ggabernet Date: Mon, 20 Dec 2021 12:47:55 +0100 Subject: [PATCH 123/137] test fix aws --- workflows/epitopeprediction.nf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index 5ea7253..c26531d 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -197,9 +197,9 @@ workflow EPITOPEPREDICTION { CHECK_REQUESTED_MODELS .out .log - .mix(CHECK_REQUESTED_MODELS_PEP.out.log) + .mix( CHECK_REQUESTED_MODELS_PEP.out.log ) .subscribe { - model_log_file = file(${it}, checkIfExists: true) + model_log_file = file( it, checkIfExists: true ) def lines = model_log_file.readLines() if (lines.size() > 0) { log.info "-${c_purple} Warning: ${c_reset}-" From 76e0e36b1988b2a398bad4bafe2e68963abdbcb0 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Mon, 20 Dec 2021 15:12:15 +0100 Subject: [PATCH 124/137] base config update --- conf/base.config | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/conf/base.config b/conf/base.config index b65c623..018d0a1 100644 --- a/conf/base.config +++ b/conf/base.config @@ -22,18 +22,18 @@ process { // Process-specific resource requirements withLabel:process_low { cpus = { check_max( 2 * task.attempt, 'cpus' ) } - memory = { check_max( 14.GB * task.attempt, 'memory' ) } - time = { check_max( 6.h * task.attempt, 'time' ) } + memory = { check_max( 12.GB * task.attempt, 'memory' ) } + time = { check_max( 4.h * task.attempt, 'time' ) } } withLabel:process_medium { cpus = { check_max( 6 * task.attempt, 'cpus' ) } - memory = { check_max( 42.GB * task.attempt, 'memory' ) } + memory = { check_max( 36.GB * task.attempt, 'memory' ) } time = { check_max( 8.h * task.attempt, 'time' ) } } withLabel:process_high { cpus = { check_max( 12 * task.attempt, 'cpus' ) } - memory = { check_max( 84.GB * task.attempt, 'memory' ) } - time = { check_max( 10.h * task.attempt, 'time' ) } + memory = { check_max( 72.GB * task.attempt, 'memory' ) } + time = { check_max( 16.h * task.attempt, 'time' ) } } withLabel:process_long { time = { check_max( 20.h * task.attempt, 'time' ) } From 525609e74f576e142c7426c188b2b6efe1836df2 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Mon, 20 Dec 2021 15:34:22 +0100 Subject: [PATCH 125/137] add cat files container --- modules/local/cat_files.nf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/local/cat_files.nf b/modules/local/cat_files.nf index c23280e..2747848 100644 --- a/modules/local/cat_files.nf +++ b/modules/local/cat_files.nf @@ -1,6 +1,11 @@ process CAT_FILES { label 'process_low' + conda (params.enable_conda ? "conda-forge::cat=5.2.3" : null) + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/cat:5.2.3--hdfd78af_1' : + 'quay.io/biocontainers/cat:5.2.3--hdfd78af_1' }" + input: tuple val(meta), path(input) From acbaa10a63d9b76c425293c26260f81a47c5ceca Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Mon, 20 Dec 2021 15:36:23 +0100 Subject: [PATCH 126/137] Update CHANGELOG and docs --- CHANGELOG.md | 18 +++++++++++------- README.md | 4 ++-- docs/output.md | 20 ++++++++++++++------ 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad9fe30..e733665 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,24 +3,28 @@ 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). -## v2.0dev - date +## v2.0 - Heuberg - 2021-12-20 ### `Added` -- [#73](https://github.com/nf-core/epitopeprediction/pull/73) - Add support for the non-free netmhc tool family including netMHC 4.0, netMHCpan 4.0, netMHCII 2.2, and netMHCIIpan 3.1 -- [#101](https://github.com/nf-core/epitopeprediction/pull/101) - Inclusion of local modules and DSL2 conversion +- [#73](https://github.com/nf-core/epitopeprediction/pull/73) - Add support for the non-free `NetMHC` tool family including `NetMHC 4.0` and `NetMHCpan 4.0` +- [#83](https://github.com/nf-core/epitopeprediction/pull/83) - Add option for threshold customization +- [#101](https://github.com/nf-core/epitopeprediction/pull/101) - Add local modules for DSL2 conversion ### `Changed` -- [#100](https://github.com/nf-core/epitopeprediction/pull/89) - Merge previous template updates up to `v2.1` -- [#110](https://github.com/nf-core/epitopeprediction/pull/110) - DSL2 conversion -- [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Updated `python 2.7` to `python 3.8.9` in `split_peptides.nf` and `merge_json.nf`. +- [#100](https://github.com/nf-core/epitopeprediction/pull/89) - Merge previous template updates up to `v2.1` +- [#110](https://github.com/nf-core/epitopeprediction/pull/110), [#113](https://github.com/nf-core/epitopeprediction/pull/113) - Port pipeline to Nextflow DSL2 syntax +- [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Update `python 2.7` to `python 3.8.9` in `split_peptides.nf` and `merge_json.nf`. - [#117](https://github.com/nf-core/epitopeprediction/pull/117) - Bump minimal NXF version to `21.10.4` - [#121](https://github.com/nf-core/epitopeprediction/pull/121) - Extend full test to cover more test cases -- [#122](https://github.com/nf-core/epitopeprediction/pull/122) - Updated to nf-core template v2.2 +- [#122](https://github.com/nf-core/epitopeprediction/pull/122) - Update to nf-core template v2.2 +- [#123](https://github.com/nf-core/epitopeprediction/pull/123) - Remove support for outdated external tool versions ### `Fixed` +- [#125](https://github.com/nf-core/epitopeprediction/pull/125) - Fix AWS test + ## v1.1.0 - Morgenstelle - 2020-10-20 ### `Added` diff --git a/README.md b/README.md index 726acd4..fdddaa4 100644 --- a/README.md +++ b/README.md @@ -62,9 +62,9 @@ The nf-core/epitopeprediction pipeline comes with documentation about the pipeli ## Credits -nf-core/epitopeprediction was originally written by [Christopher Mohr](https://github.com/christopher-mohr) from [Institute for Translational Bioinformatics](https://kohlbacherlab.org/team_tbi/) and [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) and [Alexander Peltzer](https://github.com/apeltzer) from [Böhringer Ingelheim](https://www.boehringer-ingelheim.de). Further contributions were made by [Sabrina Krakau](https://github.com/skrakau) from [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) and [Leon Kuchenbecker](https://github.com/lkuchenb) from the [Kohlbacher Lab](https://kohlbacherlab.org/). +nf-core/epitopeprediction was originally written by [Christopher Mohr](https://github.com/christopher-mohr) from [Medical Data Integration Center](https://www.medizin.uni-tuebingen.de/de/das-klinikum/einrichtungen/institute/informationstechnologie-und-medizininformatik/medic) and [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) and [Alexander Peltzer](https://github.com/apeltzer) from [Böhringer Ingelheim](https://www.boehringer-ingelheim.de). Further contributions were made by [Sabrina Krakau](https://github.com/skrakau) from [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) and [Leon Kuchenbecker](https://github.com/lkuchenb) from the [Kohlbacher Lab](https://kohlbacherlab.org/). -The pipeline was converted to Nextflow DSL2 by [Christopher Mohr](https://github.com/christopher-mohr), [Marissa Dubbelaar](https://github.com/marissaDubbelaar) from [Clinical Collaboration Unit Translational Immunology](https://www.medizin.uni-tuebingen.de/en-de/das-klinikum/einrichtungen/kliniken/medizinische-klinik/kke-translationale-immunologie) and [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/), [Gisela Gabernet](https://github.com/ggabernet) from [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/), and[Jonas Scheid](https://github.com/jonasscheid) from [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) +The pipeline was converted to Nextflow DSL2 by [Christopher Mohr](https://github.com/christopher-mohr), [Marissa Dubbelaar](https://github.com/marissaDubbelaar) from [Clinical Collaboration Unit Translational Immunology](https://www.medizin.uni-tuebingen.de/en-de/das-klinikum/einrichtungen/kliniken/medizinische-klinik/kke-translationale-immunologie) and [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/), [Gisela Gabernet](https://github.com/ggabernet) from [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/), and [Jonas Scheid](https://github.com/jonasscheid) from [Quantitative Biology Center](https://uni-tuebingen.de/forschung/forschungsinfrastruktur/zentrum-fuer-quantitative-biologie-qbic/) ## Contributions and Support diff --git a/docs/output.md b/docs/output.md index a06cc45..f304b80 100644 --- a/docs/output.md +++ b/docs/output.md @@ -20,16 +20,18 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d ## Epitope Prediction -[FRED2](https://github.com/FRED-2) is used to perform the prediction of Epitopes on the given data, independent of the chosen `tools` to perform the prediction. +[FRED2](https://github.com/FRED-2) is used to perform the prediction of epitopes on the given data, independent of the chosen `tools` to perform the prediction. -**Output directory: `predictions/`** +**Output directory: `merged_predictions/`** * `[input_base_name]_prediction_report.json` - * The predicted epitopes in JSON format for downstream analysis tasks -* `[input_base_name]_prediction_results.tsv` + * The statistics of the performed prediction in JSON format. +* `[input_base_name]_prediction.tsv` * The predicted epitopes in TSV format for further processing. -An example report looks like this in TSV format: +Partial results, e.g. predictions per chromosome or of individual peptide chunks can be found in `predictions/`. + +An example prediction result looks like this in TSV format: ```bash sequence length chr pos gene transcripts proteins variant type method HLA-A*01:01 score HLA-A*01:01 affinity HLA-A*01:01 binder synonymous homozygous variant details (genomic) variant details (protein) @@ -39,6 +41,12 @@ HTHVYLFLS 9 17 3336962 ENSG00000127780 ENST00000248384 ENSP00000248384 SNP syfpe HVYLFLSNL 9 17 3336962 ENSG00000127780 ENST00000248384 ENSP00000248384 SNP syfpeithi-1.0 0.0 0.0 False False False c.173C>A p.Pro58His ``` +An example prediction report looks like this in JSON format: + +```json +{"prediction_methods": "syfpeithi-1.0", "number_of_unique_peptides_after_filtering": 199, "number_of_nonbinders": 196, "number_of_variants": 0, "number_of_binders": 3, "number_of_unique_peptides": 199, "number_of_unique_binders": 3, "number_of_unique_nonbinders": 196, "number_of_predictions": 199} +``` + The prediction results are given as allele-specific score and affinity values per peptide. The computation of these values depends on the applied prediction method: * [`Syfpeithi`](http://www.syfpeithi.de) : @@ -51,7 +59,7 @@ Peptides are considered binders if the affinity is higher than 50. When the parameter `--fasta_output` is specified, a `FASTA` file will be generated containing the protein sequences that are affected by the provided genomic variants. The resulting `FASTA` file will contain the wild-type and mutated protein sequences. -**Output directory: `predictions/`** +**Output directory: `merged_predictions/`** * `[input_base_name]_prediction_proteins.fasta` * The sequences of proteins, affected by provided variants, in FASTA format. From 758041c080c62cc6a2a7af97da216844ced9e248 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Mon, 20 Dec 2021 16:17:17 +0100 Subject: [PATCH 127/137] Update CHANGELOG and usage docs --- CHANGELOG.md | 2 +- docs/usage.md | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e733665..ade6a64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,7 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Fixed` -- [#125](https://github.com/nf-core/epitopeprediction/pull/125) - Fix AWS test +- [#125](https://github.com/nf-core/epitopeprediction/pull/125), [#126](https://github.com/nf-core/epitopeprediction/pull/126) - Fix AWS test ## v1.1.0 - Morgenstelle - 2020-10-20 diff --git a/docs/usage.md b/docs/usage.md index d9f10f7..93fe48e 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -20,22 +20,23 @@ The `sample` identifiers are used to determine which sample belongs to the input ```console sample,alleles,filename -GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_anno.vcf(.gz) -GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_peps.tsv -GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_prot.fasta +GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_variants.vcf(.gz) +GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_peptides.tsv +GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_proteins.fasta ``` ### Full samplesheet -The pipeline will auto-detect whether a sample is single- or paired-end using the information provided in the samplesheet. The samplesheet can have as many columns as you desire, however, there is a strict requirement for the first 3 columns to match those defined in the table below. +The pipeline accepts allele information in a file or as string in the samplesheet. The samplesheet can have as many columns as you desire, however, there is a strict requirement for the first 3 columns to match those defined in the table below. -A final samplesheet file consisting of both single- and paired-end data may look something like the one below. +A final samplesheet file consisting of both allele data and different input types of two samples may look something like the one below. ```console sample,alleles,filename -GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_anno.vcf -GBM_2,A*02:01;A*24:01;B*07:02;B*08:01;C*04:01;C*07:01,gbm_2_anno.vcf -GBM_3,A*01:01;A*24:01;B*07:02;B*08:01;C*03:01;C*07:01,gbm_3_anno.vcf +GBM_1,A*01:01;A*02:01;B*07:02;B*24:02;C*03:01;C*04:01,gbm_1_variants.vcf +GBM_1,A*02:01;A*24:01;B*07:02;B*08:01;C*04:01;C*07:01,gbm_1_peptides.vcf +GBM_1,A*01:01;A*24:01;B*07:02;B*08:01;C*03:01;C*07:01,gbm_1_proteins.vcf +GBM_2,alleles.txt,gbm_2_variants.vcf ``` | Column | Description | From 9f81afbea0063f043bc6dc33979ea615062a334e Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Mon, 20 Dec 2021 17:15:34 +0100 Subject: [PATCH 128/137] Initialize protein list, fix file extension --- bin/epaa.py | 1 + docs/output.md | 4 ++-- modules/local/cat_files.nf | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bin/epaa.py b/bin/epaa.py index d9a5a4a..4e1db8a 100755 --- a/bin/epaa.py +++ b/bin/epaa.py @@ -979,6 +979,7 @@ def __main__(): logger.info("Starting predictions at " + str(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))) metadata = [] + proteins = [] references = {'GRCh37': 'http://feb2014.archive.ensembl.org', 'GRCh38': 'http://dec2016.archive.ensembl.org'} global transcriptProteinMap global transcriptSwissProtMap diff --git a/docs/output.md b/docs/output.md index a06cc45..0e8e83e 100644 --- a/docs/output.md +++ b/docs/output.md @@ -26,7 +26,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d * `[input_base_name]_prediction_report.json` * The predicted epitopes in JSON format for downstream analysis tasks -* `[input_base_name]_prediction_results.tsv` +* `[input_base_name]_prediction_result.tsv` * The predicted epitopes in TSV format for further processing. An example report looks like this in TSV format: @@ -53,7 +53,7 @@ When the parameter `--fasta_output` is specified, a `FASTA` file will be generat **Output directory: `predictions/`** -* `[input_base_name]_prediction_proteins.fasta` +* `[input_base_name]_prediction.fasta` * The sequences of proteins, affected by provided variants, in FASTA format. ### Supported models diff --git a/modules/local/cat_files.nf b/modules/local/cat_files.nf index c23280e..2613056 100644 --- a/modules/local/cat_files.nf +++ b/modules/local/cat_files.nf @@ -8,7 +8,7 @@ process CAT_FILES { tuple val(meta), path("*_prediction.*"), emit: output script: - def fileExt = input.collect { it.name.tokenize("\\.")[-1] }.join(' ') + def fileExt = input[0].name.tokenize("\\.")[-1] prefix = task.ext.suffix ? "${meta.sample}_${task.ext.suffix}" : "${meta.sample}" """ From 1a984b4dcc53353ea69e016e801e489fcbd03464 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Tue, 21 Dec 2021 08:56:46 +0100 Subject: [PATCH 129/137] Small CHANGELOG change --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ade6a64..9850fbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Added` -- [#73](https://github.com/nf-core/epitopeprediction/pull/73) - Add support for the non-free `NetMHC` tool family including `NetMHC 4.0` and `NetMHCpan 4.0` +- [#73](https://github.com/nf-core/epitopeprediction/pull/73) - Add support for the non-free `NetMHC` tool family including `NetMHC 4.0`, `NetMHCpan 4.0`, `NetMHCII 2.2`, and `NetMHCIIpan 3.1` - [#83](https://github.com/nf-core/epitopeprediction/pull/83) - Add option for threshold customization - [#101](https://github.com/nf-core/epitopeprediction/pull/101) - Add local modules for DSL2 conversion @@ -19,7 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#117](https://github.com/nf-core/epitopeprediction/pull/117) - Bump minimal NXF version to `21.10.4` - [#121](https://github.com/nf-core/epitopeprediction/pull/121) - Extend full test to cover more test cases - [#122](https://github.com/nf-core/epitopeprediction/pull/122) - Update to nf-core template v2.2 -- [#123](https://github.com/nf-core/epitopeprediction/pull/123) - Remove support for outdated external tool versions +- [#123](https://github.com/nf-core/epitopeprediction/pull/123) - Remove support for outdated external tools `NetMHCII 2.2` and `NetMHCIIpan 3.1` ### `Fixed` From 46bf74269a3dbd0e20a20c30cf954ccb2edd38e8 Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Tue, 21 Dec 2021 10:29:09 +0100 Subject: [PATCH 130/137] Update CHANGELOG.md Co-authored-by: Gisela Gabernet --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9850fbd..0b216e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ 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). -## v2.0 - Heuberg - 2021-12-20 +## v2.0.0 - Heuberg - 2021-12-20 ### `Added` From 68783485e96ace0d48ec390ff9ddc78fa33414de Mon Sep 17 00:00:00 2001 From: Christopher Mohr Date: Tue, 21 Dec 2021 11:02:13 +0100 Subject: [PATCH 131/137] Update workflows/epitopeprediction.nf Co-authored-by: Gisela Gabernet --- workflows/epitopeprediction.nf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workflows/epitopeprediction.nf b/workflows/epitopeprediction.nf index c26531d..b0e5cad 100644 --- a/workflows/epitopeprediction.nf +++ b/workflows/epitopeprediction.nf @@ -236,7 +236,9 @@ workflow EPITOPEPREDICTION { } } // import external tools - EXTERNAL_TOOLS_IMPORT(ch_nonfree_paths) + EXTERNAL_TOOLS_IMPORT( + ch_nonfree_paths + ) /* ======================================================================================== From 02f1de8d0124d5381e10f28e4fabec924a355f0c Mon Sep 17 00:00:00 2001 From: Gisela Gabernet Date: Tue, 21 Dec 2021 11:15:03 +0100 Subject: [PATCH 132/137] Update CITATIONS.md Co-authored-by: Christopher Mohr --- CITATIONS.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CITATIONS.md b/CITATIONS.md index badd668..b65c1c7 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -10,7 +10,6 @@ ## Pipeline tools -* [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) * [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/) > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924. From e6189b65ca1bcf59115009f6655c8e7f654bf1ca Mon Sep 17 00:00:00 2001 From: Gisela Gabernet Date: Tue, 21 Dec 2021 11:18:07 +0100 Subject: [PATCH 133/137] Update CHANGELOG.md Co-authored-by: Christopher Mohr --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b216e4..515ec6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Changed` -- [#100](https://github.com/nf-core/epitopeprediction/pull/89) - Merge previous template updates up to `v2.1` +- [#107](https://github.com/nf-core/epitopeprediction/pull/107) - Merge previous template updates up to `v2.1` - [#110](https://github.com/nf-core/epitopeprediction/pull/110), [#113](https://github.com/nf-core/epitopeprediction/pull/113) - Port pipeline to Nextflow DSL2 syntax - [#114](https://github.com/nf-core/epitopeprediction/pull/114) - Update `python 2.7` to `python 3.8.9` in `split_peptides.nf` and `merge_json.nf`. - [#117](https://github.com/nf-core/epitopeprediction/pull/117) - Bump minimal NXF version to `21.10.4` From 82b508bde7d16e67878e20c3900496ecc89e953b Mon Sep 17 00:00:00 2001 From: Gisela Gabernet Date: Tue, 21 Dec 2021 11:18:18 +0100 Subject: [PATCH 134/137] Update subworkflows/local/input_check.nf Co-authored-by: Christopher Mohr --- subworkflows/local/input_check.nf | 1 - 1 file changed, 1 deletion(-) diff --git a/subworkflows/local/input_check.nf b/subworkflows/local/input_check.nf index 2c05b91..92d9aab 100644 --- a/subworkflows/local/input_check.nf +++ b/subworkflows/local/input_check.nf @@ -64,7 +64,6 @@ def determine_input_type(String filename) { // Check if it is a variant annotation file or a peptide file input_file.withReader { def first_header_col = it.readLine().split('\t')[0] - //first_header_col = [col.lower() for col in tsv.readlines()[0].split('\t')][0] if (first_header_col == "id") { filetype = "peptide" } else if (first_header_col == "#chr") {filetype = "variant"} } From 22d2fa56995d5b68abe7cbe1632740d018444089 Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 21 Dec 2021 12:39:42 +0100 Subject: [PATCH 135/137] remove fastqc module --- CITATIONS.md | 1 - modules.json | 3 -- modules/nf-core/modules/fastqc/main.nf | 44 --------------------- modules/nf-core/modules/fastqc/meta.yml | 52 ------------------------- 4 files changed, 100 deletions(-) delete mode 100644 modules/nf-core/modules/fastqc/main.nf delete mode 100644 modules/nf-core/modules/fastqc/meta.yml diff --git a/CITATIONS.md b/CITATIONS.md index b65c1c7..56daa84 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -10,7 +10,6 @@ ## Pipeline tools - * [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/) > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924. diff --git a/modules.json b/modules.json index 80bccfc..3b7e20c 100644 --- a/modules.json +++ b/modules.json @@ -6,9 +6,6 @@ "custom/dumpsoftwareversions": { "git_sha": "20d8250d9f39ddb05dfb437603aaf99b5c0b2b41" }, - "fastqc": { - "git_sha": "9d0cad583b9a71a6509b754fdf589cbfbed08961" - }, "multiqc": { "git_sha": "20d8250d9f39ddb05dfb437603aaf99b5c0b2b41" } diff --git a/modules/nf-core/modules/fastqc/main.nf b/modules/nf-core/modules/fastqc/main.nf deleted file mode 100644 index d250eca..0000000 --- a/modules/nf-core/modules/fastqc/main.nf +++ /dev/null @@ -1,44 +0,0 @@ -process FASTQC { - tag "$meta.id" - label 'process_medium' - - conda (params.enable_conda ? "bioconda::fastqc=0.11.9" : null) - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/fastqc:0.11.9--0' : - 'quay.io/biocontainers/fastqc:0.11.9--0' }" - - input: - tuple val(meta), path(reads) - - output: - tuple val(meta), path("*.html"), emit: html - tuple val(meta), path("*.zip") , emit: zip - path "versions.yml" , emit: versions - - script: - def args = task.ext.args ?: '' - // Add soft-links to original FastQs for consistent naming in pipeline - def prefix = task.ext.prefix ?: "${meta.id}" - if (meta.single_end) { - """ - [ ! -f ${prefix}.fastq.gz ] && ln -s $reads ${prefix}.fastq.gz - fastqc $args --threads $task.cpus ${prefix}.fastq.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" ) - END_VERSIONS - """ - } else { - """ - [ ! -f ${prefix}_1.fastq.gz ] && ln -s ${reads[0]} ${prefix}_1.fastq.gz - [ ! -f ${prefix}_2.fastq.gz ] && ln -s ${reads[1]} ${prefix}_2.fastq.gz - fastqc $args --threads $task.cpus ${prefix}_1.fastq.gz ${prefix}_2.fastq.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" ) - END_VERSIONS - """ - } -} diff --git a/modules/nf-core/modules/fastqc/meta.yml b/modules/nf-core/modules/fastqc/meta.yml deleted file mode 100644 index b09553a..0000000 --- a/modules/nf-core/modules/fastqc/meta.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: fastqc -description: Run FastQC on sequenced reads -keywords: - - quality control - - qc - - adapters - - fastq -tools: - - fastqc: - description: | - FastQC gives general quality metrics about your reads. - It provides information about the quality score distribution - across your reads, the per base sequence content (%A/C/G/T). - You get information about adapter contamination and other - overrepresented sequences. - homepage: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/ - documentation: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/ - licence: ['GPL-2.0-only'] -input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - reads: - type: file - description: | - List of input FastQ files of size 1 and 2 for single-end and paired-end data, - respectively. -output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - html: - type: file - description: FastQC report - pattern: "*_{fastqc.html}" - - zip: - type: file - description: FastQC report archive - pattern: "*_{fastqc.zip}" - - versions: - type: file - description: File containing software versions - pattern: "versions.yml" -authors: - - "@drpatelh" - - "@grst" - - "@ewels" - - "@FelixKrueger" From f4f457c8e954d006b5c91ae4da8408dfe96585dd Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 21 Dec 2021 12:43:34 +0100 Subject: [PATCH 136/137] update worflowepitopeprediction --- lib/WorkflowEpitopeprediction.groovy | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/lib/WorkflowEpitopeprediction.groovy b/lib/WorkflowEpitopeprediction.groovy index c0b8c62..2dd09ef 100755 --- a/lib/WorkflowEpitopeprediction.groovy +++ b/lib/WorkflowEpitopeprediction.groovy @@ -8,12 +8,7 @@ class WorkflowEpitopeprediction { // Check and validate parameters // public static void initialise(params, log) { - //genomeExistsError(params, log) - - //if (!params.fasta) { - // log.error "Genome fasta file not specified with e.g. '--fasta genome.fa' or via a detectable config file." - // System.exit(1) - //} + // empty function... } // @@ -42,18 +37,4 @@ class WorkflowEpitopeprediction { yaml_file_text += "${summary_section}" return yaml_file_text } - - // - // Exit pipeline if incorrect --genome key provided - // - //private static void genomeExistsError(params, log) { - // if (params.genomes && params.genome && !params.genomes.containsKey(params.genome)) { - // log.error "=============================================================================\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" + - // "===================================================================================" - // System.exit(1) - // } - //} } From fc2ff4d392f0e0b19e03dce61ada1e9b8972933a Mon Sep 17 00:00:00 2001 From: ggabernet Date: Tue, 21 Dec 2021 12:44:32 +0100 Subject: [PATCH 137/137] remove lint config --- .nf-core.yml | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .nf-core.yml diff --git a/.nf-core.yml b/.nf-core.yml deleted file mode 100644 index b78b221..0000000 --- a/.nf-core.yml +++ /dev/null @@ -1,3 +0,0 @@ -lint: - files_unchanged: - - docs/images/nf-core-epitopeprediction_logo_dark.png

\n" + for (param in group_params.keySet()) { + summary_section += "
$param
${group_params.get(param) ?: 'N/A'}
\n" + } + summary_section += "