From e2db1854efe584fad997fff52335d266e26ca1e5 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 9 Jan 2024 16:08:05 -0500 Subject: [PATCH 01/57] docs: add type, version, release date to citation.cff --- CITATION.cff | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CITATION.cff b/CITATION.cff index 756047e6..c74507d4 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -11,3 +11,6 @@ title: "CHAMPAGNE: CHromAtin iMmuno PrecipitAtion sequencinG aNalysis pipEline" url: https://ccbr.github.io/CHAMPAGNE/ repository-code: https://github.com/CCBR/CHAMPAGNE license: MIT +type: software +version: v0.2.1 +date-released: 2023-11-02 From c67954be744b8c5604f38a505783de9185c238a2 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 9 Jan 2024 16:37:25 -0500 Subject: [PATCH 02/57] chore: update .prettierrc tabwidth --- .prettierrc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.prettierrc b/.prettierrc index d04c3f1e..6385d003 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,4 +1,7 @@ overrides: - - files: "*.md" - options: - tabWidth: 2 + - files: + - "*.md" + - "citation.cff" + - ".prettierrc" + options: + tabWidth: 2 From ed6b5aecccd40f5d936f5dda4ada985138012974 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 11 Jan 2024 12:42:24 -0500 Subject: [PATCH 03/57] chore: update pre-commit & prettier configs --- .pre-commit-config.yaml | 4 +++- .prettierrc | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 11ed0a79..12dc3730 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,7 +3,8 @@ default_stages: [pre-commit] exclude: | (?x)( ^assets/| - ^docs/.*.html + ^docs/.*.html| + ^_extensions/ ) repos: - repo: https://github.com/pre-commit/pre-commit-hooks @@ -12,6 +13,7 @@ repos: - id: check-added-large-files - id: end-of-file-fixer - id: trailing-whitespace + - id: check-json # spell check - repo: https://github.com/codespell-project/codespell rev: v2.2.4 diff --git a/.prettierrc b/.prettierrc index 6385d003..81ee40a0 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,7 +1,7 @@ overrides: - files: - "*.md" - - "citation.cff" + - "*.cff" - ".prettierrc" options: tabWidth: 2 From 2b5d610c99fdc0099261760c947f60ac11d62558 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 11 Jan 2024 12:43:24 -0500 Subject: [PATCH 04/57] chore: add affiliations to citation file --- CITATION.cff | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CITATION.cff b/CITATION.cff index c74507d4..e4e5d90e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -4,9 +4,11 @@ authors: - family-names: Sovacool given-names: Kelly orcid: https://orcid.org/0000-0003-3283-829X + affiliation: Advanced Biomedical Computational Science, Frederick National Laboratory for Cancer Research, Frederick, MD 21702, USA - family-names: Koparde given-names: Vishal orcid: https://orcid.org/0000-0001-8978-8495 + affiliation: Advanced Biomedical Computational Science, Frederick National Laboratory for Cancer Research, Frederick, MD 21702, USA title: "CHAMPAGNE: CHromAtin iMmuno PrecipitAtion sequencinG aNalysis pipEline" url: https://ccbr.github.io/CHAMPAGNE/ repository-code: https://github.com/CCBR/CHAMPAGNE From 010f8747cc1bf3bd63fddce7d2403d10327093e4 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 11 Jan 2024 14:13:57 -0500 Subject: [PATCH 05/57] test: remove first emoji from readme see how this affects #53 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f0bb704f..57913624 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# CHAMPAGNE 🍾 +# CHAMPAGNE **CH**rom**A**tin i**M**muno **P**recipit**A**tion sequencin**G** a**N**alysis pip**E**line From bd116ce70f9841f93bbcc0dfa2966bc18b230d67 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 11 Jan 2024 14:15:00 -0500 Subject: [PATCH 06/57] ci: run docs.yml on all markdown changes --- .github/workflows/docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 18228e90..a1cfdfe5 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -6,6 +6,7 @@ on: - main paths: - "docs/**" + - "**.md" env: actor: "41898282+github-actions[bot]" From 37181686ebe69d95621246d2764e559b5ee3af57 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 11 Jan 2024 14:15:50 -0500 Subject: [PATCH 07/57] ci: run docs.yml when itself changes --- .github/workflows/docs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index a1cfdfe5..512157a5 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,4 +1,4 @@ -name: mkdocs_build +name: mkdocs on: workflow_dispatch: push: @@ -7,6 +7,7 @@ on: paths: - "docs/**" - "**.md" + - ".github/workflows/docs.yml" env: actor: "41898282+github-actions[bot]" From 95c5106bc98f3102fa970044fd3283adcce43b97 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 11 Jan 2024 14:22:16 -0500 Subject: [PATCH 08/57] docs: Revert "test: remove first emoji from readme" bold styling was still broken This reverts commit 010f8747cc1bf3bd63fddce7d2403d10327093e4. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 57913624..f0bb704f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# CHAMPAGNE +# CHAMPAGNE 🍾 **CH**rom**A**tin i**M**muno **P**recipit**A**tion sequencin**G** a**N**alysis pip**E**line From 4d3fead0b6fcf5fdb030aa292752db9e83627eea Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Fri, 17 Nov 2023 10:19:38 -0500 Subject: [PATCH 09/57] fix: don't run chmod_bins_exect() in run function but do run it after installation in the github action --- .github/workflows/build.yml | 1 + src/util.py | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 72e4e77c..20d29e54 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,6 +39,7 @@ jobs: python -m pip install --upgrade pip setuptools mkdir -p tests/bin/ pip install .[dev,test] + python -c 'from champagne.src.util import chmod_bins_exec; chmod_bins_exec()' - name: Stub run run: | cd tests/cli diff --git a/src/util.py b/src/util.py index 42b860c8..03c94a15 100644 --- a/src/util.py +++ b/src/util.py @@ -153,8 +153,6 @@ def run_nextflow( ): """Run a Nextflow workflow""" nextflow_command = ["nextflow", "run", nextfile_path] - # make sure bins are executable for nextflow processes - chmod_bins_exec() hpc = get_hpc() if mode == "slurm" and not hpc: From b03a3690716d2d3d3424bc08655260abe231693f Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Fri, 17 Nov 2023 14:08:13 -0500 Subject: [PATCH 10/57] fix: only create log/ dir if DNE --- src/__main__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/__main__.py b/src/__main__.py index 2b93c1b4..8d597ba7 100644 --- a/src/__main__.py +++ b/src/__main__.py @@ -101,7 +101,8 @@ def init(**kwargs): """Initialize the working directory by copying the system default config files""" paths = ("nextflow.config", "conf/", "assets/") copy_config(paths) - os.mkdir("log/") + if not os.path.exists("log/"): + os.mkdir("log/") @click.command() From 2f491e9bc501c0646a62eb5c0fb1659cebc9bf9f Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Mon, 15 Jan 2024 20:08:12 -0500 Subject: [PATCH 11/57] chore: bump version & changelog --- CHANGELOG.md | 4 ++++ CITATION.cff | 10 +++++----- VERSION | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e960b8f..0e781e35 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## CHAMPAGNE 0.2.2 + +- Fix permissions issues in the CLI. (#167) + ## CHAMPAGNE 0.2.1 - Fixed a bug in QC stats that mixed up the statistics for different samples. (#125) diff --git a/CITATION.cff b/CITATION.cff index b6163061..2ed6683e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,10 +1,10 @@ cff-version: 1.1.0 -message: "Please cite CHAMPAGNE as below." # TODO set up Zenodo to archive the tool and assign a DOI. Or if it gets published in a journal, include the citation here. -authors: # TODO: author names should match those in pyproject.toml. can we populate this automatically? +message: "Please cite CHAMPAGNE as below." +authors: - family-names: Sovacool given-names: Kelly - family-names: Koparde given-names: Vishal -title: "CHAMPAGNE: CHromAtin iMmuno PrecipitAtion sequencinG aNalysis pipEline" # TODO: citation title should match pyproject.toml -version: 0.1.0 # TODO: this should be the same as in the VERSION file -date-released: 2023-08-28 # TODO update release date +title: "CHAMPAGNE: CHromAtin iMmuno PrecipitAtion sequencinG aNalysis pipEline" +version: 0.2.2 +date-released: 2024-01-15 diff --git a/VERSION b/VERSION index 0c62199f..ee1372d3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.2.1 +0.2.2 From 4af3de93042f204892d446bd65e36971ce2da871 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Mon, 15 Jan 2024 20:38:22 -0500 Subject: [PATCH 12/57] fix(cli): don't add profile arg when none is detected fixes failure in github actions & personal machines --- src/util.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/util.py b/src/util.py index 0df6bb3f..380c1f50 100644 --- a/src/util.py +++ b/src/util.py @@ -183,7 +183,10 @@ def run_nextflow( profiles.add("slurm") if hpc: profiles.add(hpc_options[hpc]["profile"]) - args_dict["-profile"] = ",".join(sorted(profiles)) + if ( + profiles + ): # only add to the profiles if there are any. there are none when champagne is run on GitHub Actions. + args_dict["-profile"] = ",".join(sorted(profiles)) nextflow_command += list(f"{k} {v}" for k, v in args_dict.items()) # Print nextflow command From 9107053fb0aa4dcbdb2b4fda496a04484ac70c53 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Mon, 15 Jan 2024 20:40:38 -0500 Subject: [PATCH 13/57] chore: update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d8a81fa7..e7136eeb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,7 @@ - Protein-coding-only versions of plots. - Ensure sample IDs are sorted. (#150) - Fix a bug where the wrong SICER output file was used for downstream analyses. (#155) - +- Fix CLI profile on machines other than biowulf & FRCE. (#168) ## CHAMPAGNE 0.2.1 From 1bb39339bac92f4e77eb3646eafc9b8cde9d117c Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Mon, 15 Jan 2024 22:43:14 -0500 Subject: [PATCH 14/57] docs: add zenodo doi badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f0bb704f..ca23c3e9 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![build](https://github.com/CCBR/CHAMPAGNE/actions/workflows/build.yml/badge.svg)](https://github.com/CCBR/CHAMPAGNE/actions/workflows/build.yml) [![mkdocs](https://github.com/CCBR/CHAMPAGNE/actions/workflows/docs.yml/badge.svg)](https://github.com/CCBR/CHAMPAGNE/actions/workflows/docs.yml) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10516079.svg)](https://doi.org/10.5281/zenodo.10516079) 🚧 **This project is under active development. It is not yet ready for production use.** 🚧 From 1e043a337fcb73a192dd5fe4003e9698698a7c5d Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Mon, 15 Jan 2024 22:46:38 -0500 Subject: [PATCH 15/57] chore: add zenodo DOI to CITATION.cff --- CITATION.cff | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CITATION.cff b/CITATION.cff index e4e5d90e..d0340ff7 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -14,5 +14,9 @@ url: https://ccbr.github.io/CHAMPAGNE/ repository-code: https://github.com/CCBR/CHAMPAGNE license: MIT type: software +identifiers: + - description: "Archived snapshots of all versions" + type: doi + value: "10.5281/zenodo.10516079" version: v0.2.1 date-released: 2023-11-02 From 086b5e90f79008dd37f1d08476bc1a273eb91246 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 16 Jan 2024 15:31:22 -0500 Subject: [PATCH 16/57] ci: build docs when mkdocs.yml changes --- .github/workflows/docs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 512157a5..4ee1d23a 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -7,7 +7,8 @@ on: paths: - "docs/**" - "**.md" - - ".github/workflows/docs.yml" + - .github/workflows/docs.yml + - mkdocs.yml env: actor: "41898282+github-actions[bot]" From 6f96fc9ef87762269b6bee09552d6e30930b31c9 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Wed, 17 Jan 2024 10:05:42 -0500 Subject: [PATCH 17/57] test: does nxf hang indefinitely still? or is it only champagne that does this on the stub config? --- .github/workflows/build.yml | 2 +- main.nf | 13 +++++++------ tests/cli/ci_stub.config | 4 ++++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 284c2988..0558ea64 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,7 +49,7 @@ jobs: run: | cd tests/cli champagne init - champagne run -stub -c ci_stub.config --max_cpus 2 --max_memory 6.GB + nextflow run ../../main.nf -stub -c ci_stub.config --max_cpus 2 --max_memory 6.GB - name: Test run if: ${{ env.test_run == 'true' }} run: | diff --git a/main.nf b/main.nf index 7bc459fe..05421f85 100644 --- a/main.nf +++ b/main.nf @@ -142,10 +142,11 @@ workflow CHIPSEQ { } } - MULTIQC( - file(params.multiqc.config, checkIfExists: true), - file(params.multiqc.logo, checkIfExists: true), - ch_multiqc.collect() - ) - + if (!workflow.stubRun) { + MULTIQC( + file(params.multiqc.config, checkIfExists: true), + file(params.multiqc.logo, checkIfExists: true), + ch_multiqc.collect() + ) + } } diff --git a/tests/cli/ci_stub.config b/tests/cli/ci_stub.config index e287e9a7..ca30e765 100644 --- a/tests/cli/ci_stub.config +++ b/tests/cli/ci_stub.config @@ -40,3 +40,7 @@ process { cpus = 1 memory = '1 GB' } + +executor { + queueSize = 20 +} From f3aab0ba9ce8cfe4defe2d8e6c568abf1a9bfb23 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Wed, 17 Jan 2024 18:30:31 -0500 Subject: [PATCH 18/57] docs: use mike plugin for multiple versions on website --- .github/workflows/docs.yml | 61 ++++++++++++++++++++++++++++++++++++-- docs/requirements.txt | 2 ++ mkdocs.yml | 4 +++ 3 files changed, 64 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4ee1d23a..5dadee7a 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -9,6 +9,14 @@ on: - "**.md" - .github/workflows/docs.yml - mkdocs.yml + pull_request: + branches: + - main + paths: + - "docs/**" + - "**.md" + - .github/workflows/docs.yml + - mkdocs.yml env: actor: "41898282+github-actions[bot]" @@ -18,13 +26,60 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + with: + fetch-depth: 0 - uses: actions/setup-python@v2 with: python-version: 3.9 + cache: pip + - run: pip install --upgrade pip -r docs/requirements.txt - name: git config run: | git config --local user.email "${actor}@users.noreply.github.com" git config --local user.name "$actor" - - run: pip install --upgrade pip - - run: pip install -r docs/requirements.txt - - run: mkdocs gh-deploy --force + gh release list > releases.tsv + - name: get version tag & alias + shell: python {0} + run: | + import os + import re + import warnings + + release_tag = '' + with open('releases.tsv', 'r') as infile: + for line in infile: + release_name, latest, tag, timestamp = line.strip().split('\t') + if latest == "Latest": + release_tag = tag.strip('v') + break + if not release_tag: + warnings.warn("No latest release found") + + with open('VERSION', 'r') as infile: + current_version = infile.read().strip() + + if current_version == release_tag: + docs_alias = 'latest' + docs_version = release_tag + else: + semver_pattern = '(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)(?:-(?P(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?' + release_semver = re.match(semver_pattern, release_tag) + current_semver = re.match(semver_pattern, current_version) + + groups = ['major', 'minor', 'patch'] + if current_semver.group('prerelease') and any([current_semver.group(grp) > release_semver.group(grp) for grp in groups]): + docs_alias = 'dev' + docs_version = current_semver + else: + raise ValueError(f"current version {curren_version} is not greater than latest release {release_tag}") + + with open(os.getenv("GITHUB_ENV"), 'a') as out_env: + out_env.write(f"VERSION={docs_version}\n") + out_env.write(f"ALIAS={docs_alias}\n") + + - name: deploy docs + run: | + mike deploy ${{ env.VERSION }} ${{ env.ALIAS }} \ + --push \ + --update-aliases \ + --branch gh-pages diff --git a/docs/requirements.txt b/docs/requirements.txt index 9d5ddac9..08d3fd24 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -8,3 +8,5 @@ mkdocs-git-revision-date-plugin==0.3.2 mkdocs-material==9.1.6 #https://pypi.org/project/mkdocs-material-extensions/ mkdocs-material-extensions==1.1.1 +#https://github.com/jimporter/mike +mike diff --git a/mkdocs.yml b/mkdocs.yml index 954cd758..617920f9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -39,6 +39,10 @@ plugins: - git-revision-date - minify: minify_html: true + - mike: + alias_type: symlink + canonical_version: latest + version_selector: true # Customization extra: From 13d72bd191c9166317c26bfa2a3d084789076933 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Wed, 17 Jan 2024 18:35:47 -0500 Subject: [PATCH 19/57] ci: set gh token & update changelog --- .github/workflows/docs.yml | 1 + CHANGELOG.md | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 5dadee7a..3e28ee6e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,6 +20,7 @@ on: env: actor: "41898282+github-actions[bot]" + GH_TOKEN: ${{ github.token }} jobs: deploy: diff --git a/CHANGELOG.md b/CHANGELOG.md index 790b40c9..6ededde6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - Implement differential peak calling. (#158) - Optionally specify contrasts via a YAML file. If no file is specified, differential analysis is not performed. - If any sample has only one replicate, run `MAnorm`, otherwise run `diffbind`. +- The docs website now has a dropdown menu to select which version to view. The latest release is shown by default. (#170) ### Bug fixes From 2fa471c1ebe9630f7df427af8bf9793357ce6ef6 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Wed, 17 Jan 2024 18:37:42 -0500 Subject: [PATCH 20/57] ci: fix typo --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 3e28ee6e..aa4130f1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -72,7 +72,7 @@ jobs: docs_alias = 'dev' docs_version = current_semver else: - raise ValueError(f"current version {curren_version} is not greater than latest release {release_tag}") + raise ValueError(f"current version {current_version} is not greater than latest release {release_tag}") with open(os.getenv("GITHUB_ENV"), 'a') as out_env: out_env.write(f"VERSION={docs_version}\n") From c312970b321dff6f942544f267a99da909fecba1 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Wed, 17 Jan 2024 18:57:22 -0500 Subject: [PATCH 21/57] ci: fix logic for detecting dev version --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index aa4130f1..97549039 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -68,7 +68,7 @@ jobs: current_semver = re.match(semver_pattern, current_version) groups = ['major', 'minor', 'patch'] - if current_semver.group('prerelease') and any([current_semver.group(grp) > release_semver.group(grp) for grp in groups]): + if current_semver.group('prerelease') and any([current_semver.group(grp) >= release_semver.group(grp) for grp in groups]): docs_alias = 'dev' docs_version = current_semver else: From 56c8f072fbeb371f6d067f1e155fe671de00a722 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Wed, 17 Jan 2024 19:17:05 -0500 Subject: [PATCH 22/57] ci: fix current version for mike --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 97549039..6c8da482 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -70,7 +70,7 @@ jobs: groups = ['major', 'minor', 'patch'] if current_semver.group('prerelease') and any([current_semver.group(grp) >= release_semver.group(grp) for grp in groups]): docs_alias = 'dev' - docs_version = current_semver + docs_version = current_version else: raise ValueError(f"current version {current_version} is not greater than latest release {release_tag}") From c76b0ea56dd438ead33609eb6c5882abaeddb24d Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 09:58:06 -0500 Subject: [PATCH 23/57] ci: bump actions versions --- .github/workflows/docs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 6c8da482..e1270efd 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,4 +1,4 @@ -name: mkdocs +name: docs on: workflow_dispatch: push: @@ -26,10 +26,10 @@ jobs: deploy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v5 with: python-version: 3.9 cache: pip From 35a14ba015cc1e2190e3b6e52b74093e724a044d Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 10:15:59 -0500 Subject: [PATCH 24/57] ci: add actions for semi-auto release process --- .github/draft-release.yml | 143 ++++++++++++++++++++++++++++++++++++++ .github/post-release.yml | 50 +++++++++++++ 2 files changed, 193 insertions(+) create mode 100644 .github/draft-release.yml create mode 100644 .github/post-release.yml diff --git a/.github/draft-release.yml b/.github/draft-release.yml new file mode 100644 index 00000000..d8a82ca1 --- /dev/null +++ b/.github/draft-release.yml @@ -0,0 +1,143 @@ +name: draft-release + +on: + workflow_dispatch: + inputs: + version_tag: + description: Semantic version tag for next release. If not provided, it will be determined based on conventional commit history. + required: false + type: string + default: "" + push: + branches: + - release-draft + +env: + GH_TOKEN: ${{ github.token }} + BRANCH: release-draft + +jobs: + draft-release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # required to include tags + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + cache: "pip" + - run: pip install cffconvert>=2.0.0 pyyaml + + - name: Get Date + run: | + echo "DATE=$(date +"%Y-%m-%d")" >> "$GITHUB_ENV" + + - name: Get current and next versions + id: semver + uses: ietf-tools/semver-action@v1 + with: + token: ${{ github.token }} + branch: ${{ github.ref_name }} + + - name: Set version variables + shell: python {0} + run: | + import os + import re + import warnings + + convco_version = "${{ steps.semver.outputs.next }}" + if "${{ github.event_name }}" == 'workflow_dispatch' and "${{ github.event.inputs.version_tag }}": + next_version = "${{ github.event.inputs.version_tag }}" + if next_version != convco_version: + warnings.warn(f"Manual version ({next_version}) not equal to version determined by conventional commit history ({convco_version})") + else: + next_version = convco_version + + with open(os.getenv("GITHUB_ENV"), 'a') as out_env: + out_env.write(f"NEXT_VERSION={next_version}\n") + out_env.write(f"NEXT_STRICT={next_version.strip('v')}\n") + current_version = "${{ steps.semver.outputs.current }}" + + # assert semantic version pattern + semver_pattern = 'v(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)(?:-(?P(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?' + next_semver = re.match(semver_pattern, next_version) + if not next_semver: + raise ValueError(f"Tag {next_version} does not match semantic versioning guidelines") + + # assert next version is only 1 greater than current + current_semver = re.match(semver_pattern, current_version) + groups = ['major', 'minor', 'patch'] + greater = sum([next_semver.group(grp) > current_semver.group(grp) for grp in groups]) + equal = sum([next_semver.group(grp) == current_semver.group(grp) for grp in groups]) + if not (greater == 1 and equal == 2): + raise ValueError(f"Next version must only increment one number at a time. Current version: {current_version}. Proposed next version: {next_version}") + + - name: Get release notes, update changelog & version file + shell: python {0} + run: | + import os + latest_version = "${{ steps.semver.outputs.current }}".strip('v') + next_version = "${{ env.NEXT_STRICT }}" + + changelog_lines = list() + next_release_lines = list() + for_next = True + with open("CHANGELOG.md", "r") as infile: + for line in infile: + if line.startswith('#') and 'development version' in line: + line = line.replace('development version', next_version) + elif latest_version in line: + for_next = False + + changelog_lines.append(line) + if for_next: + next_release_lines.append(line) + + with open(".github/latest-release.md", "w") as outfile: + outfile.writelines(next_release_lines) + with open('CHANGELOG.md', 'w') as outfile: + outfile.writelines(changelog_lines) + with open("VERSION", "w") as outfile: + outfile.write(f"{next_version}\n") + + - name: Update citation + shell: python {0} + run: | + from cffconvert.cli.create_citation import create_citation + from cffconvert.cli.validate_or_write_output import validate_or_write_output + import yaml + + citation = create_citation('CITATION.cff', None) + citation._implementation.cffobj['version'] = "${{ env.NEXT_VERSION }}" + citation._implementation.cffobj['date-released'] = "${{ env.DATE }}" + with open('CITATION.cff', 'w') as outfile: + outfile.write(yaml.dump(citation._implementation.cffobj, sort_keys=False)) + + - name: Commit & push to branch + run: | + git config --local user.name "github-actions[bot]" + git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" + + git push origin --delete ${{ env.BRANCH }} || echo "No ${{ env.BRANCH }} branch to delete" + git switch -c ${{ env.BRANCH }} || git switch ${{ env.BRANCH }} + git merge --ff-only ${{ github.ref_name }} + + git add CITATION.cff CHANGELOG.md VERSION + git commit -m 'chore: prepare release ${{ env.NEXT_VERSION }}' + git push --set-upstream origin ${{ env.BRANCH }} + + echo "COMMIT_HASH=$(git rev-parse HEAD)" >> "$GITHUB_ENV" + + - name: Tag & draft release + run: | + gh release create ${{ env.NEXT_VERSION }} \ + --draft \ + --notes-file .github/latest-release.md \ + --target ${{ env.COMMIT_HASH }} \ + --title "${{ github.event.repository.name }} ${{ env.NEXT_STRICT }}" + + - name: Next steps + run: | + echo "Next steps: Take a look at the changes in the ${{ env.BRANCH }} branch and the release notes on the web. If everything is correct, publish the release. Otherwise, delete the release draft and cut the release manually." diff --git a/.github/post-release.yml b/.github/post-release.yml new file mode 100644 index 00000000..6acdc961 --- /dev/null +++ b/.github/post-release.yml @@ -0,0 +1,50 @@ +name: post-release + +on: + release: + types: + - published + +env: + GH_TOKEN: ${{ github.token }} + BRANCH: release/${{ github.ref_name }} + +jobs: + cleanup: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Configure git + run: | + git config --local user.name "github-actions[bot]" + git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" + git push origin --delete ${{ env.BRANCH }} || echo "No ${{ env.BRANCH }} branch to delete" + git switch -c ${{ env.BRANCH }} + - name: Bump changelog & version + shell: python {0} + run: | + with open("CHANGELOG.md", "r") as infile: + lines = infile.readlines() + lines.insert(0, "## ${{ github.event.repository.name }} development version\n\n") + with open("CHANGELOG.md", "w") as outfile: + outfile.writelines(lines) + + with open('VERSION', 'r') as infile: + version = infile.read().strip() + with open('VERSION', 'w') as outfile: + outfile.write(f"{version}-dev\n") + + - name: Open pull request + run: | + git add CHANGELOG.md VERSION + git commit -m "chore: bump changelog & version after release of ${{ github.ref_name }}" + git push --set-upstream origin ${{ env.BRANCH }} + + gh pr create \ + --fill-first + + - name: Clean up release-draft branch + run: | + git push origin --delete release-draft || echo "No release-draft branch to delete" From e208cfc4091530281a77a7719f709bb0e9d16a6c Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 10:17:34 -0500 Subject: [PATCH 25/57] ci: revert stub command still hangs indefinitely when calling nextflow directly --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0558ea64..284c2988 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,7 +49,7 @@ jobs: run: | cd tests/cli champagne init - nextflow run ../../main.nf -stub -c ci_stub.config --max_cpus 2 --max_memory 6.GB + champagne run -stub -c ci_stub.config --max_cpus 2 --max_memory 6.GB - name: Test run if: ${{ env.test_run == 'true' }} run: | From 38c5b08f0eb05a9c3691a5770372ecb40852178d Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 10:24:57 -0500 Subject: [PATCH 26/57] chore: prep changelog for release --- CHANGELOG.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8784c583..37452fd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## development version +## CHAMPAGNE development version ### New features @@ -6,12 +6,13 @@ - Run motif enrichment analysis with MEME. (#142) - Annotate peaks with chipseeker. (#142,#147,#157) - Add preseq complexity curve and fastq screen to multiqc report. (#147) -- Print the recommended citation in bibtex format with `champagne --citation`. (#153) - Support multiple replicates per sample and call consensus peaks on replicates. (#129) - Optionally normalize p-values with the [CCBR/consensus_peaks](https://github.com/CCBR/nf-modules/tree/60d50f4c45a50378cad70b49013f51750617caaa/subworkflows/CCBR/consensus_peaks) subworkflow. - Implement differential peak calling. (#158) - Optionally specify contrasts via a YAML file. If no file is specified, differential analysis is not performed. - If any sample has only one replicate, run `MAnorm`, otherwise run `diffbind`. +- Print the recommended citation in bibtex format with `champagne --citation`. (#153) + - CHAMPAGNE is also now archived in Zenodo with DOI `10.5281/zenodo.10516078`. - The docs website now has a dropdown menu to select which version to view. The latest release is shown by default. (#170) ### Bug fixes @@ -24,12 +25,10 @@ - Fix a bug where the wrong SICER output file was used for downstream analyses. (#155) - Fix CLI profile on machines other than biowulf & FRCE. (#168) - ## CHAMPAGNE 0.2.2 - Fix permissions issues in the CLI. (#167) - ## CHAMPAGNE 0.2.1 - Fix a bug in QC stats that mixed up the statistics for different samples. (#125) @@ -37,7 +36,6 @@ - Report read counts between blacklist & filtering steps in the QC table. (#125) - Run spooker on workflow completion (#126). - ## CHAMPAGNE 0.2.0 ### New features @@ -78,7 +76,6 @@ - Previously, the workflow quietly didn't run the process(es) that required the missing file. - Renamed `champagne config` to `champagne init` to avoid clashing with `nextflow config`. (#112) - ## CHAMPAGNE 0.1.0 ### Quality control steps implemented for single-end reads From 3b95887bad7cf6d8f09b80162278f795f5d74852 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 10:27:23 -0500 Subject: [PATCH 27/57] ci: fix release actions location --- .github/{ => workflows}/draft-release.yml | 0 .github/{ => workflows}/post-release.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename .github/{ => workflows}/draft-release.yml (100%) rename .github/{ => workflows}/post-release.yml (100%) diff --git a/.github/draft-release.yml b/.github/workflows/draft-release.yml similarity index 100% rename from .github/draft-release.yml rename to .github/workflows/draft-release.yml diff --git a/.github/post-release.yml b/.github/workflows/post-release.yml similarity index 100% rename from .github/post-release.yml rename to .github/workflows/post-release.yml From a45d1c7b4485d9ab9196dd01b6aaa31980858ed8 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 10:30:12 -0500 Subject: [PATCH 28/57] ci: fix version check --- .github/workflows/draft-release.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml index d8a82ca1..07411665 100644 --- a/.github/workflows/draft-release.yml +++ b/.github/workflows/draft-release.yml @@ -70,8 +70,7 @@ jobs: current_semver = re.match(semver_pattern, current_version) groups = ['major', 'minor', 'patch'] greater = sum([next_semver.group(grp) > current_semver.group(grp) for grp in groups]) - equal = sum([next_semver.group(grp) == current_semver.group(grp) for grp in groups]) - if not (greater == 1 and equal == 2): + if not (greater == 1): raise ValueError(f"Next version must only increment one number at a time. Current version: {current_version}. Proposed next version: {next_version}") - name: Get release notes, update changelog & version file From 1b4b215fbe4e7f69e1f78f9106cb9fb3abe732eb Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 10:33:52 -0500 Subject: [PATCH 29/57] fix(ci): remove release-draft branch trigger --- .github/workflows/draft-release.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml index 07411665..691522bc 100644 --- a/.github/workflows/draft-release.yml +++ b/.github/workflows/draft-release.yml @@ -8,9 +8,6 @@ on: required: false type: string default: "" - push: - branches: - - release-draft env: GH_TOKEN: ${{ github.token }} From 36f1dbbb5dd2bf6c486906f5d90b2a3e447d5548 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 10:47:58 -0500 Subject: [PATCH 30/57] ci: don't duplicate release title --- .github/workflows/draft-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml index 691522bc..2f02bdb6 100644 --- a/.github/workflows/draft-release.yml +++ b/.github/workflows/draft-release.yml @@ -88,7 +88,7 @@ jobs: for_next = False changelog_lines.append(line) - if for_next: + if for_next and next_version not in line: next_release_lines.append(line) with open(".github/latest-release.md", "w") as outfile: From df11450ce17194783b81090b80f191ba4ec04ec4 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 11:41:22 -0500 Subject: [PATCH 31/57] ci: upgrade mkdocs deps --- .github/workflows/docs.yml | 2 +- docs/requirements.txt | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index e1270efd..6d06475f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -31,7 +31,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-python@v5 with: - python-version: 3.9 + python-version: 3.11 cache: pip - run: pip install --upgrade pip -r docs/requirements.txt - name: git config diff --git a/docs/requirements.txt b/docs/requirements.txt index 08d3fd24..083b20bb 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,12 +1,13 @@ +mkdocs #https://pypi.org/project/mkdocs-git-revision-date-localized-plugin/ -mkdocs-git-revision-date-localized-plugin==1.2.0 +mkdocs-git-revision-date-localized-plugin #https://pypi.org/project/mkdocs-minify-plugin/ -mkdocs-minify-plugin==0.6.4 +mkdocs-minify-plugin #https://pypi.org/project/mkdocs-git-revision-date-plugin/ -mkdocs-git-revision-date-plugin==0.3.2 +mkdocs-git-revision-date-plugin #https://pypi.org/project/mkdocs-material/ -mkdocs-material==9.1.6 +mkdocs-material #https://pypi.org/project/mkdocs-material-extensions/ -mkdocs-material-extensions==1.1.1 +mkdocs-material-extensions #https://github.com/jimporter/mike mike From 789929e9c3afee96845d4ca4e65cf144e1becb2e Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 13:18:36 -0500 Subject: [PATCH 32/57] docs: try removing most markdown extensions testing https://github.com/CCBR/CHAMPAGNE/issues/53 --- mkdocs.yml | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 617920f9..cc4f1f1c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -58,40 +58,12 @@ extra: # Extensions markdown_extensions: - - markdown.extensions.admonition - - markdown.extensions.attr_list - - markdown.extensions.md_in_html - - markdown.extensions.def_list - - markdown.extensions.footnotes - - markdown.extensions.meta - markdown.extensions.toc: permalink: true - - pymdownx.arithmatex: - generic: true - pymdownx.betterem: smart_enable: all - - pymdownx.caret - - pymdownx.critic - - pymdownx.details - - pymdownx.emoji: - emoji_index: !!python/name:materialx.emoji.twemoji - emoji_generator: !!python/name:materialx.emoji.to_svg - - pymdownx.highlight - - pymdownx.inlinehilite - - pymdownx.keys - - pymdownx.magiclink: - repo_url_shorthand: true - user: squidfunk - repo: mkdocs-material - - pymdownx.mark - - pymdownx.smartsymbols - pymdownx.snippets: check_paths: true - - pymdownx.superfences - - pymdownx.tabbed - - pymdownx.tasklist: - custom_checkbox: true - - pymdownx.tilde # Page Tree nav: From 72c5d0248d3c8cf676548865d0c0bc2f47c56d8c Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 13:25:26 -0500 Subject: [PATCH 33/57] ci: set timeout to 2 mins because of #171 --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 284c2988..04df94af 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,6 +22,7 @@ env: jobs: build: runs-on: ubuntu-latest + timeout-minutes: 2 strategy: matrix: python-version: ["3.9"] From f6f16ab823e79c92c6ef5d8ff929f236e2b466b0 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 13:43:33 -0500 Subject: [PATCH 34/57] docs: remove betterem extension resolves #53 Revert "docs: try removing most markdown extensions" This reverts commit 789929e9c3afee96845d4ca4e65cf144e1becb2e. --- mkdocs.yml | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index cc4f1f1c..cd9f0885 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -58,12 +58,38 @@ extra: # Extensions markdown_extensions: + - markdown.extensions.admonition + - markdown.extensions.attr_list + - markdown.extensions.md_in_html + - markdown.extensions.def_list + - markdown.extensions.footnotes + - markdown.extensions.meta - markdown.extensions.toc: permalink: true - - pymdownx.betterem: - smart_enable: all + - pymdownx.arithmatex: + generic: true + - pymdownx.caret + - pymdownx.critic + - pymdownx.details + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + - pymdownx.highlight + - pymdownx.inlinehilite + - pymdownx.keys + - pymdownx.magiclink: + repo_url_shorthand: true + user: squidfunk + repo: mkdocs-material + - pymdownx.mark + - pymdownx.smartsymbols - pymdownx.snippets: check_paths: true + - pymdownx.superfences + - pymdownx.tabbed + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.tilde # Page Tree nav: From 4099e79cbcf490dc66d710327fc80c42473468aa Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 13:56:32 -0500 Subject: [PATCH 35/57] chore: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37452fd6..c58e9ca2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ - Ensure sample IDs are sorted. (#150) - Fix a bug where the wrong SICER output file was used for downstream analyses. (#155) - Fix CLI profile on machines other than biowulf & FRCE. (#168) +- Fix broken bold styling in documentation website. (#53) ## CHAMPAGNE 0.2.2 From e9b25df603ffac3799e3dcf6a51401a141af19b3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 18 Jan 2024 18:57:23 +0000 Subject: [PATCH 36/57] chore: prepare release v0.3.0 --- CHANGELOG.md | 2 +- CITATION.cff | 32 +++++++++++++++++--------------- VERSION | 2 +- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c58e9ca2..a2a76c2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## CHAMPAGNE development version +## CHAMPAGNE 0.3.0 ### New features diff --git a/CITATION.cff b/CITATION.cff index d12c032a..f1863f3f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,22 +1,24 @@ cff-version: 1.2.0 -message: "Please cite CHAMPAGNE as below." +message: Please cite CHAMPAGNE as below. authors: - - family-names: Sovacool - given-names: Kelly - orcid: https://orcid.org/0000-0003-3283-829X - affiliation: Advanced Biomedical Computational Science, Frederick National Laboratory for Cancer Research, Frederick, MD 21702, USA - - family-names: Koparde - given-names: Vishal - orcid: https://orcid.org/0000-0001-8978-8495 - affiliation: Advanced Biomedical Computational Science, Frederick National Laboratory for Cancer Research, Frederick, MD 21702, USA -title: "CHAMPAGNE: CHromAtin iMmuno PrecipitAtion sequencinG aNalysis pipEline" +- family-names: Sovacool + given-names: Kelly + orcid: https://orcid.org/0000-0003-3283-829X + affiliation: Advanced Biomedical Computational Science, Frederick National Laboratory + for Cancer Research, Frederick, MD 21702, USA +- family-names: Koparde + given-names: Vishal + orcid: https://orcid.org/0000-0001-8978-8495 + affiliation: Advanced Biomedical Computational Science, Frederick National Laboratory + for Cancer Research, Frederick, MD 21702, USA +title: 'CHAMPAGNE: CHromAtin iMmuno PrecipitAtion sequencinG aNalysis pipEline' url: https://ccbr.github.io/CHAMPAGNE/ repository-code: https://github.com/CCBR/CHAMPAGNE license: MIT type: software identifiers: - - description: "Archived snapshots of all versions" - type: doi - value: "10.5281/zenodo.10516079" -version: v0.2.2 -date-released: 2024-01-15 +- description: Archived snapshots of all versions + type: doi + value: 10.5281/zenodo.10516079 +version: v0.3.0 +date-released: '2024-01-18' diff --git a/VERSION b/VERSION index 192232a9..0d91a54c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.2.2-dev +0.3.0 From a2c016c75fce5b09a45bfc86f5d3fe3ce469d9dc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 18 Jan 2024 18:58:31 +0000 Subject: [PATCH 37/57] chore: bump changelog & version after release of v0.3.0 --- CHANGELOG.md | 2 ++ VERSION | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2a76c2e..dfcd61bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +## CHAMPAGNE development version + ## CHAMPAGNE 0.3.0 ### New features diff --git a/VERSION b/VERSION index 0d91a54c..d5109100 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.3.0 +0.3.0-dev From 910225caf1242c9e214a1a599718754ba5cfd7d3 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 14:05:43 -0500 Subject: [PATCH 38/57] ci: build docs site on release --- .github/workflows/docs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 6d06475f..77c024a6 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,6 +1,9 @@ name: docs on: workflow_dispatch: + release: + types: + - published push: branches: - main From bef017071554a62007681d58d08a04f1bfea3ca7 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 14:08:01 -0500 Subject: [PATCH 39/57] docs: just use one dev tag at a time --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 77c024a6..bfd6a16d 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -73,7 +73,7 @@ jobs: groups = ['major', 'minor', 'patch'] if current_semver.group('prerelease') and any([current_semver.group(grp) >= release_semver.group(grp) for grp in groups]): docs_alias = 'dev' - docs_version = current_version + docs_version = docs_alias else: raise ValueError(f"current version {current_version} is not greater than latest release {release_tag}") From 291392c4209e676b230d9e9abc53329ee5e2fc27 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 14:11:22 -0500 Subject: [PATCH 40/57] ci: don't use alias for dev version --- .github/workflows/docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index bfd6a16d..e2403bf7 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -72,8 +72,8 @@ jobs: groups = ['major', 'minor', 'patch'] if current_semver.group('prerelease') and any([current_semver.group(grp) >= release_semver.group(grp) for grp in groups]): - docs_alias = 'dev' - docs_version = docs_alias + docs_alias = '' + docs_version = 'dev' else: raise ValueError(f"current version {current_version} is not greater than latest release {release_tag}") From 412ec19df2e330b2f86ebf475d7af2467f8588e6 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 15:36:13 -0500 Subject: [PATCH 41/57] fix: set defaultBranch to "main" allows using `nextflow run ccbr/champagne` without specifying a revision --- nextflow.config | 1 + 1 file changed, 1 insertion(+) diff --git a/nextflow.config b/nextflow.config index dabd3e81..a5e03fcf 100644 --- a/nextflow.config +++ b/nextflow.config @@ -164,6 +164,7 @@ manifest { homePage = "https://github.com/CCBR/CHAMPAGNE" description = "CHromAtin iMmuno PrecipitAtion sequencinG aNalysis pipEline" mainScript = "main.nf" + defaultBranch = "main" } // Function to ensure that resource requirements don't go beyond From 9146788288f3d4a9dd5cdbd15aa24ad2a45c9b58 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 18 Jan 2024 15:36:13 -0500 Subject: [PATCH 42/57] fix: set defaultBranch to "main" allows using `nextflow run ccbr/champagne` without specifying a revision --- .github/workflows/draft-release.yml | 3 ++- nextflow.config | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml index 2f02bdb6..6c8f3bb6 100644 --- a/.github/workflows/draft-release.yml +++ b/.github/workflows/draft-release.yml @@ -132,7 +132,8 @@ jobs: --draft \ --notes-file .github/latest-release.md \ --target ${{ env.COMMIT_HASH }} \ - --title "${{ github.event.repository.name }} ${{ env.NEXT_STRICT }}" + --title "${{ github.event.repository.name }} ${{ env.NEXT_STRICT }}" \ + --reviewer ${{ github.event.release.author.login }} - name: Next steps run: | diff --git a/nextflow.config b/nextflow.config index dabd3e81..a5e03fcf 100644 --- a/nextflow.config +++ b/nextflow.config @@ -164,6 +164,7 @@ manifest { homePage = "https://github.com/CCBR/CHAMPAGNE" description = "CHromAtin iMmuno PrecipitAtion sequencinG aNalysis pipEline" mainScript = "main.nf" + defaultBranch = "main" } // Function to ensure that resource requirements don't go beyond From 2c324e31634565497e6b5af9f5930a189f9645e7 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Fri, 19 Jan 2024 11:35:51 -0500 Subject: [PATCH 43/57] fix: resolve assets to working dir allow for execution with nextflow run CCBR/CHAMPAGNE --- conf/biowulf.config | 2 +- conf/frce.config | 2 +- conf/full_mm10.config | 4 ++-- conf/genomes.config | 4 ++-- conf/test.config | 6 +++--- conf/test_mm10.config | 4 ++-- nextflow.config | 10 +++++----- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/conf/biowulf.config b/conf/biowulf.config index 78b3f05d..c991f05d 100644 --- a/conf/biowulf.config +++ b/conf/biowulf.config @@ -12,7 +12,7 @@ params { // CCBR shared resource paths index_dir = '/data/CCBR_Pipeliner/db/PipeDB/Indices' fastq_screen { - conf = "assets/fastq_screen_biowulf.conf" + conf = "${workDir}/assets/fastq_screen_biowulf.conf" db_dir = '/data/CCBR_Pipeliner/db/PipeDB/lib/fastq_screen_db/' } } diff --git a/conf/frce.config b/conf/frce.config index 4f132a81..0b857f77 100644 --- a/conf/frce.config +++ b/conf/frce.config @@ -7,7 +7,7 @@ params { // CCBR shared resource paths index_dir = null // TODO fastq_screen { - conf = "assets/fastq_screen_frce.conf" // TODO + conf = "${workDir}/assets/fastq_screen_frce.conf" // TODO db_dir = null // TODO } } diff --git a/conf/full_mm10.config b/conf/full_mm10.config index 730a185b..4c515bec 100644 --- a/conf/full_mm10.config +++ b/conf/full_mm10.config @@ -4,8 +4,8 @@ params { genome = 'mm10' outdir = "results/full_mm10" - input = "assets/samplesheet_full_mm10.csv" - contrasts = 'assets/contrasts_full_mm10.yml' + input = "${workDir}/assets/samplesheet_full_mm10.csv" + contrasts = "${workDir}/assets/contrasts_full_mm10.yml" sicer { species = "mm10" // supported species https://github.com/zanglab/SICER2/blob/master/sicer/lib/GenomeData.py } diff --git a/conf/genomes.config b/conf/genomes.config index 33e49dfe..209af77f 100644 --- a/conf/genomes.config +++ b/conf/genomes.config @@ -9,7 +9,7 @@ params { chrom_sizes = "${params.index_dir}/hg38_basic/indexes/hg38.fa.sizes" gene_info = "${params.index_dir}/hg38_basic/geneinfo.bed" effective_genome_size = 2700000000 - meme_motifs = 'assets/HOCOMOCOv11_core_HUMAN_mono_meme_format.tar.gz' // source https://github.com/CCBR/ASPEN/raw/55f909d76500c3502c1c397ef3000908649b0284/resources/motif/HOCOMOCOv11_core_HUMAN_mono_meme_format.tar.gz + meme_motifs = "${workDir}/assets/HOCOMOCOv11_core_HUMAN_mono_meme_format.tar.gz" // source https://github.com/CCBR/ASPEN/raw/55f909d76500c3502c1c397ef3000908649b0284/resources/motif/HOCOMOCOv11_core_HUMAN_mono_meme_format.tar.gz bioc_txdb = 'TxDb.Hsapiens.UCSC.hg38.knownGene' bioc_annot = 'org.Hs.eg.db' } @@ -22,7 +22,7 @@ params { chrom_sizes = "${params.index_dir}/mm10_basic/indexes/mm10.fa.sizes" gene_info = "${params.index_dir}/mm10_basic/geneinfo.bed" effective_genome_size = 2400000000 - meme_motifs = 'assets/HOCOMOCOv11_core_MOUSE_mono_meme_format.tar.gz' // source https://github.com/CCBR/ASPEN/raw/55f909d76500c3502c1c397ef3000908649b0284/resources/motif/HOCOMOCOv11_core_MOUSE_mono_meme_format.tar.gz + meme_motifs = "${workDir}/assets/HOCOMOCOv11_core_MOUSE_mono_meme_format.tar.gz" // source https://github.com/CCBR/ASPEN/raw/55f909d76500c3502c1c397ef3000908649b0284/resources/motif/HOCOMOCOv11_core_MOUSE_mono_meme_format.tar.gz bioc_txdb = 'TxDb.Mmusculus.UCSC.mm10.knownGene' bioc_annot = 'org.Mmu.eg.db' } diff --git a/conf/test.config b/conf/test.config index 8a53a15b..60b0120e 100644 --- a/conf/test.config +++ b/conf/test.config @@ -3,8 +3,8 @@ params { config_profile_description = 'Minimal test dataset to check paired & single end handling' outdir = 'results/test' - input = 'assets/samplesheet_test.csv' // adapted from 'https://raw.githubusercontent.com/nf-core/test-datasets/chipseq/samplesheet/v2.0/samplesheet_test.csv' - //contrasts = 'assets/contrasts_test.yml' // diffbind DESeq2 fails on this test data + input = "${workDir}/assets/samplesheet_test.csv" // adapted from 'https://raw.githubusercontent.com/nf-core/test-datasets/chipseq/samplesheet/v2.0/samplesheet_test.csv' + //contrasts = "${workDir}/assets/contrasts_test.yml" // diffbind DESeq2 fails on this test data genome = 'sacCer3' read_length = 50 @@ -13,7 +13,7 @@ params { genome_fasta = 'https://raw.githubusercontent.com/nf-core/test-datasets/atacseq/reference/genome.fa' genes_gtf = 'https://raw.githubusercontent.com/nf-core/test-datasets/atacseq/reference/genes.gtf' blacklist = '/data/CCBR_Pipeliner/db/PipeDB/Indices/hg38_basic/indexes/hg38.blacklist_v3.chrM.chr_rDNA.fa' - rename_contigs = 'assets/R64-1-1_ensembl2UCSC.txt' + rename_contigs = "${workDir}/assets/R64-1-1_ensembl2UCSC.txt" meme_motifs = null bioc_txdb = 'TxDb.Scerevisiae.UCSC.sacCer3.sgdGene' bioc_annot = 'org.Sc.sgd.db' diff --git a/conf/test_mm10.config b/conf/test_mm10.config index 47086230..2d3dd3c0 100644 --- a/conf/test_mm10.config +++ b/conf/test_mm10.config @@ -4,8 +4,8 @@ params { genome = 'mm10' outdir = "results/test_mm10" - input = "assets/samplesheet_test_mm10.csv" - contrasts = 'assets/contrasts_test_mm10.yml' + input = "${workDir}/assets/samplesheet_test_mm10.csv" + contrasts = "${workDir}/assets/contrasts_test_mm10.yml" read_length = 50 sicer.species = "mm10" // supported species https://github.com/zanglab/SICER2/blob/master/sicer/lib/GenomeData.py diff --git a/nextflow.config b/nextflow.config index a5e03fcf..d33b6038 100644 --- a/nextflow.config +++ b/nextflow.config @@ -40,14 +40,14 @@ params { } multiqc { - config = "assets/multiqc_config.yaml" - logo = "assets/ccbr_logo.png" + config = "${workDir}/assets/multiqc_config.yaml" + logo = "${workDir}/assets/ccbr_logo.png" } min_fragment_length = 200 // https://github.com/CCBR/Pipeliner/blob/86c6ccaa3d58381a0ffd696bbf9c047e4f991f9e/Rules/InitialChIPseqQC.snakefile#L539 gem { - read_dists = 'assets/gem/Read_Distribution_default.txt' // source https://groups.csail.mit.edu/cgs/gem/download/Read_Distribution_default.txt + read_dists = "${workDir}/assets/gem/Read_Distribution_default.txt" // source https://groups.csail.mit.edu/cgs/gem/download/Read_Distribution_default.txt fold = 3 k_min = 6 k_max = 13 @@ -67,11 +67,11 @@ params { } homer { de_novo = true - jaspar_db = 'assets/JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt' // source https://jaspar.genereg.net/download/data/2022/CORE/JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt + jaspar_db = "${workDir}/assets/JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt" // source https://jaspar.genereg.net/download/data/2022/CORE/JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt } diffbind { - report = "${projectDir}/assets/diffbind_report.Rmd" + report = "${workDir}/assets/diffbind_report.Rmd" } run { // some steps can be turned on/off for debugging purposes From 3a73b98ffa12440d53e760a907b16d6a11f6f5f3 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Mon, 22 Jan 2024 11:16:49 -0500 Subject: [PATCH 44/57] ci: can't add reviewer to release draft and in post-release, the bot is considered the author --- .github/workflows/draft-release.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml index 6c8f3bb6..2f02bdb6 100644 --- a/.github/workflows/draft-release.yml +++ b/.github/workflows/draft-release.yml @@ -132,8 +132,7 @@ jobs: --draft \ --notes-file .github/latest-release.md \ --target ${{ env.COMMIT_HASH }} \ - --title "${{ github.event.repository.name }} ${{ env.NEXT_STRICT }}" \ - --reviewer ${{ github.event.release.author.login }} + --title "${{ github.event.repository.name }} ${{ env.NEXT_STRICT }}" - name: Next steps run: | From 04bb04786fafc693765e8c508e32029bef312eb2 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 23 Jan 2024 09:08:15 -0500 Subject: [PATCH 45/57] chore: refactor to allow multiple cores in chipseeker --- bin/chipseeker_annotate.R | 1 + modules/local/chipseeker/annotate/main.nf | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/chipseeker_annotate.R b/bin/chipseeker_annotate.R index c8db7285..142e84d0 100755 --- a/bin/chipseeker_annotate.R +++ b/bin/chipseeker_annotate.R @@ -14,6 +14,7 @@ parser$add_argument("-t", "--toppromoterpeaks", required = FALSE, type = "intege parser$add_argument("-o", "--outfile-prefix", required = TRUE, type = "character", dest = "outfile_prefix", help = "prefix for output filenames") parser$add_argument("--genome-txdb", dest = "txdb", required = TRUE, help = "BioConductor TxDb package, e.g. TxDb.Hsapiens.UCSC.hg38.knownGene") parser$add_argument("--genome-annot", dest = "adb", required = TRUE, help = "BioConductor annotation package, e.g. org.Hs.eg.db") +parser$add_argument("--cores", required = TRUE, type = "integer", help = "Number of cores to use") # get command line options, if help option encountered print help and exit, # otherwise if options not found on command line then set defaults, diff --git a/modules/local/chipseeker/annotate/main.nf b/modules/local/chipseeker/annotate/main.nf index 1389e7b2..756304e7 100644 --- a/modules/local/chipseeker/annotate/main.nf +++ b/modules/local/chipseeker/annotate/main.nf @@ -1,7 +1,7 @@ process CHIPSEEKER_ANNOTATE { tag "${meta.id}.${meta.group}" label 'peaks' - label 'process_medium' + label 'process_high' container 'nciccbr/ccbr_chipseeker:1.1.2' @@ -24,7 +24,8 @@ process CHIPSEEKER_ANNOTATE { --genome-annot ${annot_db} \\ --uptss 2000 \\ --downtss 2000 \\ - --toppromoterpeaks 1000 + --toppromoterpeaks 1000 \\ + --cores ${task.cpus} """ stub: From 994971c0f1c56ce46bc763d8090272d0ed04e9f1 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Wed, 24 Jan 2024 14:44:45 -0500 Subject: [PATCH 46/57] style: switch logo to include text --- assets/ccbr_logo.png | Bin 5227 -> 264373 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/ccbr_logo.png b/assets/ccbr_logo.png index 428465a2a020a7b57d7378d3ed8e7e1ef4b0b0d8..bfa8c1a4eba9fdbcb8b3685dadc8dee741bd5d3f 100644 GIT binary patch literal 264373 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%0DMC&-Ac(V)nP+l*F=p#= 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 #OU^2L4@Gc5d&_ z53kS2%zNPh(Fpd%^4WC{O%X@fM^O@C6gO*VesP~A&Ad5ADqv)8+%YI@ zvt#GCbyhPt!{?7b{zYxI`3; z{K;&r-CIC2fhM^0_J}qR@LykJN6JJ9NTJUX=bDSqE!-FCJWOJ$QzWrfN`#A-#_|hi zW!GZ{ZxQIUKN`KD$m;oz^E@MflAIZ*{bIyW+;3X`-!8qocytm48SEJY(bd<^0Ed8@ zQ~b$P-`&4yr1|vHpeb0u(Vje}0!Rx9KsQK=D4xJRdWID>YRz`9=2lh@QGJ8{HWz@4 zEXJ!$O6J6DX8YU;{G6Z{)xzed|7qyo5wu{)AQQE%RsQm{p<6>^LK_Es2Of=WCUJj#U#mRy_a%C$rSmm)3 zy+hv5Ei**K_VV5;>G}KD57e5eZYMu~UK^T=Xe~2+p+qBYObq|HNxOPyOKwMLWL|pV zLDEwGVEWn-GG2?@f$Cx74K)>$_HKZMUhr?{ujB8eF=>CV${Y|9)ao8Z3LKf(ur|88to*~$!nGdu+ z17`0o)FDG!^8xrg#?!(2%XzsH|-)@ao)9 z`}MgFBdY$Guyfv%@$Jb$MT}=-R=*ygWn{Drk<@ii*lhpu~M^iM4wY(Y_dUf}3mk$krlF?J+@i)o1g{pu;>C96q-?2Fm?t zBSgvq_ax@w`0Yu2Uk(t_#;ix@ov+0cHPrQesY83@Z^wLFqj$mjh+g`~`XQ0!13H(i zTXpDCdcPIh>eESc)e7VnWh{;_z2#f`?+{rOKQ2eroWmi3Zj-!jVx-vT`fVwH-y8b{ zcL)&I`)zV|btsIA!+ELSaFV59;F-PR$MxyZ1Y=G~k}hOZaZz`29vf-<;EQ8w@j~Dkm;@kR@Y!_H6wPB^=8{u(Jnu0yRZvytCPnoBvc8+JyQI=j$R{xre+mYF0)ccdxt| z4qiyX*)^Qo3i{W(5^aMf((*wI>^%bb?!e|O{c`yco*NY4xl3yjcCVRCINB5^0pEb{ zWdxPwCW^Rjh(p#u_K;Qxlme3(1;NEySam_PUI7u%6#u4#GN@>9WucQssV&9wjdjwrOW!)_|~q(2yDjzt9@z5n?Y_iaUjGrN_5f4Bl$ zM~HI9A(W(b1#)HF zP*9)SK~t}W1Fwgy>ZpjK_ zvkG zCX5K;))O?((Z+}?*xrZ^TvY$;mr&L%9_3XF=k@gRVIOaZj3d8BV28bQpS;P-m2l3M zu~jhZ3>{vLo+lAoQq#jM)pM>6F=4y;$t^u{N;7)ZcVuS#fRadeCrc#Zy$pL!QKxu~ zzR!%iV)UP0rJNRd6;nt=*h27i%vs(Ux(xtbeW9OzLkRoY_JPWLLL;D;@|1QQm2zvKyr=PLwmDO=XMOHz&A%i`Gn$xRh%>Do7}E8oXSC1-iRSJt#7tbR40d0>)d z*r3qxU1zcO%TP9{?bmmos%h@WFz&`8$i+ZiIy$@*aK0~@JJLtwv$Tib%4COo;bBT* zrL)T98Kz+r>)#hw>0T%3p8JPjZm;r(MVUSA8`ncs|1mVrxcyjDf@Jme31i}Qh?c3L zAY89|J@*$Sn&esvlZiiqPl>Ay1v6{Xh>{aX>9%uPn+>h$@(Vs6Z`akn1N=jRp2^@Cn~$%`=-QsG!#i}CN z+K`_YFg6_L)}LhwY1K=dd6QTXUE8G7Lx|s^_oia^8vjsmxddlST38k*LYC!T-&*|d zPJ)m&I{9h3>xUm0cNcQ96fgBr%Ga5GJm)wfZVo)f=Upd{?mhzhwX`#!wgjTe!K)`)E(rIPn5!XiBGE(|<8W*tnMYTg~6@qw% zCM}*4zt&r?U}#s;;aI#Aa8T$eF@5j8$Uc265@ppwJ5x4)qJi#+<)DQ-@#=Ak?`h7b z9t~PNlbCRqCD5LEL@6D^{}1`ub(;Pcc_0^x)}kOY?tFFD323dk_ZdtiyeQxq^}T#J zxtr$x4loeh5)u>#2i0rP%YD+$D{`9r5|>=j*#@L>6+}I0(OzgP7yS7<6nM^M{gy^ZlPg)>^`$M5bbKG@5c@DLt z>JHBnJMSigg@zRN`_+0@6#IfK8bnA=3&gshV{!PGcI3bOo)j)Eu+qBe2Gxyk4v|ID zpJMdXSJz^O!>Zl%@Sb#jHoW62uATc2&*T4E>xUAdw_NN?4L(l(&b6v_wlFn71enbX zd8;OWk-q`C=!EM+03Q`de6gU8OU(QPAxp|Vt_NE9;kitUMW0ya%4$lkZ*IX(`fJ%LS{x!ylF%oMo= zfWL^gaUI{Tlz{*WeZhcu03QK6eEF7E`xiJt9vmE&skNcw;x0nO=v-&r<{ky=J^xfE zju*Zxq|O(&T6gb^?^%=LSyyF_=Vp_NasnqNRZ|0mCtVc&`?dX_tL#BmsRj8lCoxT~ z!;RldHrJt0c9}~oc{e zIlZZGd8AU*U{d#*=3wLG%zF_zi$Eih_R}-H72yF&zYXuTBRZ2WiV3zzdKO1H=wqG0 z>NwIvGRode`ir$AzorFqhZ-P~#|(A+obU!FHuOCt(QM0&m=JLh62@hY6kt~zFn;K$ zBRgo-_8Tl%wSmrP!b`0aI$Gp-D+Wp}ZbaOFmydD#GdB)argmsuK8` z3zJ~7_{3o|xg}3N&0DEFjzbH4U;H25|E5ty!*%<)_px6t+^_fGf6;hYNA>kl4-9Wl zH$`o5yfW?X_>@4+y9wyjSU5cD0w1qmzV4Kq7PKeH0)s%!-Km6?<$CAi2u3gFJkC`Y zAr_1jov-nNPr`HAcnqY}Kb7dPkoYcjoGqlLu#~Ejts&~~k8DxkWlaBPcJ9CK9&%A; z>19~KVT8UNAe_?K7#L-3N)%W~COxk!K_yClY4^p1j-dm|A_;<*Ium0; z=@Y022Dk4bl}~6uUVe^2H{xws$4d`rfRMOr*}t5Dj5rE$bOBZEqv~BXH3{AQb`Z^< z-a;dxu3#}Q4=OxOt?oToSH!TACtk)*!GFczyH0-!s=!Uwyfz|>g*#s1x8?5(I!?^f zw@4ocBr@-O`83Kd3)O;tV3JO$meKje6}sjt1k{IHRUny|BUe>&bS2k@xJ#C&F~7s@ zZ9{8e>R*{5;#KX>%-2`0r)-hZX(yhEcq(T>;7~qbYinX{YMA<)F2Oz&KQ`f&AMuSQ zFyZn)Z7~T25HPS8o*m_CJM+u!IClDO9q+d?U~G#_lIVO4SKTRlT?5J~(WMw%UC!eE z-}JrS4|#e`#`7{pHfEa~Ubn%kmR-ERk;!;9AmF!m%?UkpKrghb7K$)|NZxOf?!%=) zz=R@5-W-|h*uSjo8BHdj^2;-Cz3+n=5Z5k+Q|T%fS{eL5zP>uH%57VFiq!{uIbkU|2S@7O{_X^G{@u2eT!|Uo&DyJ9CFEv_k!R7Rf7E~LFwp)Q&F|; zYw@e0*7M1wDJo{~-2-ZqmGgF$;+rl$gSV1w^bQMhm^*`ej$6$BhgrSz51zFd>z0SsVor5+j8>( z^3n!LNIEW?NrThne*9|XH(-tPiN~%}%B0@4Vcty3?P{Z>9#FgTvd^8xw!3G-C4cOojJhV(lbfJgHka zM!hSXJDpYc7AcaEaD@Ki=pl%+;`ZUG`zn@(^_7^d(e@SEu_w6@3^|)(k?~qn?aBJs z>yzWyuP4Xkmm;F{dRZ5Q?n=M-Tl5jOZ=<#sTXk<9bA5fH)3%OpwsC)t92{Z);LW#j z_q8p#%c5MX6nLN}(!G%2)l=;CLw7yEe~G+}#>Y~A)O=BJeYw1JLVPf1nws3|_YV9l zTK>C>e;UFW8&Ejg$$1*NGD;fZJuAco&}%l{yUJNoHe%nNd8LB1j;CO#0pNAoW9LN9 zeL_zGRLnBohfZ1joi=$u0!IopMW2py029AK@?Em>*JR`9IMg{0z{r8ynRbZXxJ}A* z_9@9|owU@I7xW3Nty{}9Rp!o|$m^`XP@x!kR$RuzbX-^XOyFQ1?6z8|kX z#km|se{EX4b(~HdHqh8sNW}aoX{HuITAMAx2UfR>%;WC90n7#vOKab z-F>!oX(z|`o8IHUl@l{#C|god%}D62`au952-FPp)A9z`_Z2fd1WS8`cOMNW398?u z^ls%`yScLuhqz%BlanVmcC>No+isqn`yjf313Gga>)VO$J&EyjTYDbc+k4yolezrO zOv2SkCZiA%8TEcR-dT-aO;W5P-knUuWFf}RIB`X(vdb_r zbbeAghtf~fM(NAW%bAdcV+jC zc6{1nuBY!=%~VVtJ$$B-Ou)%+&)Qdc0^4x;c&yB7tj#o+`uC#f0ylGYE*|MwohV8->4?ZWjUeA^^0?VA$-{MtV&+pFnh-`ghse*SMOLsRu{Fq~L_iK5=Zj`cER){&o z$e;%#-9J%4k0WW zePGn?1c1hwe~txWSqio6-IOa^BmgsC;%lp(a$icyFJVGaE8)rN>@?87b_wXyTq9PL&3j`f@yCK_=>gb5fk#O) zpNl)tp=aj4+{MmCo9N08_7LrE!4Yt_|Fu2AF4cq>rddxPhNueV{FhQoybCRHq^5DO z$avyG?q&98#F?&a=t`icpFz;dT^k)MWNdV}nxF^2zO!)ZNiILam6FG;cO@??kKb2*8h4xyWQbC^(%WgnM5V|c`NF?&g5V^U;TY+fnL@L(W*LzvLu zt0uBOmLuZxy-DiS1m}pbYP*Pyy_PlgkA5!n;s0%yW(ozZ@Nu8?W0*ioEg1}SukfD` zlUV@hAr3_p`uR3dymeUZvH*|{(M8kk`%jYzPq6xX_(C9cHiBX=b?0bSEF^k4u_?HV$SuDki5^)G1wfH>`ZzmE=25T zCD1*N%&J{ndZU7YG?e4TVeJ<$5Q zT2d?D9MU&~1C39u`FKl%5$lnH0-J1v!i*^=cPr$KWiGTI&NP;pxnqc`bE^Ay_kW$@!>D-L2VmS?TvgT4uM_lCq5x)8Fpmq3EuW=e z6R^%ZW3K_emIe{yyM1#3X=i@G7Zzl7C`TNY=?7#)^6%`wP@HLBZHWt-zBpvR?LN_b z+_+0ciRld{Yq2`XfR}D&iyCT$G3Uo@u7e?eajTwa&cJ){sqxrZL8sN;gW__rA5tSs zFuM$565r@#zi^cP>{VJTOjM``?XFhA=U!6=BU~nuIdeQb9mjd*7;F!20@c05t_hjk zbh(tRl+!+5S*>zQ8e{Lg6Vbu5zJ=F8ek*#d1y)Qmdr?{jv*(=PVPjNvZBD)`&?HxkS=1Ren zK#G{k@HEGZ|GJgp(cSWM6x3b^09BH@&=wD>e1~ZNx9_}H5buJoL}tee7y=Y=0tb=P_pOYh08Do2G7bb_0B`^dfU%(|lG?b7 z6v14jBoZ99(a$%dJMb{;CWe03{Ws|ovMQsg`n*}(6k4u_=%%xey7$5Qy8uLGBG;CH z-NEk4zcpBZ0PTyqLFZ{W&QhuAFFf8he>@x;H(s@YP~Qyg-s583j;aiqd%uMmW(M2| zI?pT}wMQ*PozIRvBNkw12|Aqv=6o$exN;7wZqqG7c$HE;oRHcB!VR9K{iO_8cO>wu z$mUlVfr4p_-CQrLTSvkR+%0tLBHrZbP3{VaTu%^X{AM#WSKL5cR$fBnAQv3GKVC8nA1J{P`3?4L#dcRA;Mct#@ zsS>ZoCAL@{09-WdpfSjpDW93No~-#(P1Dt}2EzzUpt=0Q1V(Rrf4 z9B)yFk|uAFO^C$Kyq?pj?#d;da>w!AaGVLpb{u_$LC4K*{~`Ld*lug5L3Nb#)+MUY z&g5xPI^XTiqYM>OBI&kS4?($ygM{hs4JYQ|mFo$1Yyi<*6AFq<{&;R<+TOwlcdm2< zaH7S!l((_Ki1n7J+h)JVXF==>W{tXsj-(lYc1ziG_2FiVkj5&rBQY5Nd#~g_uF;YF zW0M#(z%CyHOw9{$;As|l0zEmi!dT}2dIC!?x#-6 zU1(h{msretC}8a3vbO2x*bK~P+4*S+k6O6fd{ZtCHX%HBm zr3ZPNK-i4_VoA|f4(0a0E?XFu1b{L5qVIkN4AL+GJW+AmfeZj(C16?+0z&wl%8GHjTzm$t5)jUQ! z(NpiWdqr5xH$JHHt9)Mlb_IsGiT@^BOuJe!)tW$?BjON?hf;w8bldQ4HF^2A& z-PPaT5uD7|BL0hroBUCk(z)kniu_u-`+VPrJZZI(ONLE-T_z@OU7-5XB@AM^{MzUrq~yaD-#z*6{&yGw?(7PA45gc9pi*Phd}) z@piBi>eBL@_JQa2XgHMz^J-q@kHeapn`jWBD52) z@?yWf*FmiV&{3Lf_5TDU1Y!njslAS;KeH))HUxx;1Lue~u|~JN#*GZlCQo+wtax0v zZUJs%bK@A5RH1FkE-rfKn8^!I%)s~rp=R8A%W%MyZMQ$aGF?Vy z{zOR5SJ4CQ!_MtR5f<+E`9$OsVdv7gnabaO*gDS0gv{)8lQI@YeO0r2evXr<2~uMe zWqdTfd)!|{bjO&S1;(A(vn>(v*ffNp*mhrzLemvwM?ni?b}_Umd={!{q2^7%F6KwE z`8?AOSw006(s=drE zoAny2cv!ahFRuqars!TSC|_wXx`any{Lt;oGQ7!S__^z*jDHE?V0Uc>-at_8&xENV z_i8{}Z07h$@Ne2(!T-y+pQF>EsvmSA+faGEl2+n8CP_J)PS!~JZ^~nUOxnNmseL=u zi7Ze8%*JspC>yN6!@)ht=j{RXl!$bHl>&O`cmXkBkN!_OWi59);;UkwBNW3_re0(| z@c~igCbPNR<$K#5c;ep01TO6rxtZVwEuVRj0ffjLR z7XkS#ti)nJI6vCmg|FD%geRt{5Qd`tb^=u^=MZ~VbJAl45( z=VHR#wbL1Rm*fXp_aB;+H1pYI7t6UqrVjvC?V%NM!(&!%D5JRoa2KmAeg???j;qh3 zStVnP+{DUlM@yFN=UUtaZ+0;{LTm`LN;mZ4bYaGulZRvc^K{fDBj~{z7O&8SCTU@h ztC4?V1)iZ?PSv~wit*!5+ED0s?77u|&e#)cExW+~NY(vo2LeW5(>-?!@c^1Y3vT#| zBp_Xeo{2RBNb+L@zw&FC-^kgvjegy!Qaiaoh?CJ_RH)iE497{gXT;izt{Xhx53WMD z`w0yz@zb`{96cy`zZ4TGf2rUTw67C!6VZZgFD%v@_b zpLe4ivaN=gQ$&Csm{TfNf(mi-+xPkot)mSYfF5yJ>uJ8M(oh(OG5pbNsFS-f(#xTh zs8OT&ALyaBBL`x0~q z+Jx)*TVzI^z8>|pij4gO0lPwoe=Cc1v=qPt-uk4R7OiD8tqg|z`dPSfJVw_m$mW0P zks(oFvjl;OW|t=>Hvs9kBApYEdAUEE3$U6<0*bimFSRQH;oK6ef;)x&Q^Fr_585Zb zV`gD-y>)$uhe@S<8?WU`Xv=DL{4F+NKaF!VC#c3L|5CCtyfl^fpjFwiSuT9ON-UEC zE)TlBJrYHKW#af>eK7C+|PLKr~i<}&v>l> zDjR$*4FO ziZg^`UwK$-Xyv@4f|DB(&E@PRE*^(L-M5uZi*NH^cRyxYyfwplcc7Kup5iOd>YmNr z6J$syN3(y<)aVUnt{F~PKx4W|!F#uFgr?8lhH#l8(Rp4+5W;O4` zI-(%FE(;a{TE?4dllI!S_WfUy2BH@%q~>P1A%I5ZhnHns+Uw%x9)B6ta&OsmXW`|~ z%y9F=m6oZQng;c`9!=%Xb69sagRFOGomhDUbinD1YQyj_g$9>&F5$>_0wZ`Y=AqaJ zJrx!^nWbNA2C^JYoKNd~m7cFt?8iC@FWx&6=JQX$G@WZ)6Smd4jaF;PEH1IkGbfxJ zKT(Wu5_6vF=esDx7L|`yayTxmAL(A+6eya_|oJ0D!5+0#M+t`+Ba+|0IF=L_c<% zI9|Q^@SY-yiTQZt`a)I z5#>6eeXC(GFIgD}-J_S0nY^UsQv0=s>)qfMft^AAoITQIW-$#-F(Sg|EeccRSSsbw z2pjo8=5lp?!XCD{gjschkx^^+;d^iJ)%|v$Hx}CwHqEd2OFa96QDF*U>pt_sKh zZU-X#k|+rA&aOwb0TVC_ zzB)S&sEeQP*#C)F@FC@@NW+31k7aKv8$-VVs@P(vfx)gMd(RwasL|7S zpf=wPz_K^DdnbYP0&*97rrp~7o;Fa!$+YiUs3wmZVu@!P@s$H=;5vfrux{?6YRLJo z8B!_PS8bsIAc3A9$|7M;ec9xMd>@{ADle(L%b`!C-WW0CQO1su@>8!?V7K7{ZlH=d zb{;-rGD%Eb?MT-;WgUS;{9KrIyE-`fX53%9?B*%Tdp+vyYvle69N#5w{>jEAe7?TR z9EY0AKeZe-UTfAbr;2H6{r$LY$w^9SEdu8Xqm_jVU8`Qvv;4tx!HcMn2K*V*DW8h` z3uP?Gb!*$2Xe=+Zd4qKtzvrRSvDGlLiYXvAE)LL7eG}759&=fLq5G9?CGYMt2Xm{cUM2>7G<+LfIswTEjl1OraBa3Pu({Yhgi$sxD(p9bF+{_LG z35%QF5o|7Q*|EQDbhS9A-LZU)sofGMYhLJAj}-29JQ5`<5o`Vf5>xeHB7Cd&Hp8d_ zAItoFVn+1!x8Tow5L2&8d~FKyf=G%Z!<=f3^*{Ao$g97+WafA*S>6Rv&BxlGU=}#)f=_4)0Y<03UP)U`lBOO%~J{_ZG(EY+{aC%7fyYSbyR$ zR<2|B9W)@Q^hAOB9{+P-=`i;m-SwL{Cx2!hyJ%0%As0X;dAhbQ+|=u0e-schvl3;X z07QMF&|qnM zGa8}A&$*Q#C4olcQ5GHeif=(Rk(zzINAQUa>eYs#Ndxar9HkzF=&@w1PnQayOfvhoiOmBivjF+A?op~y;_hVfn}2k8#L zDPPIPclw6_Av|O-65;NB&dsa#LZUjEETA%6aW2~nOM+4$7&OJ$|Ek8}{(x6Nx&N)~ zRfz!gRD&=Oi{A~Fzx!AuK8xRfe)VzUc6gQRean+`bn;1~9o&zI|6?rmx&SuV&B zY~2rn*;-tFZTj6v7wc(Xs&0?RccGa>?Q^CI=)UcT=Jl;it$YMe7(2)OdmD!{L07PjQ zpmDObh^r{mt}+Rel9ujFeVIY-FSrIJXXhPnZ*05Ll7NyntwE)(Ry~0rrDAhtLaIx0hZ z4EuCm^hAqp6PWz6^*d3I*OTJsKgWY1nYXZtws%OSs#cuQ=Cy>)4#vmAkcf!I-{##* zG1@s^wrVvlaaOSq-VC0L`BxCh>T4DFgjBP&s8hZcu`uKuT6sZ4L}}H-btm$!Bt{|N zYKV_*=6I%OknZDrS*TlUt47||$>rYcP(_LGN}rn5NO>L?#sc69&>+LVHVA?L{+BYnUds%31^KH*@3X-h0A%I} z@VoqRBmz944gt=3&*>nqZa}z*6;O4s&lh@xB^kj9=p&?gdoQ~Mx^FDnUmRDnb5(*l<8LR0+MwTL3mp$m{-g`vo`VliHvI z4XeZRwI%ru3Fvnwr0-AEPrUC<1qP{)g+hU3>oa=6gH#sRsJ2nMoC6sH6S+pVR>TAE z$Q2=E%!~fyvc>9Ps+HuR#8!#zFZpie4h_jd(a_Pl>rFf|T6Osnl<5$d#phiO-r~#> zLj#j>_qJ*2dR_&UyKL7`y$^Eh13$Nr(rbUlcx03`;`dLs$F-WrA>C)GeT$DYu3~>M zx*+s)h$}X`@{#U17ej;uqNztoNTQM4{itTZSvhw@5q0s=KP{`<@TgQC1KPIxZANf) zMk$oF4(q4pDg~#!l-D@C+n(KNh&vKB;kCm*8$FZBRW%-JxMyHd=f%*cFs#0i7mYPk zG9G7+kZON_Uh??612~2NQqHGwqxZxa!l=MNH^kTcd>)L9is#mi5(WVff7I7@(l9Vg z@f@`n+xk)j{{>MC*}|dDQ#(b5&d66N5Ou{9mTFJda|to2t*?4X2Xh2*m{O8aebc-e zaTR{FOmC(@LYbe9CBIviQkL$2bI;USy^T3@bF?#r!6!*n9)#ZX6Y-Kz)h3)slY1#8 zkmM25)_$~w-W+8&BDG|TqfD)w{X(AOkaeAFBejjkfj;qtpYC!~4yO)?pcWl)0dV9x z^5Rnq8?)m*J-D$$$w1iIJamklk}s&yEAqbPSlitRN@vKfl$L@ z)~L73Sn_+k&xYAj@duP9ive9qxgbi0=efQ}wjjXO?%YRxv9!0aY2=9N&iR%Cavy_J z!PH#O#I#T_XfyIY!Kv}JxmAD5O4a4ktP28PTU_RRB7LV5Q}m8SM*(*C^jHk(N)Rn1 zO^r$3%6ybB&tW4Ma#1ZULYpKrsZVkqCyTXc|5Rd=1etT89K#QFeQXS-D=`YO#hxLz zZJg^V?>SC-7u8YtGLGom>F?(~4iu!?%dPy24Mz?2yC2A+R5c93e zr~CW@wENb*26Afrdp_SCIu~i@;ShHpB9nC zK%}GT9W)?}lFBz<2@-;dnyNOJ&+xgJ73wAZ4HJFDsuMJh2-Z9;C<)=etD-Ws$AFbD#V)woCQKpAt618Tk`Tt}3$u%R67jg!l&6MUiKvp;e(6Z7bmE8*uLS zg^_k>y2f}M=~Ok?u9=(Z2hI=&M=|Cleb<{TmI33E3zgnz52qrQJEqb4$s1niAVo0bqxP6KiPeqW<` z%zGqKsEOvA_sob$Bme^zSn^iy_L$p#k3W)1?5>LnQ*8fU{IHR7@5DHC@2!Y53t@w_ zwXC{k-=cw^Bmr<>1sJRtS3Gm;LRrcw%iMpex_Ph{0wHAGo2}zHvKBEC&H#6p$Acfs z?THc1|J5pOy=t+<;~w5}(%tXfb!^YKwDyQ2yxkkZE^pu39uUHr@cj zO=Mm$Z@GW36$ung!r3&cP)|X*N8ZDwuiKL0{S|7r^^Zpem*qoG@GsVt6xCk0pJ^oRW2m|ZVSdzy7wvCcex3*W$pwHC(o>3Wm36hbD31fCYt{+$ut}bBAB|waWr)&o z5ZhgwN1fxehR$L?&*#V5lGToHyB1uHZbj!%EmBGRmQtDGcy&v3O`MEYsy=c-gAtzGpoIC(9PERN}QTeK>oT|x;gPMIILNN zBdy#dyU#~PL$T)!kBB-hdX0NWUM@qtXK-3A4H+9Knm^+Ao(DgwMJ+K4voJSn3UJko zcAhrB*gEDeCX!6gGxd|01Wo6(6TJP9XrL_mp;yJvdGVE8+8 z>zzg7%bmz+Vz1X+C>$S1*SM*is&+VnyHm5&(Y_0f{G+C?z0r$eI9wBR^Wv(i(=N>r z!w7)%sR-axG2BjJ_#@1Vg&g8sLpa}^?4KiT1z3xwHpKupb{r*m9#BsBS)zRvLVOjC zwF+`-lb3v4IoA3E@Ax_R6Z6Th0^Q6pzxT{Bp0jnPTXnF^eRYCK` znO%j#ZsX``Uqp}W+?@62hl#1B6 zWRafKu8r*bfLzwrU){cDW5F}D;<96pR4yH43Jb}AQfz%Ii_qesOHVndQkkL8Gj^lC zHId-Z(LdG$w(=4B(N_x3MkcUKIyG;9H}+Yo#I4jz&H3hB0aVCe9b?Hz|EX2|#;jM0 z^^Z*L&q}3zh`(wOf=%XIr?n`K-Clu*N}dZE&F4{||0KjqXoL#(c0gQHH_P{?u=e^B zaHnumjZA!-`4Ei~fHsJqy7ogOPhd{mAzB2d!ti)V)pn#g3GC9smBju z<@l@oKP*zkyN*w%bhV%fyo#Mx869PC@=420P1u)PbK;2jkNhg=<2{zn50(9az6k=V zw9*eer*96R5rzM1hBTVA*84n$lsr(BG8E%4fO~?iPa2cdZQ_x9+D8*N!Vr;=M|sGi zPw*Z3LwsB3IxhG8cI7I*`oqL@t+hMlEIU->UQ|akcNqtSQ*rs^a^t0zU&!8#BS(F@ zle}(k)u8mFqmNHm3GkqT z?oe>p?Yj~X%3>ZEFPviWDw}0t;IMhWJ!v{&t+Uc^LFw;jwQ3hevlv$3$s-s zvxp57s!Pt}o;2XpFSrxkQ)MrTTSe@35#^Kz=^D;QdMn#I5VEndXmV+G=aKoM=eq|_ zB`%fQg-zX+e@|^`Sb}xtaB4*@SU5R=-gD!Njn*e{kp`Sxb3f3)m+pjvgurZA-Q;;4 z7=#c`IjDZ}!A`1jyAyhRnlsaoL;I1x*l`?A7VcMeLA`Dsv};7ktDBPpPm3>NIJJFV zPQ^V+KeCr{Loxs1en8O*hRAh*B1;Bix_-AEzLP2xbt?~oMddByT(qThIH57d_}7$gEn8mlZOZ6oE5WRy0ehfB zGoqum=)(Rbe1r6WzAK}9dzZhHV7pp_mVMuz#O^I=;}Wb`%v19%+G=m7BoRy2n~#Pi zQ>;pmHLH`{qn(+(9copnOgRs%eOtZ4x`CB=U2Paz$K(?gR}!!oCmip!yqL_ewA@c& zEJZA;)A%`=VsV{b$L#b|)@7N^4Yq-!P1hgM)ZfnLzAP z{`G|a(_P6H3IK-pB>))}JNq>IQeN+?ip_x(^s>Vp>?afJco(o6%Z6uuB{tG#i1c8K zEV_$W6SEi<)^vaUt(SrMq{uybDqbZmR0IKNZwGehjr)lGGVvYPI1I;5x`RK`)fyD2 zQnz6uW(^J10YL_+kH-V60cAaxT6>9J z9W=;tn<6#$_G?`<)2=DMMxh>u9tw-*J+B$%T^g~Q0jlzt7tB;eo7#2%FGEouTFvNx zI7zS{)H=f7K{K}BRUr}a;>>-zoz-@9tm1av-`<+C0kZCAmUP8v;51r;t?xbh7*O&0 z=^eo?`1qEy)R)FG%I&{Gn`87^R&Ontu0*j+c(Ds11vs5`onE(=rDH5}ZAf8%om1DBVcetzd2^ zVwtDBc_WPjKJuSoWsxib=!zL25Ild<5(F+KqfP)Vo;)_k| zM1-T+_p@V#47>u>o;||fB1;kjt*57Fm;YGlVf1MyFu?u!XMvLf&}O60*{C`VT0p|GS~@0!x^D(! zqC;UtsstnDqSsfL*w-Kgnjf&%m^NCK_gt+vIUHIIO<2BwJM}>LrJyAHt zmVb@QC-oX1*=pD_aJwN;F#i7Pbj*TRq~VN7fOl5SMv$*=l(*LQiPYLd0r z6(S-}>r)|3@(^2W`mmTQ>ShHXazsY%`mQ)><45ON+GH1^1I?w73{Hw-bvLCNY25<)531N{({z z4*G0scp7MomO|bG(9q9aT_Utj|0{m42)!#4*u!5NSGn* z8djj6QgAgSGk|OS2GCSk^Dz>*y z*~#wuZQ2!bByxlUSt2!cKcabRf#&P6|C(nf$(zsr`VJZtuwr0jn|WqlchHJ=yG~v= zi%eqhz{sHbtRG9_Zmb*I&*OkN-c!6D6iZr66Mn&C`JCSu;s-erwP|D=P)&2;*%WTnbb-NFkfoJxt`=*9 z!|4xSsW4l6bXv8Zyp5{}eq7lAr`sU@>0- z+QMG}=pl4${hF;^)6N?}`$E96g_!%#0}S+sjp-qR5K0!=o=T#yAH=dfL)eqcjkAl( z8c0~LwP&RFkTRmoO?xR+);h^ZemiOUfChL5WvxHDD3TX3prP}g zlQ(p~#qI4w1i!0t&~_RWb!$4+P|LV|1*dZ8cSH9&4ij!hXyM8n%_~gKwb)gjR0uQ| z1f3+;K}E{8%xqUOZdi1RW7Z+YdH?@6^mnpA0tfY7>qp1tD<*b%itz7i@ubfXOemue zz%8o==zf0cOY=l?L~o}EprWsyN= zkwFgnm(xas?Rs6{^RoD*Rzkasb|+suQ04J=)fJ8cx|R|lF24_y8hlrtg`ip0H;jD1 zt)_f)e+Z@-k4?(EZmuMrk5Y+owY#GG`feUhCJ}TzYO;OTr6CZh(SVV;+V2NL@R zfkXh>dUkg9cV`~>P5q^zX!seF+D;Z)p}bckVO-=pX5iy9&A1oI4&W{+RK|tLh#*iI zQP5AwP5hByyJ{x7qcnAYhn3oaMM29UOyG=$~i6 zf2MzcfrdbSzi4m7qSyKYR8e_YOP0Sc0sSX#pzR$9|IYf470X72XnP0!q%(m(O6Hu_ z2Iwy|0laU*)1-W){(_wls)*%C&bBN;2gW&q%6Yo5kglNHm}@;=?48I0{)JU%$s|^4 z0dTf$^wLAcy9{m-ry$tC^bg_u0lQYJDr)YJS)yMr64Z;vv_r3pi+qaa)W6aYjs&~} z$Ff@InFTwi?$X*)abQHgRis$v3(?sqHTh_4ua;hKG72+KJ3-In?REuRRAIu&dx(@O zVV0l&+OmgtgQF%zX%WcV zeQst_@&1U&1wX(63M@hZ|L`Y(e$HkQHi=Qc?DW);4PYX)mwCdrmUveHNDvCVVsczv6j5;6-WU552?P>s&6I5%Umu=fk^49+J%hK3E%%2ad*z@+0hXWX(x)Q2 zSs2y~nSq~Z_!n(z`~w*$;guPpV^52b_Seh|+eX}uHON{2@bZ6Ne+}X!bU_G3MMX6R z-ymochJayumxH;$z?~A80yLI#S z;sIVl>M}drsb~l43-E_t!mq@Z{ms_3X1W1trtO6U;h3C8vLhq#>GS-H^M!?yKH&BC z{S0Kb1#KNhUgR>4bjK~vPHN3nZt4!M1xZ~a@@0kqSH4@x9ynYHW$cnOy`!tL+;_)R z+U2;=jML0S+YI$B^X2y0B%6uq`MWC_OJo@OAqL=}%80mH{o=Z0SrYRNuOfn2G8id} zWZ8I&|Jc(1c?Eb_Lu!+c0L%tJwQIcc0&up4mdZ3r+Ko=nmn{GmdwV=TCLsvHd%wKp z6fOvX?C#3g-43n5kz#f;TI6*>Gt|Z2+3-Nj^4*zsGV*R!s6#1(QYy!mcc2Fc$m}i7 zXB7K1L6;z@I*gr+yXjg^w@-N+>&>>1>k6N_EL!r zVgOzie}e)C;u8hR_>GpV+}RZK4-S^1RflrRy=3RtLCe}oUqKsq-tAc>z8n;3La;*d z!}X!ocoH<_b0s+ zdL;LP^gXUv4Q6Mz_fNg9dM)0bx)7Mio zvy}dM78!NQ;Ov|CpCW0`zj3b-Q{eujOATz;*bdwD>6-cPE;`gXpaO$gqrv`jLYaA% zPu-JT?Y}SBe;=Aqq^D#@n`@-i>(Z(_98+ym?5Rfb7sSx3bSqxx9J!b++KF&JarKn8 z&qiEOA(6yokTpu#O*tYFnLaAIsdoxnwR=UVn&T=qrg;=W{>l)lJukOPZUqy1a&L$~ z?jb&w;?=&M#*bPxGTs63@efU-)07AxZK=(xDYB z)Jj$pwQ0+yW#u2f6r%;_EJ#4Tn1;7`;H?@W)d6{XNjSEy-1w!TGXFKSf?7q63k{f& zM1xcy^MH#E?;)FQDLZy~nMCuFUP*eB8f48t?owgtODo(mG0Ko)&l=-IouKR0hzbnvvCozZS{-$C&Ak&y26u0i94v15H z_&nID?h{UmlRL$sYR?D3P$;8G(+>AQAGxvEca&gG^$M=Qp$F#N)Ln|z>;UiXfK1~PSb zq5y|7utwE?4^jIvQr5!(sooOw5gx)0TcV{Xgc$+JXz2YpbnYaas%8Nfv~_vZkz1*e zwTt0p|NWe#5OuSw;t5T--dwHt59oiNjz6RDCofQd0c%Mb2;9G|Cq4LT@4)VBQC3qW zDG80AFrJ&KNRodk;7+{^zrBYVt!2TXhhT^6(koGkx$Zi}E>%wfa%JaA!R}2&quq)K zHbwTrg=%wz z2`X^y+wh$C%djU}KQvs=Y1z^(Fa`8Y(Xm}|^%*QKFs&qCO|=)yl&M}%nd7>=Qu;u% z>&o@=&v5jQ_2&*qRxqnE`H7~gI_u#kkVXj?l+aAnR3S(ko7L}CT9p(eo z)$pjO`@=1uPN4oY!EySNGK7K4Gu$FzvDs}8;L1)o!r^t?KLEGu0~#9lhYe?hf%IB6 zBLLH0De>Jh4C=wR<$wL(6^hG%u-XLIR=Tp&P#t|c&>pqAI$o*!D#{NllHpH&gpwvr zdY?_Tdy$F{b65LPlK7+W85F^f$=Q!`+uUhPqo}X}f-Z$-QG`W2RgUjQaCJ$R^#Xoy zhj23C0ZmMTMY(OFut5-HH0m;eF9Hlu$>{hZ7+Kb4n;g$Jp)ew;rF2&jtF(&H&4ZSw z1scq9SQi~>k7Mzoea*i8_A}!0y}`-E$b|&xxzqVGGsFFt?xc{rkI8{r0xaOF&BCi#-3e2!I8(oY+P~L$iXz({UaZwF0-bK2g7< zg4aZ6CmFdCj%?c*&k1=$}CN5x0>+w;AsPO<`3>N5?^?EuIHp zARxbib6o%Mn1im1ath_$UFvzUUznfi+1K=~?crwciGA4@Ao|rx!hc1IA`2lS z5uVpdsA(*F=w0c~u`{3V(A3g=={m{SVw7Hl>L59h)fBr(|O>}VRZ@j531pRV2-+!%I|M@%xIA8>odsdEDJNgC(k+xL# z4jMsXfmBbiN&rSE#_{5g2f$F&0X;B|UaJ5YFBO#&?=E;umuQ_nTqBSSq;Ov~S^_s& zJuTqH!paX~fKoipvk2X5!zf3|S7?-1xDVa4Lkp+&SK*VtfxEoy_Eti7OygiVah~N<+3~IqM7`()Y zD#JWSS7yB^XRk&-BM*4Z8R`$jcLHOj-+$H0D;_Go<#ThXkM)zPOLlOMM1gWd z*q`oJx;L?zwrM`$MV`i8);J!(em=B1RQCqsIkXufS^kwlI7R4tJJc9{tCpHD@lR3h z$nW}svCP#Es$O`cmdG54A|ln+{{*)D)w}((AbojO%^1k@q=Vm2uXF3iKE=IA57qCsO*~clIfHM>vieDs}^evP!LUN`Z?^5T$zICVJr=bV5NlAT+ScG)`WCmz_|($Ok`~ANU(4)&jL`rm z0GAj9>}!gKnd@WehV!pLf3oHcxUXQ~D}scxKuiHPl8UeoyFpk~4q!w~-CtAaJ{~%? zj)RC|a|+Y|ZuVPtnlg)7riV=i&r#t1F#!Ae{TyYQTP7$vRe!dCWk9`1C{7MA5$IvJ z{UK@s!*_oyRIFLgRFwiU=B)LAK}@lII}Fw~$gNQUj*4aode_0=KZ9eNQm@kOp!u+F z(zzD%PGC-_f~EcS^We!0C`&gUZrwSha8St5g2XE{4XfN~x51dRmt_|ZDV8!DK3>sK z#^kpMfeES2aiy6D7!tB8Vb(H-jV9sEhIcI{l-G{;7%s*MJDwdQBrAO0ld=~Vn2bLT zS~`2*LS%m{pw=9&{!?oP!Jx@*Eg=kzVxme!0o1Hg(IQ*yO)0JBTN@?Q5iv@h?ABi! zcZ*%%cYWyg zG$Mq&GpV9830@DJaTbGltN9vfU?)C(eX{QG^l-J;a(7r*&+XFlCY@9i8k1Hvo&SCn z*#+?Z@q?^Mwt;me@p8Cz#SuhP3}V|Rg;n*0%LE)8s@-7Ty75;N0>jT-`quj|TELro zccH%0&5ucj_hMo$=>+HbI#kPvX8K6AFm%c}@ zJMQK`x9jg&-rwjUBq0?BSeJC=VP#$5hl(rSWj~3gZHsEYJxZ>F?!3LKI*#A0A>+Na zgGy&Q5v+%ayNXChd;-6bsLKJ)2Zaj099Py7_Lka}1Wr)9k~;?RrG*948KK~JIZeuH zBigIFSPGox??>yYv11FSF059cf`iw{6E~jzAXz8y$WK%JW@|z+|9c5Tv56EAL%`l& zY*evszKDyZ1v|B@Sm(%?6sR=M$NEQ5Da>{!@=v9k96HuP^767I>veC(! zJzF}g8X9=8rY}DnI&rx$Sr$tdxvD8CWzSnRN(1}LVgk>5TP?>~!>LU%!Ar#JNB^5( zVtlGVbTl+Y#hDf0=QRz9e0SI$X@C3>@mUytAKYgkE#wBIxQdz~n1e9S)`;%)e5!>p zkboVC!{7to>UDIKa%7zrI-T0G_XYvm_vtOM&o)LNFO7VQYh^;}z3O@UmI6DP&T80_ zdq>Yd|9%q;K6Wa9&U@_ON2>y98^Lv%Co%{QI|1gvmjLK6^vq3fO*rnS~-(ABcTK zqCZ;t0Go(TqL30Jh>q)We;SIB@_m~ z#T&eWJXR^5D~t&aaL*Yn{2C^Z1>=V13u)a)G?*Dr&W4+va_w(O+1XY2A9iF}0aYYEoa}U* z0T8D#R5Xc~@mrAzc(!++-<=Nk^%Y>t%F9Odw8_$mC7g2n+uB& zK|_^ey<;8p_L%Y%B!2NybrFZ@@VD-Q_x7 zA4=**-K@T5KSU#5K4tgD9BL{??Q+J)YGWGcBD7($;F%uDYRUb z=s4}^UKIF*wnE&;C+_dCSm<7fSC0*vcQz$RSwkKD%bQsGH!-14$qLbbErjJ;aF^aAq1xhQc+!S+f zYvJ#G%6|PWg`Kd|3S|n=&TC`Nr_qC^l_V(ISua&tnAX|bgL^CUGr*?JRk(VM&i3al zgirWiuRdn*9FNVbT8)mT0IRHSs9q=cd$m7wrr{Vdn-ZlHA?bMR>cw^0@# zapyf7U}l9ua_gQ230qtK6TOU3FfI3|lHk4Z97B`kkykX(2a18f}W=K8B1JBPhzXJy%H)du%$NLY@_ghx(@*L59H?ov2^D>DMmpu(2@-EU4e zm1Vj>noWL#;{nbyZ0XDoE5N-q9+D|A3fT4g-N4nFikDZb(dme~npiHA--%$g+tJ%PiqW>j zai3<)_Ys{DPBSu2o@OQG`Y6Q-lN0RYTjl{Z&`q>G+6y$xmr|laV6_BDUinT7`m~OZ z+jz0iZ;M^bQ@auhCfR^PLql_k$w0WhqgUJo`yE$BiQ*pNJM;f~sKNj64#co&its*q zox;WknA{jxTbECWCRs&yb}l!Y@eaV2VRx^z)$vL999|NK;M1SrmO*=? zAOKJHkL(LJKCrLx-s#xBAb`83u>r))+eTBdT8(P6ST|2&X9)KVdQDv`ljUVY>ZK8? z4vJNkd39VErx4i9yuY*S3RTw_-8L9t4Qy7;C$L*JBe9&#w|U)rYy$OKMeWwx=;cB~ zs(&OKe0A#QikTEBa?a?OP1W7rM1?XTi0qW4cE?^Sq3se*$!ZDw^VaHfn%6p5g-h7+ zq5%fNIQJ7_fRm@dk=^HG8!Oa5{IzlmNO93kQ$lA@GocL$dZDm+JLg+YH#vL0CARtU zI(ckH9<-XjJZ~Z%D0z*Zwy7Y2RnAx27lCc3oBflu);c$bYxtJopakmxF9b#B`YVki z9zpu|j{B;-0H7p3n)ZKfJn$pK^{9E;U#W-q7mVZnOa>%_1TyvBXke}0%^`Ip@wqoZ z7A&B!_ap5@Wx+u0fP5LS?}JIeOZrwC*bdC|o%aQ`0fxB^y*8|9OzDyolNYt^s)3hn z;K!#*Xb{+tNa-}r8L1pl`L(#_B^!S_J@GVs;nG?C$wKrzCH2^AtaUNySJ7?C(z~3! z87tUKB`&yc;K2hgoqPeQ zC>L2N=D3CL`lK{PpBM$AaTf z@6iPjBL7fF4ALXKV;jkf#4#{2cR{}3l=q95zY;|`xIMv;V@`47@lbv8)QmUuS#9}B zQIO3MILXIhZE=V3P2IaPvRVNV2`__HNHv9OE1Cd!-k1 zt#c3>Zm~tr=XvwRINx^q9~d;+3l5q=E;pWV5P?q$AC<|jHs2HBVEQ}dq{c55KxazeeKKZ@HpN<4#-NyV(cQ(r07yFF3#FaQ+}APf9q|Q>x$7? zTJu}U5_#{n3F66fAj|I2IMM*mzC5qo26Yo2w^x>8(Lww8$@3L(4= zOy@C?kr|-N_)$JbbbSDej{M$eN{t_C202RV>II;}YE4ewhhLGpIRyjLs@w1uaEGdC30G@$Ebi+cl+Df` z_TGdevMCbif1Te=|Nh+U^7|)hW^@{yU;A#JKBOH@+XKh4Qv7t~)hFe}bhi^;--hcn)6y$XWdrwv5K}y#4fe^mK2H4x@2PaeN!ht)z5p=qun&`eh4zeHrEv%a5xWrx-52ck^op5!HrT z+GM_<>vw9|*AKWG-o2~7=TxuV`#H^H2{iM#({xt4?kk1#mg7vvUHn?1Yk=&>fhr< z6?Klw!qboflFYGP^XfA*d%q1l09%LRVB&KrUZ5)pWSTE7||_x-3y-0JALjS_K{`c!OBmo~bLQ8q9LLoe~O5XdFru z*YXAzoaxTi;YtTAc;W4qs6LFz2qBP5d67N@2AYg0`(OlRV96|j!h zTWk0>Zo7HOj&mo7KAKFfJFcTzD9mE~iT^?r`%k!K71O2&QdZS~F^mJ)8T-zsJkp^Y zFLKrZ<<2cwFwpgM4WUEUr%yL&Pvy*kUJ%~r4^Ea!sR`Dl)8BTAI*+FrBi7XOee&mVJ=lLiSyJ5{ew^T?ny*_L z@eRn@9xI7~abO6O2+V`~3e)!pa{HXZWC=<=Qr1>K5}5(|mpa4vQ&Egtth(P_qR$@E zdN;%fM?8xL2+6kRmcL^@S3&ID@y|%;5;-1Q6Xe&6HSLugzn>WjmmWKmH{0te7{lC> z`!F!}jy`awJF=7FZ$khO=*X+|qyv;i`3NNnF{N!HU$Gjj)khq*$5K;WcBwGX(d$@T zxyK0@^?WZ6=8cWNU>Z7riL4;=o2eq^LDWyNO~~86P;Zx|SM+Mk${XzCcfew_l3Tn2 zF$4mEE_vKp;&a##(Nfq0Ab-qH%PQ)``48Vra_f$C3%T1bA&co;);|7K<>wX=wn1-- zujyTzqDo&AJ;5ez>41Zwddk58^oxaa+jhkk3fbCfM zMvI~2848@H?w0Ewl(nW#KcdEV%c!J5DDEu4A$+-`b8s!)9}FuL*Wk=uIEBVEJ#I{hwY%i~7$w zblRwLSPLib7MjRD0Swmdi~xe*#1mNN5wI`b1C{}!0B!Pt7n-+*`C?}mo01Y5KnRuQ zb{fu8xaybZ?91GwJBBOpH1uS={vjJ$d737z_N4IV^hcce+rQUpVT zkl%?02lG9VCeJ62U|+Rb6|r}T(0Xqa9b^;HNa?3ylJzK|M3n}lokQ@j!znNFf*r`d z==*f-jtyalTH60Q*xIn{}A-0dlQ#%?jmKbFSr4#OH@RF9nr1nk#2ow`7tEq zdp8*o)FJ9m<q)G^4&B;^1J7ErJ_k($GRw=?7y!X$wU#bV`5|TfBx*@ zT803{4L~ql+#ljA$Z!nOv3s17Pmg6+04h3uzBB$X|D$*pg98jl0NVI;E%7YvJeR0|nBAGs^sZTC9*3tIbtt z6m`Je>;JwhmF~Snay0nKDU>#;Z1r`@%QFA;&jx!L-|?qK27Z3fg*0lU#98s=sR^#s zl?XH@$&cRk*BMnbRGFLdP(Me7lSx-NDo)1N44f+-r`WwEE$FAe-cgsju#}vPt%|qwPI*Y0c^jC9s`KOyau5dB@W#4%As}CM@BA`{o;lb z4022V5%fyEYs~E2&CBni!G5>5?6*cL(Rj%+`@cKTzZK0#1P+Cs6+rxt33c*4oGH(O ztV=yDXXpiCYOI$_08YdtD7v*!2AsO{N?UIG>R)FPodS_EgN{5L!6Ty5r%zPO%;Qh6 z7N(mw)1i&ORRlWNy^~);tzsTyO!f5iL>yUN@t|;!M5LyAY~+7xr83Z+JS0kZhi)>y zsf^ulrAgN;?qXzWT5Qv0!}g!{lP6i?aB+7PRVv_@~m5Pq@}U8N`K zck;95=cY&5%Kc>W^%+A@0x`Y&q9&PGEDzsS zWXGL!H@%()P6GqIKv^-w#6@cRI(+D1=qIX8t$^X@U%5c^%FOXQplo+28M<^V4~-9 zK^=ZTxdvz^)w9(AMfW5;p09F{sL)-F!BbdhZI2tnLy;vf*@I8OD>%P7aQZny6OfT6 z@_TxC6`T5daeA+<>4jo5cWDZc)N8K*hD_y`R{)jEOb?57_0P@}0fh^RnSZ>=pJDGY zVGe^eA{5s|e98PvZdf~=M9t3pzOA@~ta)-Mzs7J6{i$&!++40yh_MtiU+PBW^v|4= zpU}cYV&1{Xu}NqK-_-|s^QkKGIwgxYz6J@vK}#q%9SSgDn~l#!g}g3df8`)M>;8Xx z0UYRn-}oS6{T4Lz#v^P_C@aiB(<~3P@qzE@Uz1O3rg-&R&WklSad*gtYPC{K$f80& ztTEI{nRcNiopqRVMCM>4*PJ@cb5{58co|J{Bi zDr>IX>p$h)1nXfV&%X_)aI3U%H=V&rtwf3vz!!Z+ui}vG=>{sEbKigi)_q3r;{FJ=Wj}7 z&wkhCrb6o!c$+`{$teh) zxzX?4-<~5lo^Wp&49Y-r0MJQSf`v~Y4jNjPObQnas&{TA(Ml5ZH84aM{U!H{$saH% zq(I^^vgESW5dh2x9qv$mB|ZTds|qynvOg3 zqj0+X^so%ZO^iBSsWqT%<9(#G< zgK@kYWr!2$xzEI0I%co9HDx4-{ryx&YaB_0`wg|^ta*P}Q{eS7?jx_FgR~!<)rzUa z5lX$2?W-aGsa5o!w9c}X9SP6eNl{Fp3?U@;`}DB}&D^hNpI?OaT!^&UFS7z#3O7P3 z^t(1r9s!O-@Ryi@(VMp){VEi_WtU4YXL^A834NDb$odP#l}zaIH{YO!0w;CL_7$CB zg1qS)FQ%`eB!8`<#F+23dvwA0!e!IeqCpA)4sStvEV`a{L#6l%aCaL6#3xHdiIM?B z5ZSpFb`(1A;Oy+I-s<7Lj#GZY2o>-eKk8^^-CKYI8bqT0!td&ME}Pa3-vsvmi2y^e z?N>udfy&R%SAOj_S@22u&qoC~;ZOn1mq^1b=b;C4Ccm>Tt~1wLerdTD{&dkgUf@s0 zwpO=(plweWX%`Nal~ELV|9sb!TW^=?({v?$1!nyA@8|wTJa|aajv=w#{i9T;JX|mZ z$V$RnZP*Ui(1`)1dvfQR75l84+#~Yw^p<#mI9~z58>;p$7f?3a5yrIF@P_0;Cpp9r zn;1lXd%KYddEb=@gv$30elsbmm}R@zSLMe{Fm|w9W=h9fb?Lbi{!~@eR=s z<$n%Kb%JeQiG6C9J?8to=UuuLXv#@g@*xXjz>W$U8TGSLh44`Tu8z|1nlwGHo6wU7 zN(A+h_#PZKB{jA4g?wf?TZB+(Y8B5$AfTaUX0CihQuPslgXszzj`sP9-}MTL@T2?D(-Xd!m+&`eB(XYS_;=7r>2k;>?Q%Z_ z8G=61lB24Zz1v1DnIta(I3f=NqJ~8_x;aE`Idu^bk}&}4eSYMuXweK_DCWj z*Un{VncJEK?pkV)GPy}+lfyjcHrXYv~t z$>iMQ{PNVz{?mMwpA$9J*we#eh4Hj1K~mkTY*Un-J)aOyW40Oge~C;mLHKz5@`}vDCO1zeWef~m z#y0*&*_f!PpG8QBT)auTR(;k3B5;f|HVhqQLd)aO&mj_jdU-HOf~+HeoH*oz3Z}006TCY^6>fe0X*FnjdH^g2yl>+ z42ue<;q9w&9`W(&_ZQC-QFm>paweTtEw$P*@26jAOt3etl}VT14@#{K=OT~Q>0HWt z!rD6jkx2g6p`uKj$O7yQb|iHwf+EVSP_FlMo(cegkUe`h7*EIj;!|v#$79-oR%E53 zIN#I#SwVijZNW{1`4!NSIrLog?!LBdQloPr2K25odbbsPAgbj7>uxS*rffpio%E8% zM7DC(q${3tu+MEkjIuz5AQ1+A@yPvPfmWhWZ0|Wd*#IMh59SKK>Z9GP&n%c+!`c1 zVgE-0oR*6U$L*~e+A^KVjRj+O5ig5q7<;r}Fj(z+%Coq{&Lt&6uG~R6d$z1RE#o5C zNd3z<((13rmY7Hvuy&F8t_1+b%^tQ1E?0_fP3@jAR>`W{nl27FP(hhNom#PRxJ3Wn4P zDpqQ(HNTP+Y>xWimDy(S}(5m!Z8RqjB&~F05V?R03Ykzgnu?&B_?K_J*r#;Kyj?on- zbAlGHyLoLm7qzP{t=cpj*8~0W|AV~t|DNSC?Y1#N*jzs6@lMKEb^aJ(3#m5loyVMb zZ8Hnj{s(l`#<(p%R?)4LP89`(u?3?d>x?#Quu;T3Z2tqNO1k3Scg^5&f@uB?6$WrC z!3Hd|(zrP7ExNAyK7qk=#nvsk9-^L?P=mxH=>p$!>8rPbjH?GXrKhjr4o%87<#bfl z&c88PBuH(?CKbWgCO&QL=j$KF(m6228EpIUW?XSJkA;R@{J=kxjm;I;Il|q2>Ko<9 zLhQV3Xt#?|zo(wb{1x#tTQS2pFRZ5cUD)s45=3_Q9$AMG2Q~IMn`*WP`#9ciiBo7K z@$VKzpS$Djnnx>$S6s3TwJjE_097H^4H&@ZbZ|j`M-7yoyzZSch`tNqiB*Z;#*jRO zaYhi&ng1gCJ8@_Zm7MFN;-8#ZR5cho(cM{;rtpdP%6{4&U+XF`EtL&BaLdsDwhVu- z{?BukQDwXk&k-TSCXQJE^G69X|NVPk7XuL$$N~#6h?%1pSwbMpCx4?qhgCL~F858* z2hOvU$ACV(12#REtO5qmZs_mm=q71Oo7UE+EHDe8fK^K~Z~-vUypnp*Ho-%OC)TYL zxDU+llc_9?T-Xt+GSSF)M|z8W^CNDFwYO$qEPk=H<+}sZe zk@<4_;6v@Gyz1~!C8;iwSYK^?Ikef{e?;8><%H9s!-YW3cK*aKTQVgyD61dm$;rt@ zU{!vn-r`oTT&i6RLYH?a`EP>24mKN*52#5p^?s9qE=UOF3gN5g*7BErx-N&6hpXjjfP{PpixLz#e($f+1KLLBwS>5r7@GvI z(zd)Xc<-Ke%Ap#?##w31)3w^^!f*?@3HoX{{^YG95R7N_3+bQcD;0;zejitN&8`Bw zHI*vqa`+H0a;Vf^GD3|v+iOIK+Seh4X##3$rxh;C%^PbnC%s?17j}HAa(fP@-)*}5 zxw}%evg6aO=vubA9rvnVI<^Fu(D7hUu{s%8YkZ&|T1BcTLwT+bv*vGLQb9huX?mMo z9|aRH!%T1=yhhvGtM!2-+G@JMzVVB8`Z*`=0fLqALe#=64pZ~cV$MSMM5B=Zmyo{D zo^Z0i07cK9>p%;(M0h)qSe0rwyOrxEpeByBrnv1siuU8rUuKIily=~n!bf1pC!ysix6n^(e zVY%DnMJm!q{R>5lNH^8X5bTegxA5Ho2dnGi7!dE7=qcYIqzagt=0~F4H=*^WxnHV1 zJYKa#>{>;qCJhMw%25Rja!04Wh^B)r~F!s&UTAhlM}X@}JjH z#r2W!n(cLt+Ycskl;yvAr5T@o#LL-V({#9V_2S@*9i7iu=TT7eh z<_m=|5l*CY1kACe&(^iCThavX94vhsRS6K5A7~Kz)M8%Gg`A}AG)jJiwUAP z!?f1)n)|`bD(FW%mbIv=M~W5Ft{2;*Li4rO(_YVCs3)tdt0zKObUy)AjBaT<3?Hb& z3czJ;7B%q)CW2H7*C+n#cI0zlc46KZL)AAhFcIH+Z+NjYE()NtnzEb~|67p7t)&r2 zQCB>so(`F>fl04Ff!py1_bu+_QIK3H{m|`s9{>b7P)G;cj}X7ltb_5oGbkTeBn4q% z-?N~J{XVRJBq;zKGLwhbu!5c2T()8q0}w39+zlJ=5k+9RkVjZ}tTs#RA``x)4C zdp<3eIEVKqCMGt7dr&WNniY9}zoN$9|G6pc8vNG4VM}5;-o@lb@Gh~>Rcf&!^;5k&-3&^-Qb>!L^=gPi_%imNXhMs(Y=UzX?^n#1 ztLQE#CSbTsH0<}FRM4A?O6>`9s{we$r4W#-60knkRG;NAt#J0p{h>pDl`}j$Z%+N3 z#BNfUyndGrZyGnAfJW0=)9lxqLNJs{CU-n=7ZeP6>@SB&?^hdcWl&62Ab96Ozp?KY zV#B(!D7YD(Hrx$MTIYX4FR^|jA~pHTfZH`KZ&YPDXE5h5bwsDZGCwb{Jv;6L2JL9X zP`-N0U@Z9ujVYCy|E?Q+_FM&_s)BkCDE~At`YJe4_yv!U_xt z83!`5%?GU;Fy|JOmB}$14ZP1ak+b7XFB7p7%xHatG?S9(rEjc|fsmd7cmue>ygA=~ zDynI{gGtqcWxVq1LTd{<7~6kLC4prd=1HmDk&l)Jj+Shc1Cu{&^z>|@JV5VKb3-z;WXyZdFszuU`+l|xUJ4}a^U$(Fs^AmF}c$0 z4op2b1MXby9S-)7OVfIke|g zA4DC!O(E^QVHg2aKHzSzdUts+4q!i;@u%k74#LM3Pvco;GH5AUgB3s4@)<3$R~#t< zZL;3mEoyW111&q*SYzrt&QLQdRYviydDwUhHJT6H$YbBWAvRZRYTZ)v@{qL0jkF`; z6bA7x>h5KGeIs`=KXy0g8RwSvh&6NeU-V-btG*wV|1v35B~8He1u;y(!gKNSdVZd6 zy9w{{e#y#t4tcRsoY`PU$0UQkmE>iG(fqg8pPl%VIz>Cyh?!qQu-yzDOEP}j@_c-C zxR))?h9%dh$*TB5U&G620QhGl6Cwa4fRn6)77KNvX2wD{ zbBxQ?H?L?7Zue|Grnq38r00rn{?@E%(aW+U+CgyTCuL=$&+1dYOb&wKtj(knb|4Y# zFt+xGH&rP}^v(yezPOzA6eUj2N4Ng98{BQ6JELY`cjfYKbw6`zh43SnwJc|kMEP$c zNl1&6c1M64G|)~=#%XH2nPAz9+pyZIVPyr|&01bZ@LgU+r`>1QpbVye@UgIFh=7IU zTlXC9??HK&Xf^I87^jZjUhFvluPdCSljWyJC+E^`XTMUf{AE`uT1TuFQFva_m8P~f zs^NFsbZ>E-8;s?Q7i--rGooQ|8INUnQc^Ms1EgaYSzl$dSh^TxYI4Sx@#*|}_h9tN z=piT0gI?7+oXhzU?k+tje5~Z%*m_5!saZ*mRtwq8#$*Ufj7xERU0IvGw<^-zlz~RH zCZ}lx6Q(80A2-E{12v@Zom|(rjoG=Q+;5_+)l37^n{+*L0pGi;yR+wKW69MMSE=;M z#tz#PiV~J(${SJd*6fRE0MR! zhv|>{SA8m{2A6JwceOp)415l*gRXyJ(!sGmmqft+!S&(y1U&DmV+7~qa%Lt;UZPdm zqUm@pYaLI7A6Uva0H^Si`Zb`tCRBj6Vt#&P{BNi%kz6!^OtX{vcn#t=Ascp4&(eBut*}%O{=8cyjMsw4>!fx?Pm04rZh0 z=RdLc_VZ*}5awh4k~$iAO~Ga}TM!e(51Lp~^yNM3<)r+T=~=r(67DIl+ei5lCa&}G z1)k-r6Z8HJzgux-omNLfO6X)vu?EW`i>Hg@854)MhbhU23+S=>ACp+QNd=n&q!m)L zwh!mkRTD{*wp`=93(3UxD6hG?eLk% z=Ng!;V_oF0fq<*WT@a6C4`cTvnIzp>tt-?DZyGAF7Rc@6$WY|bWs2BM-P^E*G=Y3H zG+gdeZP8JbzR}XDcumi0o-aZDZA=ppH-9R1;bZVFj~L>qdR?Jx(pJIo54+_^cZoXtq8$|0RtDk^$CJv2=-UIb&M7$kQNCXf8W1uoA~C`^#N#|+c5(PGgNAfUzSdO zi|rFTD0);2H$O`qTdCetl$@lVJ*ha{Bh2y0%7e9D+u3kPOiSHR^go<^_kq7h3(MDD z#cX4eF|pYwAeqisF2k~)P&vROHE$j!V|wpP9+mH|HuQ(@6yM(jwyK>`yd=)zIoddX zN7uKAHnEJHIhdwEeVs6xm_e$B}sqv zf!eTh_LW$%CEsjYtypTFXt(dL>X*~F-h{70MZtp4HmOXjgOjI6h>&FKxW`IDyw-k|ihZcoh3>kKvTl~f1?b444*tm*!pC`hr=*9FE${ZV9oVH7Ia6=6G z*mJ&E6F05OOALM;sPQ4TT%s7n>sut7_k#a7Ly!Lj@zT8kHQGA}O(`=o^Lz5Zc;@Km zbuVbCM5)xsNK`qU#JL;XhfZxKhviDwa`@3x303S950#b;(x^4c`&9EmMWXvw{!v9zab zN=n+=1SW4UL1-B+^ct+J;$s2PL-ldq4OUS~VPyUyI^#VbZ=-E|AAYi*wwiWanWKDoO%cefKgp*G}Q z|E^)}3*JuutQgO-t$Xon;L{CGG>X{T*uy#;kcF*)&a^}^dmhUA86~8v`X;nC1X)X#XBfq zws_WJwJz^FBy0j_c8%(n%GA%@cuLs!Z5=$7KqtoUkOQ5V+R&FS_Eq*m{%-OG?eACL zTy_1$%tsp>?tiUZkvnHtt>3wk9**KfrfMX~{#gW7u9xL7YUPkuj!(U$CXU}OM?{67Up3!_MXYs!>tp`|hB@0FS0{Kb` zhhd-jKfV}at)89^J7d3Vu3Mn_0Ogw@$?rGYQqUlw$8`p(`vs;w@VU{j=r`Hsp#`uFn(Rm(2+8 zNDpRT1jlH;YGb`o?zA_?q|m#dI{5E3G;vLhP1V z4u37!of?pm=!RG&H575B@~3eo=jn)k%Hgx_vSUf{c|T@T2hGpR@=&z5JUY&Sa}8N^tlf$& z`K{S6V3+%EjIDqBr2q;vRI2wUH8rZEPO5QjNQtE*KZUOlFwM7%o!E1lJPa~~xD7r~ z_}tEd8sOOE-6d5aCN3@ysyA-WSmMVe5*){_D{{%`CimWW%X_T4`_uk^#$o_$J-#ge zEQ=PxIXfaPIE8jS7T=OBO5mKmq_D-`0_LY7$`7z%@IP)J0+yr0@ZYd}_d#9^dV z*)t-$D=X$rD$;tdMf&nW`K2r{2Q3Pyb{iBqpr#%ze@2a~q#RRtt{Y@ru_MCUXdijl zk5dx(^Y!kOYXs9_LP>1B^QC=Pz|VfimP}Om48D36Wi?qWGk;`)ILoz!GEEIUQfk2~ z-WJWItFOWOs`3-*6`JIYZ00-rMRVf)LQJ`^_1C`*HcL}~a`dOe`2x3r(T1}VB3Zc; z$66wlaA}-k4;3c`rB0hg_B&hNyHk;a8O3Y`S>if`;hWrshK3>89BLYBo{wu1pQ?=G z*|thX$GQoXyN(~LKia?|^^fRFe&d8$Y-OCk{KNft(4(!eq%J-9HrFaekL7;cJerq0 zCpA-&j=Nk*8BcMv#4>daCY&bA)0aytrNA|p;e_WU+e~Ti?clvUvFhBnJ*2%bU>I9e z`D#)uxxhR-Rl=z!F9g+yN>Xg!oDGa&vF%DI5KQy{OQVfl#>s;7DW2QyUuwmNRAT zQ*4O{R>2O6z-uW*98>4|7na3=qk%y-Ff%1Ra&F6y7hjUW_El^I^3QRIq7%SU*y9HP z?AHH69Jzu33|&Gmj`};Oa)0dH#Z`i zLQFuoszao#kJ(!C$uNb*)bhch{Q>-~f|~fTw0k9F3DdQk-#{Riozwn#O(n4dkbf~c zTS*DHPn1fJhcD-z9{Dg_gVCWqzpeOvPjUf)#?Pg(-%==!k=~h|L`u&sT4tXn3YLFf z?5kI-{&INJwv)ijqPJnQ81V&Swv#DyppSu%Kig&?GfZYAn=uu9y3XZx9pM-w{wHx#1=Ix47!qRfBMtx}Nk7b450~zSyl@2ij2p;43`Z@K^?c&rA zsEcn-f72FcNa36*S|-+NkovH)U5sfrZZJA~HkEEvNrmFGD!qV38mU%sn#4%q%6GS@ z%H;LL8eQpEd|O&kA-LHczPFv>PVGXY~#tEs8U&Djc( z9<@HTFq*>d&Dd2$c#AJ}y>bhrJOwhe2^oSb8BONZkHjy~MA{SZKv??*FG1^B$`MDj zz>DHTa5eJIp+&%YZjJiFn(@Ur!pk4G?u?pYh_^vr)=;*Ib-7Y$KPz*&GzV7J+z?}u z%zJ3tLeR`l@~{gLJC4Ew(L~y@|){=HRzqI?Lhdb~TQ5e%x}_b@g`c zo-Mea=9L{roJ`20dsGR;7ZlU&3{O@0^X&uEu05JyOPT|@lSU+U?kn_aIX<-VKWQ+| z_0&C;6w2>2vyH8%tJ;aRg(2p*uffg;Y7Mb5g)`u#agWdz9zo%J_i)q{J=|+eOPaJL zArpDt1~w%021LC+77TlUIgOs;B_MP~a;`5i*zq2o!HJr6CTkYEI+Y!2@9gs?eru{u zRmVbd*O$IT=R95zI>i(@X%gR~b$$}*`spf>P3O;K$;oGKtR zQ{gEg5lm+bzx&!7jZ)@qv6Mh=2jAp*#q`|UZrRhD$sAA`>c6k~dyP+)+n&}SymTH5(3;s~e` zS}X^E4g5;FKvVA5VC&P{YA9yqEpuCC9dn-sGIfh(Mi=)j>h+3?)FcERX8AL- zr=5Mm9(Ld8=4L50MM1YUQz3j~wXbl($P=E{!>_|zxMuqoj|zVEUYgE3KOZK`og9bd zP7_68T5;*%H-IF;BknbWx6JrjXd5rpX0P@)o&O3RTh-VbZ{fvi+GcX@>w3$EuGg~X zcFQ)4bjtew7inJ|&}Fu*JtCllK{wI}(%mJ}B_SOWlG5EjlkRTmF6mb3mTr&~0THA_ zzWsu8XYO~;I5V7o&S6G}cgNZ*pY^Oqb%iS7vKx&nI$@PQu>Ga_tcYmiM__34OP+62 zqBfkXC%3o2pvJ%S4)l_QngAlp9oKNTw7Cvo5*$Tp>SEP{k=W&P|-mI&|Rww#;+ z+2$b{Q;v@qXo0g3q)QOkli98yiboW{0nJ*iE1QX)N=iy;07}P`h`7N^(GU6zV(s~e zxvYh<{<79T(FOi+KbXcI21>fKv}tVWKeDJ7a%wEMjNm{u$l~G+?YoH|(v;YY zbmE>W!;3ZP!iGNXAJyh<9?KFJ34gL@Uapm4)oeAL_gm2Dsqc7_@TEX5DdT-2Yb36^ z75ANAwjex*7Xhll7sDA9|9i1SOS%XmC~cHa*Ma{9(y4WoDwZ=kFLCW2ZMVyeI$*3y z)Gi3z*eNj%tK1k9;JA&3_GuyN>vTToL#kQLj1O4-?Imge9faHxue4=nR zyR!I|?}OGaD;>ti(6p}&6k;L6pswG(jbXu3P?}A<=MyK2nQ-N^P+V7@jp>y}Jrztn zG&n*mk+qA@P1K5MjO)ngLH$^|VHC$P^kZ|YC;gon{4+8p>rUGOjy=hEVN$MHi6<4d zkNQgAywlp4vFhcQBH$SlYTw85S`%G*sxj77W33U9v(dJ4j|P>R84UWJwCUY_WhG}Z zTm^tE@=pPf#WQ3`opq7-*63lgCVcm89~r{jbv8FUb*>+eUVd7Nd5~?>sZn>I`>h2r zg@367pUhLV=Z9YiHk_#_{!&z-KVYM|tpJ!4nwJ1W3>AU3ent+4b3*a;Q4Rp>HkKKk zEHgE5W1y1J;^>%i{6>Y()Io~drjz&RN}^a?$j(z0K%itr@ap5E8Q<)TAbZh#;5{U<=W@rLqt!9!NNh(=d2 z6Nh^y^|AQ{;@j*-Oc(=eVQm?Prp7iw178>xPqW}UG!nh0?7ExDp9$e2HPf26pwY{q zq%n+cnz>d4<;P|g-CS4q3ZzV~+~C%iB;1EzP3_7}KR{zusp}1zzik;JG5G3gpQ&{M zfo(apI4Gdof&qRsL?h**-gZ?GM^BR|mFI)CyE;p6aR?BlN#u0h`g^b1m5SY(Klac| z!^_(_EHYaw?QVMi;%Fx6`$w2Ncu_}8gMxppWJMm3q~K*gc!w1SUENa&i82S}zpD=a}Ws>toMxwXA zmFpoUDSfL#BFs99WBv#?$)s+@e}Q{&k=_MkJfm^F>O+a+v7n0S+5sLm->I0x@eWP8 zq``8YwRRPjq0~st{4RcEJNxxff*Yr`psIPFmJS6R8P|%nZg8^6G_ze|5y4v`IAIJ4 zeCC-75&w?2t+Y#nYXd0`cPR+`hWcsDmFpfqme^zHm&@qs{3zMyB*k!cHPX=Qug~rF z^(Y}B2+|s&|0P`FIeT{5a|rf&y8#ZwMvp%pf=M_zfY4EFXLqc`Kx|PMy%#9}mszBw zq@P`8ws4o(=1P^wch2;)k24{Fv?E_6_!y()NJS1K(VubZBqKW}BMJnXi?0L>HojQ-()B9bRQ0Y)%+t!n3X!FY`7g zTTGxg(qQMVUfmGUd%BmYUl7Zo9O`h4J}t|cIjXHUd`#)OCV{KM!bLN@`E+*Ykf)et zl2+mVf}z=9sA^;{($c`zC)fMn%v{xqoAuAx%slwg#ZEqRBF|cR36PbjhajXnOs2bV zlyOU^DaGhmvRhcp+Ak$AWZuopO88K7vJjUXsn5>5^~?0mBy?QDU??jlgM3=W>F1P- zs`@C>(9lp7gRvI|F^i#3W35KbotLO|OZHET0TWY~*rJYxhM6ca#is-z+fo;dCQ$O; z0V8R6UW;@A{s)*)zL>0L+QK1s=_iL1aRCfDL zBr@eSLNbxTD}%|u^g5%7}IWBN!- zj>g3;Ow^b?LfJ~ zA3YuJsK3XS%jjkQl^ierWuj0zqP$jq>4`(qip;Ctdv=e5g4}*g--#PLu%9o?IeohN zt@CX9jg%%?JWkntd*w9AVS#tMhHtQ6^}`|s`s}ox#*z~sOnxrbEqk^W=+AZF?R^8h z;sUW7Eq2cK1GpRQx<>3+TerXIHYw>D4A7Z(nFsVq>0JEm>lNv^EGgNApW z2cn`}(L&_(O6@6VxY*=#QZTL?iCnrWZT{u1I+^#}=Bx%x!*R@xVd0&z$r;#8gMq`p(%#CjcwK`s<;iQyxUmzFSijSoR? zU@FSB-kmivTsM=Qb#PegFwD}!GQYCu!JW~D^u#6X7F)NNv4*%-z+In22(kK@y zmZfgfA62%;A?itjqXbdm=(k}<;H205;lFW<_I)a$!EkV=Zb60PVi_COhs8IXhB%-N zmO7a0r#o!<3}p)$o(T1H`BD%}M`Y z^De(w{DgL8`{Yj=Rgc}JY96ig7o6Pa5}CjCF`O00EN`W%V~dZy$ciu=Ps5q3*rf_Z zl-dMQ zU)QCvb9E^NN3Pu7cUichJ*0@!W zFIezZXm8pgWuk)pI6Wo^m3H9{o?_D{A(Tl4H+8dO#(FT*)60TOGYT{eO2elv9Gi7_ zx8!nrXz_C94=k2Ntv}taFpaCE6K^rf;>Y-yWooTx*Eh&f&1l(4uR)WR>HOpNX&EwS z!AO8TEAoSK(Qj|x4=Du2NA;J`!$n`GKqX9LXQwW=)2=|F%A_zKDZRmC>sqvI zc;k_O=Zq-T7Y;XCJd>sA#({UzhWD-B1&%uIRV#&V(Zp5g7j+_Yn(91>>pSKye>}1H zvK%4OcG=k1Rq9b7+$g~#N%U*5RuDXKQY{>BD+s)9qslPv+H&ua{yzPj9<5lMlRH_(dne!o_w%+x97ITBQ z1^iV|*Sd(Cl(7e!P~OOY7q0Osdzp2%xmV zthkRELJ}-y();G;=b7$c)dUOSUKedMoy+#sD9I3OyR~Spy+?;5!&AV?kR*to6j`q^ zi4vTh`^0})Mp9ML-M&8X0GAMEvP%@2(ZcPfZOi9^teZbE=b}&ilJS|Hd%u)3QnT4y zjOhw><|3U^rfGCdN32HF+iBKMhDFQrcp31Gas(f14(0Na5H!y|j}@k2?MAp|0TjDRp_%QfOx z*RNa`O=@JUZne`b&3885*!9r(?bEYz^W}Vtr#<^quczYEObuT7O@_P+%Od)fUt8fl zdrn(@XI(4)X_0)gfEh##G+A;!PxLpqH?$yHMa$JTFV`XgEH~N z&Yr&wQ1=bwCKS*L*lMvuHzY_e{rs5fF3XFywx`;))_jR0u#*CfrC5u&CnD5ggKP$$ za#3C~QU!tZOkWXRH`Pw719zDf#!^i}fgIO5Y8{5sK$c05&Steyt+BpeID(zP>3(BX zx7}B@G@8}tSCg#6tk>XsijPRPTBV86tt}nXjU2i;uD}P#N<19tZkf<@P<%PbY4Rzc z`?pkt3Uk{d)PjjQ`hbUNSawuqdLkBjSH>reuM~2+XCepRIBw3>cHUv*s$V4hnrx>A zs`>0(<_%_Y*lvELJPOL6)4lF5MAg6ldi*T;Dn_hxUg_Y;)ZyUtvTVJ!Ryo2Glckw0 z$*bl?o0UV(U&*mtH_3YxYnUr3!y~y3-q=>)e5qQA^XfS<#gBXMA#txQS?yPuolGIo zz?CI=Gk{qf0s!RG@!<-OuMNkR^*aO76)n`oZtyx@rw%uWc!qplKs-_aHaQvBmHcCe z8ltYOsQ9S$4KPsT0VGe)Q|#@vmG0Oy>Llm)KAyy&H60+~%h;nqrAHLvn<;q8hE)ep zKD2l5nwW(bYwm++`3uC^igxM=aPq^|cE*}^Tf|;73;nC3;5%3ZUCA`VcU}hz{uslJ zzDDdUB+tLAe2PhbYSFpd#@ff11~ID*G@x~B!(|fs?+zoQpcv_gzC3c-#=8Q)j*(5r zsPay5|8q~H1t1sV?(9MNTJ8?zxCuPpB2L@CMciAg1LH!}OZ zaxIWPerJ->-01k@B8?W)Va3CmVLQ|tg!c8W)XfjSy&qww;(}|quDmw(4sOHslyTx{ z<%UKv%V>1s$pjU*M=8~mO}yC6TJ;V|q*M!E-GHy-IW;1bhqdLqfdFT6HsRJ2Cg76P z;IQ)aXuvC-HuM?SD<7kGLKNHQ)W)|jLE_G2QzD%(qhQx@Qj1ozPf37>1|m{m&YNw2Dd z(aX-xpw9|hleAM#LdQRL(B2MGZXfF^*yt__JD)bmr-$#qCG-!ess*fMaBEU2m{DgFo_oGOp}OxYIDD3 zLG2s^qYR$KLn4K;{ihqdNve)+z4u&_zWWs^B&AZWUOmb_a~RD#^Zs%4zPx^zyo4Zp z%6%6la)ZnulFiy=qp#WYyNde5!U3l}^V!J3&Hx8fTfS1eHuMBBx#zepF-5(#_d>Lq4mx_p9_ODC8) z@Zq)nTodnvs#=Oy9+g)y1LVgsmi3re@W$cK6u+V=|H1OXqB6f26GvLC$Vthk13 zZDc&HX0)g~Q1Yjxt!)iTZ|pXLF*@1q5?}&K0*+5WkjgV-vYLJ4Z$AFtx3K*{xos$x zb=a)TMA}-@l@#DjXemm~VScPz*eu44|e*0~#TWs|V&sWrPcc!}X3k4PqA8u?d z@;~amqnbqCZZ{?>R-t5QAF-0-OnBd6)j8OE4W29wYcn=x{&WkwC+9e~uuxgWsJu7f z>_JM+()IdAjJn2ascC8EUerU=!TW$TDb-*hB7&uOZzYvHZ;wzZ$82-gZ{KTp#-QW4 z@4F?T<{QTo>v}XZaw#uVC!wvIWiII?y$~nbjUVfXvH@iX0STAq=!+nkan)tm= zr5tZ7hhFviplJr$J(@_*%l!q$PSMb;x5?kY^o(;n zSJPcsObjmhwkbgBpt*#+0LYukN>xx(<-=g;+@6H{DrL&>Owe)b1?n_9|28`*7D}R2*j_G!hC#uZhw*euDvB^&H8B=R1`1OtQh%hG;D#u)rB<>zN^!^T#fMdy{f7z zL8tP^RP{!xr@Yip^KzC3ZFS=#pHNtD0Y*&;} z>SGVI2l`1V=zrng{_)ZO_*2s`Bn=R0p-m!(Lu!zX0tHC)fW+q(z7X zJ*T+R($gsxY{^J3HujAEwxztjpv$&lu`i?PW+~{9F~mc8uQ~^cmqAWRB8Wk^V9ZD{ zYU>-*PP6Q-uSNex4*ugw{C;ce7$!EPSCy!fVz?yR8Xl9g{M?i?f?NXECoWOI)Iit= zgYQPmE-ZB9!$Zd75`b@|(9M)oc`6Q$ku5@rCRCt2sACU21_C~kpR)eCARsQVf@H8y5w-2y`IVQ6Sx2{CUMVk&c1k$9jRm8N_-|WFG&j2LnP{ zEJ&7H&CZ;!1O|r6#Dq#D(#?3Cd4LfS!|LxfFTbMSU<#O!m|`TSNRmER;A2}oPe6JL z!h!aIAM4AV9suM)j!`Im*Kn@$Lt9k3AfRb?36{>%1r-^&ETQ99*JBR&JKU1MuoQMt z9{_g!UHt$3PwVKAv``6{4i#P@XZZPA5^%uOksqWO$efTkpd!JQ!x4X~%%k(-l()Aj95fJRfd&G0LZhx0Ttd9@ z;KYLnnaM%{yptgGnj{w^2oB!7cmcnHkrVw6fG0GqkbYhJ{+m^b$fi7ai3*NC4KQgm zaa~2m!{wy7P^xnw-cAE%Rds+(?yIvZpe5IMATG|EbPXwn6dGnmjt=@{f!&osr}9)y z4S_MgzUKR%4Cp`ncNIuw*&**hfN88r27~9Yv6Uk^eXM)2`V*||oSZEu)zOW8zy&kr;MCV$~88F#`2SiIN1-gsu`EH>ziKmDM6E9PIH>Cpq&kjJ(=dyoEfhm4OQcC#= zaM@^-x+nmu=Zb>)g@xw>*nuQ^xlKN3q{2Y{l45| z7tpAZhdsPtL)WLrK?tl<_cEcmImi#QJRUdz{pUoiDUZLyg9w^PJ{OR6B1g|&4Kk>u zxPsx|5PMKRK=}boMf`_H_kaJMw>i9)ZhMMmrKQY>ZOgW`A)*Y ztmFA6GGz%siY}J?HbV;=m^>FCBrh$^3Sv#B`+A`DBZxXICg!vAO$xmz0C(udzg2oM zT=P;d@BM?62f?KrTOF}8B8WeIIH9>Zp(@NlH9*9?aDOI8i8>=ao$Fk>6hN~WfDE>U zS3~Lvx@UAiTduw!%<+GB`WL3@|D2pq)pba|z$l3TyVZdV|3BPPIY>Ek4cqrmOxL@C zrl+-nl=4xv`<2s<@$WONMGX+?8cF8(sq*sj80oA(YXd;eefq)t95^aZU6vA|q?`qD zoy#xFTN6P;88qP`Q3L8E$2|U@rCGgdAugGG-8$!zCCeZ1b!&ySC*y%0BFYetyVwpL z4NZp+pTv7YU@sVB)kyjh(8w|V=AHjSQIfF1gJDwm3ld!gBI3NjW(vF~KC>)GUGsECekhBj+_=nO}V8ZzYEg2VC<~ zI{fc+O11D$`jY53;nlKqp^AK63#v2e9M-|XLNL^eOwI(_$&5h}^>L68=tTyz6^-OX zlAqYFk1_w@i(PIxYv4fi5-HD#xxl$LiNU~(HWdiC8c2UY>wgyEKvn%mk4q5+>->>omQDGBj*fWu@d?hTW;_^-JbfbRd~eAAKQ z8z_OA0UlJx7nU~NLqp2bU_?9pOfZp%D#T1OMnS=;~2aP_k^SAfA5r48H0Hgq)*D-&_V_%zm+Z{~P3IJuqj5MhJzMHd|<|6sP*QZs6fk_Q$olu2_t?Txannh_q{{~jxOn@sK}rWm0Txt zkB|Gsom=NMRoksV)2F}`pm84tEw_zw2wQ|!9r6MX4$L=I09&KUjSn{@id)k`ftMM zIsGfDI4o7$o%gVS2hC(#TDWNg z!87QNVBzXu)*4_BWy|$}jqc(!9=y~j-##2zeV_7;fdU$ykPoKV;0;!O`tX_{9K|<= z+8WS&;6@LD*@%W(au*)VuchZN|5OhY{EObmB$y187>Mf*8uMPr!F!RE%*@uv(<#7u zAH}F!sFL@nquD$N34_X{J%qHdjMCH%{wpZsCh|CRCe3+@o`UfM>uoyg=nTMCSh18S z=u{Ej+QGP-XhF*J`YZ1|6g(}@!=-mjsW*NKXR+EGK+;YC(*^o%Q*RJ(d0atm(ouc@82B3 zoxxCV9)ndjA!K2K9M*i17y#=6Os)@s>@2~lmaSCvY zV&UKz>s}RgjBEn@qi3tH1y9~Q1Yq%*8yOPpI|dB?qoWOb<$Z$Rsp=3QMiRj8FFiaw zEG9f<(?$ffBS516TW_<7%W@zg-mkeZ|BnaqXHVrTmdTR&7b-b6W*d>9q9hAIEeCGE zn+VEcIKH^i6$4HEfyMV2Q+ivM9*8`Fj;Sy=R|=qvIZ*s8E@y==E}IVH zTXo1g079WNAIcS?l4~!?wQ9a_MVsz`fcCnVqd_tc9N>i+fk>AqDJh55J14C%oxxzH z;UZl@Fn?32)zRzy3#8U%G5zK1Wu}9z?eFQRJloiehuYyU{~E0;A>$)(^qG9YRf_cL z!mAfAep;S-AxFmw%f?g3(f#K)52)unL{5r4ckkW6WfFpt3^xh6=5$j?)|cqDSUgV- zNXkSp-jD!$NR82G@anzV;I;ok%Hd%Wy5U?7Um}X)5ues}F*fpBBl6M z_`2Cd=-FOnsSbJOJIl;y*!EK`Ug~mTLhwLq07oBBg12H_8qDldLjtn|0IpyE$|lBy z%OSOOAOHSm5bafa@xG1Tg0rgIdR6z5R^V_E!zCH+3`{8a41%a~LC}4`E^zh=-5rcD z!`J9$fyc-E42mAlyAriNN2QX=;eX`#8RP%*LH_5rGWY00X>=@tB%WO!@9)4#Z(%sy zv!l`7^|yU~BDWE5__gGKDK=fl7_>#r&7vM)o(gK@*ZyFV>&?y0@NXic*dObc)J5%j z7yK*?{Gpcq#ZUMcCc|TXM_sZBhUi2@+JdqI7ckD-BTyFQ@wAs0kD%?M1b7H?p`ik! zPTN^{d%{hMu-C+{(7&tzJ*Og?P0gEfK=e^J(!6K>3;p#DBPB%mTfQmM#q*g&AR{BQ zup*DZ|Ax)n-qWK3G=)fx<_={u0#t|sX-*H)8R;71av@+2hDommiIYC}Mnd{a1N`@Y zfO~Jwj`TU`cqSM{!k}KjeJv_-eua-I6_k`P9-ZDuf18ZO%(O+b1l#fVxUV}0h{lyH zEG#}dMG$My>dkNRfXAlcC&zU8w?+~G89wXfZoGvUnS=lXLiC^2xkxZSN>pukbhg)X zfnc^Dm}55^`cFk9$Dm9HY%=ul=H-{eB+--w*%Bt^E#FkczVFkCDB=o>2oFhOZX09NXK2HT=TERpCj|tfqi{}dA?`7dXKJ0!t=u~33-ZeM- za?x8GEB(A^YoWRRH}|1QpE|Cql-D$}B;ik>%E>^fQP;_>rliM=dh`3#7%0mxPhoJE zvZfcy(F^sK2cCO^p8mWjp?~X(-{-^Xr8R*ZR~E=am;tAo2V`9X>Cy17tik_SYy2VI z(a|x2K%qE>1QZAEs4+&PG5+t8{hu||-<*!OG=e+rg^bo1gM}=FNc>Lwg^%S7=9;jZ z^pil1bswLq!2p5)N_r4`>^#I!B)x`%5~Fs#w|O&`fmr|dc;PZ~5rFx6O|?h z)l>hQ>^v94+=K`sP=$_!!9S&eN!Gigm;O#DXjwDa`TX(dbkl2gJ8}H#6#@jn7MTJ# z%<@178%Kr6XKOT{fB?3_JSyyN*8eF1UMi~?jSOPWjH}`k7dOgA0W{WNzkU?^d3j_S zu;)QTPsh5W^2JEF;6Tn98Zj9e7KWaHXiB+=AVUWav}cIm`e%~g4coV~w@%c0wvj6D z59Fzd!YoURZoiKzrXaP46V@9;v;QrY$(!qrf7;wN)F5=i7-4HnoFN+mw9{KRQ&@w^ zQTkc?Uml5ZHe_>W+f@EV$$3lU0kzF=O%SphXanF1UP zG;ddd?y7l@O*dU6F;2q_WD`S$9M(LBfAop}Zy7>yaQJxX+>E7U=Zl<12d>ZRh|SF- zU0769)B$*FYif1Q%;<2GXrKX3Xv%T&sSR-QBMsf3KPvPVLyQDW?BxG=e}DRT`dzS9 zzqe%6=d13Qh3)O_SrV@n-+=4s=~;`%%U6H<L#2khz zfvCCW4Jy+A^jQD&+1q!^!KyQot}I|c*8(F%Ff%i=4R}=l2F%$dNIn|M%Eb{{dVmwd z@l>NbiJ!Oh2_gsF%iI0!DYtX=(f|2P{^^qzaw$rIs1p+t98T^XNks((^y6cQROe@w zgIrcwnH8rozO)Nol%VHso^GV}3_62644}-~Dkd#8lRCO;=-}B{?)saCQT#I@`qQU@ z#HHxN^9;A^0q|o7R>HhU!eR)8=*7A1NX&t*^FT0JJVTtBP$q>HE-)}KalA(WzJ@+z zepktFGoNT^=_I3Yj!4hZFMg6LM|vEbsXVz#n-42)Q76TeiWos=>)wpFSS}AFO_rTlGMAF39HFe5E9qlwO(H#ENt}q(kW7g} zGKJog?>^WmV5epM4q-{tySqzl4kRNP;JmKO7BWDvjV*a64_+NWg=!Hu(GYpxZ z=AE3F=p5Jndj6*=Byjkrm@n7?vFE#k@jlN-F>|Tt2XBQ849HR75HQp#Ew$h2J8@b= zcUsV5^S^%MKYqPdICm$-5NQ~iU3d#NFD`Zq+Nz(RNn`-@RSx$b*3ZTy@dondH)+hp3yIv|CK*(+D zk7pE!v)mnv0ocVoP5_r{z*1MVmCc!A7jG!C?_MMBU-37$uVT6lov zB)jQLgt8eBPAUGYt&m*(>jPAd7AoqEh@VenQPT1m#FIY$`Mj)<3~yWkMB9xAqh6<@ z&R?rn=Hq8io}d!*9TX6uyOmjgdJnpy#q`xBvlQVu*!Hp`T!%uVg#1S3X>^P;+09Ey zFSDA6BA|Gez_90wyENEEwfG1}b-AhiZ>MEo_EfN4@b zL`reLlwk`+09uo!>eKms{05^(3BYHkwFIOtfQzG{c!@}Q=L_IeBmgiV`j4Mq71+Zv zGc%tJd{00$^s zqc8-|O}ANT7Dma)MrgZ-IB%X&Ab|9Cw3ZH_ZIEN2Mnb!ku~{SsVki)l`tzz0ZXYaC z3*trVxSC!e+oxN+!8vvN-lP1_>bJ!)#$GgmEIP6INd9>9y(F@JRv>Gx%PS_AIqlzI zg-An=Pxdi4BgTQHiyhjye<83D)lJb2I~g(jZjL8=m5s8QVZ(WTc3~Zo zWSZD9JPu}rcHPXHQ>LIQv(;neY3F~8dDH^VKZe)Ik`PQ?e@QHLLW|MfTQF3CS;VTu z8g}bnzXs?|v=D$TOaaXR9mAso17TWn=ofAe{5H;Ku&(ph3Aq2j38{si{WcvCvy>hx z%(*3HJ$B_9;q7Q$&%;OJz012x(YiBVJYP<|DJgkK{#*o3)pR}oinN&~(5^Xn9j`AV zFA9Zl^*rIu9v&XXj`zL@;NxLNPU>B#_H;Od)&O5d_fII4J)aVv_rD=%;?0_HhT!x5L8S*XeZq{rw8tJNN_y(n-(ZY2}5;pLfP9VO>ge6|sL> z7fF}YC9!kq>D1PXe_G+|b(G~Ll^X#18cB29DF*FenD}_z$%2AF&|Gx_uETSn1Ld95 z(BPSd%1?0_)pR?X0#^Feuzz9#AEa;d(yJ9vE)J|13l{9Tlg4Z@R$Q>IQWuRwuYrkz zO?Mag4YXB4$bqOM`RW+K0!JqA%-Mw;kn(lvd8(hSefbjBB`NYhmf>IhaCqH5H&ht3 z3qg%nhXFAL5ty5_aRx3T=VuCIfE+3N!x&qh6wt4*_34%uS5AZ#AX`Y^4wdPHr;>@e zJ#IX!Xax*#hTOXYEUJ+C@^CRkEXOdKONnK1s8E)wX+~8$MN6%prQsUs`MKP!5pr{L z``AXe=Y8j}UEGg<5xeae(C*c@jMl5^z>OQvfL^9(zExmc!&XROo#+xJp~674jY#ue zUFLBJ&B?;#I9ViYLM8qDZDt~Nf9e(?ka*98Ps4UK{v1e##tt4E$@xCAMPO;c0z5gnn_vX(g)}Id7#7qLyJ8{kPJeuY8!=dhGG*2Tz|q zWqB!h^6f*%B3Wn>N_u}gNnR?Tn_p@15t{3RqtW371)|tHmoqNNSfA~|esN+U93B=A zedo_;6$6S^XJAH-%4a`L4FK{=ifWD9ZkZz7U(}VMcp-?l6>#jj5@)|g11ic5_uVJ> z8K5gBXj-1QSoymAjDvof%71zh{TPre;&NH*$+yz9m(Vb@(n!2{b{-nS|4%V+uk!%KtBsFNTgfWBJY1PG#CiPK-B0Z+j7VliqB?uVMQ6x(-O%)3QR(uFVK z<=wvPcD^7!XKUM*%qm=JZi)-v0fvkPS%VNl0vLY& H^uwnIT>Hy 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 VfPxoGzd`@Kdm|%SB%=4>e*pKrM&|$k literal 5227 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 Date: Wed, 24 Jan 2024 14:44:57 -0500 Subject: [PATCH 47/57] ci: update release actions from renee --- .github/workflows/draft-release.yml | 17 ++++++++++++++--- .github/workflows/post-release.yml | 5 +++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml index 2f02bdb6..899f0be6 100644 --- a/.github/workflows/draft-release.yml +++ b/.github/workflows/draft-release.yml @@ -4,7 +4,10 @@ on: workflow_dispatch: inputs: version_tag: - description: Semantic version tag for next release. If not provided, it will be determined based on conventional commit history. + description: | + Semantic version tag for next release. + If not provided, it will be determined based on conventional commit history. + Example: v2.5.11 required: false type: string default: "" @@ -61,7 +64,10 @@ jobs: semver_pattern = 'v(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)(?:-(?P(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?' next_semver = re.match(semver_pattern, next_version) if not next_semver: - raise ValueError(f"Tag {next_version} does not match semantic versioning guidelines") + extra_msg = '' + if not next_version.startswith('v'): + extra_msg = "The tag does not start with 'v'." + raise ValueError(f"Tag {next_version} does not match semantic versioning guidelines. {extra_msg}\nView the guidelines here: https://semver.org/") # assert next version is only 1 greater than current current_semver = re.match(semver_pattern, current_version) @@ -109,7 +115,12 @@ jobs: citation._implementation.cffobj['version'] = "${{ env.NEXT_VERSION }}" citation._implementation.cffobj['date-released'] = "${{ env.DATE }}" with open('CITATION.cff', 'w') as outfile: - outfile.write(yaml.dump(citation._implementation.cffobj, sort_keys=False)) + outfile.write(yaml.dump(citation._implementation.cffobj, sort_keys=False, indent=2)) + + - uses: pre-commit/action@v3.0.0 + with: + extra_args: --files CITATION.cff CHANGELOG.md VERSION + continue-on-error: true - name: Commit & push to branch run: | diff --git a/.github/workflows/post-release.yml b/.github/workflows/post-release.yml index 6acdc961..a642f1d6 100644 --- a/.github/workflows/post-release.yml +++ b/.github/workflows/post-release.yml @@ -36,6 +36,11 @@ jobs: with open('VERSION', 'w') as outfile: outfile.write(f"{version}-dev\n") + - uses: pre-commit/action@v3.0.0 + with: + extra_args: --files CITATION.cff CHANGELOG.md VERSION + continue-on-error: true + - name: Open pull request run: | git add CHANGELOG.md VERSION From dec9fbf4b8a4e4877a9870f69a76d5e4c1a69b24 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 25 Jan 2024 12:10:21 -0500 Subject: [PATCH 48/57] docs: switch example version to actual existing tag --- docs/nextflow.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/nextflow.md b/docs/nextflow.md index fef9e173..375c1907 100644 --- a/docs/nextflow.md +++ b/docs/nextflow.md @@ -12,7 +12,7 @@ nextflow run CCBR/CHAMPAGNE -profile test,singularity You can specify a specific version, tag, or branch with `-r`: ```sh -nextflow run CCBR/CHAMPAGNE -r v1.0.0 -profile test,singularity +nextflow run CCBR/CHAMPAGNE -r v0.3.0 -profile test,singularity ``` Create and use a custom reference genome: From 5ae6934f9d034e618a44668a537b8e02eb7e6446 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 25 Jan 2024 12:13:18 -0500 Subject: [PATCH 49/57] fix: switch workDir to projectDir everywhere --- conf/biowulf.config | 2 +- conf/frce.config | 2 +- conf/full_mm10.config | 4 ++-- conf/genomes.config | 4 ++-- conf/test.config | 6 +++--- conf/test_mm10.config | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/conf/biowulf.config b/conf/biowulf.config index c991f05d..4ce63599 100644 --- a/conf/biowulf.config +++ b/conf/biowulf.config @@ -12,7 +12,7 @@ params { // CCBR shared resource paths index_dir = '/data/CCBR_Pipeliner/db/PipeDB/Indices' fastq_screen { - conf = "${workDir}/assets/fastq_screen_biowulf.conf" + conf = "${projectDir}/assets/fastq_screen_biowulf.conf" db_dir = '/data/CCBR_Pipeliner/db/PipeDB/lib/fastq_screen_db/' } } diff --git a/conf/frce.config b/conf/frce.config index 0b857f77..a6510294 100644 --- a/conf/frce.config +++ b/conf/frce.config @@ -7,7 +7,7 @@ params { // CCBR shared resource paths index_dir = null // TODO fastq_screen { - conf = "${workDir}/assets/fastq_screen_frce.conf" // TODO + conf = "${projectDir}/assets/fastq_screen_frce.conf" // TODO db_dir = null // TODO } } diff --git a/conf/full_mm10.config b/conf/full_mm10.config index 4c515bec..5d5c7de9 100644 --- a/conf/full_mm10.config +++ b/conf/full_mm10.config @@ -4,8 +4,8 @@ params { genome = 'mm10' outdir = "results/full_mm10" - input = "${workDir}/assets/samplesheet_full_mm10.csv" - contrasts = "${workDir}/assets/contrasts_full_mm10.yml" + input = "${projectDir}/assets/samplesheet_full_mm10.csv" + contrasts = "${projectDir}/assets/contrasts_full_mm10.yml" sicer { species = "mm10" // supported species https://github.com/zanglab/SICER2/blob/master/sicer/lib/GenomeData.py } diff --git a/conf/genomes.config b/conf/genomes.config index 209af77f..7b86fdee 100644 --- a/conf/genomes.config +++ b/conf/genomes.config @@ -9,7 +9,7 @@ params { chrom_sizes = "${params.index_dir}/hg38_basic/indexes/hg38.fa.sizes" gene_info = "${params.index_dir}/hg38_basic/geneinfo.bed" effective_genome_size = 2700000000 - meme_motifs = "${workDir}/assets/HOCOMOCOv11_core_HUMAN_mono_meme_format.tar.gz" // source https://github.com/CCBR/ASPEN/raw/55f909d76500c3502c1c397ef3000908649b0284/resources/motif/HOCOMOCOv11_core_HUMAN_mono_meme_format.tar.gz + meme_motifs = "${projectDir}/assets/HOCOMOCOv11_core_HUMAN_mono_meme_format.tar.gz" // source https://github.com/CCBR/ASPEN/raw/55f909d76500c3502c1c397ef3000908649b0284/resources/motif/HOCOMOCOv11_core_HUMAN_mono_meme_format.tar.gz bioc_txdb = 'TxDb.Hsapiens.UCSC.hg38.knownGene' bioc_annot = 'org.Hs.eg.db' } @@ -22,7 +22,7 @@ params { chrom_sizes = "${params.index_dir}/mm10_basic/indexes/mm10.fa.sizes" gene_info = "${params.index_dir}/mm10_basic/geneinfo.bed" effective_genome_size = 2400000000 - meme_motifs = "${workDir}/assets/HOCOMOCOv11_core_MOUSE_mono_meme_format.tar.gz" // source https://github.com/CCBR/ASPEN/raw/55f909d76500c3502c1c397ef3000908649b0284/resources/motif/HOCOMOCOv11_core_MOUSE_mono_meme_format.tar.gz + meme_motifs = "${projectDir}/assets/HOCOMOCOv11_core_MOUSE_mono_meme_format.tar.gz" // source https://github.com/CCBR/ASPEN/raw/55f909d76500c3502c1c397ef3000908649b0284/resources/motif/HOCOMOCOv11_core_MOUSE_mono_meme_format.tar.gz bioc_txdb = 'TxDb.Mmusculus.UCSC.mm10.knownGene' bioc_annot = 'org.Mmu.eg.db' } diff --git a/conf/test.config b/conf/test.config index 60b0120e..4e0a8f35 100644 --- a/conf/test.config +++ b/conf/test.config @@ -3,8 +3,8 @@ params { config_profile_description = 'Minimal test dataset to check paired & single end handling' outdir = 'results/test' - input = "${workDir}/assets/samplesheet_test.csv" // adapted from 'https://raw.githubusercontent.com/nf-core/test-datasets/chipseq/samplesheet/v2.0/samplesheet_test.csv' - //contrasts = "${workDir}/assets/contrasts_test.yml" // diffbind DESeq2 fails on this test data + input = "${projectDir}/assets/samplesheet_test.csv" // adapted from 'https://raw.githubusercontent.com/nf-core/test-datasets/chipseq/samplesheet/v2.0/samplesheet_test.csv' + //contrasts = "${projectDir}/assets/contrasts_test.yml" // diffbind DESeq2 fails on this test data genome = 'sacCer3' read_length = 50 @@ -13,7 +13,7 @@ params { genome_fasta = 'https://raw.githubusercontent.com/nf-core/test-datasets/atacseq/reference/genome.fa' genes_gtf = 'https://raw.githubusercontent.com/nf-core/test-datasets/atacseq/reference/genes.gtf' blacklist = '/data/CCBR_Pipeliner/db/PipeDB/Indices/hg38_basic/indexes/hg38.blacklist_v3.chrM.chr_rDNA.fa' - rename_contigs = "${workDir}/assets/R64-1-1_ensembl2UCSC.txt" + rename_contigs = "${projectDir}/assets/R64-1-1_ensembl2UCSC.txt" meme_motifs = null bioc_txdb = 'TxDb.Scerevisiae.UCSC.sacCer3.sgdGene' bioc_annot = 'org.Sc.sgd.db' diff --git a/conf/test_mm10.config b/conf/test_mm10.config index 2d3dd3c0..19f66705 100644 --- a/conf/test_mm10.config +++ b/conf/test_mm10.config @@ -4,8 +4,8 @@ params { genome = 'mm10' outdir = "results/test_mm10" - input = "${workDir}/assets/samplesheet_test_mm10.csv" - contrasts = "${workDir}/assets/contrasts_test_mm10.yml" + input = "${projectDir}/assets/samplesheet_test_mm10.csv" + contrasts = "${projectDir}/assets/contrasts_test_mm10.yml" read_length = 50 sicer.species = "mm10" // supported species https://github.com/zanglab/SICER2/blob/master/sicer/lib/GenomeData.py From af4720c10d9bd4258441363674afea5622536fa4 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 25 Jan 2024 12:14:49 -0500 Subject: [PATCH 50/57] fix: switch workDir to projectDir in nextflow.config --- nextflow.config | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nextflow.config b/nextflow.config index d33b6038..4007ca57 100644 --- a/nextflow.config +++ b/nextflow.config @@ -40,14 +40,14 @@ params { } multiqc { - config = "${workDir}/assets/multiqc_config.yaml" - logo = "${workDir}/assets/ccbr_logo.png" + config = "${projectDir}/assets/multiqc_config.yaml" + logo = "${projectDir}/assets/ccbr_logo.png" } min_fragment_length = 200 // https://github.com/CCBR/Pipeliner/blob/86c6ccaa3d58381a0ffd696bbf9c047e4f991f9e/Rules/InitialChIPseqQC.snakefile#L539 gem { - read_dists = "${workDir}/assets/gem/Read_Distribution_default.txt" // source https://groups.csail.mit.edu/cgs/gem/download/Read_Distribution_default.txt + read_dists = "${projectDir}/assets/gem/Read_Distribution_default.txt" // source https://groups.csail.mit.edu/cgs/gem/download/Read_Distribution_default.txt fold = 3 k_min = 6 k_max = 13 @@ -67,11 +67,11 @@ params { } homer { de_novo = true - jaspar_db = "${workDir}/assets/JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt" // source https://jaspar.genereg.net/download/data/2022/CORE/JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt + jaspar_db = "${projectDir}/assets/JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt" // source https://jaspar.genereg.net/download/data/2022/CORE/JASPAR2022_CORE_vertebrates_non-redundant_pfms_jaspar.txt } diffbind { - report = "${workDir}/assets/diffbind_report.Rmd" + report = "${projectDir}/assets/diffbind_report.Rmd" } run { // some steps can be turned on/off for debugging purposes From dbb2211f0292b9489ad8b39ae84116998cf0a42a Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 25 Jan 2024 12:19:15 -0500 Subject: [PATCH 51/57] docs: add biowulf-specific instructions for using nextflow run with github repo --- docs/nextflow.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/nextflow.md b/docs/nextflow.md index fef9e173..e827fb35 100644 --- a/docs/nextflow.md +++ b/docs/nextflow.md @@ -9,10 +9,10 @@ as the config files will be accessed directly from the GitHub repo. nextflow run CCBR/CHAMPAGNE -profile test,singularity ``` -You can specify a specific version, tag, or branch with `-r`: +You can specify a specific version, tag, or branch on [GitHub](https://github.com/CCBR/CHAMPAGNE) with `-r`: ```sh -nextflow run CCBR/CHAMPAGNE -r v1.0.0 -profile test,singularity +nextflow run CCBR/CHAMPAGNE -r v0.3.0 -profile test,singularity ``` Create and use a custom reference genome: @@ -21,3 +21,15 @@ Create and use a custom reference genome: nextflow run CCBR/CHAMPAGNE -profile test -entry MAKE_REFERENCE nextflow run CCBR/CHAMPAGNE -profile test -c results/test/genome/custom_genome.config ``` + +## biowulf + +If you're running it on biowulf without the `champagne` CLI, +first load the ccbrpipeliner and nextflow modules, +and be sure to specify the `biowulf` and `slurm` profiles: + +```sh +module load ccbrpipeliner +module load nextflow +nextflow run CCBR/CHAMPAGNE -profile test,biowulf,slurm +``` From 7a95db16a5aba5ac0fb74a865b26c38e74da1cd7 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 25 Jan 2024 12:25:28 -0500 Subject: [PATCH 52/57] chore: update changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dfcd61bb..27446d72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ ## CHAMPAGNE development version +- Fix configuration files for compatibility with using the GitHub repo as the source. (#173, @kelly-sovacool) + These equivalent commands now work: + ```sh + nextflow run CCBR/CHAMPAGNE + champagne run --main CCBR/CHAMPAGNE + ``` + ## CHAMPAGNE 0.3.0 ### New features From 442fbae91e41e580741888724fd3534bd91f624c Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 25 Jan 2024 12:33:11 -0500 Subject: [PATCH 53/57] style: minor CHANGELOG.md reformat --- CHANGELOG.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27446d72..cc443bb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,11 @@ ## CHAMPAGNE development version - Fix configuration files for compatibility with using the GitHub repo as the source. (#173, @kelly-sovacool) - These equivalent commands now work: - ```sh - nextflow run CCBR/CHAMPAGNE - champagne run --main CCBR/CHAMPAGNE - ``` + - These equivalent commands now work: + ```sh + nextflow run CCBR/CHAMPAGNE + champagne run --main CCBR/CHAMPAGNE + ``` ## CHAMPAGNE 0.3.0 From 0db5ea20cb0bd962d0ca150105877a1b66cb57f5 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Thu, 25 Jan 2024 19:33:56 -0500 Subject: [PATCH 54/57] ci: set PR reviewer as triggering actor should be the person who published the release (I hope) --- .github/workflows/post-release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/post-release.yml b/.github/workflows/post-release.yml index a642f1d6..e3e8bd09 100644 --- a/.github/workflows/post-release.yml +++ b/.github/workflows/post-release.yml @@ -48,7 +48,8 @@ jobs: git push --set-upstream origin ${{ env.BRANCH }} gh pr create \ - --fill-first + --fill-first \ + --reviewer ${{ github.triggering_actor }} - name: Clean up release-draft branch run: | From 82bee0a9122caf45b7140f12987ef5d038160bb7 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 20 Feb 2024 14:29:14 -0500 Subject: [PATCH 55/57] chore: remove dcssim & dcssub datasets no longer using for benchmarking in favor of encode datasets --- assets/contrasts_test_dcssim.yml | 5 ----- assets/contrasts_test_dcssub.yml | 5 ----- assets/samplesheet_test_dcssim.csv | 7 ------- assets/samplesheet_test_dcssub.csv | 7 ------- conf/test_dcssim.config | 14 -------------- conf/test_dcssub.config | 14 -------------- nextflow.config | 6 ------ 7 files changed, 58 deletions(-) delete mode 100644 assets/contrasts_test_dcssim.yml delete mode 100644 assets/contrasts_test_dcssub.yml delete mode 100644 assets/samplesheet_test_dcssim.csv delete mode 100644 assets/samplesheet_test_dcssub.csv delete mode 100644 conf/test_dcssim.config delete mode 100644 conf/test_dcssub.config diff --git a/assets/contrasts_test_dcssim.yml b/assets/contrasts_test_dcssim.yml deleted file mode 100644 index cc4042b7..00000000 --- a/assets/contrasts_test_dcssim.yml +++ /dev/null @@ -1,5 +0,0 @@ -condition: - control: - - sample1 - treatment: - - sample2 diff --git a/assets/contrasts_test_dcssub.yml b/assets/contrasts_test_dcssub.yml deleted file mode 100644 index cc4042b7..00000000 --- a/assets/contrasts_test_dcssub.yml +++ /dev/null @@ -1,5 +0,0 @@ -condition: - control: - - sample1 - treatment: - - sample2 diff --git a/assets/samplesheet_test_dcssim.csv b/assets/samplesheet_test_dcssim.csv deleted file mode 100644 index 30e3ff60..00000000 --- a/assets/samplesheet_test_dcssim.csv +++ /dev/null @@ -1,7 +0,0 @@ -sample,rep,fastq_1,fastq_2,antibody,control -sample1_INPUT,,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsim/set1_1/mm10_chr19_sharp_50u50d_sample1-INPUT.fq.gz,,, -sample1,1,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsim/set1_1/mm10_chr19_sharp_50u50d_sample1-rep1.fq.gz,,TF,sample1_INPUT -sample1,2,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsim/set1_1/mm10_chr19_sharp_50u50d_sample1-rep2.fq.gz,,TF,sample1_INPUT -sample2_INPUT,,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsim/set1_1/mm10_chr19_sharp_50u50d_sample2-INPUT.fq.gz,,, -sample2,1,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsim/set1_1/mm10_chr19_sharp_50u50d_sample2-rep1.fq.gz,,TF,sample2_INPUT -sample2,2,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsim/set1_1/mm10_chr19_sharp_50u50d_sample2-rep2.fq.gz,,TF,sample2_INPUT diff --git a/assets/samplesheet_test_dcssub.csv b/assets/samplesheet_test_dcssub.csv deleted file mode 100644 index 04c792cf..00000000 --- a/assets/samplesheet_test_dcssub.csv +++ /dev/null @@ -1,7 +0,0 @@ -sample,rep,fastq_1,fastq_2,antibody,control -sample1,1,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsub/results/bam2fastq/mm10_chr19_C18_50u50d_sample1-rep1_R1.fastq.gz,,cebpa,sample1_INPUT -sample1,2,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsub/results/bam2fastq/mm10_chr19_C18_50u50d_sample1-rep2_R1.fastq.gz,,cebpa,sample1_INPUT -sample2,1,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsub/results/bam2fastq/mm10_chr19_C18_50u50d_sample2-rep1_R1.fastq.gz,,cebpa,sample2_INPUT -sample2,2,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsub/results/bam2fastq/mm10_chr19_C18_50u50d_sample2-rep2_R1.fastq.gz,,cebpa,sample2_INPUT -sample1_INPUT,,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsub/results/bam2fastq/mm10_chr19_C18_50u50d_sample1-INPUT_R1.fastq.gz,,, -sample2_INPUT,,/data/CCBR_Pipeliner/testdata/CHAMPAGNE/DCSsub/results/bam2fastq/mm10_chr19_C18_50u50d_sample2-INPUT_R1.fastq.gz,,, diff --git a/conf/test_dcssim.config b/conf/test_dcssim.config deleted file mode 100644 index 600cc1a3..00000000 --- a/conf/test_dcssim.config +++ /dev/null @@ -1,14 +0,0 @@ -params { - config_profile_name = 'Test DCS simulated dataset' - config_profile_description = 'https://zenodo.org/records/5005654' - - genome = 'mm10' - outdir = "results/dcssim" - input = "assets/samplesheet_test_dcssim.csv" - contrasts = 'assets/contrasts_test_dcssim.yml' - read_length = 50 - sicer.species = "mm10" // supported species https://github.com/zanglab/SICER2/blob/master/sicer/lib/GenomeData.py - - run.gem = false - -} diff --git a/conf/test_dcssub.config b/conf/test_dcssub.config deleted file mode 100644 index 7b834d23..00000000 --- a/conf/test_dcssub.config +++ /dev/null @@ -1,14 +0,0 @@ -params { - config_profile_name = 'Test DCS subsampled dataset' - config_profile_description = 'https://zenodo.org/records/5005654' - - genome = 'mm10' - outdir = "results/dcssub" - input = "assets/samplesheet_test_dcssub.csv" - contrasts = 'assets/contrasts_test_dcssub.yml' - read_length = 50 - sicer.species = "mm10" // supported species https://github.com/zanglab/SICER2/blob/master/sicer/lib/GenomeData.py - - run.gem = false - -} diff --git a/nextflow.config b/nextflow.config index ac682db8..887a906e 100644 --- a/nextflow.config +++ b/nextflow.config @@ -126,12 +126,6 @@ profiles { full_mm10 { includeConfig "conf/full_mm10.config" } - test_dcssim { - includeConfig "conf/test_dcssim.config" - } - test_dcssub { - includeConfig "conf/test_dcssub.config" - } test_human { includeConfig 'conf/test_human.config' } From ba23393a1bbddd1d3cec49fb7311377e7fdc84f7 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 20 Feb 2024 14:31:01 -0500 Subject: [PATCH 56/57] refactor: set param for sra metadata csv --- main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.nf b/main.nf index ede41f4c..0dcc2ebd 100644 --- a/main.nf +++ b/main.nf @@ -46,7 +46,7 @@ workflow.onComplete { } workflow DOWNLOAD_SRA { - ch_sra = Channel.from(file('assets/test_human_metadata.csv')) + ch_sra = Channel.from(file(params.sra_csv)) // assets/test_human_metadata.csv .splitCsv ( header:true, sep:',' ) .map{ it -> [ it + [id: it.sra], it.sra ]} .view() From f0620995046b37a00650e872f7be5dd6dea6a16a Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 20 Feb 2024 14:40:00 -0500 Subject: [PATCH 57/57] docs: update changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc443bb6..6aaad7c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ nextflow run CCBR/CHAMPAGNE champagne run --main CCBR/CHAMPAGNE ``` +- Allow multiple samples to use the same input. (#176, @kelly-sovacool) +- Allow additional columns in the sample sheet beyond the minimum required header. (#176, @kelly-sovacool) +- Change the peak widths histogram type from overlay to stack. (#176, @kelly-sovacool) +- Add a workflow entry point to download fastq files from SRA. (#176, @kelly-sovacool) +- Add `test_human` profile with chipseq data from ENCODE. (#176, @kelly-sovacool) ## CHAMPAGNE 0.3.0