From 0db0e82472521ef4b0e26ba6650ef97b58ed2189 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Thu, 23 Apr 2026 18:16:08 +0200 Subject: [PATCH 01/31] init gitignore --- .gitignore | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8b540d3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,50 @@ +data_local/ + +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +*.egg +*.egg-info/ +.eggs/ +dist/ +build/ +*.manifest +*.spec +pip-wheel-metadata/ +share/python-wheels/ +wheels/ + +.venv/ +venv/ +ENV/ +env/ +.env.venv + +.env +.env.local +.env.*.local +*.env + +.pytest_cache/ +.coverage +.coverage.* +htmlcov/ +.tox/ +.nox/ +coverage.xml +*.cover +.hypothesis/ +.mypy_cache/ +.ruff_cache/ +.dmypy.json +dmypy.json + +.ipynb_checkpoints/ + +.idea/ +.vscode/ +.DS_Store +Thumbs.db +*.log From 60a9d1b4d827dacc36ef3cbff72ed01f982e3d79 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Thu, 23 Apr 2026 18:26:08 +0200 Subject: [PATCH 02/31] update gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8b540d3..37f7214 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ data_local/ +!data_local/README.md __pycache__/ *.py[cod] From 6e4b6313ab7b567db1d71a994b1d91dee2a0667c Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Thu, 23 Apr 2026 22:55:43 +0200 Subject: [PATCH 03/31] chore: svforge metadata and packaging --- pyproject.toml | 144 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..c99fa34 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,144 @@ +[build-system] +requires = ["hatchling>=1.24"] +build-backend = "hatchling.build" + +[project] +name = "svforge" +version = "1.0.0" +description = "Synthetic VCF generator for structural variants (Manta, DELLY) with controlled variability and realistic artefact injection" +readme = "README.md" +requires-python = ">=3.10" +license = { file = "LICENSE" } +authors = [ + { name = "Pierre NATIEZ" }, +] +keywords = [ + "bioinformatics", + "structural-variants", + "vcf", + "manta", + "delly", + "synthetic-data", + "testing", +] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: MIT License", + "Operating System :: POSIX :: Linux", + "Operating System :: MacOS", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Scientific/Engineering :: Bio-Informatics", +] +dependencies = [ + "pysam>=0.22", + "intervaltree>=3.1", + "PyYAML>=6.0", +] + +[project.optional-dependencies] +dev = [ + "ruff>=0.5", + "mypy>=1.10", + "types-PyYAML", +] +test = [ + "pytest>=8.0", + "pytest-cov>=5.0", +] + +[project.scripts] +svforge = "svforge.cli:main" + +[project.entry-points."svforge.writers"] +manta = "svforge.writers.manta:MantaWriter" +delly = "svforge.writers.delly:DellyWriter" + +[project.urls] +Homepage = "https://github.com/pieetie/svforge" +Repository = "https://github.com/pieetie/svforge" +Issues = "https://github.com/pieetie/svforge/issues" +Changelog = "https://github.com/pieetie/svforge/blob/main/CHANGELOG.md" + +[tool.hatch.build.targets.wheel] +packages = ["src/svforge"] + +[tool.hatch.build.targets.wheel.force-include] +"src/svforge/data/banks/default_hg38.yaml" = "svforge/data/banks/default_hg38.yaml" +"src/svforge/data/headers/manta_somatic_hg38.vcf.template" = "svforge/data/headers/manta_somatic_hg38.vcf.template" +"src/svforge/data/headers/delly_somatic_hg38.vcf.template" = "svforge/data/headers/delly_somatic_hg38.vcf.template" + +[tool.hatch.build.targets.sdist] +include = [ + "/src", + "/tests", + "/README.md", + "/CHANGELOG.md", + "/CONTRIBUTING.md", + "/LICENSE", + "/pyproject.toml", +] + +[tool.ruff] +line-length = 100 +target-version = "py310" +src = ["src", "tests"] + +[tool.ruff.lint] +select = [ + "E", # pycodestyle errors + "W", # pycodestyle warnings + "F", # pyflakes + "I", # isort + "B", # bugbear + "UP", # pyupgrade + "SIM", # simplify + "PL", # pylint subset + "RUF", # ruff-specific + "C4", # comprehensions + "PTH", # pathlib + "TID", # tidy imports +] +ignore = [ + "E501", # line length handled by formatter + "PLR0913", # too many arguments (CLI code needs this) + "PLR2004", # magic values (tolerated in tests and VCF spec constants) +] + +[tool.ruff.lint.per-file-ignores] +"tests/**/*.py" = ["PLR2004", "S101"] + +[tool.ruff.format] +quote-style = "double" +indent-style = "space" + +[tool.mypy] +python_version = "3.10" +strict = true +warn_unused_configs = true +warn_unreachable = true +disallow_untyped_defs = true +disallow_incomplete_defs = true +check_untyped_defs = true +no_implicit_optional = true +show_error_codes = true + +[[tool.mypy.overrides]] +module = [ + "pysam", + "pysam.*", + "intervaltree", +] +ignore_missing_imports = true + +[tool.pytest.ini_options] +minversion = "8.0" +testpaths = ["tests"] +addopts = [ + "-ra", + "--strict-markers", + "--strict-config", +] From 567b1fc16e0b22145a85a585bf1dd6414644cbc8 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Thu, 23 Apr 2026 22:57:50 +0200 Subject: [PATCH 04/31] feat: import core SV sampling engine --- src/svforge/core/__init__.py | 5 + src/svforge/core/bank.py | 152 +++++++++ src/svforge/core/genome.py | 101 ++++++ src/svforge/core/models.py | 131 ++++++++ src/svforge/core/provenance.py | 105 +++++++ src/svforge/core/regions.py | 119 +++++++ src/svforge/core/sampler.py | 550 +++++++++++++++++++++++++++++++++ 7 files changed, 1163 insertions(+) create mode 100644 src/svforge/core/__init__.py create mode 100644 src/svforge/core/bank.py create mode 100644 src/svforge/core/genome.py create mode 100644 src/svforge/core/models.py create mode 100644 src/svforge/core/provenance.py create mode 100644 src/svforge/core/regions.py create mode 100644 src/svforge/core/sampler.py diff --git a/src/svforge/core/__init__.py b/src/svforge/core/__init__.py new file mode 100644 index 0000000..eaf5902 --- /dev/null +++ b/src/svforge/core/__init__.py @@ -0,0 +1,5 @@ +""" +Core domain: models, sampler, bank, regions, genome +""" + +from __future__ import annotations diff --git a/src/svforge/core/bank.py b/src/svforge/core/bank.py new file mode 100644 index 0000000..ba472f4 --- /dev/null +++ b/src/svforge/core/bank.py @@ -0,0 +1,152 @@ +""" +SV banks: YAML-backed catalogue of weighted SV templates + +A bank is a set of :class:`SVTemplate` entries. Each template describes a +family of SVs (an svtype plus coordinate / length ranges) from which the +sampler draws concrete SVs. Banks are pure metadata: no genomic sequence +ever ships with the package +""" + +from __future__ import annotations + +from dataclasses import dataclass, field +from importlib import resources +from pathlib import Path +from typing import Any + +import yaml + +from svforge.core.genome import GenomeBuild, validate_genome + +BUILTIN_BANKS_PACKAGE = "svforge.data.banks" +BUILTIN_BANK_SUFFIX = ".yaml" + + +@dataclass(slots=True, frozen=True) +class SVTemplate: + """ + A weighted template describing how to draw one SV + """ + + svtype: str + svlen_min: int + svlen_max: int + homlen_min: int = 0 + homlen_max: int = 0 + weight: float = 1.0 + chroms: tuple[str, ...] = () + + def __post_init__(self) -> None: + if self.svlen_min < 1: + raise ValueError(f"svlen_min must be >= 1, got {self.svlen_min}") + if self.svlen_max < self.svlen_min: + raise ValueError( + f"svlen_max ({self.svlen_max}) must be >= svlen_min ({self.svlen_min})" + ) + if self.homlen_min < 0 or self.homlen_max < self.homlen_min: + raise ValueError(f"invalid homlen range [{self.homlen_min}, {self.homlen_max}]") + if self.weight <= 0: + raise ValueError(f"weight must be > 0, got {self.weight}") + + +@dataclass(slots=True) +class Bank: + """ + A named collection of SV templates bound to a genome build + """ + + name: str + genome: GenomeBuild + templates: list[SVTemplate] = field(default_factory=list) + + def __post_init__(self) -> None: + if not self.templates: + raise ValueError(f"Bank {self.name!r} has no templates") + + def by_svtype(self, svtype: str) -> list[SVTemplate]: + """ + Return all templates that produce ``svtype`` SVs + """ + return [t for t in self.templates if t.svtype == svtype] + + def svtypes(self) -> set[str]: + """ + Distinct svtypes covered by this bank + """ + return {t.svtype for t in self.templates} + + +def _template_from_dict(raw: dict[str, Any]) -> SVTemplate: + try: + svtype = str(raw["svtype"]) + svlen = raw["svlen"] + svlen_min, svlen_max = int(svlen[0]), int(svlen[1]) + except (KeyError, TypeError, ValueError) as exc: + raise ValueError(f"Invalid template entry: {raw!r} ({exc})") from exc + + homlen = raw.get("homlen", [0, 0]) + homlen_min, homlen_max = int(homlen[0]), int(homlen[1]) + weight = float(raw.get("weight", 1.0)) + chroms = tuple(str(c) for c in raw.get("chroms", [])) + + return SVTemplate( + svtype=svtype, + svlen_min=svlen_min, + svlen_max=svlen_max, + homlen_min=homlen_min, + homlen_max=homlen_max, + weight=weight, + chroms=chroms, + ) + + +def load_bank(source: str | Path) -> Bank: + """ + Load a bank by name (built-in) or by filesystem path + + If ``source`` names an existing file, it is parsed as YAML. Otherwise + ``source`` is looked up among the banks packaged under + ``svforge.data.banks`` + """ + text = _read_bank_text(source) + data = yaml.safe_load(text) + if not isinstance(data, dict): + raise ValueError(f"Bank source {source!r} must be a YAML mapping at top level") + + name = str(data.get("name", str(source))) + genome_raw = str(data.get("genome", "hg38")) + genome: GenomeBuild = validate_genome(genome_raw) + + raw_templates = data.get("templates") + if not isinstance(raw_templates, list) or not raw_templates: + raise ValueError(f"Bank {name!r} must define a non-empty 'templates' list") + + templates = [_template_from_dict(t) for t in raw_templates] + return Bank(name=name, genome=genome, templates=templates) + + +def _read_bank_text(source: str | Path) -> str: + path = Path(source) + if path.exists(): + return path.read_text(encoding="utf-8") + + resource = resources.files(BUILTIN_BANKS_PACKAGE).joinpath(f"{source}{BUILTIN_BANK_SUFFIX}") + if not resource.is_file(): + raise FileNotFoundError( + f"Bank {source!r} not found: neither a file path nor a built-in bank. " + f"Available: {sorted(list_builtin_banks())}" + ) + return resource.read_text(encoding="utf-8") + + +def list_builtin_banks() -> list[str]: + """ + Return the names of banks shipped with the package + """ + root = resources.files(BUILTIN_BANKS_PACKAGE) + names: list[str] = [] + for entry in root.iterdir(): + entry_name = entry.name + if entry_name.endswith(BUILTIN_BANK_SUFFIX): + names.append(entry_name.removesuffix(BUILTIN_BANK_SUFFIX)) + return sorted(names) diff --git a/src/svforge/core/genome.py b/src/svforge/core/genome.py new file mode 100644 index 0000000..772a417 --- /dev/null +++ b/src/svforge/core/genome.py @@ -0,0 +1,101 @@ +""" +Reference genome contig sizes + +svForge V1 supports hg38 only: the bundled header templates and contig +lengths are hg38-specific. Attempting to use any other build raises a +clear error pointing to ``--header-template`` for self-service override +""" + +from __future__ import annotations + +from typing import Literal + +GenomeBuild = Literal["hg38"] + +HG38_CONTIGS: dict[str, int] = { + "chr1": 248_956_422, + "chr2": 242_193_529, + "chr3": 198_295_559, + "chr4": 190_214_555, + "chr5": 181_538_259, + "chr6": 170_805_979, + "chr7": 159_345_973, + "chr8": 145_138_636, + "chr9": 138_394_717, + "chr10": 133_797_422, + "chr11": 135_086_622, + "chr12": 133_275_309, + "chr13": 114_364_328, + "chr14": 107_043_718, + "chr15": 101_991_189, + "chr16": 90_338_345, + "chr17": 83_257_441, + "chr18": 80_373_285, + "chr19": 58_617_616, + "chr20": 64_444_167, + "chr21": 46_709_983, + "chr22": 50_818_468, + "chrX": 156_040_895, + "chrY": 57_227_415, + "chrM": 16_569, +} + +SUPPORTED_GENOMES: tuple[str, ...] = ("hg38",) + + +def validate_genome(genome: str) -> GenomeBuild: + """ + Return ``genome`` if supported, else raise ``ValueError`` with a + message pointing the user at the ``--header-template`` escape hatch + """ + if genome in SUPPORTED_GENOMES: + return "hg38" + raise ValueError( + f"No bundled header template for genome {genome!r}.\n" + f"Provide your own via --header-template PATH, or use " + f"--genome {SUPPORTED_GENOMES[0]}." + ) + + +def get_contigs(genome: GenomeBuild) -> dict[str, int]: + """ + Return the contig -> length mapping for the given build + """ + validate_genome(genome) + return dict(HG38_CONTIGS) + + +def contig_length(genome: GenomeBuild, chrom: str) -> int: + """ + Length of ``chrom`` on ``genome``, raises KeyError if unknown + """ + return get_contigs(genome)[chrom] + + +def normalize_chromosomes( + chroms: list[str] | tuple[str, ...], + genome: GenomeBuild, +) -> list[str]: + """ + Normalise a list of chromosome names against ``genome`` + + Accepts short aliases (``"1"``, ``"X"``, ``"M"``, ``"MT"``) and adds the + ``chr`` prefix as needed. Unknown chromosomes raise :class:`ValueError` + with the list of valid names + """ + valid = get_contigs(genome) + out: list[str] = [] + for raw in chroms: + name = raw.strip() + if not name: + continue + candidate = name if name.startswith("chr") else f"chr{name}" + if candidate == "chrMT": + candidate = "chrM" + if candidate not in valid: + raise ValueError( + f"Unknown chromosome {raw!r} for genome {genome}. Valid: {', '.join(valid.keys())}" + ) + if candidate not in out: + out.append(candidate) + return out diff --git a/src/svforge/core/models.py b/src/svforge/core/models.py new file mode 100644 index 0000000..c40aeee --- /dev/null +++ b/src/svforge/core/models.py @@ -0,0 +1,131 @@ +""" +Domain models shared by sampler, writers and validator + +These dataclasses are the contract that every other module depends on. +A writer only ever receives :class:`SV` instances and must never assume +anything beyond what is declared here +""" + +from __future__ import annotations + +from dataclasses import dataclass, field +from typing import Literal + +SVType = Literal["DEL", "DUP", "INV", "INS", "BND"] +Genotype = Literal["0/0", "0/1", "1/1"] +Origin = Literal["somatic", "germline"] + +VALID_SVTYPES: frozenset[str] = frozenset({"DEL", "DUP", "INV", "INS", "BND"}) +VALID_GENOTYPES: frozenset[str] = frozenset({"0/0", "0/1", "1/1"}) + + +@dataclass(slots=True) +class Breakpoint: + """ + A single breakpoint on the reference + + ``strand`` encodes the orientation at the breakpoint: ``+`` means the + joined sequence extends to the right of ``pos``, ``-`` means to the left + """ + + chrom: str + pos: int + strand: Literal["+", "-"] = "+" + + def __post_init__(self) -> None: + if self.pos < 1: + raise ValueError(f"Breakpoint pos must be 1-based positive, got {self.pos}") + if self.strand not in {"+", "-"}: + raise ValueError(f"Breakpoint strand must be '+' or '-', got {self.strand!r}") + + +@dataclass(slots=True) +class SV: + """ + Caller-agnostic structural-variant record + + Writers format this into their own VCF dialect. The sampler produces it + with deterministic fields so two runs with the same seed yield identical + records + """ + + id: str + svtype: str + chrom: str + pos: int + end: int + svlen: int + mate_chrom: str | None = None + mate_pos: int | None = None + strands: str = "+-" + homlen: int = 0 + homseq: str = "" + vaf: float = 0.5 + genotype: str = "0/1" + ref_base: str = "N" + ins_seq: str = "" + filter: str = "PASS" + origin: Origin = "somatic" + info_extra: dict[str, str] = field(default_factory=dict) + + def __post_init__(self) -> None: + if self.svtype not in VALID_SVTYPES: + raise ValueError(f"Unknown svtype {self.svtype!r} (valid: {sorted(VALID_SVTYPES)})") + if self.genotype not in VALID_GENOTYPES: + raise ValueError( + f"Unknown genotype {self.genotype!r} (valid: {sorted(VALID_GENOTYPES)})" + ) + if self.pos < 1: + raise ValueError(f"SV pos must be 1-based positive, got {self.pos}") + if self.end < self.pos and self.svtype != "BND": + raise ValueError(f"SV end ({self.end}) must be >= pos ({self.pos}) for {self.svtype}") + if self.homlen < 0: + raise ValueError(f"HOMLEN must be non-negative, got {self.homlen}") + if not 0.0 <= self.vaf <= 1.0: + raise ValueError(f"VAF must be in [0, 1], got {self.vaf}") + if self.svtype == "BND" and (self.mate_chrom is None or self.mate_pos is None): + raise ValueError("BND SV requires mate_chrom and mate_pos") + if len(self.strands) != 2 or any(c not in "+-" for c in self.strands): + raise ValueError(f"strands must be two chars in '+-', got {self.strands!r}") + + @property + def breakpoint1(self) -> Breakpoint: + """ + Primary breakpoint (chrom, pos, strand1) + """ + return Breakpoint(self.chrom, self.pos, self.strands[0]) # type: ignore[arg-type] + + @property + def breakpoint2(self) -> Breakpoint: + """ + Secondary breakpoint (mate for BND, end for intra-chrom SVs) + """ + chrom = self.mate_chrom if self.svtype == "BND" else self.chrom + pos = self.mate_pos if self.svtype == "BND" else self.end + assert chrom is not None and pos is not None + return Breakpoint(chrom, pos, self.strands[1]) # type: ignore[arg-type] + + +@dataclass(slots=True) +class SVPair: + """ + Tumor + normal SV sets for paired somatic pipelines + + ``tumor`` contains all SVs present in the tumor VCF (somatic + germline) + and ``normal`` contains only the germline subset. Germline SVs appear in + both lists with the same id and coordinates; only VAF/genotype may + differ between tumor and normal for a given germline SV + """ + + tumor: list[SV] = field(default_factory=list) + normal: list[SV] = field(default_factory=list) + + @property + def somatic_ids(self) -> set[str]: + normal_ids = {sv.id for sv in self.normal} + return {sv.id for sv in self.tumor if sv.id not in normal_ids} + + @property + def germline_ids(self) -> set[str]: + normal_ids = {sv.id for sv in self.normal} + return {sv.id for sv in self.tumor if sv.id in normal_ids} diff --git a/src/svforge/core/provenance.py b/src/svforge/core/provenance.py new file mode 100644 index 0000000..cdf1a93 --- /dev/null +++ b/src/svforge/core/provenance.py @@ -0,0 +1,105 @@ +""" +Synthetic-data provenance helpers + +Every VCF produced by svforge carries six ``##svforge*`` tags immediately +after ``##fileformat`` so that a downstream consumer can always tell the +data is synthetic and trace it back to the exact command line and seed +that generated it + +The warning tag :data:`WARNING_VALUE` is deliberately not configurable: no +CLI flag, no environment variable, no hidden parameter can remove it. +That invariant is enforced by :func:`build_svforge_tags` +""" + +from __future__ import annotations + +from collections.abc import Sequence +from pathlib import PurePosixPath, PureWindowsPath + +from svforge import __version__ + +WARNING_VALUE = "SYNTHETIC_DATA_DO_NOT_USE_FOR_CLINICAL_DIAGNOSIS" +DOCUMENTATION_URL = "https://github.com/pieetie/svforge" + +_SVFORGE_TAG_ORDER: tuple[str, ...] = ( + "##svforgeVersion", + "##svforgeCommand", + "##svforgeSeed", + "##svforgeCaller", + "##svforgeWarning", + "##svforgeDocumentation", +) + + +def build_svforge_tags( + *, + caller: str, + seed: int, + argv: Sequence[str], + version: str = __version__, +) -> list[str]: + """ + Return the six provenance header lines, in spec order + + ``seed`` is the effective seed, even when the user did not pass one + explicitly. ``argv`` is typically :data:`sys.argv`; it is piped through + :func:`sanitize_command` before being embedded in the header + """ + command = sanitize_command(argv) + tags = [ + f"##svforgeVersion={version}", + f"##svforgeCommand={command}", + f"##svforgeSeed={seed}", + f"##svforgeCaller={caller}", + f"##svforgeWarning={WARNING_VALUE}", + f"##svforgeDocumentation={DOCUMENTATION_URL}", + ] + _assert_ordered(tags) + return tags + + +def sanitize_command(argv: Sequence[str]) -> str: + """ + Return a shell-safe command line with absolute paths stripped + + Each argv token is inspected individually: if the whole token (or the + value portion of a ``--flag=VALUE`` form) is an absolute path -- POSIX + ``/foo/bar``, macOS ``/Users/alice/...`` (which may contain whitespace + on the dev workstation), or Windows-style ``C:\\path\\bar`` -- it is + replaced by its basename so that cluster-internal or user-home + directories never leak into a VCF header + """ + parts: list[str] = [] + for token in argv: + if "=" in token and token.startswith("--"): + flag, _, value = token.partition("=") + if _is_absolute_path(value): + parts.append(f"{flag}={_basename(value)}") + continue + if _is_absolute_path(token): + parts.append(_basename(token)) + continue + parts.append(token) + return " ".join(parts) + + +def _is_absolute_path(s: str) -> bool: + if not s: + return False + if s.startswith("/"): + return True + return len(s) >= 3 and s[0].isalpha() and s[1:3] in (":\\", ":/") + + +def _basename(path: str) -> str: + if len(path) >= 3 and path[0].isalpha() and path[1:3] in (":\\", ":/"): + name = PureWindowsPath(path).name + else: + name = PurePosixPath(path).name + return name or path + + +def _assert_ordered(tags: Sequence[str]) -> None: + keys = [t.split("=", 1)[0] for t in tags] + if tuple(keys) != _SVFORGE_TAG_ORDER: + raise AssertionError(f"svforge tag order drift: {keys} != {_SVFORGE_TAG_ORDER}") diff --git a/src/svforge/core/regions.py b/src/svforge/core/regions.py new file mode 100644 index 0000000..008f04c --- /dev/null +++ b/src/svforge/core/regions.py @@ -0,0 +1,119 @@ +""" +BED region index with pure-Python interval trees + +Designed for blacklist- and gnomAD-region overlap queries. Supports +plain and gzip-compressed BED files via the standard library only; no +system dependency on tabix or bgzip is introduced here +""" + +from __future__ import annotations + +import gzip +from collections import defaultdict +from collections.abc import Iterable, Iterator +from pathlib import Path + +from intervaltree import IntervalTree + + +class RegionSet: + """ + In-memory set of half-open [start, end) intervals per chromosome + + BED uses 0-based half-open coordinates. We keep that convention + internally and convert at the boundaries (callers usually work in + 1-based closed VCF coordinates) + """ + + __slots__ = ("_trees",) + + def __init__(self, intervals: Iterable[tuple[str, int, int]] | None = None) -> None: + self._trees: dict[str, IntervalTree] = defaultdict(IntervalTree) + if intervals is not None: + for chrom, start, end in intervals: + self.add(chrom, start, end) + + def add(self, chrom: str, start: int, end: int) -> None: + """ + Add one half-open BED interval + """ + if end <= start: + return + self._trees[chrom].addi(start, end) + + def overlaps_bed(self, chrom: str, start: int, end: int) -> bool: + """ + True if any indexed region overlaps BED interval [start, end) + """ + tree = self._trees.get(chrom) + if tree is None or end <= start: + return False + return bool(tree.overlaps(start, end)) + + def overlaps_vcf(self, chrom: str, pos: int, end: int) -> bool: + """ + True if any indexed region overlaps a 1-based closed [pos, end] SV + """ + return self.overlaps_bed(chrom, pos - 1, end) + + def overlaps_point(self, chrom: str, pos: int) -> bool: + """ + True if any indexed region contains the 1-based VCF position ``pos`` + """ + tree = self._trees.get(chrom) + if tree is None: + return False + return bool(tree.at(pos - 1)) + + def __len__(self) -> int: + return sum(len(t) for t in self._trees.values()) + + @property + def chromosomes(self) -> set[str]: + return set(self._trees.keys()) + + def intervals_on(self, chrom: str) -> list[tuple[int, int]]: + """ + Return ``[(start, end)]`` BED intervals indexed on ``chrom`` + """ + tree = self._trees.get(chrom) + if tree is None: + return [] + return [(iv.begin, iv.end) for iv in tree] + + def all_intervals(self) -> list[tuple[str, int, int]]: + """ + Return ``[(chrom, start, end)]`` for every indexed interval + """ + return [(chrom, iv.begin, iv.end) for chrom, tree in self._trees.items() for iv in tree] + + +def load_bed(path: str | Path) -> RegionSet: + """ + Load a (optionally gzip-compressed) BED file into a :class:`RegionSet` + + Only the first three columns are read. Lines starting with ``#`` or + the ``browser``/``track`` header lines are skipped + """ + rs = RegionSet() + for chrom, start, end in _iter_bed(Path(path)): + rs.add(chrom, start, end) + return rs + + +def _iter_bed(path: Path) -> Iterator[tuple[str, int, int]]: + opener = gzip.open if path.suffix == ".gz" else open + with opener(path, "rt", encoding="utf-8") as fh: + for raw in fh: + line = raw.strip() + if not line or line.startswith(("#", "browser", "track")): + continue + parts = line.split("\t") + if len(parts) < 3: + continue + try: + start = int(parts[1]) + end = int(parts[2]) + except ValueError: + continue + yield parts[0], start, end diff --git a/src/svforge/core/sampler.py b/src/svforge/core/sampler.py new file mode 100644 index 0000000..1405436 --- /dev/null +++ b/src/svforge/core/sampler.py @@ -0,0 +1,550 @@ +""" +Sample SVs from a :class:`Bank` with reproducible RNG + +Knobs: +- ``svtypes``: restrict to a subset of svtypes (e.g. ``{"DEL", "DUP"}``) +- ``svlen_range`` / ``homlen_range``: hard CLI overrides, clamp template ranges +- ``vaf_range``: uniform VAF draw +- ``blacklist`` / ``gnomad``: :class:`RegionSet` + target fraction; SVs are + drawn to overlap / not overlap these sets until the target fraction is met + (best-effort with a retry budget) + +``sample_pair`` composes ``sample`` twice to produce a consistent tumor/normal +SV set where germline events are duplicated across both samples with the same +coordinates but possibly different VAFs +""" + +from __future__ import annotations + +import random +import uuid +from collections.abc import Sequence +from dataclasses import dataclass +from typing import Literal + +from svforge.core.bank import Bank, SVTemplate +from svforge.core.genome import GenomeBuild, get_contigs +from svforge.core.models import SV, SVPair +from svforge.core.regions import RegionSet + +_SAMPLE_RETRY_BUDGET = 200 +_CHROM_SAMPLE_MARGIN = 10_000 + + +@dataclass(slots=True) +class SamplerConfig: + """ + Knobs that shape a sampling run + """ + + n: int + genome: GenomeBuild = "hg38" + svtypes: frozenset[str] | None = None + svlen_range: tuple[int, int] | None = None + homlen_range: tuple[int, int] | None = None + vaf_range: tuple[float, float] = (0.3, 1.0) + blacklist: RegionSet | None = None + blacklist_fraction: float = 0.0 + gnomad: RegionSet | None = None + gnomad_fraction: float = 0.0 + seed: int | None = None + origin: Literal["somatic", "germline"] = "somatic" + id_prefix: str = "svforge" + chroms: frozenset[str] | None = None + + def __post_init__(self) -> None: + if self.n < 0: + raise ValueError(f"n must be >= 0, got {self.n}") + if not 0.0 <= self.blacklist_fraction <= 1.0: + raise ValueError("blacklist_fraction must be in [0, 1]") + if not 0.0 <= self.gnomad_fraction <= 1.0: + raise ValueError("gnomad_fraction must be in [0, 1]") + if self.vaf_range[0] > self.vaf_range[1] or not ( + 0.0 <= self.vaf_range[0] <= 1.0 and 0.0 <= self.vaf_range[1] <= 1.0 + ): + raise ValueError(f"invalid vaf_range: {self.vaf_range}") + + +def sample(bank: Bank, cfg: SamplerConfig) -> list[SV]: + """ + Draw ``cfg.n`` SVs from ``bank`` respecting ``cfg`` constraints + """ + rng = random.Random(cfg.seed) + contigs = get_contigs(cfg.genome) + if cfg.chroms is not None: + contigs = {c: n for c, n in contigs.items() if c in cfg.chroms} + + templates = _filter_templates(bank.templates, cfg.svtypes, cfg.chroms) + if not templates: + if cfg.chroms is not None: + raise ValueError( + f"No SV in bank matches the requested chromosomes: " + f"{sorted(cfg.chroms)}. Enrich the bank or broaden the filter" + ) + raise ValueError(f"No template in bank {bank.name!r} matches svtypes={cfg.svtypes}") + + weights = [t.weight for t in templates] + + n_blacklist = round(cfg.n * cfg.blacklist_fraction) + n_gnomad = round(cfg.n * cfg.gnomad_fraction) + n_plain = max(0, cfg.n - n_blacklist - n_gnomad) + + svs: list[SV] = [] + svs.extend( + _draw_many( + n_plain, templates, weights, contigs, cfg, rng, want_blacklist=False, want_gnomad=False + ) + ) + if n_blacklist and cfg.blacklist is not None: + svs.extend( + _draw_many( + n_blacklist, + templates, + weights, + contigs, + cfg, + rng, + want_blacklist=True, + want_gnomad=False, + ) + ) + if n_gnomad and cfg.gnomad is not None: + svs.extend( + _draw_many( + n_gnomad, + templates, + weights, + contigs, + cfg, + rng, + want_blacklist=False, + want_gnomad=True, + ) + ) + + rng.shuffle(svs) + svs.sort(key=lambda sv: (_chrom_key(sv.chrom), sv.pos)) + return svs + + +def sample_pair( + bank: Bank, + n_somatic: int, + n_germline: int, + cfg: SamplerConfig, + germline_vaf_range: tuple[float, float] = (0.45, 1.0), +) -> SVPair: + """ + Draw a coherent tumor + normal SV pair + + Germline SVs appear in both VCFs with the same id/coords. Their VAF in + the normal is drawn from ``germline_vaf_range`` (~0.5 het / ~1.0 hom) + while their VAF in the tumor stays within ``cfg.vaf_range`` + """ + if n_somatic < 0 or n_germline < 0: + raise ValueError("n_somatic and n_germline must be >= 0") + + base_seed = cfg.seed + + somatic_cfg = _replace(cfg, n=n_somatic, origin="somatic", seed=base_seed) + somatic = sample(bank, somatic_cfg) if n_somatic else [] + + germline_seed = None if base_seed is None else base_seed + 1 + germline_cfg = _replace(cfg, n=n_germline, origin="germline", seed=germline_seed) + germline_tumor = sample(bank, germline_cfg) if n_germline else [] + + rng_normal = random.Random(None if base_seed is None else base_seed + 2) + germline_normal: list[SV] = [] + for sv in germline_tumor: + vaf = rng_normal.uniform(*germline_vaf_range) + genotype = "1/1" if vaf >= 0.9 else "0/1" + germline_normal.append( + SV( + id=sv.id, + svtype=sv.svtype, + chrom=sv.chrom, + pos=sv.pos, + end=sv.end, + svlen=sv.svlen, + mate_chrom=sv.mate_chrom, + mate_pos=sv.mate_pos, + strands=sv.strands, + homlen=sv.homlen, + homseq=sv.homseq, + vaf=vaf, + genotype=genotype, + ref_base=sv.ref_base, + ins_seq=sv.ins_seq, + filter=sv.filter, + origin="germline", + info_extra=dict(sv.info_extra), + ) + ) + + tumor = sorted(somatic + germline_tumor, key=lambda sv: (_chrom_key(sv.chrom), sv.pos)) + normal = sorted(germline_normal, key=lambda sv: (_chrom_key(sv.chrom), sv.pos)) + return SVPair(tumor=tumor, normal=normal) + + +def _filter_templates( + templates: Sequence[SVTemplate], + svtypes: frozenset[str] | None, + chroms: frozenset[str] | None, +) -> list[SVTemplate]: + out: list[SVTemplate] = [] + for t in templates: + if svtypes is not None and t.svtype not in svtypes: + continue + if chroms is not None and t.chroms and not any(c in chroms for c in t.chroms): + continue + out.append(t) + return out + + +def _draw_many( + count: int, + templates: Sequence[SVTemplate], + weights: Sequence[float], + contigs: dict[str, int], + cfg: SamplerConfig, + rng: random.Random, + *, + want_blacklist: bool, + want_gnomad: bool, +) -> list[SV]: + out: list[SV] = [] + for _ in range(count): + sv = _draw_one( + templates, + weights, + contigs, + cfg, + rng, + want_blacklist=want_blacklist, + want_gnomad=want_gnomad, + ) + out.append(sv) + return out + + +def _draw_one( + templates: Sequence[SVTemplate], + weights: Sequence[float], + contigs: dict[str, int], + cfg: SamplerConfig, + rng: random.Random, + *, + want_blacklist: bool, + want_gnomad: bool, +) -> SV: + target_region: RegionSet | None = None + exact_breakpoints = False + if want_blacklist and cfg.blacklist is not None: + target_region = cfg.blacklist + elif want_gnomad and cfg.gnomad is not None: + target_region = cfg.gnomad + # gnomAD injection matches the "real pipeline" semantics used by + # :mod:`svforge.validate.overlap`: both breakpoints of the injected SV + # must coincide with a gnomAD entry within a 2 bp tolerance. Using the + # region's exact start/end guarantees that downstream validation can + # detect the match + exact_breakpoints = True + + for _ in range(_SAMPLE_RETRY_BUDGET): + template = rng.choices(list(templates), weights=list(weights), k=1)[0] + if target_region is not None: + sv = _materialize_in_region( + template, contigs, target_region, cfg, rng, exact=exact_breakpoints + ) + else: + sv = _materialize(template, contigs, cfg, rng) + + blacklist_hit = cfg.blacklist is not None and _overlaps_region(cfg.blacklist, sv) + gnomad_hit = cfg.gnomad is not None and _overlaps_region(cfg.gnomad, sv) + + if want_blacklist and not blacklist_hit: + continue + if want_gnomad and not gnomad_hit: + continue + if not want_blacklist and blacklist_hit and cfg.blacklist_fraction == 0.0: + continue + if not want_gnomad and gnomad_hit and cfg.gnomad_fraction == 0.0: + continue + return sv + return _materialize(templates[0], contigs, cfg, rng) + + +def _materialize_in_region( + template: SVTemplate, + contigs: dict[str, int], + regions: RegionSet, + cfg: SamplerConfig, + rng: random.Random, + *, + exact: bool = False, +) -> SV: + """ + Materialise an SV inside ``regions`` + + ``exact=False``: the SV's primary breakpoint lies somewhere inside a + random region but its length is drawn from the template. Used for + blacklist-style injection where only "touching" matters + + ``exact=True``: the SV's breakpoints copy the region's exact BED + boundaries (pos = start + 1, end = end). Used for gnomAD injection so + that :func:`svforge.validate.overlap.GnomadIndex.overlaps` can detect the + match within its 2 bp tolerance + + Falls back to uniform sampling if no chromosome matches both the template + and the region set + """ + allowed = set(template.chroms) if template.chroms else set(contigs.keys()) + if cfg.chroms is not None: + allowed &= set(cfg.chroms) + candidates = [c for c in regions.chromosomes if c in allowed and c in contigs] + if not candidates: + return _materialize(template, contigs, cfg, rng) + + chrom = rng.choice(candidates) + intervals = regions.intervals_on(chrom) + if not intervals: + return _materialize(template, contigs, cfg, rng) + + start, end = rng.choice(intervals) + chrom_len = contigs[chrom] + + svlen_min, svlen_max = _clamp_range((template.svlen_min, template.svlen_max), cfg.svlen_range) + homlen_min, homlen_max = _clamp_range( + (template.homlen_min, template.homlen_max), cfg.homlen_range + ) + + homlen = rng.randint(homlen_min, homlen_max) + vaf = rng.uniform(*cfg.vaf_range) + genotype = "1/1" if vaf >= 0.9 else "0/1" + sv_id = f"{cfg.id_prefix}_{uuid.UUID(int=rng.getrandbits(128)).hex[:10]}" + + if template.svtype == "BND": + if exact: + pos = max(1, start + 1) + mate_chrom = chrom + mate_pos = min(end, chrom_len - 1) + else: + mate_candidates = _bnd_mate_candidates(chrom, contigs, cfg) + mate_chrom = rng.choice(mate_candidates) + pos_lo = max(1, start + 1) + pos_hi = max(pos_lo, min(end, chrom_len - 1)) + pos = rng.randint(pos_lo, pos_hi) + mate_pos = rng.randint( + _CHROM_SAMPLE_MARGIN, + max(_CHROM_SAMPLE_MARGIN + 1, contigs[mate_chrom] - _CHROM_SAMPLE_MARGIN), + ) + strands = rng.choice(("+-", "-+", "++", "--")) + return SV( + id=sv_id, + svtype="BND", + chrom=chrom, + pos=pos, + end=pos, + svlen=1, + mate_chrom=mate_chrom, + mate_pos=mate_pos, + strands=strands, + homlen=homlen, + vaf=vaf, + genotype=genotype, + origin=cfg.origin, + ) + + if exact: + pos = max(1, start + 1) + end_pos = max(pos + 1, min(chrom_len - 1, end)) + else: + svlen = rng.randint(svlen_min, svlen_max) + pos_lo = max(1, start + 1) + pos_hi = max(pos_lo, min(end, chrom_len - 1)) + pos = rng.randint(pos_lo, pos_hi) + end_pos = min(chrom_len - 1, pos + svlen) + actual_len = max(1, end_pos - pos) + strands = _default_strands(template.svtype) + return SV( + id=sv_id, + svtype=template.svtype, + chrom=chrom, + pos=pos, + end=end_pos, + svlen=actual_len, + strands=strands, + homlen=homlen, + vaf=vaf, + genotype=genotype, + origin=cfg.origin, + ) + + +def _materialize( + template: SVTemplate, + contigs: dict[str, int], + cfg: SamplerConfig, + rng: random.Random, +) -> SV: + allowed_chroms = _template_chrom_pool(template, contigs, cfg) + if not allowed_chroms: + raise ValueError( + f"Template {template.svtype!r} has no chromosome compatible with the " + f"current filter (chroms={sorted(cfg.chroms) if cfg.chroms else None})" + ) + chrom = rng.choice(allowed_chroms) + chrom_len = contigs[chrom] + + svlen_min, svlen_max = _clamp_range((template.svlen_min, template.svlen_max), cfg.svlen_range) + homlen_min, homlen_max = _clamp_range( + (template.homlen_min, template.homlen_max), cfg.homlen_range + ) + + svlen = 1 if template.svtype == "BND" else rng.randint(svlen_min, svlen_max) + + homlen = rng.randint(homlen_min, homlen_max) + vaf = rng.uniform(*cfg.vaf_range) + genotype = "1/1" if vaf >= 0.9 else "0/1" + sv_id = f"{cfg.id_prefix}_{uuid.UUID(int=rng.getrandbits(128)).hex[:10]}" + + if template.svtype == "BND": + mate_candidates = _bnd_mate_candidates(chrom, contigs, cfg) + mate_chrom = rng.choice(mate_candidates) + pos = rng.randint( + _CHROM_SAMPLE_MARGIN, max(_CHROM_SAMPLE_MARGIN + 1, chrom_len - _CHROM_SAMPLE_MARGIN) + ) + mate_pos = rng.randint( + _CHROM_SAMPLE_MARGIN, + max(_CHROM_SAMPLE_MARGIN + 1, contigs[mate_chrom] - _CHROM_SAMPLE_MARGIN), + ) + strands = rng.choice(("+-", "-+", "++", "--")) + return SV( + id=sv_id, + svtype="BND", + chrom=chrom, + pos=pos, + end=pos, + svlen=svlen, + mate_chrom=mate_chrom, + mate_pos=mate_pos, + strands=strands, + homlen=homlen, + vaf=vaf, + genotype=genotype, + origin=cfg.origin, + ) + + max_pos = chrom_len - svlen - _CHROM_SAMPLE_MARGIN + if max_pos <= _CHROM_SAMPLE_MARGIN: + pos = _CHROM_SAMPLE_MARGIN + else: + pos = rng.randint(_CHROM_SAMPLE_MARGIN, max_pos) + end = pos + svlen + + strands = _default_strands(template.svtype) + return SV( + id=sv_id, + svtype=template.svtype, + chrom=chrom, + pos=pos, + end=end, + svlen=svlen, + strands=strands, + homlen=homlen, + vaf=vaf, + genotype=genotype, + origin=cfg.origin, + ) + + +def _template_chrom_pool( + template: SVTemplate, contigs: dict[str, int], cfg: SamplerConfig +) -> list[str]: + base = template.chroms if template.chroms else tuple(contigs.keys()) + pool = [c for c in base if c in contigs] + if cfg.chroms is not None: + pool = [c for c in pool if c in cfg.chroms] + return pool + + +def _bnd_mate_candidates(chrom: str, contigs: dict[str, int], cfg: SamplerConfig) -> list[str]: + """ + Return chroms eligible as a BND mate: different from ``chrom`` when + possible, restricted to the user filter when one is active + """ + universe = list(contigs.keys()) + if cfg.chroms is not None: + universe = [c for c in universe if c in cfg.chroms] + others = [c for c in universe if c != chrom] + if others: + return others + return universe or [chrom] + + +def _default_strands(svtype: str) -> str: + match svtype: + case "DEL": + return "+-" + case "DUP": + return "-+" + case "INV": + return "++" + case "INS": + return "+-" + case _: + return "+-" + + +def _clamp_range( + template_range: tuple[int, int], override: tuple[int, int] | None +) -> tuple[int, int]: + lo, hi = template_range + if override is None: + return lo, hi + o_lo, o_hi = override + new_lo = max(lo, o_lo) + new_hi = min(hi, o_hi) + if new_hi < new_lo: + new_lo = new_hi = max(o_lo, min(o_hi, lo)) + return new_lo, new_hi + + +def _overlaps_region(rs: RegionSet, sv: SV) -> bool: + if sv.svtype == "BND": + return rs.overlaps_point(sv.chrom, sv.pos) or ( + sv.mate_chrom is not None + and sv.mate_pos is not None + and rs.overlaps_point(sv.mate_chrom, sv.mate_pos) + ) + return rs.overlaps_vcf(sv.chrom, sv.pos, sv.end) + + +def _replace(cfg: SamplerConfig, **kw: object) -> SamplerConfig: + data: dict[str, object] = { + "n": cfg.n, + "genome": cfg.genome, + "svtypes": cfg.svtypes, + "svlen_range": cfg.svlen_range, + "homlen_range": cfg.homlen_range, + "vaf_range": cfg.vaf_range, + "blacklist": cfg.blacklist, + "blacklist_fraction": cfg.blacklist_fraction, + "gnomad": cfg.gnomad, + "gnomad_fraction": cfg.gnomad_fraction, + "seed": cfg.seed, + "origin": cfg.origin, + "id_prefix": cfg.id_prefix, + "chroms": cfg.chroms, + } + for k, v in kw.items(): + data[k] = v + return SamplerConfig(**data) # type: ignore[arg-type] + + +def _chrom_key(chrom: str) -> tuple[int, str]: + stripped = chrom.removeprefix("chr") + if stripped.isdigit(): + return (int(stripped), "") + order = {"X": 23, "Y": 24, "M": 25, "MT": 25}.get(stripped, 99) + return (order, stripped) From bd56acbbcd8d94f773fedb0a6f2b5e51e1479068 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Thu, 23 Apr 2026 22:58:18 +0200 Subject: [PATCH 05/31] feat: import VCF writers and caller plugins --- src/svforge/writers/__init__.py | 27 ++++ src/svforge/writers/_registry.py | 66 +++++++++ src/svforge/writers/base.py | 243 +++++++++++++++++++++++++++++++ src/svforge/writers/delly.py | 138 ++++++++++++++++++ src/svforge/writers/manta.py | 201 +++++++++++++++++++++++++ 5 files changed, 675 insertions(+) create mode 100644 src/svforge/writers/__init__.py create mode 100644 src/svforge/writers/_registry.py create mode 100644 src/svforge/writers/base.py create mode 100644 src/svforge/writers/delly.py create mode 100644 src/svforge/writers/manta.py diff --git a/src/svforge/writers/__init__.py b/src/svforge/writers/__init__.py new file mode 100644 index 0000000..8a4bf39 --- /dev/null +++ b/src/svforge/writers/__init__.py @@ -0,0 +1,27 @@ +""" +Writer registry: in-tree @register_writer + external entry-points + +External packages add a caller by exposing a subclass of +:class:`~svforge.writers.base.CallerWriter` under the +``svforge.writers`` entry-point group in their ``pyproject.toml``:: + + [project.entry-points."svforge.writers"] + mycaller = "mypkg.writers:MyCallerWriter" +""" + +from __future__ import annotations + +from svforge.writers import delly, manta # noqa: F401 ensure in-tree registration +from svforge.writers._registry import ( + available_writers, + get_writer, + register_writer, +) +from svforge.writers.base import CallerWriter + +__all__ = [ + "CallerWriter", + "available_writers", + "get_writer", + "register_writer", +] diff --git a/src/svforge/writers/_registry.py b/src/svforge/writers/_registry.py new file mode 100644 index 0000000..4fd342c --- /dev/null +++ b/src/svforge/writers/_registry.py @@ -0,0 +1,66 @@ +""" +Writer registry -- kept in its own module to avoid circular imports +""" + +from __future__ import annotations + +from collections.abc import Iterable +from functools import cache +from importlib.metadata import entry_points + +from svforge.writers.base import CallerWriter + +_ENTRY_POINT_GROUP = "svforge.writers" +_REGISTRY: dict[str, type[CallerWriter]] = {} + + +def register_writer(name: str): # type: ignore[no-untyped-def] + """ + Decorator that registers a :class:`CallerWriter` subclass under ``name`` + """ + + def decorator(cls: type[CallerWriter]) -> type[CallerWriter]: + if not issubclass(cls, CallerWriter): + raise TypeError(f"{cls!r} is not a CallerWriter subclass") + _REGISTRY[name] = cls + cls.name = name + return cls + + return decorator + + +def get_writer(name: str) -> CallerWriter: + """ + Instantiate the writer registered under ``name`` + """ + cls = _lookup(name) + if cls is None: + raise KeyError(f"No writer registered under {name!r}. Known: {sorted(available_writers())}") + return cls() + + +def available_writers() -> Iterable[str]: + """ + Names of every known writer (in-tree + entry-point) + """ + names = set(_REGISTRY.keys()) | set(_load_entry_point_classes().keys()) + return sorted(names) + + +def _lookup(name: str) -> type[CallerWriter] | None: + if name in _REGISTRY: + return _REGISTRY[name] + return _load_entry_point_classes().get(name) + + +@cache +def _load_entry_point_classes() -> dict[str, type[CallerWriter]]: + found: dict[str, type[CallerWriter]] = {} + for ep in entry_points(group=_ENTRY_POINT_GROUP): + try: + cls = ep.load() + except Exception: # pragma: no cover -- defensive + continue + if isinstance(cls, type) and issubclass(cls, CallerWriter): + found[ep.name] = cls + return found diff --git a/src/svforge/writers/base.py b/src/svforge/writers/base.py new file mode 100644 index 0000000..9871155 --- /dev/null +++ b/src/svforge/writers/base.py @@ -0,0 +1,243 @@ +""" +Abstract writer: every caller formatter inherits from :class:`CallerWriter` + +Writers know nothing of the sampler, the bank or the CLI. They only know +the :class:`SV` contract and produce VCF text lines (header + records) +which :mod:`svforge.io.vcf_writer` later materialises as VCF / VCF.gz / BCF + +Headers are built from real-world reference templates shipped under +:mod:`svforge.data.headers` so that the output is indistinguishable from +the target caller except for the ``##svforge*`` provenance tags injected +right after ``##fileformat``. Users who need a different build or a custom +caller variant can supply their own template via ``--header-template PATH`` +as long as it carries the placeholders listed in :attr:`CallerWriter.REQUIRED_PLACEHOLDERS` +""" + +from __future__ import annotations + +import datetime as _dt +from abc import ABC, abstractmethod +from collections.abc import Iterable, Sequence +from functools import cache +from importlib import resources +from pathlib import Path +from typing import ClassVar + +from svforge.core.genome import GenomeBuild, validate_genome +from svforge.core.models import SV + +SYNTHETIC_REFERENCE = "svforge_synthetic_reference.fa" + + +class CallerWriter(ABC): + """ + Caller-specific VCF dialect writer + + Attributes: + name: registry key, set by :func:`register_writer` + supported_svtypes: subset of ``{"DEL", "DUP", "INV", "INS", "BND"}`` + FILEFORMAT: VCF version string emitted by the caller (``VCFv4.1`` or + ``VCFv4.2``) + SOURCE_STRING: value of the ``##source`` header line; svforge always + acknowledges that it is mimicking the upstream caller + SAMPLE_COLUMN_ORDER: order of the sample columns in paired + (somatic) headers, e.g. ``("NORMAL", "TUMOR")`` for Manta + TEMPLATE_BASENAME: stem used to locate the reference header + template in :mod:`svforge.data.headers` (``f"{stem}_{genome}.vcf.template"``) + REQUIRED_PLACEHOLDERS: placeholders a user-supplied template must + contain to be considered valid for this writer + """ + + name: ClassVar[str] = "" + supported_svtypes: ClassVar[frozenset[str]] = frozenset({"DEL", "DUP", "INV", "INS", "BND"}) + + FILEFORMAT: ClassVar[str] = "VCFv4.2" + SOURCE_STRING: ClassVar[str] = "svforge" + SAMPLE_COLUMN_ORDER: ClassVar[tuple[str, ...]] = ("TUMOR", "NORMAL") + TEMPLATE_BASENAME: ClassVar[str] = "" + REQUIRED_PLACEHOLDERS: ClassVar[tuple[str, ...]] = ( + "{FILE_DATE}", + "{REFERENCE_FASTA}", + "{TUMOR_SAMPLE}", + "{NORMAL_SAMPLE}", + ) + + def header_lines( + self, + sample_name: str, + genome: GenomeBuild = "hg38", + *, + provenance_tags: Sequence[str] = (), + template_override: Path | None = None, + ) -> list[str]: + """ + Return the full VCF header for a single-sample VCF + + Built from the caller's reference template with the ``NORMAL`` column + dropped and the remaining sample slot filled with ``sample_name`` + """ + template = self._load_template(genome, template_override) + return _render_template( + template, + tumor_sample=sample_name, + normal_sample=None, + sample_order=self.SAMPLE_COLUMN_ORDER, + source_string=self.SOURCE_STRING, + provenance_tags=provenance_tags, + ) + + def header_lines_paired( + self, + tumor_sample: str, + normal_sample: str, + genome: GenomeBuild = "hg38", + *, + provenance_tags: Sequence[str] = (), + template_override: Path | None = None, + ) -> list[str]: + """ + Return the full VCF header for a paired tumor/normal (somatic) VCF + + Column order follows :attr:`SAMPLE_COLUMN_ORDER`. The rest of the + header is preserved verbatim from the reference template + """ + template = self._load_template(genome, template_override) + return _render_template( + template, + tumor_sample=tumor_sample, + normal_sample=normal_sample, + sample_order=self.SAMPLE_COLUMN_ORDER, + source_string=self.SOURCE_STRING, + provenance_tags=provenance_tags, + ) + + def _load_template( + self, + genome: GenomeBuild, + override: Path | None, + ) -> tuple[str, ...]: + if not self.TEMPLATE_BASENAME: + raise RuntimeError(f"{type(self).__name__} did not set TEMPLATE_BASENAME") + if override is not None: + return _load_override_template(override, self.name, self.REQUIRED_PLACEHOLDERS) + validate_genome(genome) + name = f"{self.TEMPLATE_BASENAME}_{genome}.vcf.template" + return _load_bundled_template(name) + + @abstractmethod + def format_record(self, sv: SV, sample_name: str) -> list[str]: + """ + Return one or more text VCF records for ``sv`` + + Manta returns two lines for a BND event (one per mate). DELLY and + simple symbolic records (DEL/DUP/INV/INS) return a single-line list + """ + + def format_records(self, svs: Iterable[SV], sample_name: str) -> list[str]: + """ + Format a whole SV collection to a list of text VCF records + """ + records: list[str] = [] + for sv in svs: + if sv.svtype not in self.supported_svtypes: + raise ValueError(f"Writer {self.name!r} does not support svtype {sv.svtype!r}") + records.extend(self.format_record(sv, sample_name)) + return records + + +@cache +def _load_bundled_template(name: str) -> tuple[str, ...]: + try: + resource = resources.files("svforge.data.headers").joinpath(name) + except ModuleNotFoundError as exc: # pragma: no cover -- packaging-time guard + raise RuntimeError("svforge.data.headers not installed") from exc + if not resource.is_file(): + raise ValueError( + f"No bundled header template {name!r}. Provide your own via --header-template PATH." + ) + text = resource.read_text(encoding="utf-8") + return tuple(text.splitlines()) + + +def _load_override_template( + path: Path, + caller: str, + required: Sequence[str], +) -> tuple[str, ...]: + if not path.is_file(): + raise FileNotFoundError(f"Header template {path} does not exist") + text = path.read_text(encoding="utf-8") + missing = [ph for ph in required if ph not in text] + if missing: + raise ValueError( + f"Header template {path} is missing required placeholders for " + f"caller {caller!r}: {', '.join(missing)}" + ) + return tuple(text.splitlines()) + + +def _render_template( + template: Sequence[str], + *, + tumor_sample: str, + normal_sample: str | None, + sample_order: Sequence[str], + source_string: str, + provenance_tags: Sequence[str], +) -> list[str]: + """ + Apply placeholder substitutions and inject svforge + source lines + """ + lines = list(template) + if not lines or not lines[0].startswith("##fileformat="): + raise RuntimeError("template must start with ##fileformat=") + + file_date = _dt.datetime.now(_dt.timezone.utc).strftime("%Y%m%d") + cmdline = _cmdline_from_tags(provenance_tags) + out: list[str] = [lines[0]] + out.extend(provenance_tags) + + saw_source = False + for raw in lines[1:]: + line = ( + raw.replace("{FILE_DATE}", file_date) + .replace("{CMDLINE}", cmdline) + .replace("{REFERENCE_FASTA}", SYNTHETIC_REFERENCE) + ) + if line.startswith("#CHROM"): + line = _render_chrom_line(line, tumor_sample, normal_sample, sample_order) + if not saw_source: + out.append(f"##source={source_string}") + saw_source = True + out.append(line) + continue + if line.startswith("##source"): + out.append(f"##source={source_string}") + saw_source = True + continue + out.append(line) + return out + + +def _render_chrom_line( + line: str, + tumor_sample: str, + normal_sample: str | None, + sample_order: Sequence[str], +) -> str: + fields = line.split("\t") + if len(fields) < 10: + raise RuntimeError(f"malformed #CHROM line in template: {line!r}") + header = fields[:9] + if normal_sample is None: + return "\t".join([*header, tumor_sample]) + mapping = {"TUMOR": tumor_sample, "NORMAL": normal_sample} + ordered = [mapping[role] for role in sample_order] + return "\t".join([*header, *ordered]) + + +def _cmdline_from_tags(provenance_tags: Sequence[str]) -> str: + for tag in provenance_tags: + if tag.startswith("##svforgeCommand="): + return tag.split("=", 1)[1] + return "" diff --git a/src/svforge/writers/delly.py b/src/svforge/writers/delly.py new file mode 100644 index 0000000..4bfc452 --- /dev/null +++ b/src/svforge/writers/delly.py @@ -0,0 +1,138 @@ +""" +DELLY VCF writer + +Reproduces the VCF 4.2 dialect emitted by DELLY 1.x for somatic SV calls. +The header is loaded verbatim from the reference template shipped under +:mod:`svforge.data.headers`; only ``##svforge*`` provenance tags, the +``##source`` line and dynamic fields (``##fileDate``) are rewritten. +Unlike Manta, DELLY emits a single record per BND event and encodes mate +coordinates via ``CHR2``/``POS2`` INFO fields plus a connection type +``CT`` (e.g. ``3to5`` for DEL-like, ``5to3`` for DUP-like) +""" + +from __future__ import annotations + +from typing import ClassVar + +from svforge import __version__ +from svforge.core.models import SV +from svforge.writers.base import CallerWriter + + +class DellyWriter(CallerWriter): + """ + DELLY 1.x VCF 4.2 writer + """ + + name: ClassVar[str] = "delly" + supported_svtypes: ClassVar[frozenset[str]] = frozenset({"DEL", "DUP", "INV", "INS", "BND"}) + + FILEFORMAT: ClassVar[str] = "VCFv4.2" + SOURCE_STRING: ClassVar[str] = f"svforge-{__version__} (mimics DELLY)" + SAMPLE_COLUMN_ORDER: ClassVar[tuple[str, ...]] = ("TUMOR", "NORMAL") + TEMPLATE_BASENAME: ClassVar[str] = "delly_somatic" + REQUIRED_PLACEHOLDERS: ClassVar[tuple[str, ...]] = ( + "{FILE_DATE}", + "{REFERENCE_FASTA}", + "{TUMOR_SAMPLE}", + "{NORMAL_SAMPLE}", + ) + + def format_record(self, sv: SV, sample_name: str) -> list[str]: + return [_delly_record(sv)] + + +def _ct_for(sv: SV) -> str: + """ + Return the DELLY connection-type string for an SV + """ + match sv.svtype: + case "DEL": + return "3to5" + case "DUP": + return "5to3" + case "INV": + return "3to3" if sv.strands == "++" else "5to5" + case "INS": + return "3to5" + case "BND": + s1, s2 = sv.strands[0], sv.strands[1] + left = "3" if s1 == "+" else "5" + right = "5" if s2 == "-" else "3" + return f"{left}to{right}" + case _: # pragma: no cover + return "NtoN" + + +def _sample_column(sv: SV) -> tuple[str, str]: + total = 30 + alt = max(1, round(total * sv.vaf)) + ref = max(0, total - alt) + junction_alt = max(1, alt // 2) + junction_ref = max(0, ref // 2) + gq = 60 + gl = ( + "-50,-5,0" + if sv.genotype == "1/1" + else ("0,-5,-50" if sv.genotype == "0/0" else "-10,-1,-10") + ) + fmt = "GT:GL:GQ:FT:RC:RCL:RCR:RDCN:DR:DV:RR:RV" + sample = f"{sv.genotype}:{gl}:{gq}:PASS:40:20:20:2:{ref}:{alt}:{junction_ref}:{junction_alt}" + return fmt, sample + + +def _base_info(sv: SV) -> list[str]: + ct = _ct_for(sv) + end = sv.end if sv.svtype != "BND" else sv.pos + chr2 = sv.mate_chrom if sv.svtype == "BND" else sv.chrom + pos2 = sv.mate_pos if sv.svtype == "BND" else sv.end + info = [ + "PRECISE", + f"SVTYPE={sv.svtype}", + "SVMETHOD=EMBL.DELLYv1.2.6-svforge", + f"CHR2={chr2}", + f"END={end}", + f"POS2={pos2}", + "PE=20", + "MAPQ=60", + f"CT={ct}", + "CIPOS=-10,10", + "CIEND=-10,10", + "SR=5", + "SRQ=1", + "CE=1.9", + ] + if sv.svtype == "INS": + info.append(f"SVLEN={sv.svlen}") + if sv.homlen: + info.append(f"HOMLEN={sv.homlen}") + if sv.origin == "somatic": + info.append("SOMATIC") + for key, value in sv.info_extra.items(): + info.append(f"{key}={value}" if value else key) + return info + + +def _delly_record(sv: SV) -> str: + alt = f"<{sv.svtype}>" + info = ";".join(_base_info(sv)) + fmt, sample = _sample_column(sv) + return "\t".join( + [ + sv.chrom, + str(sv.pos), + sv.id, + sv.ref_base, + alt, + ".", + sv.filter, + info, + fmt, + sample, + ] + ) + + +from svforge.writers._registry import register_writer # noqa: E402 + +register_writer("delly")(DellyWriter) diff --git a/src/svforge/writers/manta.py b/src/svforge/writers/manta.py new file mode 100644 index 0000000..11a2725 --- /dev/null +++ b/src/svforge/writers/manta.py @@ -0,0 +1,201 @@ +""" +Manta VCF writer + +Reproduces the VCF 4.1 dialect emitted by Illumina Manta 1.6.0 for +somatic SV calls. The header is loaded verbatim from the reference +template shipped under :mod:`svforge.data.headers` so that downstream +parsers cannot distinguish svforge output from a real Manta run, except +for the ``##svforge*`` provenance tags + +BND events are emitted as two mate records with ``MATEID`` cross-reference, +matching real Manta output. DEL/DUP/INV/INS events use symbolic alleles +""" + +from __future__ import annotations + +from typing import ClassVar + +from svforge import __version__ +from svforge.core.models import SV +from svforge.writers.base import CallerWriter + + +class MantaWriter(CallerWriter): + """ + Manta 1.6.x VCF 4.1 writer + """ + + name: ClassVar[str] = "manta" + supported_svtypes: ClassVar[frozenset[str]] = frozenset({"DEL", "DUP", "INV", "INS", "BND"}) + + FILEFORMAT: ClassVar[str] = "VCFv4.1" + SOURCE_STRING: ClassVar[str] = f"svforge-{__version__} (mimics GenerateSVCandidates 1.6.0)" + SAMPLE_COLUMN_ORDER: ClassVar[tuple[str, ...]] = ("NORMAL", "TUMOR") + TEMPLATE_BASENAME: ClassVar[str] = "manta_somatic" + REQUIRED_PLACEHOLDERS: ClassVar[tuple[str, ...]] = ( + "{FILE_DATE}", + "{REFERENCE_FASTA}", + "{CMDLINE}", + "{TUMOR_SAMPLE}", + "{NORMAL_SAMPLE}", + ) + + def format_record(self, sv: SV, sample_name: str) -> list[str]: + if sv.svtype == "BND": + return _bnd_mate_records(sv) + return [_symbolic_record(sv)] + + +def _sample_depth(vaf: float) -> tuple[int, int]: + """ + Return (ref_count, alt_count) consistent with ``vaf`` at 30x total + """ + total = 30 + alt = max(1, round(total * vaf)) + ref = max(0, total - alt) + return ref, alt + + +def _sample_column(sv: SV) -> tuple[str, str]: + """ + Return (FORMAT, sample) columns for a Manta record + + Only the FORMAT fields declared in the reference template (``PR``, ``SR``) + are emitted so that the output parses cleanly through :mod:`pysam` + """ + ref, alt = _sample_depth(sv.vaf) + split_alt = max(1, alt // 2) + split_ref = max(0, ref // 2) + fmt = "PR:SR" + sample = f"{ref},{alt}:{split_ref},{split_alt}" + return fmt, sample + + +def _base_info(sv: SV) -> list[str]: + info: list[str] = [f"SVTYPE={sv.svtype}"] + if sv.svtype in {"DEL", "DUP", "INV"}: + signed_len = -sv.svlen if sv.svtype == "DEL" else sv.svlen + info.append(f"END={sv.end}") + info.append(f"SVLEN={signed_len}") + elif sv.svtype == "INS": + info.append(f"END={sv.pos}") + info.append(f"SVLEN={sv.svlen}") + info.append(f"SVINSLEN={sv.svlen}") + if sv.ins_seq: + info.append(f"SVINSSEQ={sv.ins_seq}") + if sv.homlen: + info.append(f"HOMLEN={sv.homlen}") + if sv.homseq: + info.append(f"HOMSEQ={sv.homseq}") + if sv.origin == "somatic" and sv.svtype != "BND": + info.append("SOMATIC") + info.append("SOMATICSCORE=60") + for key, value in sv.info_extra.items(): + info.append(f"{key}={value}" if value else key) + return info + + +def _symbolic_record(sv: SV) -> str: + alt = f"<{sv.svtype}>" + info = ";".join(_base_info(sv)) + fmt, sample = _sample_column(sv) + return "\t".join( + [ + sv.chrom, + str(sv.pos), + sv.id, + sv.ref_base, + alt, + ".", + sv.filter, + info, + fmt, + sample, + ] + ) + + +def _bnd_alt(ref_base: str, mate_chrom: str, mate_pos: int, strands: str) -> str: + """ + Return the Manta-style BND ALT string for a breakend + + VCF 4.2 mate syntax: + + - ``++`` (``t[p[``): REF joins region right of ``p`` + - ``+-`` (``t]p]``): REF joins region left of ``p`` + - ``-+`` (``[p[t``): region right of ``p`` joins REF + - ``--`` (``]p]t``): region left of ``p`` joins REF + """ + loc = f"{mate_chrom}:{mate_pos}" + s1, s2 = strands[0], strands[1] + if s1 == "+" and s2 == "+": + return f"{ref_base}[{loc}[" + if s1 == "+" and s2 == "-": + return f"{ref_base}]{loc}]" + if s1 == "-" and s2 == "+": + return f"[{loc}[{ref_base}" + return f"]{loc}]{ref_base}" + + +def _mate_strands(strands: str) -> str: + """ + Flip strands for the mate record (breakend pair) + """ + s1, s2 = strands[0], strands[1] + return f"{s2}{s1}" + + +def _bnd_mate_records(sv: SV) -> list[str]: + if sv.mate_chrom is None or sv.mate_pos is None: + raise ValueError(f"BND {sv.id!r} missing mate coordinates") + id1 = f"{sv.id}_1" + id2 = f"{sv.id}_2" + + alt1 = _bnd_alt(sv.ref_base, sv.mate_chrom, sv.mate_pos, sv.strands) + alt2 = _bnd_alt(sv.ref_base, sv.chrom, sv.pos, _mate_strands(sv.strands)) + + info1 = ["SVTYPE=BND", f"MATEID={id2}", f"EVENT={sv.id}"] + info2 = ["SVTYPE=BND", f"MATEID={id1}", f"EVENT={sv.id}"] + if sv.homlen: + info1.append(f"HOMLEN={sv.homlen}") + info2.append(f"HOMLEN={sv.homlen}") + if sv.origin == "somatic": + for info in (info1, info2): + info.append("SOMATIC") + info.append("SOMATICSCORE=60") + + fmt, sample = _sample_column(sv) + rec1 = "\t".join( + [ + sv.chrom, + str(sv.pos), + id1, + sv.ref_base, + alt1, + ".", + sv.filter, + ";".join(info1), + fmt, + sample, + ] + ) + rec2 = "\t".join( + [ + sv.mate_chrom, + str(sv.mate_pos), + id2, + sv.ref_base, + alt2, + ".", + sv.filter, + ";".join(info2), + fmt, + sample, + ] + ) + return [rec1, rec2] + + +from svforge.writers._registry import register_writer # noqa: E402 + +register_writer("manta")(MantaWriter) From 34b96e84a076fe013160532ef97f5ec9a9fa15f3 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Thu, 23 Apr 2026 23:00:00 +0200 Subject: [PATCH 06/31] feat: import validation and overlap tooling --- src/svforge/validate/__init__.py | 5 ++ src/svforge/validate/annotate.py | 142 ++++++++++++++++++++++++++++++ src/svforge/validate/overlap.py | 146 +++++++++++++++++++++++++++++++ src/svforge/validate/report.py | 102 +++++++++++++++++++++ 4 files changed, 395 insertions(+) create mode 100644 src/svforge/validate/__init__.py create mode 100644 src/svforge/validate/annotate.py create mode 100644 src/svforge/validate/overlap.py create mode 100644 src/svforge/validate/report.py diff --git a/src/svforge/validate/__init__.py b/src/svforge/validate/__init__.py new file mode 100644 index 0000000..c24e9d7 --- /dev/null +++ b/src/svforge/validate/__init__.py @@ -0,0 +1,5 @@ +""" +End-to-end sanity check of svforge-generated VCFs +""" + +from __future__ import annotations diff --git a/src/svforge/validate/annotate.py b/src/svforge/validate/annotate.py new file mode 100644 index 0000000..7e7f1ff --- /dev/null +++ b/src/svforge/validate/annotate.py @@ -0,0 +1,142 @@ +""" +Blacklist annotation: tag SVs that overlap ENCODE blacklist regions + +A record is flagged ``poor_mappability=True`` in its INFO if any of its +breakpoints falls within a blacklist interval. For intra-chromosomal SVs, +we also check the spanning interval [POS, END]; for BND we check both +breakends. + +Counts returned to the validate report are **event-based** (a Manta BND +mate pair is one SV event, not two records), see :func:`event_id` +""" + +from __future__ import annotations + +from pathlib import Path + +import pysam + +from svforge.core.regions import RegionSet + +POOR_MAPPABILITY_FLAG = "poor_mappability" +POOR_MAPPABILITY_HEADER = ( + f"##INFO=' +) + + +def event_id(rec: pysam.VariantRecord) -> tuple[str, str]: + """ + Return a canonical event identifier for ``rec`` + + An SV event may span multiple VCF records (Manta emits a BND as a + mate pair). This helper returns a hashable key that is identical + across the records belonging to the same event so that counts are + taken at the event level, not the record level + + Resolution order: + + 1. ``INFO/EVENT`` (Manta groups mates under a shared event ID) + 2. ``INFO/MATEID`` canonicalised as a sorted pair with the record ID + 3. ``ID`` fallback (record-unique; one event per record) + """ + event = _first_info(rec, "EVENT") + if event is not None: + return ("event", str(event)) + mate = _first_info(rec, "MATEID") + if mate is not None and rec.id: + pair = tuple(sorted([str(rec.id), str(mate)])) + return ("mate", f"{pair[0]}|{pair[1]}") + return ("id", str(rec.id or f"_anon_{rec.chrom}_{rec.pos}")) + + +def annotate_vcf( + vcf_in: str | Path, + vcf_out: str | Path, + blacklist: RegionSet, +) -> tuple[int, int]: + """ + Copy ``vcf_in`` to ``vcf_out`` tagging blacklist-overlapping SVs + + Returns ``(n_total_events, n_flagged_events)`` -- mate pairs count as + a single event (see :func:`event_id`). Per-record flagging is + preserved in the output VCF so downstream consumers still see the + ``poor_mappability`` tag on every record whose own breakend falls + inside a blacklisted interval + """ + in_path = Path(vcf_in) + out_path = Path(vcf_out) + out_path.parent.mkdir(parents=True, exist_ok=True) + + total_events: set[tuple[str, str]] = set() + flagged_events: set[tuple[str, str]] = set() + + with pysam.VariantFile(str(in_path)) as vin: + if POOR_MAPPABILITY_FLAG not in vin.header.info: + vin.header.add_line(POOR_MAPPABILITY_HEADER) + + mode = _write_mode_for(out_path) + with pysam.VariantFile(str(out_path), mode, header=vin.header) as vout: # type: ignore[arg-type] + for rec in vin: + eid = event_id(rec) + total_events.add(eid) + if _record_overlaps(rec, blacklist): + rec.info[POOR_MAPPABILITY_FLAG] = True + flagged_events.add(eid) + vout.write(rec) + + return len(total_events), len(flagged_events) + + +def _write_mode_for(path: Path) -> str: + name = path.name.lower() + if name.endswith(".vcf.gz"): + return "wz" + if name.endswith(".bcf"): + return "wb" + return "w" + + +def _record_overlaps(rec: pysam.VariantRecord, blacklist: RegionSet) -> bool: + chrom = str(rec.chrom) + pos = int(rec.pos) + svtype = _first_info(rec, "SVTYPE") + + if svtype == "BND": + if blacklist.overlaps_point(chrom, pos): + return True + chr2 = _first_info(rec, "CHR2") + pos2 = _first_info(rec, "POS2") + if chr2 is not None and pos2 is not None: + return blacklist.overlaps_point(str(chr2), _to_int(pos2)) + return False + + end = int(rec.stop) + return blacklist.overlaps_vcf(chrom, pos, end) + + +def _to_int(value: object) -> int: + """ + Safely coerce a pysam INFO scalar (already proven non-None) to ``int`` + """ + if isinstance(value, (int, str, float)): + return int(value) + return int(str(value)) + + +def _first_info(rec: pysam.VariantRecord, key: str) -> object: + """ + Return the first value for INFO key ``key`` or ``None`` when absent + + pysam raises ValueError if ``key`` is not declared in the header, so we + guard against both that and normal absence + """ + if key not in rec.header.info: + return None + try: + value = rec.info.get(key) + except (KeyError, ValueError): + return None + if isinstance(value, tuple): + return value[0] if value else None + return value diff --git a/src/svforge/validate/overlap.py b/src/svforge/validate/overlap.py new file mode 100644 index 0000000..2d5eb5e --- /dev/null +++ b/src/svforge/validate/overlap.py @@ -0,0 +1,146 @@ +""" +gnomAD SV overlap with 2 bp breakpoint tolerance + +Semantics: an SV matches gnomAD if there exists a gnomAD SV with both +breakpoints within :data:`DEFAULT_TOLERANCE_BP` base-pairs on the same +chromosomes. This mirrors how clinical SV pipelines actually filter +germline events -- the svtype is not part of the match condition since +callers often disagree on DEL vs CNV vs DUP for the same locus +""" + +from __future__ import annotations + +from collections import defaultdict +from collections.abc import Iterator +from dataclasses import dataclass +from pathlib import Path + +import pysam + +from svforge.core.models import SV + +DEFAULT_TOLERANCE_BP = 2 + + +@dataclass(slots=True, frozen=True) +class _IndexedSV: + svtype: str + chrom: str + pos: int + chrom2: str + pos2: int + + +class GnomadIndex: + """ + Chromosome-keyed index of gnomAD SV sites for tolerant breakpoint lookup + """ + + __slots__ = ("_by_chrom",) + + def __init__(self) -> None: + self._by_chrom: dict[str, list[_IndexedSV]] = defaultdict(list) + + def add(self, entry: _IndexedSV) -> None: + self._by_chrom[entry.chrom].append(entry) + + def overlaps(self, sv: SV, tolerance: int = DEFAULT_TOLERANCE_BP) -> bool: + """ + True if ``sv`` has a gnomAD match with both breakpoints within ``tolerance`` + """ + sv_chrom2 = sv.mate_chrom if sv.svtype == "BND" else sv.chrom + sv_pos2 = sv.mate_pos if sv.svtype == "BND" else sv.end + if sv_chrom2 is None or sv_pos2 is None: + return False + + for entry in self._by_chrom.get(sv.chrom, ()): + if abs(entry.pos - sv.pos) > tolerance: + continue + if entry.chrom2 != sv_chrom2: + continue + if abs(entry.pos2 - sv_pos2) > tolerance: + continue + return True + return False + + def __len__(self) -> int: + return sum(len(v) for v in self._by_chrom.values()) + + +def load_gnomad_index(vcf_path: str | Path) -> GnomadIndex: + """ + Parse a gnomAD SV VCF into a :class:`GnomadIndex` + """ + index = GnomadIndex() + for entry in _iter_gnomad(Path(vcf_path)): + index.add(entry) + return index + + +def _iter_gnomad(path: Path) -> Iterator[_IndexedSV]: + with pysam.VariantFile(str(path)) as vf: + for rec in vf: + svtype = _extract_svtype(rec) + if svtype is None: + continue + chrom = str(rec.chrom) + pos = int(rec.pos) + chrom2, pos2 = _extract_mate_coords(rec, svtype, chrom, pos) + yield _IndexedSV(svtype=svtype, chrom=chrom, pos=pos, chrom2=chrom2, pos2=pos2) + + +def _extract_svtype(rec: pysam.VariantRecord) -> str | None: + svtype = _safe_info(rec, "SVTYPE") + if isinstance(svtype, tuple): + svtype = svtype[0] if svtype else None + if svtype is None: + return None + return str(svtype).upper() + + +def _extract_mate_coords( + rec: pysam.VariantRecord, + svtype: str, + chrom: str, + pos: int, +) -> tuple[str, int]: + chrom2 = _safe_info(rec, "CHR2") or _safe_info(rec, "CHROM2") + pos2 = _safe_info(rec, "POS2") or _safe_info(rec, "END2") + end = _safe_info(rec, "END") + if end is None: + end = rec.stop + + if isinstance(chrom2, tuple): + chrom2 = chrom2[0] if chrom2 else None + if isinstance(pos2, tuple): + pos2 = pos2[0] if pos2 else None + + if svtype == "BND" and chrom2 is not None and pos2 is not None: + return str(chrom2), _to_int(pos2) + if end is None: + return chrom, pos + return chrom, _to_int(end) + + +def _to_int(value: object) -> int: + """ + Safely coerce a pysam INFO scalar (already proven non-None) to ``int`` + """ + if isinstance(value, (int, str, float)): + return int(value) + return int(str(value)) + + +def _safe_info(rec: pysam.VariantRecord, key: str) -> object: + """ + pysam raises ValueError if ``key`` is not declared in the VCF header + + We want missing-key to mean "absent" when polling optional INFO tags + across heterogeneous gnomAD / caller dialects + """ + if key not in rec.header.info: + return None + try: + return rec.info.get(key) + except (KeyError, ValueError): + return None diff --git a/src/svforge/validate/report.py b/src/svforge/validate/report.py new file mode 100644 index 0000000..94e729b --- /dev/null +++ b/src/svforge/validate/report.py @@ -0,0 +1,102 @@ +""" +Fraction report: compare observed vs expected blacklist/gnomAD overlap rates +""" + +from __future__ import annotations + +from dataclasses import dataclass +from pathlib import Path +from typing import TextIO + + +@dataclass(slots=True, frozen=True) +class FractionCheck: + """ + One row of the validation report + """ + + metric: str + expected: float + observed: float + tolerance: float + total: int + count: int + + @property + def passed(self) -> bool: + if self.expected == 0.0: + return self.observed == 0.0 + return abs(self.observed - self.expected) / self.expected <= self.tolerance + + def as_row(self) -> list[str]: + return [ + self.metric, + _fmt(self.expected), + _fmt(self.observed), + _fmt(self.tolerance), + str(self.total), + str(self.count), + "PASS" if self.passed else "FAIL", + ] + + +HEADER = ["metric", "expected", "observed", "tolerance", "total", "count", "status"] + + +def build_report( + total_svs: int, + n_gnomad_overlaps: int, + n_blacklist_flags: int, + expected_gnomad_fraction: float, + expected_blacklist_fraction: float, + tolerance: float, +) -> list[FractionCheck]: + """ + Compose the full set of checks for the validate subcommand + """ + obs_gnomad = 0.0 if total_svs == 0 else n_gnomad_overlaps / total_svs + obs_blacklist = 0.0 if total_svs == 0 else n_blacklist_flags / total_svs + return [ + FractionCheck( + metric="gnomad_overlap_fraction", + expected=expected_gnomad_fraction, + observed=obs_gnomad, + tolerance=tolerance, + total=total_svs, + count=n_gnomad_overlaps, + ), + FractionCheck( + metric="blacklist_flag_fraction", + expected=expected_blacklist_fraction, + observed=obs_blacklist, + tolerance=tolerance, + total=total_svs, + count=n_blacklist_flags, + ), + ] + + +def write_tsv(checks: list[FractionCheck], out: TextIO) -> None: + """ + Write a TSV report with a header row and one row per check + """ + out.write("\t".join(HEADER)) + out.write("\n") + for chk in checks: + out.write("\t".join(chk.as_row())) + out.write("\n") + + +def write_tsv_path(checks: list[FractionCheck], path: str | Path) -> Path: + """ + Write the TSV report to ``path`` (parent dir created if needed) + """ + p = Path(path) + p.parent.mkdir(parents=True, exist_ok=True) + with p.open("w", encoding="utf-8") as fh: + write_tsv(checks, fh) + return p + + +def _fmt(x: float) -> str: + return f"{x:.6f}" From 009b159e04d90fd121419af3e6f80913d29af1b5 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Thu, 23 Apr 2026 23:03:03 +0200 Subject: [PATCH 07/31] data: add banks and header templates --- src/svforge/data/__init__.py | 5 + src/svforge/data/banks/default_hg38.yaml | 108 ++++ src/svforge/data/headers/__init__.py | 3 + .../headers/delly_somatic_hg38.vcf.template | 501 ++++++++++++++++++ .../headers/manta_somatic_hg38.vcf.template | 489 +++++++++++++++++ 5 files changed, 1106 insertions(+) create mode 100644 src/svforge/data/__init__.py create mode 100644 src/svforge/data/banks/default_hg38.yaml create mode 100644 src/svforge/data/headers/__init__.py create mode 100644 src/svforge/data/headers/delly_somatic_hg38.vcf.template create mode 100644 src/svforge/data/headers/manta_somatic_hg38.vcf.template diff --git a/src/svforge/data/__init__.py b/src/svforge/data/__init__.py new file mode 100644 index 0000000..4f1602a --- /dev/null +++ b/src/svforge/data/__init__.py @@ -0,0 +1,5 @@ +""" +Packaged data (default banks) +""" + +from __future__ import annotations diff --git a/src/svforge/data/banks/default_hg38.yaml b/src/svforge/data/banks/default_hg38.yaml new file mode 100644 index 0000000..496765f --- /dev/null +++ b/src/svforge/data/banks/default_hg38.yaml @@ -0,0 +1,108 @@ +# Default hg38 SV bank shipped with svforge +# +# Each template draws an SV family. The sampler picks a template +# proportionally to its weight, then draws svlen uniformly within the +# range. chroms=[] means any primary contig is allowed + +name: default_hg38 +genome: hg38 + +templates: + # Deletions - dominant in most SV callsets + - svtype: DEL + svlen: [50, 500] + homlen: [0, 10] + weight: 4.0 + - svtype: DEL + svlen: [500, 5000] + homlen: [0, 20] + weight: 3.0 + - svtype: DEL + svlen: [5000, 50000] + homlen: [0, 30] + weight: 2.0 + - svtype: DEL + svlen: [50000, 500000] + homlen: [0, 50] + weight: 1.0 + + # Duplications + - svtype: DUP + svlen: [200, 5000] + homlen: [0, 15] + weight: 2.0 + - svtype: DUP + svlen: [5000, 50000] + homlen: [0, 25] + weight: 1.5 + - svtype: DUP + svlen: [50000, 500000] + homlen: [0, 40] + weight: 0.8 + + # Inversions + - svtype: INV + svlen: [500, 10000] + homlen: [0, 15] + weight: 1.5 + - svtype: INV + svlen: [10000, 200000] + homlen: [0, 30] + weight: 1.0 + - svtype: INV + svlen: [200000, 2000000] + homlen: [0, 50] + weight: 0.5 + + # Insertions + - svtype: INS + svlen: [50, 300] + homlen: [0, 10] + weight: 2.0 + - svtype: INS + svlen: [300, 2000] + homlen: [0, 15] + weight: 1.0 + + # BND - translocations and complex events + - svtype: BND + svlen: [1, 1] + homlen: [0, 10] + weight: 1.5 + - svtype: BND + svlen: [1, 1] + homlen: [0, 10] + weight: 1.0 + chroms: [chr1, chr2, chr3, chr4, chr5] + - svtype: BND + svlen: [1, 1] + homlen: [0, 10] + weight: 1.0 + chroms: [chr17, chr18, chr19, chr20, chr21, chr22] + + # Small representative extras to reach ~20 templates + - svtype: DEL + svlen: [50, 150] + homlen: [0, 5] + weight: 2.0 + chroms: [chrX] + - svtype: DUP + svlen: [200, 2000] + homlen: [0, 10] + weight: 0.5 + chroms: [chrX, chrY] + - svtype: INV + svlen: [1000, 50000] + homlen: [0, 20] + weight: 0.5 + chroms: [chrX] + - svtype: INS + svlen: [50, 500] + homlen: [0, 8] + weight: 0.5 + chroms: [chr21, chr22] + - svtype: DEL + svlen: [10000, 100000] + homlen: [0, 30] + weight: 1.0 + chroms: [chr13, chr14, chr15] diff --git a/src/svforge/data/headers/__init__.py b/src/svforge/data/headers/__init__.py new file mode 100644 index 0000000..c9921db --- /dev/null +++ b/src/svforge/data/headers/__init__.py @@ -0,0 +1,3 @@ +""" +Reference VCF header templates shipped with svforge +""" diff --git a/src/svforge/data/headers/delly_somatic_hg38.vcf.template b/src/svforge/data/headers/delly_somatic_hg38.vcf.template new file mode 100644 index 0000000..8a7f3be --- /dev/null +++ b/src/svforge/data/headers/delly_somatic_hg38.vcf.template @@ -0,0 +1,501 @@ +##fileformat=VCFv4.2 +##FILTER= +##fileDate={FILE_DATE} +##ALT= +##ALT= +##ALT= +##ALT= +##ALT= +##FILTER= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##reference={REFERENCE_FASTA} +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##INFO= +##INFO= +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT {TUMOR_SAMPLE} {NORMAL_SAMPLE} diff --git a/src/svforge/data/headers/manta_somatic_hg38.vcf.template b/src/svforge/data/headers/manta_somatic_hg38.vcf.template new file mode 100644 index 0000000..59820e2 --- /dev/null +++ b/src/svforge/data/headers/manta_somatic_hg38.vcf.template @@ -0,0 +1,489 @@ +##fileformat=VCFv4.1 +##fileDate={FILE_DATE} +##source=GenerateSVCandidates 1.6.0 +##reference=file:///{REFERENCE_FASTA} +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##FORMAT= +##FORMAT=0.999"> +##FILTER= +##FILTER= +##FILTER= +##ALT= +##ALT= +##ALT= +##cmdline={CMDLINE} +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT {NORMAL_SAMPLE} {TUMOR_SAMPLE} From 7f7a69b965f1a80a9373e97b06ecb55271c583c2 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Thu, 23 Apr 2026 23:04:17 +0200 Subject: [PATCH 08/31] feat: CLI and console scripte --- src/svforge/__init__.py | 15 ++ src/svforge/__main__.py | 10 + src/svforge/cli.py | 539 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 564 insertions(+) create mode 100644 src/svforge/__init__.py create mode 100644 src/svforge/__main__.py create mode 100644 src/svforge/cli.py diff --git a/src/svforge/__init__.py b/src/svforge/__init__.py new file mode 100644 index 0000000..e1fb9f5 --- /dev/null +++ b/src/svforge/__init__.py @@ -0,0 +1,15 @@ +""" +svForge -- synthetic structural-variant VCF generator +""" + +from __future__ import annotations + +from importlib.metadata import PackageNotFoundError +from importlib.metadata import version as _pkg_version + +try: + __version__ = _pkg_version("svforge") +except PackageNotFoundError: # pragma: no cover -- running from a source checkout + __version__ = "0.0.0+local" + +__all__ = ["__version__"] diff --git a/src/svforge/__main__.py b/src/svforge/__main__.py new file mode 100644 index 0000000..72fc52a --- /dev/null +++ b/src/svforge/__main__.py @@ -0,0 +1,10 @@ +""" +Allow ``python -m svforge`` to invoke the CLI +""" + +from __future__ import annotations + +from svforge.cli import main + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/src/svforge/cli.py b/src/svforge/cli.py new file mode 100644 index 0000000..e7ae6ce --- /dev/null +++ b/src/svforge/cli.py @@ -0,0 +1,539 @@ +""" +svforge command-line interface + +Subcommands: +- ``gen`` single-sample synthetic VCF +- ``gen-pair`` tumor + normal paired VCFs +- ``validate`` end-to-end sanity check +- ``bank`` list / show built-in banks +- ``callers`` list every registered writer +""" + +from __future__ import annotations + +import argparse +import contextlib +import logging +import secrets +import sys +from collections.abc import Sequence +from pathlib import Path + +import pysam +import yaml + +from svforge import __version__ +from svforge.core.bank import Bank, list_builtin_banks, load_bank +from svforge.core.genome import GenomeBuild, normalize_chromosomes, validate_genome +from svforge.core.models import SV +from svforge.core.provenance import build_svforge_tags +from svforge.core.regions import RegionSet, load_bed +from svforge.core.sampler import SamplerConfig, sample, sample_pair +from svforge.io.vcf_writer import write_vcf +from svforge.validate.annotate import POOR_MAPPABILITY_FLAG, annotate_vcf, event_id +from svforge.validate.overlap import DEFAULT_TOLERANCE_BP, GnomadIndex, load_gnomad_index +from svforge.validate.report import build_report, write_tsv, write_tsv_path +from svforge.writers import CallerWriter, available_writers, get_writer + +_SEED_MAX = 2**31 - 1 + +log = logging.getLogger("svforge") + + +def main(argv: Sequence[str] | None = None) -> int: + """ + Entry point invoked by the ``svforge`` console script + """ + parser = _build_parser() + args = parser.parse_args(argv) + _setup_logging(args.verbose if hasattr(args, "verbose") else 0) + + handler = _DISPATCH.get(args.command) + if handler is None: + parser.print_help() + return 2 + try: + return handler(args) + except (ValueError, FileNotFoundError, KeyError) as exc: + log.error("%s: %s", type(exc).__name__, exc) + return 1 + + +def _build_parser() -> argparse.ArgumentParser: + p = argparse.ArgumentParser( + prog="svforge", + description="Synthetic VCF generator for structural variants", + ) + p.add_argument("--version", action="version", version=f"svforge {__version__}") + p.add_argument("-v", "--verbose", action="count", default=0, help="Increase log verbosity") + + sub = p.add_subparsers(dest="command", required=True) + + _add_gen_parser(sub) + _add_gen_pair_parser(sub) + _add_validate_parser(sub) + _add_bank_parser(sub) + _add_callers_parser(sub) + + return p + + +def _svtype_list(value: str) -> frozenset[str]: + items = [v.strip().upper() for v in value.split(",") if v.strip()] + if not items: + raise argparse.ArgumentTypeError("svtypes must not be empty") + return frozenset(items) + + +def _int_pair(value: str) -> tuple[int, int]: + try: + lo, hi = (int(v) for v in value.split(",")) + except ValueError as exc: + raise argparse.ArgumentTypeError(f"expected MIN,MAX ints, got {value!r}") from exc + if hi < lo: + raise argparse.ArgumentTypeError(f"MAX < MIN in {value!r}") + return lo, hi + + +def _float_pair(value: str) -> tuple[float, float]: + try: + lo, hi = (float(v) for v in value.split(",")) + except ValueError as exc: + raise argparse.ArgumentTypeError(f"expected MIN,MAX floats, got {value!r}") from exc + if hi < lo: + raise argparse.ArgumentTypeError(f"MAX < MIN in {value!r}") + return lo, hi + + +def _chromosome_list(value: str) -> list[str]: + items = [v.strip() for v in value.split(",") if v.strip()] + if not items: + raise argparse.ArgumentTypeError("--chromosomes must not be empty") + return items + + +def _add_common_sampling_args(p: argparse.ArgumentParser) -> None: + p.add_argument("--caller", required=True, choices=sorted(available_writers())) + p.add_argument("--bank", default="default_hg38", help="Built-in bank name or path to YAML bank") + p.add_argument("--seed", type=int, default=None) + p.add_argument( + "--genome", + default="hg38", + help="Reference build for contig lengths (V1: hg38 only)", + ) + p.add_argument( + "--header-template", + type=Path, + default=None, + metavar="PATH", + help="Override the bundled VCF header template with a user-supplied one", + ) + p.add_argument("--svtypes", type=_svtype_list, default=None) + p.add_argument("--blacklist-bed", type=Path, default=None) + p.add_argument("--blacklist-fraction", type=float, default=0.0) + p.add_argument("--gnomad-bed", type=Path, default=None) + p.add_argument("--gnomad-fraction", type=float, default=0.0) + p.add_argument("--homlen-range", type=_int_pair, default=None, metavar="MIN,MAX") + p.add_argument("--svlen-range", type=_int_pair, default=None, metavar="MIN,MAX") + p.add_argument("--vaf-range", type=_float_pair, default=(0.3, 1.0), metavar="MIN,MAX") + p.add_argument( + "--chromosomes", + type=_chromosome_list, + default=None, + metavar="CHR[,CHR...]", + help="Restrict SV generation to this subset of chromosomes (e.g. chr1,chr7 or 1,7)", + ) + + +def _add_gen_parser(sub: argparse._SubParsersAction[argparse.ArgumentParser]) -> None: + p = sub.add_parser("gen", help="Generate one synthetic VCF for one sample") + p.add_argument("--out", type=Path, required=True, help="Output .vcf / .vcf.gz / .bcf") + p.add_argument("--n", type=int, required=True) + p.add_argument("--sample-name", required=True) + _add_common_sampling_args(p) + + +def _add_gen_pair_parser(sub: argparse._SubParsersAction[argparse.ArgumentParser]) -> None: + p = sub.add_parser("gen-pair", help="Generate paired tumor/normal VCFs") + p.add_argument("--out-tumor", type=Path, required=True) + p.add_argument("--out-normal", type=Path, required=True) + p.add_argument("--n-somatic", type=int, required=True) + p.add_argument("--n-germline", type=int, required=True) + p.add_argument("--tumor-sample-name", required=True) + p.add_argument("--normal-sample-name", required=True) + _add_common_sampling_args(p) + + +def _add_validate_parser(sub: argparse._SubParsersAction[argparse.ArgumentParser]) -> None: + p = sub.add_parser("validate", help="Sanity-check a svforge-generated VCF") + p.add_argument("--vcf", type=Path, required=True) + p.add_argument("--blacklist-bed", type=Path, required=True) + p.add_argument("--gnomad-vcf", type=Path, required=True) + p.add_argument("--expected-blacklist-fraction", type=float, required=True) + p.add_argument("--expected-gnomad-fraction", type=float, required=True) + p.add_argument("--tolerance", type=float, default=0.20) + p.add_argument("--report-tsv", type=Path, default=None) + p.add_argument( + "--annotated-vcf", + type=Path, + default=None, + help="If set, write the blacklist-annotated VCF to this path", + ) + + +def _add_bank_parser(sub: argparse._SubParsersAction[argparse.ArgumentParser]) -> None: + p = sub.add_parser("bank", help="Inspect built-in banks") + bsub = p.add_subparsers(dest="bank_cmd", required=True) + bsub.add_parser("list", help="List built-in banks") + show = bsub.add_parser("show", help="Dump a bank as YAML") + show.add_argument("name", nargs="?", default="default_hg38") + + +def _add_callers_parser(sub: argparse._SubParsersAction[argparse.ArgumentParser]) -> None: + sub.add_parser("callers", help="List every registered writer") + + +def _cmd_gen(args: argparse.Namespace) -> int: + bank = load_bank(args.bank) + effective_seed = _effective_seed(args.seed) + args.seed = effective_seed + cfg = _make_sampler_config(args, bank) + svs = sample(bank, cfg) + writer = get_writer(args.caller) + provenance = build_svforge_tags(caller=args.caller, seed=effective_seed, argv=sys.argv) + _write_sample_vcf( + writer, + svs, + args.sample_name, + args.out, + args.genome, + provenance, + header_template_override=args.header_template, + ) + log.info("Wrote %d SVs to %s (seed=%d)", len(svs), args.out, effective_seed) + return 0 + + +def _cmd_gen_pair(args: argparse.Namespace) -> int: + bank = load_bank(args.bank) + effective_seed = _effective_seed(args.seed) + args.seed = effective_seed + cfg = _make_sampler_config(args, bank, n_override=0) + pair = sample_pair(bank, args.n_somatic, args.n_germline, cfg) + writer = get_writer(args.caller) + provenance = build_svforge_tags(caller=args.caller, seed=effective_seed, argv=sys.argv) + _write_sample_vcf( + writer, + pair.tumor, + args.tumor_sample_name, + args.out_tumor, + args.genome, + provenance, + header_template_override=args.header_template, + ) + _write_sample_vcf( + writer, + pair.normal, + args.normal_sample_name, + args.out_normal, + args.genome, + provenance, + header_template_override=args.header_template, + ) + log.info( + "Tumor: %d SVs (%d somatic + %d germline), Normal: %d SVs -> %s, %s (seed=%d)", + len(pair.tumor), + len(pair.somatic_ids), + len(pair.germline_ids), + len(pair.normal), + args.out_tumor, + args.out_normal, + effective_seed, + ) + return 0 + + +def _effective_seed(seed: int | None) -> int: + """ + Pick the effective seed: the user's if supplied, otherwise a fresh one + + The result is always logged in the ``##svforgeSeed`` provenance tag so a + run is always reproducible from its output VCF + """ + if seed is not None: + return int(seed) + return secrets.randbelow(_SEED_MAX) + + +def _cmd_validate(args: argparse.Namespace) -> int: + blacklist = load_bed(args.blacklist_bed) + gnomad = load_gnomad_index(args.gnomad_vcf) + + annotated_path = args.annotated_vcf + if annotated_path is None: + annotated_path = args.vcf.with_suffix(args.vcf.suffix + ".annotated.vcf") + total, flagged = annotate_vcf(args.vcf, annotated_path, blacklist) + gnomad_hits = _count_gnomad_hits(annotated_path, gnomad) + + checks = build_report( + total_svs=total, + n_gnomad_overlaps=gnomad_hits, + n_blacklist_flags=flagged, + expected_gnomad_fraction=args.expected_gnomad_fraction, + expected_blacklist_fraction=args.expected_blacklist_fraction, + tolerance=args.tolerance, + ) + + if args.report_tsv: + write_tsv_path(checks, args.report_tsv) + else: + write_tsv(checks, sys.stdout) + + if args.annotated_vcf is None: + _maybe_unlink(annotated_path) + + return 0 if all(c.passed for c in checks) else 1 + + +def _cmd_bank(args: argparse.Namespace) -> int: + if args.bank_cmd == "list": + for name in list_builtin_banks(): + print(name) + return 0 + if args.bank_cmd == "show": + bank = load_bank(args.name) + yaml.safe_dump(_bank_to_dict(bank), sys.stdout, sort_keys=False) + return 0 + return 2 # pragma: no cover -- argparse enforces required subcommand + + +def _cmd_callers(_args: argparse.Namespace) -> int: + for name in available_writers(): + print(name) + return 0 + + +_DISPATCH = { + "gen": _cmd_gen, + "gen-pair": _cmd_gen_pair, + "validate": _cmd_validate, + "bank": _cmd_bank, + "callers": _cmd_callers, +} + + +def _make_sampler_config( + args: argparse.Namespace, + bank: Bank, + n_override: int | None = None, +) -> SamplerConfig: + genome: GenomeBuild = validate_genome(args.genome) + blacklist = load_bed(args.blacklist_bed) if args.blacklist_bed else None + gnomad = _maybe_load_gnomad(args.gnomad_bed) + + chroms: frozenset[str] | None = None + raw_chroms = getattr(args, "chromosomes", None) + if raw_chroms: + chroms = frozenset(normalize_chromosomes(raw_chroms, genome)) + + return SamplerConfig( + n=n_override if n_override is not None else args.n, + genome=genome, + svtypes=args.svtypes, + svlen_range=args.svlen_range, + homlen_range=args.homlen_range, + vaf_range=args.vaf_range, + blacklist=blacklist, + blacklist_fraction=args.blacklist_fraction, + gnomad=gnomad, + gnomad_fraction=args.gnomad_fraction, + seed=args.seed, + chroms=chroms, + ) + + +def _maybe_load_gnomad(path: Path | None) -> RegionSet | None: + """ + Accept either a BED (preferred) or a VCF and build a :class:`RegionSet` + """ + if path is None: + return None + lower = path.name.lower() + if lower.endswith(".bed") or lower.endswith(".bed.gz"): + return load_bed(path) + if lower.endswith((".vcf", ".vcf.gz", ".bcf")): + return _region_set_from_vcf(path) + return load_bed(path) + + +def _region_set_from_vcf(path: Path) -> RegionSet: + rs = RegionSet() + with pysam.VariantFile(str(path)) as vf: + for rec in vf: + chrom = str(rec.chrom) + start = int(rec.pos) - 1 + end = int(rec.stop) + if end <= start: + end = start + 1 + rs.add(chrom, start, end) + return rs + + +def _write_sample_vcf( + writer: CallerWriter, + svs: list[SV], + sample_name: str, + out_path: Path, + genome: GenomeBuild, + provenance_tags: Sequence[str], + *, + header_template_override: Path | None = None, +) -> None: + header = writer.header_lines( + sample_name, + genome=genome, + provenance_tags=provenance_tags, + template_override=header_template_override, + ) + records = writer.format_records(svs, sample_name) + write_vcf(out_path, header, records) + + +def _count_gnomad_hits(vcf_path: Path, gnomad_index: GnomadIndex) -> int: + """ + Event-level count of gnomAD overlaps (mate pairs count once) + """ + hit_events: set[tuple[str, str]] = set() + with pysam.VariantFile(str(vcf_path)) as vf: + for rec in vf: + sv = _pysam_to_sv(rec) + if sv is None: + continue + if gnomad_index.overlaps(sv, tolerance=DEFAULT_TOLERANCE_BP): + hit_events.add(event_id(rec)) + return len(hit_events) + + +def _pysam_to_sv(rec: pysam.VariantRecord) -> SV | None: + svtype_raw = _safe_info(rec, "SVTYPE") + if isinstance(svtype_raw, tuple): + svtype_raw = svtype_raw[0] if svtype_raw else None + if svtype_raw is None: + return None + svtype = str(svtype_raw).upper() + + chrom = str(rec.chrom) + pos = int(rec.pos) + end = int(rec.stop) + + chr2 = _safe_info(rec, "CHR2") + if isinstance(chr2, tuple): + chr2 = chr2[0] if chr2 else None + pos2 = _safe_info(rec, "POS2") + if isinstance(pos2, tuple): + pos2 = pos2[0] if pos2 else None + + mate_chrom: str | None = None + mate_pos: int | None = None + if svtype == "BND": + if chr2 is not None and pos2 is not None: + mate_chrom = str(chr2) + mate_pos = _to_int(pos2) + else: + alt = str(rec.alts[0]) if rec.alts else "" + parsed = _parse_bnd_alt(alt) + if parsed is None: + return None + mate_chrom, mate_pos = parsed + end = pos + + svlen_raw = _safe_info(rec, "SVLEN") + if isinstance(svlen_raw, tuple): + svlen_raw = svlen_raw[0] if svlen_raw else None + svlen = abs(_to_int(svlen_raw)) if svlen_raw is not None else max(1, end - pos) + if svtype == "BND": + svlen = 1 + + flag_raw = _safe_info(rec, POOR_MAPPABILITY_FLAG) + info_extra: dict[str, str] = {} + if bool(flag_raw): + info_extra[POOR_MAPPABILITY_FLAG] = "" + + return SV( + id=str(rec.id) if rec.id else f"rec_{pos}", + svtype=svtype, + chrom=chrom, + pos=pos, + end=end, + svlen=svlen, + mate_chrom=mate_chrom, + mate_pos=mate_pos, + info_extra=info_extra, + ) + + +def _safe_info(rec: pysam.VariantRecord, key: str) -> object: + """ + Return INFO value for ``key`` or None if the header lacks the declaration + """ + if key not in rec.header.info: + return None + try: + return rec.info.get(key) + except (KeyError, ValueError): + return None + + +def _to_int(value: object) -> int: + """ + Coerce a pysam INFO scalar (already proven non-None) to ``int`` + """ + if isinstance(value, (int, str, float)): + return int(value) + return int(str(value)) + + +def _parse_bnd_alt(alt: str) -> tuple[str, int] | None: + for opener, closer in (("[", "["), ("]", "]")): + if opener in alt and closer in alt: + try: + inside = alt.split(opener, 1)[1].split(closer, 1)[0] + chrom, pos_str = inside.split(":", 1) + return chrom, int(pos_str) + except (IndexError, ValueError): + continue + return None + + +def _bank_to_dict(bank: Bank) -> dict[str, object]: + return { + "name": bank.name, + "genome": bank.genome, + "templates": [ + { + "svtype": t.svtype, + "svlen": [t.svlen_min, t.svlen_max], + "homlen": [t.homlen_min, t.homlen_max], + "weight": t.weight, + "chroms": list(t.chroms), + } + for t in bank.templates + ], + } + + +def _maybe_unlink(path: Path) -> None: + with contextlib.suppress(FileNotFoundError): + path.unlink() + + +def _setup_logging(verbose: int) -> None: + level = logging.WARNING + if verbose == 1: + level = logging.INFO + elif verbose >= 2: + level = logging.DEBUG + logging.basicConfig( + level=level, + format="%(asctime)s %(levelname)s %(name)s: %(message)s", + ) From 05ac4a8d9e331199dba37003510a0ff7f126a726 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Thu, 23 Apr 2026 23:12:18 +0200 Subject: [PATCH 09/31] feat: add I/O layer for VCF, gzip, and BCF --- src/svforge/io/__init__.py | 5 ++ src/svforge/io/vcf_writer.py | 89 ++++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 src/svforge/io/__init__.py create mode 100644 src/svforge/io/vcf_writer.py diff --git a/src/svforge/io/__init__.py b/src/svforge/io/__init__.py new file mode 100644 index 0000000..5fdc5be --- /dev/null +++ b/src/svforge/io/__init__.py @@ -0,0 +1,5 @@ +""" +Unified VCF/VCF.gz/BCF output helpers +""" + +from __future__ import annotations diff --git a/src/svforge/io/vcf_writer.py b/src/svforge/io/vcf_writer.py new file mode 100644 index 0000000..6ea07a5 --- /dev/null +++ b/src/svforge/io/vcf_writer.py @@ -0,0 +1,89 @@ +""" +Unified VCF / VCF.gz / BCF writer + +Writers produce text VCF lines. Plain ``.vcf`` and ``.vcf.gz`` outputs are +emitted as raw bytes so that the header the writer built (``##fileformat`` +immediately followed by the six ``##svforge*`` tags, then the rest of the +template) reaches disk verbatim. pysam is only used for ``.bcf``, where +BCF encoding is required; in that mode pysam always declares +``##FILTER=`` itself, which is an accepted drift for BCF and is +documented in the release notes +""" + +from __future__ import annotations + +import tempfile +from collections.abc import Iterable +from pathlib import Path + +import pysam + + +def detect_mode(path: Path) -> str: + """ + Map a path suffix to the pysam write-mode string + + Returns one of ``"w"`` (plain VCF), ``"wz"`` (bgzipped VCF) or + ``"wb"`` (BCF). Raises :class:`ValueError` for unknown suffixes + """ + name = path.name.lower() + if name.endswith(".vcf.gz"): + return "wz" + if name.endswith(".bcf"): + return "wb" + if name.endswith(".vcf"): + return "w" + raise ValueError(f"Cannot infer output format from {path!r}: expected .vcf, .vcf.gz or .bcf") + + +def write_vcf( + out_path: str | Path, + header_lines: Iterable[str], + record_lines: Iterable[str], +) -> Path: + """ + Materialise a text VCF to a file in the format implied by ``out_path`` + + Plain ``.vcf`` is written as raw text and the input header bytes hit + disk verbatim. ``.vcf.gz`` is bgzipped from the same text buffer. + ``.bcf`` is encoded via pysam (which introduces a pysam-managed + ``##FILTER=`` header line; accepted drift, see module docstring) + """ + out = Path(out_path) + out.parent.mkdir(parents=True, exist_ok=True) + mode = detect_mode(out) + + header_text = _lines_to_text(header_lines) + record_text = _lines_to_text(record_lines) + + if mode == "w": + out.write_text(header_text + record_text, encoding="utf-8") + return out + + if mode == "wz": + with tempfile.TemporaryDirectory(prefix="svforge_") as tmpdir: + staging = Path(tmpdir) / "staging.vcf" + staging.write_text(header_text + record_text, encoding="utf-8") + if out.exists(): + out.unlink() + pysam.tabix_compress(str(staging), str(out), force=True) + return out + + with tempfile.TemporaryDirectory(prefix="svforge_") as tmpdir: + staging = Path(tmpdir) / "staging.vcf" + staging.write_text(header_text + record_text, encoding="utf-8") + with ( + pysam.VariantFile(str(staging)) as vin, + pysam.VariantFile(str(out), mode, header=vin.header) as vout, # type: ignore[arg-type] + ): + for rec in vin: + vout.write(rec) + + return out + + +def _lines_to_text(lines: Iterable[str]) -> str: + parts: list[str] = [] + for line in lines: + parts.append(line if line.endswith("\n") else line + "\n") + return "".join(parts) From 4cbfd60e8c7fff4c357a4d17c49397c30ebedb69 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Fri, 24 Apr 2026 20:45:20 +0200 Subject: [PATCH 10/31] feat: add gnomAD and blacklist injection catalogs --- pyproject.toml | 2 + src/svforge/core/injection_catalogs.py | 103 ++++++++++++++++++ src/svforge/core/models.py | 5 + src/svforge/data/injections/__init__.py | 3 + .../data/injections/blacklist_hg38_mini.tsv | 51 +++++++++ .../data/injections/gnomad_hg38_mini.tsv | 51 +++++++++ 6 files changed, 215 insertions(+) create mode 100644 src/svforge/core/injection_catalogs.py create mode 100644 src/svforge/data/injections/__init__.py create mode 100644 src/svforge/data/injections/blacklist_hg38_mini.tsv create mode 100644 src/svforge/data/injections/gnomad_hg38_mini.tsv diff --git a/pyproject.toml b/pyproject.toml index c99fa34..c2df056 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -70,6 +70,8 @@ packages = ["src/svforge"] "src/svforge/data/banks/default_hg38.yaml" = "svforge/data/banks/default_hg38.yaml" "src/svforge/data/headers/manta_somatic_hg38.vcf.template" = "svforge/data/headers/manta_somatic_hg38.vcf.template" "src/svforge/data/headers/delly_somatic_hg38.vcf.template" = "svforge/data/headers/delly_somatic_hg38.vcf.template" +"src/svforge/data/injections/gnomad_hg38_mini.tsv" = "svforge/data/injections/gnomad_hg38_mini.tsv" +"src/svforge/data/injections/blacklist_hg38_mini.tsv" = "svforge/data/injections/blacklist_hg38_mini.tsv" [tool.hatch.build.targets.sdist] include = [ diff --git a/src/svforge/core/injection_catalogs.py b/src/svforge/core/injection_catalogs.py new file mode 100644 index 0000000..d6f71a8 --- /dev/null +++ b/src/svforge/core/injection_catalogs.py @@ -0,0 +1,103 @@ +""" +Load and expose the bundled real-catalog injection entries + +Two TSV files ship in :mod:`svforge.data.injections`: + +- ``gnomad_hg38_mini.tsv`` -- curated real gnomAD v4.1 SV sites +- ``blacklist_hg38_mini.tsv`` -- curated ENCODE hg38 blacklist v2 regions + +When ``svforge gen`` is invoked with ``--gnomad-fraction`` or +``--blacklist-fraction`` the sampler pulls the requested number of +entries from these catalogs verbatim (no synthesis, no spatial bias). +Downstream pipelines recognise the injected SVs directly because the +CHROM/POS/END coincide with real catalog rows, giving ``svforge +validate`` a zero-ambiguity self-consistency check to verify that a +generated VCF was actually produced by this build +""" + +from __future__ import annotations + +import csv +from collections.abc import Iterator +from dataclasses import dataclass +from functools import cache +from importlib import resources + +GNOMAD_TSV = "gnomad_hg38_mini.tsv" +BLACKLIST_TSV = "blacklist_hg38_mini.tsv" + +@dataclass(frozen=True, slots=True) +class GnomadEntry: + """ + One curated gnomAD SV site + """ + + chrom: str + pos: int + end: int + end_chrom: str + svtype: str + source_id: str + +@dataclass(frozen=True, slots=True) +class BlacklistEntry: + """ + One curated ENCODE blacklist region + """ + + chrom: str + pos: int + end: int + region_type: str + source_id: str + + +@cache +def load_gnomad_catalog() -> tuple[GnomadEntry, ...]: + """ + Return the bundled gnomAD mini catalog, cached for the process life + """ + return tuple(_iter_gnomad(_read_tsv(GNOMAD_TSV))) + + +@cache +def load_blacklist_catalog() -> tuple[BlacklistEntry, ...]: + """ + Return the bundled blacklist mini catalog, cached for the process life + """ + return tuple(_iter_blacklist(_read_tsv(BLACKLIST_TSV))) + +def _read_tsv(name: str) -> list[dict[str, str]]: + resource = resources.files("svforge.data.injections").joinpath(name) + if not resource.is_file(): + raise RuntimeError(f"Injection catalog {name!r} is missing from the package") + text = resource.read_text(encoding="utf-8") + reader = csv.DictReader(text.splitlines(), delimiter="\t") + rows = list(reader) + if not rows: + raise RuntimeError(f"Injection catalog {name!r} is empty") + return rows + + + +def _iter_gnomad(rows: list[dict[str, str]]) -> Iterator[GnomadEntry]: + for row in rows: + yield GnomadEntry( + chrom=row["chrom"], + pos=int(row["pos"]), + end=int(row["end"]), + end_chrom=row.get("end_chrom") or row["chrom"], + svtype=row["svtype"].upper(), + source_id=row["source_id"], + ) + + +def _iter_blacklist(rows: list[dict[str, str]]) -> Iterator[BlacklistEntry]: + for row in rows: + yield BlacklistEntry( + chrom=row["chrom"], + pos=int(row["pos"]), + end=int(row["end"]), + region_type=row["region_type"], + source_id=row["source_id"], + ) \ No newline at end of file diff --git a/src/svforge/core/models.py b/src/svforge/core/models.py index c40aeee..9408ba1 100644 --- a/src/svforge/core/models.py +++ b/src/svforge/core/models.py @@ -14,9 +14,11 @@ SVType = Literal["DEL", "DUP", "INV", "INS", "BND"] Genotype = Literal["0/0", "0/1", "1/1"] Origin = Literal["somatic", "germline"] +SVSource = Literal["bank", "gnomad", "blacklist"] VALID_SVTYPES: frozenset[str] = frozenset({"DEL", "DUP", "INV", "INS", "BND"}) VALID_GENOTYPES: frozenset[str] = frozenset({"0/0", "0/1", "1/1"}) +VALID_SOURCES: frozenset[str] = frozenset({"bank", "gnomad", "blacklist"}) @dataclass(slots=True) @@ -66,6 +68,7 @@ class SV: ins_seq: str = "" filter: str = "PASS" origin: Origin = "somatic" + source: SVSource = "bank" info_extra: dict[str, str] = field(default_factory=dict) def __post_init__(self) -> None: @@ -87,6 +90,8 @@ def __post_init__(self) -> None: raise ValueError("BND SV requires mate_chrom and mate_pos") if len(self.strands) != 2 or any(c not in "+-" for c in self.strands): raise ValueError(f"strands must be two chars in '+-', got {self.strands!r}") + if self.source not in VALID_SOURCES: + raise ValueError(f"Unknown source {self.source!r} (valid: {sorted(VALID_SOURCES)})") @property def breakpoint1(self) -> Breakpoint: diff --git a/src/svforge/data/injections/__init__.py b/src/svforge/data/injections/__init__.py new file mode 100644 index 0000000..b7033a3 --- /dev/null +++ b/src/svforge/data/injections/__init__.py @@ -0,0 +1,3 @@ +""" +Bundled real-catalog injection TSVs: gnomAD SVs + ENCODE blacklist regions +""" diff --git a/src/svforge/data/injections/blacklist_hg38_mini.tsv b/src/svforge/data/injections/blacklist_hg38_mini.tsv new file mode 100644 index 0000000..6ddbb4c --- /dev/null +++ b/src/svforge/data/injections/blacklist_hg38_mini.tsv @@ -0,0 +1,51 @@ +chrom pos end region_type source_id +chr1 1 792500 High_Signal_Region ENCODE-blacklist-v2-156 +chr1 121605201 124938900 High_Signal_Region ENCODE-blacklist-v2-159 +chr1 125130201 143562200 High_Signal_Region ENCODE-blacklist-v2-161 +chr2 89235301 89947100 High_Signal_Region ENCODE-blacklist-v2-207 +chr2 90246301 91735500 High_Signal_Region ENCODE-blacklist-v2-208 +chr2 91969001 94569500 High_Signal_Region ENCODE-blacklist-v2-210 +chr3 90455401 91297100 High_Signal_Region ENCODE-blacklist-v2-267 +chr3 91516201 93749200 High_Signal_Region ENCODE-blacklist-v2-268 +chr3 198099801 198295500 High_Signal_Region ENCODE-blacklist-v2-320 +chr4 9212701 9369600 High_Signal_Region ENCODE-blacklist-v2-326 +chr4 49077201 51816100 High_Signal_Region ENCODE-blacklist-v2-328 +chr4 190048601 190214500 High_Signal_Region ENCODE-blacklist-v2-339 +chr5 46708101 50165300 High_Signal_Region ENCODE-blacklist-v2-355 +chr5 69540701 71359500 High_Signal_Region ENCODE-blacklist-v2-358 +chr5 181172601 181538200 High_Signal_Region ENCODE-blacklist-v2-386 +chr6 26669201 26832300 High_Signal_Region ENCODE-blacklist-v2-390 +chr6 58432201 60242300 High_Signal_Region ENCODE-blacklist-v2-399 +chr6 61321801 61493000 High_Signal_Region ENCODE-blacklist-v2-400 +chr7 58031801 60997400 High_Signal_Region ENCODE-blacklist-v2-420 +chr7 61102901 61725200 Low_Mappability ENCODE-blacklist-v2-422 +chr7 102474701 102686400 High_Signal_Region ENCODE-blacklist-v2-428 +chr8 7209801 7914700 High_Signal_Region ENCODE-blacklist-v2-437 +chr8 12136901 12614300 High_Signal_Region ENCODE-blacklist-v2-440 +chr8 43937901 45969600 High_Signal_Region ENCODE-blacklist-v2-442 +chr9 43263101 61518900 High_Signal_Region ENCODE-blacklist-v2-470 +chr9 61735301 63548000 High_Signal_Region ENCODE-blacklist-v2-471 +chr9 66959001 68398100 High_Signal_Region ENCODE-blacklist-v2-475 +chr10 38782601 38967900 High_Signal_Region ENCODE-blacklist-v2-3 +chr10 39901301 41712900 High_Signal_Region ENCODE-blacklist-v2-4 +chr10 41838901 42107300 High_Signal_Region ENCODE-blacklist-v2-5 +chr11 1 194500 Low_Mappability ENCODE-blacklist-v2-9 +chr11 50813601 54383000 High_Signal_Region ENCODE-blacklist-v2-18 +chr11 61084501 61130400 High_Signal_Region ENCODE-blacklist-v2-19 +chr12 1 77800 High_Signal_Region ENCODE-blacklist-v2-29 +chr12 371801 422400 High_Signal_Region ENCODE-blacklist-v2-30 +chr12 34715401 37269100 High_Signal_Region ENCODE-blacklist-v2-37 +chr13 16087601 16165300 High_Signal_Region ENCODE-blacklist-v2-51 +chr13 16226301 18171400 High_Signal_Region ENCODE-blacklist-v2-52 +chr13 57140501 57172500 High_Signal_Region ENCODE-blacklist-v2-54 +chr14 1 18670900 High_Signal_Region ENCODE-blacklist-v2-57 +chr14 18695401 19724300 High_Signal_Region ENCODE-blacklist-v2-58 +chr14 23033301 23098600 High_Signal_Region ENCODE-blacklist-v2-59 +chr15 1 17035000 High_Signal_Region ENCODE-blacklist-v2-84 +chr15 17058501 19790100 High_Signal_Region ENCODE-blacklist-v2-85 +chr15 20005601 22606300 High_Signal_Region ENCODE-blacklist-v2-86 +chr16 34272001 34633100 High_Signal_Region ENCODE-blacklist-v2-106 +chr16 36225201 46423000 High_Signal_Region ENCODE-blacklist-v2-112 +chr16 90100501 90338300 Low_Mappability ENCODE-blacklist-v2-114 +chr17 21783301 22054000 High_Signal_Region ENCODE-blacklist-v2-121 +chr17 22745201 26629800 High_Signal_Region ENCODE-blacklist-v2-123 diff --git a/src/svforge/data/injections/gnomad_hg38_mini.tsv b/src/svforge/data/injections/gnomad_hg38_mini.tsv new file mode 100644 index 0000000..2df4b13 --- /dev/null +++ b/src/svforge/data/injections/gnomad_hg38_mini.tsv @@ -0,0 +1,51 @@ +chrom pos end end_chrom svtype source_id +chr1 11000 51000 chr1 DUP gnomAD-SV_v3_DUP_chr1_7d73682f +chr1 40000 47000 chr1 DEL gnomAD-SV_v3_DEL_chr1_b26f63f7 +chr1 48000 128000 chr1 DUP gnomAD-SV_v3_DUP_chr1_3d99dd1e +chr1 413968 420000 chr1 DEL gnomAD-SV_v3_DEL_chr1_9ccc15ff +chr1 788630 788842 chr1 INS gnomAD-SV_v3_INS_chr1_2de0b574 +chr1 904659 904661 chr1 INS gnomAD-SV_v3_INS_chr1_a12a6a8a +chr1 21203905 21204753 chr1 INV gnomAD-SV_v3_INV_chr1_dc645849 +chr1 83019127 83019322 chr1 INV gnomAD-SV_v3_INV_chr1_25560503 +chr2 10297 10596 chr2 DEL gnomAD-SV_v3_DEL_chr2_d39246cd +chr2 32148 34838 chr2 DEL gnomAD-SV_v3_DEL_chr2_942daf4f +chr2 108204 108269 chr2 DEL gnomAD-SV_v3_DEL_chr2_685cd0f1 +chr2 126760 126864 chr2 DUP gnomAD-SV_v3_DUP_chr2_51e5ae64 +chr2 126879 127037 chr2 DUP gnomAD-SV_v3_DUP_chr2_9d0bd14b +chr2 293737 294344 chr2 DEL gnomAD-SV_v3_DEL_chr2_fe24586f +chr2 306268 306784 chr2 DEL gnomAD-SV_v3_DEL_chr2_97cf8ee8 +chr2 306468 307318 chr2 DEL gnomAD-SV_v3_DEL_chr2_6bffebce +chr8 64900 107200 chr8 DUP gnomAD-SV_v3_DUP_chr8_ca5f17ef +chr8 65500 111250 chr8 DEL gnomAD-SV_v3_DEL_chr8_e6b32082 +chr8 76450 82000 chr8 DEL gnomAD-SV_v3_DEL_chr8_9ca25b62 +chr8 145000 151100 chr8 DUP gnomAD-SV_v3_DUP_chr8_c2284cfa +chr8 305613 305624 chr8 INS gnomAD-SV_v3_INS_chr8_01e27349 +chr8 329084 329130 chr8 INS gnomAD-SV_v3_INS_chr8_9dccb13f +chr8 20919207 20920924 chr8 INV gnomAD-SV_v3_INV_chr8_0a983474 +chr8 74175660 74183142 chr8 INV gnomAD-SV_v3_INV_chr8_1af72e78 +chr14 16022637 16037637 chr14 DUP gnomAD-SV_v3_DUP_chr14_673a2a3e +chr14 16038537 16043637 chr14 DEL gnomAD-SV_v3_DEL_chr14_465f6e53 +chr14 16070187 16075637 chr14 DEL gnomAD-SV_v3_DEL_chr14_f4c39155 +chr14 18225523 18249523 chr14 DUP gnomAD-SV_v3_DUP_chr14_0f14c9c8 +chr14 19098423 19098426 chr14 INS gnomAD-SV_v3_INS_chr14_22ab2005 +chr14 19434997 19435012 chr14 INS gnomAD-SV_v3_INS_chr14_83c766c7 +chr14 65375819 65376644 chr14 INV gnomAD-SV_v3_INV_chr14_7d152e48 +chr17 66000 122000 chr17 DEL gnomAD-SV_v3_DEL_chr17_b42efb31 +chr17 117310 117368 chr17 DUP gnomAD-SV_v3_DUP_chr17_93a44dec +chr17 121000 132000 chr17 DUP gnomAD-SV_v3_DUP_chr17_1e3b5a87 +chr17 135827 136376 chr17 DEL gnomAD-SV_v3_DEL_chr17_bd5ea421 +chr17 198647 198656 chr17 INS gnomAD-SV_v3_INS_chr17_757f4338 +chr17 227349 227365 chr17 INS gnomAD-SV_v3_INS_chr17_07e4dcab +chr17 37415089 37415701 chr17 INV gnomAD-SV_v3_INV_chr17_a6243630 +chr22 10510000 10587800 chr22 DUP gnomAD-SV_v3_DUP_chr22_e84c04b9 +chr22 10525801 10526000 chr22 DEL gnomAD-SV_v3_DEL_chr22_f605c0e4 +chr22 10526487 10526995 chr22 DEL gnomAD-SV_v3_DEL_chr22_3ef8bb14 +chr22 10571952 10572007 chr22 DUP gnomAD-SV_v3_DUP_chr22_1475627f +chr22 10572350 10572393 chr22 INS gnomAD-SV_v3_INS_chr22_69b1fb48 +chr22 10698837 10698869 chr22 INS gnomAD-SV_v3_INS_chr22_d15d476e +chrX 10000 43825 chrX DEL gnomAD-SV_v3_DEL_chrX_1b8d89f3 +chrX 12810 16459 chrX DEL gnomAD-SV_v3_DEL_chrX_2a4e1536 +chrX 13559 13759 chrX DUP gnomAD-SV_v3_DUP_chrX_24a451b4 +chrX 13789 13981 chrX DUP gnomAD-SV_v3_DUP_chrX_f71d7ae2 +chrX 226050 226068 chrX INS gnomAD-SV_v3_INS_chrX_a8e79c48 +chrX 226530 226618 chrX INS gnomAD-SV_v3_INS_chrX_488f71fb From 7acf1d17d3a5913de97f36cedf1433c0ed63c46b Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Fri, 24 Apr 2026 20:45:53 +0200 Subject: [PATCH 11/31] feat: sample SV injections from bundled catalogs --- src/svforge/core/sampler.py | 327 +++++++++++++++--------------------- 1 file changed, 140 insertions(+), 187 deletions(-) diff --git a/src/svforge/core/sampler.py b/src/svforge/core/sampler.py index 1405436..680f6e8 100644 --- a/src/svforge/core/sampler.py +++ b/src/svforge/core/sampler.py @@ -2,12 +2,15 @@ Sample SVs from a :class:`Bank` with reproducible RNG Knobs: + - ``svtypes``: restrict to a subset of svtypes (e.g. ``{"DEL", "DUP"}``) - ``svlen_range`` / ``homlen_range``: hard CLI overrides, clamp template ranges - ``vaf_range``: uniform VAF draw -- ``blacklist`` / ``gnomad``: :class:`RegionSet` + target fraction; SVs are - drawn to overlap / not overlap these sets until the target fraction is met - (best-effort with a retry budget) +- ``gnomad_fraction`` / ``blacklist_fraction``: fraction of the requested SV + count drawn directly from the bundled mini catalogs (Phase C). The + catalog rows (CHROM/POS/END) are reproduced verbatim so downstream + pipelines match them exactly. Sampling is without replacement when + possible; with replacement otherwise ``sample_pair`` composes ``sample`` twice to produce a consistent tumor/normal SV set where germline events are duplicated across both samples with the same @@ -16,19 +19,29 @@ from __future__ import annotations +import logging import random import uuid from collections.abc import Sequence from dataclasses import dataclass -from typing import Literal +from typing import Literal, TypeVar from svforge.core.bank import Bank, SVTemplate from svforge.core.genome import GenomeBuild, get_contigs +from svforge.core.injection_catalogs import ( + BlacklistEntry, + GnomadEntry, + load_blacklist_catalog, + load_gnomad_catalog, +) from svforge.core.models import SV, SVPair -from svforge.core.regions import RegionSet -_SAMPLE_RETRY_BUDGET = 200 _CHROM_SAMPLE_MARGIN = 10_000 +_BLACKLIST_SVTYPES = ("DEL", "DUP", "INV") + +_T = TypeVar("_T") + +log = logging.getLogger(__name__) @dataclass(slots=True) @@ -43,9 +56,7 @@ class SamplerConfig: svlen_range: tuple[int, int] | None = None homlen_range: tuple[int, int] | None = None vaf_range: tuple[float, float] = (0.3, 1.0) - blacklist: RegionSet | None = None blacklist_fraction: float = 0.0 - gnomad: RegionSet | None = None gnomad_fraction: float = 0.0 seed: int | None = None origin: Literal["somatic", "germline"] = "somatic" @@ -59,6 +70,11 @@ def __post_init__(self) -> None: raise ValueError("blacklist_fraction must be in [0, 1]") if not 0.0 <= self.gnomad_fraction <= 1.0: raise ValueError("gnomad_fraction must be in [0, 1]") + total = self.blacklist_fraction + self.gnomad_fraction + if total > 1.0 + 1e-9: + raise ValueError( + f"blacklist_fraction + gnomad_fraction must be <= 1.0, got {total:.3f}" + ) if self.vaf_range[0] > self.vaf_range[1] or not ( 0.0 <= self.vaf_range[0] <= 1.0 and 0.0 <= self.vaf_range[1] <= 1.0 ): @@ -87,40 +103,16 @@ def sample(bank: Bank, cfg: SamplerConfig) -> list[SV]: n_blacklist = round(cfg.n * cfg.blacklist_fraction) n_gnomad = round(cfg.n * cfg.gnomad_fraction) - n_plain = max(0, cfg.n - n_blacklist - n_gnomad) + if n_blacklist + n_gnomad > cfg.n: + n_gnomad = max(0, cfg.n - n_blacklist) + n_bank = max(0, cfg.n - n_blacklist - n_gnomad) svs: list[SV] = [] - svs.extend( - _draw_many( - n_plain, templates, weights, contigs, cfg, rng, want_blacklist=False, want_gnomad=False - ) - ) - if n_blacklist and cfg.blacklist is not None: - svs.extend( - _draw_many( - n_blacklist, - templates, - weights, - contigs, - cfg, - rng, - want_blacklist=True, - want_gnomad=False, - ) - ) - if n_gnomad and cfg.gnomad is not None: - svs.extend( - _draw_many( - n_gnomad, - templates, - weights, - contigs, - cfg, - rng, - want_blacklist=False, - want_gnomad=True, - ) - ) + svs.extend(_draw_bank(n_bank, templates, weights, contigs, cfg, rng)) + if n_gnomad: + svs.extend(_draw_gnomad(n_gnomad, cfg, rng)) + if n_blacklist: + svs.extend(_draw_blacklist(n_blacklist, cfg, rng)) rng.shuffle(svs) svs.sort(key=lambda sv: (_chrom_key(sv.chrom), sv.pos)) @@ -177,6 +169,7 @@ def sample_pair( ins_seq=sv.ins_seq, filter=sv.filter, origin="germline", + source=sv.source, info_extra=dict(sv.info_extra), ) ) @@ -201,183 +194,153 @@ def _filter_templates( return out -def _draw_many( +def _draw_bank( count: int, templates: Sequence[SVTemplate], weights: Sequence[float], contigs: dict[str, int], cfg: SamplerConfig, rng: random.Random, - *, - want_blacklist: bool, - want_gnomad: bool, ) -> list[SV]: out: list[SV] = [] for _ in range(count): - sv = _draw_one( - templates, - weights, - contigs, - cfg, - rng, - want_blacklist=want_blacklist, - want_gnomad=want_gnomad, - ) + template = rng.choices(list(templates), weights=list(weights), k=1)[0] + sv = _materialize(template, contigs, cfg, rng) out.append(sv) return out -def _draw_one( - templates: Sequence[SVTemplate], - weights: Sequence[float], - contigs: dict[str, int], - cfg: SamplerConfig, - rng: random.Random, - *, - want_blacklist: bool, - want_gnomad: bool, -) -> SV: - target_region: RegionSet | None = None - exact_breakpoints = False - if want_blacklist and cfg.blacklist is not None: - target_region = cfg.blacklist - elif want_gnomad and cfg.gnomad is not None: - target_region = cfg.gnomad - # gnomAD injection matches the "real pipeline" semantics used by - # :mod:`svforge.validate.overlap`: both breakpoints of the injected SV - # must coincide with a gnomAD entry within a 2 bp tolerance. Using the - # region's exact start/end guarantees that downstream validation can - # detect the match - exact_breakpoints = True - - for _ in range(_SAMPLE_RETRY_BUDGET): - template = rng.choices(list(templates), weights=list(weights), k=1)[0] - if target_region is not None: - sv = _materialize_in_region( - template, contigs, target_region, cfg, rng, exact=exact_breakpoints - ) - else: - sv = _materialize(template, contigs, cfg, rng) +def _draw_gnomad(count: int, cfg: SamplerConfig, rng: random.Random) -> list[SV]: + catalog = list(load_gnomad_catalog()) + eligible = _filter_gnomad_catalog(catalog, cfg) + if not eligible: + raise ValueError( + "No gnomAD catalog entry matches the active filter " + f"(svtypes={cfg.svtypes}, chroms={sorted(cfg.chroms) if cfg.chroms else None})" + ) + picks = _sample_without_replacement(eligible, count, rng) + return [_gnomad_entry_to_sv(entry, cfg, rng) for entry in picks] - blacklist_hit = cfg.blacklist is not None and _overlaps_region(cfg.blacklist, sv) - gnomad_hit = cfg.gnomad is not None and _overlaps_region(cfg.gnomad, sv) - if want_blacklist and not blacklist_hit: - continue - if want_gnomad and not gnomad_hit: +def _draw_blacklist(count: int, cfg: SamplerConfig, rng: random.Random) -> list[SV]: + catalog = list(load_blacklist_catalog()) + eligible = _filter_blacklist_catalog(catalog, cfg) + if not eligible: + raise ValueError( + "No blacklist catalog entry matches the active filter " + f"(chroms={sorted(cfg.chroms) if cfg.chroms else None})" + ) + picks = _sample_without_replacement(eligible, count, rng) + return [_blacklist_entry_to_sv(entry, cfg, rng) for entry in picks] + + +def _filter_gnomad_catalog(catalog: list[GnomadEntry], cfg: SamplerConfig) -> list[GnomadEntry]: + out: list[GnomadEntry] = [] + for entry in catalog: + if cfg.svtypes is not None and entry.svtype not in cfg.svtypes: continue - if not want_blacklist and blacklist_hit and cfg.blacklist_fraction == 0.0: + if cfg.chroms is not None and entry.chrom not in cfg.chroms: continue - if not want_gnomad and gnomad_hit and cfg.gnomad_fraction == 0.0: + if cfg.chroms is not None and entry.end_chrom not in cfg.chroms: continue - return sv - return _materialize(templates[0], contigs, cfg, rng) - - -def _materialize_in_region( - template: SVTemplate, - contigs: dict[str, int], - regions: RegionSet, - cfg: SamplerConfig, - rng: random.Random, - *, - exact: bool = False, -) -> SV: - """ - Materialise an SV inside ``regions`` - - ``exact=False``: the SV's primary breakpoint lies somewhere inside a - random region but its length is drawn from the template. Used for - blacklist-style injection where only "touching" matters - - ``exact=True``: the SV's breakpoints copy the region's exact BED - boundaries (pos = start + 1, end = end). Used for gnomAD injection so - that :func:`svforge.validate.overlap.GnomadIndex.overlaps` can detect the - match within its 2 bp tolerance + out.append(entry) + return out - Falls back to uniform sampling if no chromosome matches both the template - and the region set - """ - allowed = set(template.chroms) if template.chroms else set(contigs.keys()) - if cfg.chroms is not None: - allowed &= set(cfg.chroms) - candidates = [c for c in regions.chromosomes if c in allowed and c in contigs] - if not candidates: - return _materialize(template, contigs, cfg, rng) - chrom = rng.choice(candidates) - intervals = regions.intervals_on(chrom) - if not intervals: - return _materialize(template, contigs, cfg, rng) +def _filter_blacklist_catalog( + catalog: list[BlacklistEntry], cfg: SamplerConfig +) -> list[BlacklistEntry]: + out: list[BlacklistEntry] = [] + eligible_svtypes = tuple(cfg.svtypes) if cfg.svtypes is not None else _BLACKLIST_SVTYPES + if not any(t in _BLACKLIST_SVTYPES for t in eligible_svtypes): + raise ValueError( + "Blacklist injection requires at least one of DEL/DUP/INV in svtypes; " + f"got {sorted(eligible_svtypes)}" + ) + for entry in catalog: + if cfg.chroms is not None and entry.chrom not in cfg.chroms: + continue + out.append(entry) + return out - start, end = rng.choice(intervals) - chrom_len = contigs[chrom] - svlen_min, svlen_max = _clamp_range((template.svlen_min, template.svlen_max), cfg.svlen_range) - homlen_min, homlen_max = _clamp_range( - (template.homlen_min, template.homlen_max), cfg.homlen_range +def _sample_without_replacement(pool: Sequence[_T], count: int, rng: random.Random) -> list[_T]: + if count <= len(pool): + return rng.sample(list(pool), count) + log.warning( + "Requested %d injections from catalog of size %d; falling back to sampling " + "with replacement", + count, + len(pool), ) + return [rng.choice(list(pool)) for _ in range(count)] - homlen = rng.randint(homlen_min, homlen_max) + +def _gnomad_entry_to_sv(entry: GnomadEntry, cfg: SamplerConfig, rng: random.Random) -> SV: vaf = rng.uniform(*cfg.vaf_range) genotype = "1/1" if vaf >= 0.9 else "0/1" sv_id = f"{cfg.id_prefix}_{uuid.UUID(int=rng.getrandbits(128)).hex[:10]}" - if template.svtype == "BND": - if exact: - pos = max(1, start + 1) - mate_chrom = chrom - mate_pos = min(end, chrom_len - 1) - else: - mate_candidates = _bnd_mate_candidates(chrom, contigs, cfg) - mate_chrom = rng.choice(mate_candidates) - pos_lo = max(1, start + 1) - pos_hi = max(pos_lo, min(end, chrom_len - 1)) - pos = rng.randint(pos_lo, pos_hi) - mate_pos = rng.randint( - _CHROM_SAMPLE_MARGIN, - max(_CHROM_SAMPLE_MARGIN + 1, contigs[mate_chrom] - _CHROM_SAMPLE_MARGIN), - ) - strands = rng.choice(("+-", "-+", "++", "--")) + if entry.svtype == "BND": return SV( id=sv_id, svtype="BND", - chrom=chrom, - pos=pos, - end=pos, + chrom=entry.chrom, + pos=entry.pos, + end=entry.pos, svlen=1, - mate_chrom=mate_chrom, - mate_pos=mate_pos, - strands=strands, - homlen=homlen, + mate_chrom=entry.end_chrom, + mate_pos=entry.end, + strands="+-", vaf=vaf, genotype=genotype, origin=cfg.origin, + source="gnomad", + info_extra={"SVFORGE_SOURCE_ID": entry.source_id}, ) - if exact: - pos = max(1, start + 1) - end_pos = max(pos + 1, min(chrom_len - 1, end)) - else: - svlen = rng.randint(svlen_min, svlen_max) - pos_lo = max(1, start + 1) - pos_hi = max(pos_lo, min(end, chrom_len - 1)) - pos = rng.randint(pos_lo, pos_hi) - end_pos = min(chrom_len - 1, pos + svlen) - actual_len = max(1, end_pos - pos) - strands = _default_strands(template.svtype) + svlen = max(1, entry.end - entry.pos) return SV( id=sv_id, - svtype=template.svtype, - chrom=chrom, - pos=pos, - end=end_pos, - svlen=actual_len, - strands=strands, - homlen=homlen, + svtype=entry.svtype, + chrom=entry.chrom, + pos=entry.pos, + end=entry.end, + svlen=svlen, + strands=_default_strands(entry.svtype), vaf=vaf, genotype=genotype, origin=cfg.origin, + source="gnomad", + info_extra={"SVFORGE_SOURCE_ID": entry.source_id}, + ) + + +def _blacklist_entry_to_sv(entry: BlacklistEntry, cfg: SamplerConfig, rng: random.Random) -> SV: + vaf = rng.uniform(*cfg.vaf_range) + genotype = "1/1" if vaf >= 0.9 else "0/1" + sv_id = f"{cfg.id_prefix}_{uuid.UUID(int=rng.getrandbits(128)).hex[:10]}" + + svtype_pool = ( + [t for t in _BLACKLIST_SVTYPES if cfg.svtypes is None or t in cfg.svtypes] + if cfg.svtypes is not None + else list(_BLACKLIST_SVTYPES) + ) + svtype = rng.choice(svtype_pool) + svlen = max(1, entry.end - entry.pos) + return SV( + id=sv_id, + svtype=svtype, + chrom=entry.chrom, + pos=entry.pos, + end=entry.end, + svlen=svlen, + strands=_default_strands(svtype), + vaf=vaf, + genotype=genotype, + origin=cfg.origin, + source="blacklist", + info_extra={"SVFORGE_SOURCE_ID": entry.source_id}, ) @@ -433,6 +396,7 @@ def _materialize( vaf=vaf, genotype=genotype, origin=cfg.origin, + source="bank", ) max_pos = chrom_len - svlen - _CHROM_SAMPLE_MARGIN @@ -455,6 +419,7 @@ def _materialize( vaf=vaf, genotype=genotype, origin=cfg.origin, + source="bank", ) @@ -510,16 +475,6 @@ def _clamp_range( return new_lo, new_hi -def _overlaps_region(rs: RegionSet, sv: SV) -> bool: - if sv.svtype == "BND": - return rs.overlaps_point(sv.chrom, sv.pos) or ( - sv.mate_chrom is not None - and sv.mate_pos is not None - and rs.overlaps_point(sv.mate_chrom, sv.mate_pos) - ) - return rs.overlaps_vcf(sv.chrom, sv.pos, sv.end) - - def _replace(cfg: SamplerConfig, **kw: object) -> SamplerConfig: data: dict[str, object] = { "n": cfg.n, @@ -528,9 +483,7 @@ def _replace(cfg: SamplerConfig, **kw: object) -> SamplerConfig: "svlen_range": cfg.svlen_range, "homlen_range": cfg.homlen_range, "vaf_range": cfg.vaf_range, - "blacklist": cfg.blacklist, "blacklist_fraction": cfg.blacklist_fraction, - "gnomad": cfg.gnomad, "gnomad_fraction": cfg.gnomad_fraction, "seed": cfg.seed, "origin": cfg.origin, From f1b19145aa236a61a3aa4c476287983807a82643 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Fri, 24 Apr 2026 20:46:16 +0200 Subject: [PATCH 12/31] feat: add CLI flags for gnomAD and blacklist injection --- src/svforge/cli.py | 231 +++++++++------------------------------------ 1 file changed, 44 insertions(+), 187 deletions(-) diff --git a/src/svforge/cli.py b/src/svforge/cli.py index e7ae6ce..62d15e0 100644 --- a/src/svforge/cli.py +++ b/src/svforge/cli.py @@ -2,9 +2,10 @@ svforge command-line interface Subcommands: + - ``gen`` single-sample synthetic VCF - ``gen-pair`` tumor + normal paired VCFs -- ``validate`` end-to-end sanity check +- ``validate`` self-consistency check against bundled injection catalogs - ``bank`` list / show built-in banks - ``callers`` list every registered writer """ @@ -12,14 +13,12 @@ from __future__ import annotations import argparse -import contextlib import logging import secrets import sys from collections.abc import Sequence from pathlib import Path -import pysam import yaml from svforge import __version__ @@ -27,12 +26,9 @@ from svforge.core.genome import GenomeBuild, normalize_chromosomes, validate_genome from svforge.core.models import SV from svforge.core.provenance import build_svforge_tags -from svforge.core.regions import RegionSet, load_bed from svforge.core.sampler import SamplerConfig, sample, sample_pair from svforge.io.vcf_writer import write_vcf -from svforge.validate.annotate import POOR_MAPPABILITY_FLAG, annotate_vcf, event_id -from svforge.validate.overlap import DEFAULT_TOLERANCE_BP, GnomadIndex, load_gnomad_index -from svforge.validate.report import build_report, write_tsv, write_tsv_path +from svforge.validate.annotate import ValidationResult, validate_vcf from svforge.writers import CallerWriter, available_writers, get_writer _SEED_MAX = 2**31 - 1 @@ -129,10 +125,18 @@ def _add_common_sampling_args(p: argparse.ArgumentParser) -> None: help="Override the bundled VCF header template with a user-supplied one", ) p.add_argument("--svtypes", type=_svtype_list, default=None) - p.add_argument("--blacklist-bed", type=Path, default=None) - p.add_argument("--blacklist-fraction", type=float, default=0.0) - p.add_argument("--gnomad-bed", type=Path, default=None) - p.add_argument("--gnomad-fraction", type=float, default=0.0) + p.add_argument( + "--blacklist-fraction", + type=float, + default=0.0, + help="Fraction of SVs drawn from the bundled ENCODE blacklist mini catalog", + ) + p.add_argument( + "--gnomad-fraction", + type=float, + default=0.0, + help="Fraction of SVs drawn from the bundled gnomAD mini catalog", + ) p.add_argument("--homlen-range", type=_int_pair, default=None, metavar="MIN,MAX") p.add_argument("--svlen-range", type=_int_pair, default=None, metavar="MIN,MAX") p.add_argument("--vaf-range", type=_float_pair, default=(0.3, 1.0), metavar="MIN,MAX") @@ -165,19 +169,17 @@ def _add_gen_pair_parser(sub: argparse._SubParsersAction[argparse.ArgumentParser def _add_validate_parser(sub: argparse._SubParsersAction[argparse.ArgumentParser]) -> None: - p = sub.add_parser("validate", help="Sanity-check a svforge-generated VCF") + p = sub.add_parser( + "validate", + help="Self-consistency check: every SVFORGE_SOURCE-tagged record " + "matches the bundled mini catalog", + ) p.add_argument("--vcf", type=Path, required=True) - p.add_argument("--blacklist-bed", type=Path, required=True) - p.add_argument("--gnomad-vcf", type=Path, required=True) - p.add_argument("--expected-blacklist-fraction", type=float, required=True) - p.add_argument("--expected-gnomad-fraction", type=float, required=True) - p.add_argument("--tolerance", type=float, default=0.20) - p.add_argument("--report-tsv", type=Path, default=None) p.add_argument( - "--annotated-vcf", + "--report-tsv", type=Path, default=None, - help="If set, write the blacklist-annotated VCF to this path", + help="Write the divergence report to this TSV (default: stdout)", ) @@ -266,33 +268,30 @@ def _effective_seed(seed: int | None) -> int: def _cmd_validate(args: argparse.Namespace) -> int: - blacklist = load_bed(args.blacklist_bed) - gnomad = load_gnomad_index(args.gnomad_vcf) - - annotated_path = args.annotated_vcf - if annotated_path is None: - annotated_path = args.vcf.with_suffix(args.vcf.suffix + ".annotated.vcf") - total, flagged = annotate_vcf(args.vcf, annotated_path, blacklist) - gnomad_hits = _count_gnomad_hits(annotated_path, gnomad) - - checks = build_report( - total_svs=total, - n_gnomad_overlaps=gnomad_hits, - n_blacklist_flags=flagged, - expected_gnomad_fraction=args.expected_gnomad_fraction, - expected_blacklist_fraction=args.expected_blacklist_fraction, - tolerance=args.tolerance, - ) - + result = validate_vcf(args.vcf) + text = _format_validation_report(result) if args.report_tsv: - write_tsv_path(checks, args.report_tsv) + args.report_tsv.parent.mkdir(parents=True, exist_ok=True) + args.report_tsv.write_text(text, encoding="utf-8") else: - write_tsv(checks, sys.stdout) - - if args.annotated_vcf is None: - _maybe_unlink(annotated_path) - - return 0 if all(c.passed for c in checks) else 1 + sys.stdout.write(text) + return 0 if result.passed else 1 + + +def _format_validation_report(result: ValidationResult) -> str: + lines = ["metric\ttotal\tmatched\tstatus"] + for metric, total, matched in ( + ("gnomad_self_consistency", result.gnomad_total, result.gnomad_matched), + ("blacklist_self_consistency", result.blacklist_total, result.blacklist_matched), + ): + status = "PASS" if total == matched else "FAIL" + lines.append(f"{metric}\t{total}\t{matched}\t{status}") + if result.divergences: + lines.append("") + lines.append("# divergences (record_id, source, chrom, pos, end)") + for div in result.divergences: + lines.append(f"{div.record_id}\t{div.source}\t{div.chrom}\t{div.pos}\t{div.end}") + return "\n".join(lines) + "\n" def _cmd_bank(args: argparse.Namespace) -> int: @@ -328,8 +327,6 @@ def _make_sampler_config( n_override: int | None = None, ) -> SamplerConfig: genome: GenomeBuild = validate_genome(args.genome) - blacklist = load_bed(args.blacklist_bed) if args.blacklist_bed else None - gnomad = _maybe_load_gnomad(args.gnomad_bed) chroms: frozenset[str] | None = None raw_chroms = getattr(args, "chromosomes", None) @@ -343,42 +340,13 @@ def _make_sampler_config( svlen_range=args.svlen_range, homlen_range=args.homlen_range, vaf_range=args.vaf_range, - blacklist=blacklist, blacklist_fraction=args.blacklist_fraction, - gnomad=gnomad, gnomad_fraction=args.gnomad_fraction, seed=args.seed, chroms=chroms, ) -def _maybe_load_gnomad(path: Path | None) -> RegionSet | None: - """ - Accept either a BED (preferred) or a VCF and build a :class:`RegionSet` - """ - if path is None: - return None - lower = path.name.lower() - if lower.endswith(".bed") or lower.endswith(".bed.gz"): - return load_bed(path) - if lower.endswith((".vcf", ".vcf.gz", ".bcf")): - return _region_set_from_vcf(path) - return load_bed(path) - - -def _region_set_from_vcf(path: Path) -> RegionSet: - rs = RegionSet() - with pysam.VariantFile(str(path)) as vf: - for rec in vf: - chrom = str(rec.chrom) - start = int(rec.pos) - 1 - end = int(rec.stop) - if end <= start: - end = start + 1 - rs.add(chrom, start, end) - return rs - - def _write_sample_vcf( writer: CallerWriter, svs: list[SV], @@ -399,112 +367,6 @@ def _write_sample_vcf( write_vcf(out_path, header, records) -def _count_gnomad_hits(vcf_path: Path, gnomad_index: GnomadIndex) -> int: - """ - Event-level count of gnomAD overlaps (mate pairs count once) - """ - hit_events: set[tuple[str, str]] = set() - with pysam.VariantFile(str(vcf_path)) as vf: - for rec in vf: - sv = _pysam_to_sv(rec) - if sv is None: - continue - if gnomad_index.overlaps(sv, tolerance=DEFAULT_TOLERANCE_BP): - hit_events.add(event_id(rec)) - return len(hit_events) - - -def _pysam_to_sv(rec: pysam.VariantRecord) -> SV | None: - svtype_raw = _safe_info(rec, "SVTYPE") - if isinstance(svtype_raw, tuple): - svtype_raw = svtype_raw[0] if svtype_raw else None - if svtype_raw is None: - return None - svtype = str(svtype_raw).upper() - - chrom = str(rec.chrom) - pos = int(rec.pos) - end = int(rec.stop) - - chr2 = _safe_info(rec, "CHR2") - if isinstance(chr2, tuple): - chr2 = chr2[0] if chr2 else None - pos2 = _safe_info(rec, "POS2") - if isinstance(pos2, tuple): - pos2 = pos2[0] if pos2 else None - - mate_chrom: str | None = None - mate_pos: int | None = None - if svtype == "BND": - if chr2 is not None and pos2 is not None: - mate_chrom = str(chr2) - mate_pos = _to_int(pos2) - else: - alt = str(rec.alts[0]) if rec.alts else "" - parsed = _parse_bnd_alt(alt) - if parsed is None: - return None - mate_chrom, mate_pos = parsed - end = pos - - svlen_raw = _safe_info(rec, "SVLEN") - if isinstance(svlen_raw, tuple): - svlen_raw = svlen_raw[0] if svlen_raw else None - svlen = abs(_to_int(svlen_raw)) if svlen_raw is not None else max(1, end - pos) - if svtype == "BND": - svlen = 1 - - flag_raw = _safe_info(rec, POOR_MAPPABILITY_FLAG) - info_extra: dict[str, str] = {} - if bool(flag_raw): - info_extra[POOR_MAPPABILITY_FLAG] = "" - - return SV( - id=str(rec.id) if rec.id else f"rec_{pos}", - svtype=svtype, - chrom=chrom, - pos=pos, - end=end, - svlen=svlen, - mate_chrom=mate_chrom, - mate_pos=mate_pos, - info_extra=info_extra, - ) - - -def _safe_info(rec: pysam.VariantRecord, key: str) -> object: - """ - Return INFO value for ``key`` or None if the header lacks the declaration - """ - if key not in rec.header.info: - return None - try: - return rec.info.get(key) - except (KeyError, ValueError): - return None - - -def _to_int(value: object) -> int: - """ - Coerce a pysam INFO scalar (already proven non-None) to ``int`` - """ - if isinstance(value, (int, str, float)): - return int(value) - return int(str(value)) - - -def _parse_bnd_alt(alt: str) -> tuple[str, int] | None: - for opener, closer in (("[", "["), ("]", "]")): - if opener in alt and closer in alt: - try: - inside = alt.split(opener, 1)[1].split(closer, 1)[0] - chrom, pos_str = inside.split(":", 1) - return chrom, int(pos_str) - except (IndexError, ValueError): - continue - return None - - def _bank_to_dict(bank: Bank) -> dict[str, object]: return { "name": bank.name, @@ -522,11 +384,6 @@ def _bank_to_dict(bank: Bank) -> dict[str, object]: } -def _maybe_unlink(path: Path) -> None: - with contextlib.suppress(FileNotFoundError): - path.unlink() - - def _setup_logging(verbose: int) -> None: level = logging.WARNING if verbose == 1: From 26384b31995bab408f9fc0bf301da831dec0b7a0 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Fri, 24 Apr 2026 20:46:48 +0200 Subject: [PATCH 13/31] chore: align Manta/Delly writers and header templates --- src/svforge/data/headers/delly_somatic_hg38.vcf.template | 2 ++ src/svforge/data/headers/manta_somatic_hg38.vcf.template | 2 ++ src/svforge/writers/delly.py | 1 + src/svforge/writers/manta.py | 3 +++ 4 files changed, 8 insertions(+) diff --git a/src/svforge/data/headers/delly_somatic_hg38.vcf.template b/src/svforge/data/headers/delly_somatic_hg38.vcf.template index 8a7f3be..36daaea 100644 --- a/src/svforge/data/headers/delly_somatic_hg38.vcf.template +++ b/src/svforge/data/headers/delly_somatic_hg38.vcf.template @@ -498,4 +498,6 @@ ##contig= ##INFO= ##INFO= +##INFO= +##INFO= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT {TUMOR_SAMPLE} {NORMAL_SAMPLE} diff --git a/src/svforge/data/headers/manta_somatic_hg38.vcf.template b/src/svforge/data/headers/manta_somatic_hg38.vcf.template index 59820e2..1150923 100644 --- a/src/svforge/data/headers/manta_somatic_hg38.vcf.template +++ b/src/svforge/data/headers/manta_somatic_hg38.vcf.template @@ -477,6 +477,8 @@ ##INFO= ##INFO= ##INFO= +##INFO= +##INFO= ##FORMAT= ##FORMAT=0.999"> ##FILTER= diff --git a/src/svforge/writers/delly.py b/src/svforge/writers/delly.py index 4bfc452..ea0db82 100644 --- a/src/svforge/writers/delly.py +++ b/src/svforge/writers/delly.py @@ -108,6 +108,7 @@ def _base_info(sv: SV) -> list[str]: info.append(f"HOMLEN={sv.homlen}") if sv.origin == "somatic": info.append("SOMATIC") + info.append(f"SVFORGE_SOURCE={sv.source}") for key, value in sv.info_extra.items(): info.append(f"{key}={value}" if value else key) return info diff --git a/src/svforge/writers/manta.py b/src/svforge/writers/manta.py index 11a2725..2bc7d2f 100644 --- a/src/svforge/writers/manta.py +++ b/src/svforge/writers/manta.py @@ -90,6 +90,7 @@ def _base_info(sv: SV) -> list[str]: if sv.origin == "somatic" and sv.svtype != "BND": info.append("SOMATIC") info.append("SOMATICSCORE=60") + info.append(f"SVFORGE_SOURCE={sv.source}") for key, value in sv.info_extra.items(): info.append(f"{key}={value}" if value else key) return info @@ -163,6 +164,8 @@ def _bnd_mate_records(sv: SV) -> list[str]: for info in (info1, info2): info.append("SOMATIC") info.append("SOMATICSCORE=60") + info1.append(f"SVFORGE_SOURCE={sv.source}") + info2.append(f"SVFORGE_SOURCE={sv.source}") fmt, sample = _sample_column(sv) rec1 = "\t".join( From 6bb4cb0321c560ec0a3d3969eda4a618e7d882a6 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Fri, 24 Apr 2026 20:47:18 +0200 Subject: [PATCH 14/31] refactor: streamline annotate and remove unused validate modules --- src/svforge/validate/annotate.py | 257 +++++++++++++++++++------------ src/svforge/validate/overlap.py | 146 ------------------ src/svforge/validate/report.py | 102 ------------ 3 files changed, 155 insertions(+), 350 deletions(-) delete mode 100644 src/svforge/validate/overlap.py delete mode 100644 src/svforge/validate/report.py diff --git a/src/svforge/validate/annotate.py b/src/svforge/validate/annotate.py index 7e7f1ff..bfda2e6 100644 --- a/src/svforge/validate/annotate.py +++ b/src/svforge/validate/annotate.py @@ -1,136 +1,183 @@ """ -Blacklist annotation: tag SVs that overlap ENCODE blacklist regions - -A record is flagged ``poor_mappability=True`` in its INFO if any of its -breakpoints falls within a blacklist interval. For intra-chromosomal SVs, -we also check the spanning interval [POS, END]; for BND we check both -breakends. - -Counts returned to the validate report are **event-based** (a Manta BND -mate pair is one SV event, not two records), see :func:`event_id` +Self-consistency validation for svforge-generated VCFs + +Reads a VCF produced by ``svforge gen`` / ``gen-pair`` and, for every +record tagged ``INFO/SVFORGE_SOURCE=gnomad`` or ``INFO/SVFORGE_SOURCE=blacklist``, +asserts that the record's ``CHROM/POS/END`` matches an entry in the +corresponding bundled mini catalog. The check is deterministic and +tolerance-free: either the VCF was generated by this svforge build and +matches, or it didn't and doesn't """ from __future__ import annotations +from dataclasses import dataclass from pathlib import Path import pysam -from svforge.core.regions import RegionSet - -POOR_MAPPABILITY_FLAG = "poor_mappability" -POOR_MAPPABILITY_HEADER = ( - f"##INFO=' +from svforge.core.injection_catalogs import ( + BlacklistEntry, + GnomadEntry, + load_blacklist_catalog, + load_gnomad_catalog, ) -def event_id(rec: pysam.VariantRecord) -> tuple[str, str]: +@dataclass(frozen=True, slots=True) +class ValidationDivergence: + """ + One record whose coordinates do not match the bundled catalog """ - Return a canonical event identifier for ``rec`` - An SV event may span multiple VCF records (Manta emits a BND as a - mate pair). This helper returns a hashable key that is identical - across the records belonging to the same event so that counts are - taken at the event level, not the record level + record_id: str + source: str + chrom: str + pos: int + end: int - Resolution order: - 1. ``INFO/EVENT`` (Manta groups mates under a shared event ID) - 2. ``INFO/MATEID`` canonicalised as a sorted pair with the record ID - 3. ``ID`` fallback (record-unique; one event per record) +@dataclass(frozen=True, slots=True) +class ValidationResult: """ - event = _first_info(rec, "EVENT") - if event is not None: - return ("event", str(event)) - mate = _first_info(rec, "MATEID") - if mate is not None and rec.id: - pair = tuple(sorted([str(rec.id), str(mate)])) - return ("mate", f"{pair[0]}|{pair[1]}") - return ("id", str(rec.id or f"_anon_{rec.chrom}_{rec.pos}")) - - -def annotate_vcf( - vcf_in: str | Path, - vcf_out: str | Path, - blacklist: RegionSet, -) -> tuple[int, int]: + Outcome of a self-consistency validation run """ - Copy ``vcf_in`` to ``vcf_out`` tagging blacklist-overlapping SVs - Returns ``(n_total_events, n_flagged_events)`` -- mate pairs count as - a single event (see :func:`event_id`). Per-record flagging is - preserved in the output VCF so downstream consumers still see the - ``poor_mappability`` tag on every record whose own breakend falls - inside a blacklisted interval + gnomad_total: int + gnomad_matched: int + blacklist_total: int + blacklist_matched: int + divergences: tuple[ValidationDivergence, ...] + + @property + def passed(self) -> bool: + return not self.divergences + + +def validate_vcf(vcf_path: str | Path) -> ValidationResult: """ - in_path = Path(vcf_in) - out_path = Path(vcf_out) - out_path.parent.mkdir(parents=True, exist_ok=True) - - total_events: set[tuple[str, str]] = set() - flagged_events: set[tuple[str, str]] = set() - - with pysam.VariantFile(str(in_path)) as vin: - if POOR_MAPPABILITY_FLAG not in vin.header.info: - vin.header.add_line(POOR_MAPPABILITY_HEADER) - - mode = _write_mode_for(out_path) - with pysam.VariantFile(str(out_path), mode, header=vin.header) as vout: # type: ignore[arg-type] - for rec in vin: - eid = event_id(rec) - total_events.add(eid) - if _record_overlaps(rec, blacklist): - rec.info[POOR_MAPPABILITY_FLAG] = True - flagged_events.add(eid) - vout.write(rec) - - return len(total_events), len(flagged_events) - - -def _write_mode_for(path: Path) -> str: - name = path.name.lower() - if name.endswith(".vcf.gz"): - return "wz" - if name.endswith(".bcf"): - return "wb" - return "w" - - -def _record_overlaps(rec: pysam.VariantRecord, blacklist: RegionSet) -> bool: - chrom = str(rec.chrom) - pos = int(rec.pos) - svtype = _first_info(rec, "SVTYPE") + Validate every ``SVFORGE_SOURCE``-tagged record in ``vcf_path`` + """ + gnomad_index = _index_gnomad(load_gnomad_catalog()) + blacklist_index = _index_blacklist(load_blacklist_catalog()) + + gnomad_total = 0 + gnomad_matched = 0 + blacklist_total = 0 + blacklist_matched = 0 + divergences: list[ValidationDivergence] = [] + + with pysam.VariantFile(str(vcf_path)) as vin: + for rec in vin: + source = _source_tag(rec) + if source is None: + continue + + chrom = str(rec.chrom) + pos = int(rec.pos) + end = _record_end(rec) + + if source == "gnomad": + gnomad_total += 1 + if _matches_gnomad(chrom, pos, end, gnomad_index): + gnomad_matched += 1 + else: + divergences.append( + ValidationDivergence( + record_id=str(rec.id or ""), + source=source, + chrom=chrom, + pos=pos, + end=end, + ) + ) + elif source == "blacklist": + blacklist_total += 1 + if _matches_blacklist(chrom, pos, end, blacklist_index): + blacklist_matched += 1 + else: + divergences.append( + ValidationDivergence( + record_id=str(rec.id or ""), + source=source, + chrom=chrom, + pos=pos, + end=end, + ) + ) + + return ValidationResult( + gnomad_total=gnomad_total, + gnomad_matched=gnomad_matched, + blacklist_total=blacklist_total, + blacklist_matched=blacklist_matched, + divergences=tuple(divergences), + ) + + +def _source_tag(rec: pysam.VariantRecord) -> str | None: + if "SVFORGE_SOURCE" not in rec.header.info: + return None + try: + value = rec.info.get("SVFORGE_SOURCE") + except (KeyError, ValueError): + return None + if isinstance(value, tuple): + value = value[0] if value else None + if value is None: + return None + source = str(value).lower() + if source in {"gnomad", "blacklist"}: + return source + return None + +def _record_end(rec: pysam.VariantRecord) -> int: + svtype = _first_info(rec, "SVTYPE") if svtype == "BND": - if blacklist.overlaps_point(chrom, pos): - return True chr2 = _first_info(rec, "CHR2") pos2 = _first_info(rec, "POS2") if chr2 is not None and pos2 is not None: - return blacklist.overlaps_point(str(chr2), _to_int(pos2)) - return False + return _to_int(pos2) + if svtype == "INS": + # Manta emits END=POS for insertions; the real end is POS + SVLEN + svlen = _first_info(rec, "SVLEN") + if svlen is not None: + return int(rec.pos) + abs(_to_int(svlen)) + return int(rec.stop) - end = int(rec.stop) - return blacklist.overlaps_vcf(chrom, pos, end) +def _index_gnomad( + catalog: tuple[GnomadEntry, ...], +) -> dict[tuple[str, int, int], GnomadEntry]: + return {(e.chrom, e.pos, e.end): e for e in catalog} -def _to_int(value: object) -> int: - """ - Safely coerce a pysam INFO scalar (already proven non-None) to ``int`` - """ - if isinstance(value, (int, str, float)): - return int(value) - return int(str(value)) +def _index_blacklist( + catalog: tuple[BlacklistEntry, ...], +) -> dict[tuple[str, int, int], BlacklistEntry]: + return {(e.chrom, e.pos, e.end): e for e in catalog} -def _first_info(rec: pysam.VariantRecord, key: str) -> object: - """ - Return the first value for INFO key ``key`` or ``None`` when absent - pysam raises ValueError if ``key`` is not declared in the header, so we - guard against both that and normal absence - """ +def _matches_gnomad( + chrom: str, + pos: int, + end: int, + index: dict[tuple[str, int, int], GnomadEntry], +) -> bool: + return (chrom, pos, end) in index + + +def _matches_blacklist( + chrom: str, + pos: int, + end: int, + index: dict[tuple[str, int, int], BlacklistEntry], +) -> bool: + return (chrom, pos, end) in index + + +def _first_info(rec: pysam.VariantRecord, key: str) -> object: if key not in rec.header.info: return None try: @@ -140,3 +187,9 @@ def _first_info(rec: pysam.VariantRecord, key: str) -> object: if isinstance(value, tuple): return value[0] if value else None return value + + +def _to_int(value: object) -> int: + if isinstance(value, (int, str, float)): + return int(value) + return int(str(value)) diff --git a/src/svforge/validate/overlap.py b/src/svforge/validate/overlap.py deleted file mode 100644 index 2d5eb5e..0000000 --- a/src/svforge/validate/overlap.py +++ /dev/null @@ -1,146 +0,0 @@ -""" -gnomAD SV overlap with 2 bp breakpoint tolerance - -Semantics: an SV matches gnomAD if there exists a gnomAD SV with both -breakpoints within :data:`DEFAULT_TOLERANCE_BP` base-pairs on the same -chromosomes. This mirrors how clinical SV pipelines actually filter -germline events -- the svtype is not part of the match condition since -callers often disagree on DEL vs CNV vs DUP for the same locus -""" - -from __future__ import annotations - -from collections import defaultdict -from collections.abc import Iterator -from dataclasses import dataclass -from pathlib import Path - -import pysam - -from svforge.core.models import SV - -DEFAULT_TOLERANCE_BP = 2 - - -@dataclass(slots=True, frozen=True) -class _IndexedSV: - svtype: str - chrom: str - pos: int - chrom2: str - pos2: int - - -class GnomadIndex: - """ - Chromosome-keyed index of gnomAD SV sites for tolerant breakpoint lookup - """ - - __slots__ = ("_by_chrom",) - - def __init__(self) -> None: - self._by_chrom: dict[str, list[_IndexedSV]] = defaultdict(list) - - def add(self, entry: _IndexedSV) -> None: - self._by_chrom[entry.chrom].append(entry) - - def overlaps(self, sv: SV, tolerance: int = DEFAULT_TOLERANCE_BP) -> bool: - """ - True if ``sv`` has a gnomAD match with both breakpoints within ``tolerance`` - """ - sv_chrom2 = sv.mate_chrom if sv.svtype == "BND" else sv.chrom - sv_pos2 = sv.mate_pos if sv.svtype == "BND" else sv.end - if sv_chrom2 is None or sv_pos2 is None: - return False - - for entry in self._by_chrom.get(sv.chrom, ()): - if abs(entry.pos - sv.pos) > tolerance: - continue - if entry.chrom2 != sv_chrom2: - continue - if abs(entry.pos2 - sv_pos2) > tolerance: - continue - return True - return False - - def __len__(self) -> int: - return sum(len(v) for v in self._by_chrom.values()) - - -def load_gnomad_index(vcf_path: str | Path) -> GnomadIndex: - """ - Parse a gnomAD SV VCF into a :class:`GnomadIndex` - """ - index = GnomadIndex() - for entry in _iter_gnomad(Path(vcf_path)): - index.add(entry) - return index - - -def _iter_gnomad(path: Path) -> Iterator[_IndexedSV]: - with pysam.VariantFile(str(path)) as vf: - for rec in vf: - svtype = _extract_svtype(rec) - if svtype is None: - continue - chrom = str(rec.chrom) - pos = int(rec.pos) - chrom2, pos2 = _extract_mate_coords(rec, svtype, chrom, pos) - yield _IndexedSV(svtype=svtype, chrom=chrom, pos=pos, chrom2=chrom2, pos2=pos2) - - -def _extract_svtype(rec: pysam.VariantRecord) -> str | None: - svtype = _safe_info(rec, "SVTYPE") - if isinstance(svtype, tuple): - svtype = svtype[0] if svtype else None - if svtype is None: - return None - return str(svtype).upper() - - -def _extract_mate_coords( - rec: pysam.VariantRecord, - svtype: str, - chrom: str, - pos: int, -) -> tuple[str, int]: - chrom2 = _safe_info(rec, "CHR2") or _safe_info(rec, "CHROM2") - pos2 = _safe_info(rec, "POS2") or _safe_info(rec, "END2") - end = _safe_info(rec, "END") - if end is None: - end = rec.stop - - if isinstance(chrom2, tuple): - chrom2 = chrom2[0] if chrom2 else None - if isinstance(pos2, tuple): - pos2 = pos2[0] if pos2 else None - - if svtype == "BND" and chrom2 is not None and pos2 is not None: - return str(chrom2), _to_int(pos2) - if end is None: - return chrom, pos - return chrom, _to_int(end) - - -def _to_int(value: object) -> int: - """ - Safely coerce a pysam INFO scalar (already proven non-None) to ``int`` - """ - if isinstance(value, (int, str, float)): - return int(value) - return int(str(value)) - - -def _safe_info(rec: pysam.VariantRecord, key: str) -> object: - """ - pysam raises ValueError if ``key`` is not declared in the VCF header - - We want missing-key to mean "absent" when polling optional INFO tags - across heterogeneous gnomAD / caller dialects - """ - if key not in rec.header.info: - return None - try: - return rec.info.get(key) - except (KeyError, ValueError): - return None diff --git a/src/svforge/validate/report.py b/src/svforge/validate/report.py deleted file mode 100644 index 94e729b..0000000 --- a/src/svforge/validate/report.py +++ /dev/null @@ -1,102 +0,0 @@ -""" -Fraction report: compare observed vs expected blacklist/gnomAD overlap rates -""" - -from __future__ import annotations - -from dataclasses import dataclass -from pathlib import Path -from typing import TextIO - - -@dataclass(slots=True, frozen=True) -class FractionCheck: - """ - One row of the validation report - """ - - metric: str - expected: float - observed: float - tolerance: float - total: int - count: int - - @property - def passed(self) -> bool: - if self.expected == 0.0: - return self.observed == 0.0 - return abs(self.observed - self.expected) / self.expected <= self.tolerance - - def as_row(self) -> list[str]: - return [ - self.metric, - _fmt(self.expected), - _fmt(self.observed), - _fmt(self.tolerance), - str(self.total), - str(self.count), - "PASS" if self.passed else "FAIL", - ] - - -HEADER = ["metric", "expected", "observed", "tolerance", "total", "count", "status"] - - -def build_report( - total_svs: int, - n_gnomad_overlaps: int, - n_blacklist_flags: int, - expected_gnomad_fraction: float, - expected_blacklist_fraction: float, - tolerance: float, -) -> list[FractionCheck]: - """ - Compose the full set of checks for the validate subcommand - """ - obs_gnomad = 0.0 if total_svs == 0 else n_gnomad_overlaps / total_svs - obs_blacklist = 0.0 if total_svs == 0 else n_blacklist_flags / total_svs - return [ - FractionCheck( - metric="gnomad_overlap_fraction", - expected=expected_gnomad_fraction, - observed=obs_gnomad, - tolerance=tolerance, - total=total_svs, - count=n_gnomad_overlaps, - ), - FractionCheck( - metric="blacklist_flag_fraction", - expected=expected_blacklist_fraction, - observed=obs_blacklist, - tolerance=tolerance, - total=total_svs, - count=n_blacklist_flags, - ), - ] - - -def write_tsv(checks: list[FractionCheck], out: TextIO) -> None: - """ - Write a TSV report with a header row and one row per check - """ - out.write("\t".join(HEADER)) - out.write("\n") - for chk in checks: - out.write("\t".join(chk.as_row())) - out.write("\n") - - -def write_tsv_path(checks: list[FractionCheck], path: str | Path) -> Path: - """ - Write the TSV report to ``path`` (parent dir created if needed) - """ - p = Path(path) - p.parent.mkdir(parents=True, exist_ok=True) - with p.open("w", encoding="utf-8") as fh: - write_tsv(checks, fh) - return p - - -def _fmt(x: float) -> str: - return f"{x:.6f}" From f8780b233d54b6cb407a3f9a2bab976f15d32daf Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Fri, 24 Apr 2026 20:48:53 +0200 Subject: [PATCH 15/31] test: add tests --- tests/conftest.py | 36 ++++ tests/fixtures/broken_manta.template | 7 + tests/fixtures/custom_manta.template | 27 +++ tests/fixtures/mini_bank.yaml | 24 +++ tests/fixtures/mini_blacklist.bed | 11 ++ tests/test_bank.py | 42 +++++ tests/test_chromosome_filter.py | 219 +++++++++++++++++++++++++ tests/test_cli.py | 138 ++++++++++++++++ tests/test_delly_writer.py | 82 +++++++++ tests/test_genome_validation.py | 98 +++++++++++ tests/test_header_fidelity.py | 128 +++++++++++++++ tests/test_header_template_override.py | 111 +++++++++++++ tests/test_injection_catalogs.py | 46 ++++++ tests/test_injection_sampling.py | 175 ++++++++++++++++++++ tests/test_manta_writer.py | 115 +++++++++++++ tests/test_models.py | 82 +++++++++ tests/test_pair_mode.py | 52 ++++++ tests/test_provenance.py | 154 +++++++++++++++++ tests/test_regions.py | 47 ++++++ tests/test_sampler.py | 70 ++++++++ 20 files changed, 1664 insertions(+) create mode 100644 tests/conftest.py create mode 100644 tests/fixtures/broken_manta.template create mode 100644 tests/fixtures/custom_manta.template create mode 100644 tests/fixtures/mini_bank.yaml create mode 100644 tests/fixtures/mini_blacklist.bed create mode 100644 tests/test_bank.py create mode 100644 tests/test_chromosome_filter.py create mode 100644 tests/test_cli.py create mode 100644 tests/test_delly_writer.py create mode 100644 tests/test_genome_validation.py create mode 100644 tests/test_header_fidelity.py create mode 100644 tests/test_header_template_override.py create mode 100644 tests/test_injection_catalogs.py create mode 100644 tests/test_injection_sampling.py create mode 100644 tests/test_manta_writer.py create mode 100644 tests/test_models.py create mode 100644 tests/test_pair_mode.py create mode 100644 tests/test_provenance.py create mode 100644 tests/test_regions.py create mode 100644 tests/test_sampler.py diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..9652f74 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,36 @@ +""" +Shared fixtures for the svforge test suite +""" + +from __future__ import annotations + +from pathlib import Path + +import pytest + +from svforge.core.bank import Bank, load_bank +from svforge.core.models import SV +from svforge.core.sampler import SamplerConfig, sample + +FIXTURES_DIR = Path(__file__).parent / "fixtures" + +@pytest.fixture +def fixtures_dir() -> Path: + return FIXTURES_DIR + +@pytest.fixture +def mini_bank_path(fixtures_dir: Path) -> Path: + return fixtures_dir / "mini_bank.yaml" + +@pytest.fixture +def mini_blacklist_path(fixtures_dir: Path) -> Path: + return fixtures_dir / "mini_blacklist.bed" + +@pytest.fixture +def mini_bank(mini_bank_path: Path) -> Bank: + return load_bank(mini_bank_path) + +@pytest.fixture +def sample_svs(mini_bank: Bank) -> list[SV]: + cfg = SamplerConfig(n=10, seed=42) + return sample(mini_bank, cfg) diff --git a/tests/fixtures/broken_manta.template b/tests/fixtures/broken_manta.template new file mode 100644 index 0000000..abad62c --- /dev/null +++ b/tests/fixtures/broken_manta.template @@ -0,0 +1,7 @@ +##fileformat=VCFv4.1 +##fileDate={FILE_DATE} +##source=GenerateSVCandidates 1.6.0 +##contig= +##INFO= +##cmdline={CMDLINE} +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT {NORMAL_SAMPLE} {TUMOR_SAMPLE} diff --git a/tests/fixtures/custom_manta.template b/tests/fixtures/custom_manta.template new file mode 100644 index 0000000..a80a994 --- /dev/null +++ b/tests/fixtures/custom_manta.template @@ -0,0 +1,27 @@ +##fileformat=VCFv4.1 +##fileDate={FILE_DATE} +##source=GenerateSVCandidates 1.6.0 +##reference=file:///{REFERENCE_FASTA} +##contig= +##contig= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##FILTER= +##FORMAT= +##FORMAT= +##ALT= +##ALT= +##ALT= +##ALT= +##ALT= +##cmdline={CMDLINE} +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT {NORMAL_SAMPLE} {TUMOR_SAMPLE} diff --git a/tests/fixtures/mini_bank.yaml b/tests/fixtures/mini_bank.yaml new file mode 100644 index 0000000..8825200 --- /dev/null +++ b/tests/fixtures/mini_bank.yaml @@ -0,0 +1,24 @@ +name: mini_bank +genome: hg38 + +templates: + - svtype: DEL + svlen: [100, 1000] + homlen: [0, 5] + weight: 2.0 + - svtype: DUP + svlen: [500, 5000] + homlen: [0, 10] + weight: 1.0 + - svtype: INV + svlen: [1000, 10000] + homlen: [0, 15] + weight: 1.0 + - svtype: INS + svlen: [50, 500] + homlen: [0, 5] + weight: 1.0 + - svtype: BND + svlen: [1, 1] + homlen: [0, 5] + weight: 1.0 diff --git a/tests/fixtures/mini_blacklist.bed b/tests/fixtures/mini_blacklist.bed new file mode 100644 index 0000000..c0299e5 --- /dev/null +++ b/tests/fixtures/mini_blacklist.bed @@ -0,0 +1,11 @@ +# Hand-crafted mini blacklist for testing, BED format (0-based half-open) +chr1 1000000 1100000 +chr1 50000000 50010000 +chr2 2000000 2050000 +chr3 3000000 3100000 +chr4 4000000 4020000 +chr5 5000000 5050000 +chr10 10000000 10100000 +chr17 17000000 17200000 +chrX 30000000 30100000 +chrY 5000000 5010000 diff --git a/tests/test_bank.py b/tests/test_bank.py new file mode 100644 index 0000000..1e9b910 --- /dev/null +++ b/tests/test_bank.py @@ -0,0 +1,42 @@ +""" +Tests for bank loading and the built-in default bank +""" + +from __future__ import annotations + +from pathlib import Path + +import pytest + +from svforge.core.bank import list_builtin_banks, load_bank + +def test_load_builtin_default_bank() -> None: + bank = load_bank("default_hg38") + assert bank.name == "default_hg38" + assert bank.genome == "hg38" + assert len(bank.templates) >= 15 + assert bank.svtypes() == {"DEL", "DUP", "INV", "INS", "BND"} + +def test_list_builtin_banks_contains_default() -> None: + assert "default_hg38" in list_builtin_banks() + +def test_load_mini_bank_from_path(mini_bank_path: Path) -> None: + bank = load_bank(mini_bank_path) + assert bank.name == "mini_bank" + assert len(bank.templates) == 5 + +def test_load_bank_missing() -> None: + with pytest.raises(FileNotFoundError): + load_bank("does_not_exist_anywhere") + +def test_invalid_bank_missing_templates(tmp_path: Path) -> None: + bad = tmp_path / "bad.yaml" + bad.write_text("name: bad\ngenome: hg38\ntemplates: []\n") + with pytest.raises(ValueError, match="templates"): + load_bank(bad) + +def test_invalid_genome(tmp_path: Path) -> None: + bad = tmp_path / "bad.yaml" + bad.write_text("name: bad\ngenome: t2t\ntemplates:\n - {svtype: DEL, svlen: [100, 200]}\n") + with pytest.raises(ValueError, match="genome"): + load_bank(bad) diff --git a/tests/test_chromosome_filter.py b/tests/test_chromosome_filter.py new file mode 100644 index 0000000..546b971 --- /dev/null +++ b/tests/test_chromosome_filter.py @@ -0,0 +1,219 @@ +""" +Chromosome-filter tests for ``--chromosomes`` on gen and gen-pair + +Requirements from the V1 robustness pass: + +1. ``--chromosomes chr1`` only produces records on ``chr1`` and no + cross-chromosome BND +2. ``--chromosomes chr8,chr14`` permits chr8<->chr14 BND events +3. ``--chromosomes 1,7`` is normalised to ``chr1,chr7`` +4. ``--chromosomes chrZZ`` raises a validation error with a non-zero exit code +5. A filter that empties the pool raises an explicit error +""" + +from __future__ import annotations + +import re +from pathlib import Path + +import pysam + +from svforge.cli import main +from svforge.core.genome import normalize_chromosomes + +FIXTURES = Path(__file__).parent / "fixtures" +BANK = FIXTURES / "mini_bank.yaml" + +def _records(vcf: Path) -> list[pysam.VariantRecord]: + with pysam.VariantFile(str(vcf)) as vf: + return list(vf) + +def test_single_chromosome_filters_all_records(tmp_path: Path) -> None: + out = tmp_path / "out.vcf" + rc = main( + [ + "gen", + "--caller", + "manta", + "--bank", + str(BANK), + "--out", + str(out), + "--n", + "20", + "--sample-name", + "S", + "--chromosomes", + "chr1", + "--seed", + "7", + "--svtypes", + "DEL,DUP,INV,INS", + ] + ) + assert rc == 0 + recs = _records(out) + assert recs + for rec in recs: + assert rec.chrom == "chr1" + +def test_two_chromosomes_permit_bnd_between_them(tmp_path: Path) -> None: + out = tmp_path / "out.vcf" + rc = main( + [ + "gen", + "--caller", + "delly", + "--bank", + str(BANK), + "--out", + str(out), + "--n", + "30", + "--sample-name", + "S", + "--chromosomes", + "chr8,chr14", + "--seed", + "11", + ] + ) + assert rc == 0 + recs = _records(out) + assert recs + allowed = {"chr8", "chr14"} + for rec in recs: + assert rec.chrom in allowed + if rec.info.get("SVTYPE") == "BND": + alt = str(rec.alts[0]) if rec.alts else "" + mate_match = re.search(r"[\[\]]([^:\[\]]+):\d+[\[\]]", alt) + if mate_match: + assert mate_match.group(1) in allowed + +def test_alias_digits_normalize_to_chr_prefix() -> None: + assert normalize_chromosomes(["1", "7"], "hg38") == ["chr1", "chr7"] + assert normalize_chromosomes(["X", "MT"], "hg38") == ["chrX", "chrM"] + assert normalize_chromosomes(["chr3"], "hg38") == ["chr3"] + +def test_cli_alias_digits_normalize(tmp_path: Path) -> None: + out = tmp_path / "out.vcf" + rc = main( + [ + "gen", + "--caller", + "manta", + "--bank", + str(BANK), + "--out", + str(out), + "--n", + "5", + "--sample-name", + "S", + "--chromosomes", + "1", + "--seed", + "0", + "--svtypes", + "DEL", + ] + ) + assert rc == 0 + for rec in _records(out): + assert rec.chrom == "chr1" + +def test_unknown_chromosome_exits_non_zero(tmp_path: Path) -> None: + out = tmp_path / "out.vcf" + rc = main( + [ + "gen", + "--caller", + "manta", + "--bank", + str(BANK), + "--out", + str(out), + "--n", + "1", + "--sample-name", + "S", + "--chromosomes", + "chrZZ", + "--seed", + "0", + ] + ) + assert rc != 0 + +def test_empty_pool_raises_explicit_error(tmp_path: Path) -> None: + """ + Filter requests a chromosome that no template in the bank covers + """ + constrained = tmp_path / "bank.yaml" + constrained.write_text( + "name: bounded\n" + "genome: hg38\n" + "templates:\n" + " - svtype: DEL\n" + " svlen: [100, 1000]\n" + " homlen: [0, 5]\n" + " weight: 1.0\n" + " chroms: [chr1, chr2]\n", + encoding="utf-8", + ) + out = tmp_path / "out.vcf" + rc = main( + [ + "gen", + "--caller", + "manta", + "--bank", + str(constrained), + "--out", + str(out), + "--n", + "5", + "--sample-name", + "S", + "--chromosomes", + "chr21,chr22", + "--seed", + "0", + ] + ) + assert rc != 0 + +def test_gen_pair_accepts_chromosome_filter(tmp_path: Path) -> None: + tumor = tmp_path / "t.vcf" + normal = tmp_path / "n.vcf" + rc = main( + [ + "gen-pair", + "--caller", + "manta", + "--bank", + str(BANK), + "--out-tumor", + str(tumor), + "--out-normal", + str(normal), + "--n-somatic", + "5", + "--n-germline", + "5", + "--tumor-sample-name", + "T", + "--normal-sample-name", + "N", + "--chromosomes", + "chr1,chr2", + "--seed", + "3", + "--svtypes", + "DEL,DUP", + ] + ) + assert rc == 0 + for path in (tumor, normal): + for rec in _records(path): + assert rec.chrom in {"chr1", "chr2"} diff --git a/tests/test_cli.py b/tests/test_cli.py new file mode 100644 index 0000000..3d05e0d --- /dev/null +++ b/tests/test_cli.py @@ -0,0 +1,138 @@ +""" +CLI integration tests -- each subcommand end-to-end +""" + +from __future__ import annotations + +from pathlib import Path + +import pysam + +from svforge.cli import main + +def test_cli_callers(capsys) -> None: # type: ignore[no-untyped-def] + rc = main(["callers"]) + assert rc == 0 + out = capsys.readouterr().out.splitlines() + assert "manta" in out + assert "delly" in out + +def test_cli_bank_list(capsys) -> None: # type: ignore[no-untyped-def] + rc = main(["bank", "list"]) + assert rc == 0 + assert "default_hg38" in capsys.readouterr().out + +def test_cli_bank_show(capsys) -> None: # type: ignore[no-untyped-def] + rc = main(["bank", "show", "default_hg38"]) + assert rc == 0 + out = capsys.readouterr().out + assert "name: default_hg38" in out + assert "templates:" in out + +def test_cli_gen_manta_vcf_gz(tmp_path: Path, mini_bank_path: Path) -> None: + out = tmp_path / "out.vcf.gz" + rc = main( + [ + "gen", + "--caller", + "manta", + "--out", + str(out), + "--n", + "15", + "--sample-name", + "T01", + "--bank", + str(mini_bank_path), + "--seed", + "42", + ] + ) + assert rc == 0 + assert out.exists() + with pysam.VariantFile(str(out)) as vf: + assert sum(1 for _ in vf) > 0 + +def test_cli_gen_pair(tmp_path: Path, mini_bank_path: Path) -> None: + tumor = tmp_path / "tumor.vcf.gz" + normal = tmp_path / "normal.vcf.gz" + rc = main( + [ + "gen-pair", + "--caller", + "delly", + "--out-tumor", + str(tumor), + "--out-normal", + str(normal), + "--n-somatic", + "5", + "--n-germline", + "6", + "--tumor-sample-name", + "T01", + "--normal-sample-name", + "N01", + "--bank", + str(mini_bank_path), + "--seed", + "99", + "--svtypes", + "DEL,DUP,INV", + ] + ) + assert rc == 0 + with pysam.VariantFile(str(tumor)) as vf: + tumor_ids = {r.id for r in vf if r.id} + with pysam.VariantFile(str(normal)) as vf: + normal_ids = {r.id for r in vf if r.id} + assert normal_ids.issubset(tumor_ids) + assert len(tumor_ids - normal_ids) >= 5 + +def test_cli_validate_pass( + tmp_path: Path, + mini_bank_path: Path, +) -> None: + gen_out = tmp_path / "gen.vcf.gz" + rc = main( + [ + "gen", + "--caller", + "manta", + "--out", + str(gen_out), + "--n", + "40", + "--sample-name", + "T01", + "--bank", + str(mini_bank_path), + "--seed", + "7", + "--svtypes", + "DEL,DUP,INV", + "--blacklist-fraction", + "0.10", + "--gnomad-fraction", + "0.20", + ] + ) + assert rc == 0 + + report = tmp_path / "report.tsv" + rc = main( + [ + "validate", + "--vcf", + str(gen_out), + "--report-tsv", + str(report), + ] + ) + assert rc == 0 + content = report.read_text() + assert "metric" in content + assert "gnomad_self_consistency\t" in content + assert "blacklist_self_consistency\t" in content + assert content.count("PASS") == 2 + assert "FAIL" not in content diff --git a/tests/test_delly_writer.py b/tests/test_delly_writer.py new file mode 100644 index 0000000..e84f518 --- /dev/null +++ b/tests/test_delly_writer.py @@ -0,0 +1,82 @@ +""" +Tests for the DELLY writer with pysam round-trip validation +""" + +from __future__ import annotations + +from pathlib import Path + +import pysam + +from svforge.core.models import SV +from svforge.io.vcf_writer import write_vcf +from svforge.writers import get_writer + +def _svs() -> list[SV]: + return [ + SV(id="del1", svtype="DEL", chrom="chr1", pos=100_000, end=101_000, svlen=1_000), + SV(id="dup1", svtype="DUP", chrom="chr2", pos=200_000, end=205_000, svlen=5_000), + SV( + id="inv1", + svtype="INV", + chrom="chr3", + pos=300_000, + end=310_000, + svlen=10_000, + strands="++", + ), + SV(id="ins1", svtype="INS", chrom="chr4", pos=400_000, end=400_000, svlen=200), + SV( + id="bnd1", + svtype="BND", + chrom="chr5", + pos=500_000, + end=500_000, + svlen=1, + mate_chrom="chr7", + mate_pos=700_000, + strands="+-", + ), + ] + +def test_delly_one_record_per_event(tmp_path: Path) -> None: + writer = get_writer("delly") + svs = _svs() + header = writer.header_lines("SAMP01") + records = writer.format_records(svs, "SAMP01") + assert len(records) == len(svs) + + out = tmp_path / "out.vcf" + write_vcf(out, header, records) + with pysam.VariantFile(str(out)) as vf: + got = list(vf) + assert len(got) == len(svs) + +def test_delly_bnd_has_chr2_pos2(tmp_path: Path) -> None: + writer = get_writer("delly") + sv = SV( + id="bnd1", + svtype="BND", + chrom="chr5", + pos=500_000, + end=500_000, + svlen=1, + mate_chrom="chr7", + mate_pos=700_000, + strands="+-", + ) + out = tmp_path / "d.vcf" + write_vcf(out, writer.header_lines("S"), writer.format_records([sv], "S")) + with pysam.VariantFile(str(out)) as vf: + rec = next(iter(vf)) + assert rec.info["CHR2"] == "chr7" + assert int(rec.info["POS2"]) == 700_000 + assert "CT" in rec.info + +def test_delly_roundtrip_bcf(tmp_path: Path) -> None: + writer = get_writer("delly") + svs = _svs() + out = tmp_path / "out.bcf" + write_vcf(out, writer.header_lines("S"), writer.format_records(svs, "S")) + with pysam.VariantFile(str(out)) as vf: + assert sum(1 for _ in vf) == len(svs) diff --git a/tests/test_genome_validation.py b/tests/test_genome_validation.py new file mode 100644 index 0000000..f78b87c --- /dev/null +++ b/tests/test_genome_validation.py @@ -0,0 +1,98 @@ +""" +Validate the ``--genome`` CLI option + +V1 supports hg38 only. Any other value must exit non-zero with a clear +message that points the user at ``--header-template`` for self-service +override +""" + +from __future__ import annotations + +from pathlib import Path + +import pytest + +from svforge.cli import main +from svforge.core.genome import validate_genome + +BANK = Path(__file__).parent / "fixtures" / "mini_bank.yaml" + +def test_validate_genome_accepts_hg38() -> None: + assert validate_genome("hg38") == "hg38" + +@pytest.mark.parametrize("bad", ["hg19", "t2t", "chm13", "invalid"]) +def test_validate_genome_rejects_everything_else(bad: str) -> None: + with pytest.raises(ValueError, match="No bundled header template"): + validate_genome(bad) + +def test_validate_genome_error_points_to_header_template() -> None: + with pytest.raises(ValueError, match="--header-template PATH"): + validate_genome("hg19") + +def test_cli_gen_with_hg38_succeeds(tmp_path: Path) -> None: + rc = main( + [ + "gen", + "--caller", + "manta", + "--bank", + str(BANK), + "--out", + str(tmp_path / "out.vcf"), + "--n", + "2", + "--sample-name", + "S", + "--genome", + "hg38", + "--seed", + "1", + "--svtypes", + "DEL", + ] + ) + assert rc == 0 + +def test_cli_gen_with_hg19_exits_non_zero(tmp_path: Path) -> None: + rc = main( + [ + "gen", + "--caller", + "manta", + "--bank", + str(BANK), + "--out", + str(tmp_path / "out.vcf"), + "--n", + "1", + "--sample-name", + "S", + "--genome", + "hg19", + "--seed", + "0", + ] + ) + assert rc != 0 + +def test_cli_gen_with_invalid_genome_exits_non_zero(tmp_path: Path) -> None: + rc = main( + [ + "gen", + "--caller", + "manta", + "--bank", + str(BANK), + "--out", + str(tmp_path / "out.vcf"), + "--n", + "1", + "--sample-name", + "S", + "--genome", + "does_not_exist", + "--seed", + "0", + ] + ) + assert rc != 0 diff --git a/tests/test_header_fidelity.py b/tests/test_header_fidelity.py new file mode 100644 index 0000000..81d747d --- /dev/null +++ b/tests/test_header_fidelity.py @@ -0,0 +1,128 @@ +""" +Header-fidelity test: svforge output must match the real-caller template + +The test generates a paired tumor/normal header for each writer with zero +records and compares it line-by-line to the reference template. Only five +categories of lines are ignored (they are either dynamic or deliberately +different): + +- ``##svforge*`` (not present in the reference) +- ``##source`` (delibarately different from real output) +- ``##fileDate`` (dynamic) +- ``##cmdline`` (dynamic) +- ``##reference`` (dynamic: substituted with a synthetic placeholder) + +Any other divergence means the writer drifted from the real caller and +must be fixed before release +""" + +from __future__ import annotations + +from importlib import resources +from pathlib import Path + +import pytest + +from svforge.core.provenance import build_svforge_tags +from svforge.io.vcf_writer import write_vcf +from svforge.writers import get_writer +from svforge.writers.base import CallerWriter + +def _load_template(name: str) -> list[str]: + return ( + resources.files("svforge.data.headers") + .joinpath(name) + .read_text(encoding="utf-8") + .splitlines() + ) + +def _filter_ignored(lines: list[str]) -> list[str]: + return [ + line + for line in lines + if not line.startswith("##svforge") + and not line.startswith("##source") + and not line.startswith("##fileDate") + and not line.startswith("##cmdline") + and not line.startswith("##reference") + ] + +def _substitute_samples(lines: list[str], tumor: str, normal: str) -> list[str]: + out: list[str] = [] + for line in lines: + if line.startswith("#CHROM"): + out.append(line.replace("{TUMOR_SAMPLE}", tumor).replace("{NORMAL_SAMPLE}", normal)) + else: + out.append(line) + return out + +@pytest.mark.parametrize( + ("caller", "template_name"), + [ + ("manta", "manta_somatic_hg38.vcf.template"), + ("delly", "delly_somatic_hg38.vcf.template"), + ], +) +def test_paired_header_matches_template(caller: str, template_name: str) -> None: + writer: CallerWriter = get_writer(caller) + tumor, normal = "TUMOR01", "NORMAL01" + tags = build_svforge_tags(caller=caller, seed=42, argv=["svforge", "gen-pair"]) + + generated = writer.header_lines_paired(tumor, normal, provenance_tags=tags) + template = _substitute_samples(_load_template(template_name), tumor, normal) + + assert _filter_ignored(generated) == _filter_ignored(template) + +@pytest.mark.parametrize("caller", ["manta", "delly"]) +def test_svforge_tags_are_injected_right_after_fileformat(caller: str) -> None: + writer: CallerWriter = get_writer(caller) + tags = build_svforge_tags(caller=caller, seed=0, argv=["svforge"]) + lines = writer.header_lines_paired("T", "N", provenance_tags=tags) + + assert lines[0].startswith("##fileformat=") + for idx, tag in enumerate(tags, start=1): + assert lines[idx] == tag + +def test_templates_contain_no_sensitive_data() -> None: + """ + Guard the committed templates against leaks of internal run metadata + """ + for name in ( + "manta_somatic_hg38.vcf.template", + "delly_somatic_hg38.vcf.template", + ): + text = resources.files("svforge.data.headers").joinpath(name).read_text(encoding="utf-8") + for bad in ("P69", "pmichonn", "beegfs", "/mnt/"): + assert bad not in text, f"{bad!r} leaked into {name}" + +@pytest.mark.parametrize("caller", ["manta", "delly"]) +def test_single_sample_header_keeps_one_sample_column(caller: str) -> None: + writer: CallerWriter = get_writer(caller) + lines = writer.header_lines("ONLY") + chrom = next(line for line in lines if line.startswith("#CHROM")) + assert chrom.split("\t")[-1] == "ONLY" + assert chrom.count("\t") == 9 # 9 fixed + 1 sample = 10 fields + +def test_hg19_has_no_bundled_template() -> None: + writer = get_writer("manta") + with pytest.raises(ValueError, match="No bundled header template"): + writer.header_lines("S", genome="hg19") + +def test_no_pass_filter_in_manta_output(tmp_path: Path) -> None: + """ + Manta template does not declare ``##FILTER=`` so the + generated plain VCF must not either (the real Manta somatic header + doesn't carry it; pysam was previously injecting it, see B1) + """ + writer = get_writer("manta") + tags = build_svforge_tags(caller="manta", seed=0, argv=["svforge", "gen"]) + header = writer.header_lines("S", provenance_tags=tags) + + out = tmp_path / "manta_header_only.vcf" + write_vcf(out, header, []) + + text = out.read_text(encoding="utf-8") + assert "##FILTER=; Manta's somatic " + "template doesn't declare it" + ) diff --git a/tests/test_header_template_override.py b/tests/test_header_template_override.py new file mode 100644 index 0000000..f6b3407 --- /dev/null +++ b/tests/test_header_template_override.py @@ -0,0 +1,111 @@ +""" +User-supplied header template override: ``--header-template PATH`` + +1. A valid template with all required placeholders is used as-is +2. A template missing a required placeholder raises an explicit error +3. Omitting ``--header-template`` keeps the bundled template active +""" + +from __future__ import annotations + +from pathlib import Path + +import pytest + +from svforge.cli import main +from svforge.writers import get_writer + +FIXTURES = Path(__file__).parent / "fixtures" +BANK = FIXTURES / "mini_bank.yaml" +CUSTOM = FIXTURES / "custom_manta.template" +BROKEN = FIXTURES / "broken_manta.template" + +def test_override_template_is_used(tmp_path: Path) -> None: + out = tmp_path / "out.vcf" + rc = main( + [ + "gen", + "--caller", + "manta", + "--bank", + str(BANK), + "--out", + str(out), + "--n", + "1", + "--sample-name", + "S", + "--seed", + "0", + "--svtypes", + "DEL", + "--chromosomes", + "chr1", + "--header-template", + str(CUSTOM), + ] + ) + assert rc == 0 + text = out.read_text(encoding="utf-8") + assert "CUSTOM_SVFORGE_TAG" in text, "custom template marker not propagated" + +def test_broken_template_raises_missing_placeholder(tmp_path: Path) -> None: + rc = main( + [ + "gen", + "--caller", + "manta", + "--bank", + str(BANK), + "--out", + str(tmp_path / "out.vcf"), + "--n", + "1", + "--sample-name", + "S", + "--seed", + "0", + "--header-template", + str(BROKEN), + ] + ) + assert rc != 0 + +def test_missing_placeholder_raised_via_writer_api() -> None: + writer = get_writer("manta") + with pytest.raises(ValueError, match=r"missing required placeholders.*\{REFERENCE_FASTA\}"): + writer.header_lines("S", template_override=BROKEN) + +def test_bundled_template_used_when_override_absent(tmp_path: Path) -> None: + out = tmp_path / "out.vcf" + rc = main( + [ + "gen", + "--caller", + "manta", + "--bank", + str(BANK), + "--out", + str(out), + "--n", + "1", + "--sample-name", + "S", + "--seed", + "0", + "--svtypes", + "DEL", + "--chromosomes", + "chr1", + ] + ) + assert rc == 0 + text = out.read_text(encoding="utf-8") + assert "CUSTOM_SVFORGE_TAG" not in text + # the bundled Manta template advertises GenerateSVCandidates + assert "GenerateSVCandidates" in text + +def test_nonexistent_template_raises(tmp_path: Path) -> None: + writer = get_writer("manta") + with pytest.raises(FileNotFoundError): + writer.header_lines("S", template_override=tmp_path / "nope.template") diff --git a/tests/test_injection_catalogs.py b/tests/test_injection_catalogs.py new file mode 100644 index 0000000..32cb67d --- /dev/null +++ b/tests/test_injection_catalogs.py @@ -0,0 +1,46 @@ +""" +Tests for the bundled mini injection catalogs +""" + +from __future__ import annotations + +from svforge.core.genome import HG38_CONTIGS +from svforge.core.injection_catalogs import load_blacklist_catalog, load_gnomad_catalog + +def test_gnomad_catalog_parses_with_min_entries() -> None: + catalog = load_gnomad_catalog() + assert len(catalog) >= 50 + +def test_blacklist_catalog_parses_with_min_entries() -> None: + catalog = load_blacklist_catalog() + assert len(catalog) >= 50 + +def test_gnomad_chroms_and_positions_within_contigs() -> None: + for entry in load_gnomad_catalog(): + assert entry.chrom in HG38_CONTIGS, entry + assert entry.end_chrom in HG38_CONTIGS, entry + assert 1 <= entry.pos <= HG38_CONTIGS[entry.chrom] + assert 1 <= entry.end <= HG38_CONTIGS[entry.end_chrom] + +def test_blacklist_chroms_and_positions_within_contigs() -> None: + for entry in load_blacklist_catalog(): + assert entry.chrom in HG38_CONTIGS, entry + assert 1 <= entry.pos <= HG38_CONTIGS[entry.chrom] + assert 1 <= entry.end <= HG38_CONTIGS[entry.chrom] + assert entry.end >= entry.pos + +def test_gnomad_has_four_or_more_svtypes() -> None: + svtypes = {entry.svtype for entry in load_gnomad_catalog()} + assert len(svtypes) >= 4, svtypes + +def test_catalogs_cover_at_least_10_chroms_combined() -> None: + chroms = {e.chrom for e in load_gnomad_catalog()} | {e.chrom for e in load_blacklist_catalog()} + assert len(chroms) >= 10, chroms + +def test_gnomad_source_ids_unique() -> None: + ids = [e.source_id for e in load_gnomad_catalog()] + assert len(ids) == len(set(ids)) + +def test_blacklist_source_ids_unique() -> None: + ids = [e.source_id for e in load_blacklist_catalog()] + assert len(ids) == len(set(ids)) diff --git a/tests/test_injection_sampling.py b/tests/test_injection_sampling.py new file mode 100644 index 0000000..c5b4e5b --- /dev/null +++ b/tests/test_injection_sampling.py @@ -0,0 +1,175 @@ +""" +Injection sampling: SVFORGE_SOURCE counts + exact catalog match +""" + +from __future__ import annotations + +from pathlib import Path + +import pysam +import pytest + +from svforge.cli import main +from svforge.core.bank import Bank +from svforge.core.injection_catalogs import load_blacklist_catalog, load_gnomad_catalog +from svforge.core.sampler import SamplerConfig, sample + +def _record_coords(rec: pysam.VariantRecord) -> tuple[str, int, int]: + svtype = rec.info.get("SVTYPE") + if isinstance(svtype, tuple): + svtype = svtype[0] if svtype else None + pos = int(rec.pos) + if str(svtype) == "INS": + svlen = rec.info.get("SVLEN") + if isinstance(svlen, tuple): + svlen = svlen[0] if svlen else None + if svlen is not None: + return (str(rec.chrom), pos, pos + abs(int(svlen))) + return (str(rec.chrom), pos, int(rec.stop)) + +def _count_sources(vcf_path: Path) -> dict[str, int]: + counts: dict[str, int] = {"bank": 0, "gnomad": 0, "blacklist": 0} + seen_events: set[str] = set() + with pysam.VariantFile(str(vcf_path)) as vf: + for rec in vf: + event = rec.info.get("EVENT") + if isinstance(event, tuple): + event = event[0] if event else None + key = str(event) if event else f"{rec.chrom}:{rec.pos}:{rec.id}" + if event and event in seen_events: + continue + seen_events.add(key) + src = rec.info.get("SVFORGE_SOURCE") + if isinstance(src, tuple): + src = src[0] if src else None + if src: + counts[str(src)] = counts.get(str(src), 0) + 1 + return counts + +def test_gnomad_fraction_produces_matching_records(tmp_path: Path, mini_bank_path: Path) -> None: + out = tmp_path / "g.vcf" + rc = main( + [ + "gen", + "--caller", + "manta", + "--out", + str(out), + "--n", + "50", + "--sample-name", + "T", + "--bank", + str(mini_bank_path), + "--seed", + "42", + "--svtypes", + "DEL,DUP,INV,INS", + "--gnomad-fraction", + "0.20", + ] + ) + assert rc == 0 + counts = _count_sources(out) + assert counts["gnomad"] == 10 + + gnomad_coords = {(e.chrom, e.pos, e.end) for e in load_gnomad_catalog()} + with pysam.VariantFile(str(out)) as vf: + for rec in vf: + src = rec.info.get("SVFORGE_SOURCE") + if isinstance(src, tuple): + src = src[0] if src else None + if str(src) != "gnomad": + continue + coord = _record_coords(rec) + assert coord in gnomad_coords, coord + +def test_blacklist_fraction_produces_matching_records(tmp_path: Path, mini_bank_path: Path) -> None: + out = tmp_path / "b.vcf" + rc = main( + [ + "gen", + "--caller", + "manta", + "--out", + str(out), + "--n", + "50", + "--sample-name", + "T", + "--bank", + str(mini_bank_path), + "--seed", + "99", + "--svtypes", + "DEL,DUP,INV", + "--blacklist-fraction", + "0.20", + ] + ) + assert rc == 0 + counts = _count_sources(out) + assert counts["blacklist"] == 10 + + bl_coords = {(e.chrom, e.pos, e.end) for e in load_blacklist_catalog()} + with pysam.VariantFile(str(out)) as vf: + for rec in vf: + src = rec.info.get("SVFORGE_SOURCE") + if isinstance(src, tuple): + src = src[0] if src else None + if str(src) != "blacklist": + continue + coord = _record_coords(rec) + assert coord in bl_coords, coord + +def test_combined_fractions(tmp_path: Path, mini_bank_path: Path) -> None: + out = tmp_path / "c.vcf" + rc = main( + [ + "gen", + "--caller", + "manta", + "--out", + str(out), + "--n", + "100", + "--sample-name", + "T", + "--bank", + str(mini_bank_path), + "--seed", + "1", + "--svtypes", + "DEL,DUP,INV", + "--gnomad-fraction", + "0.20", + "--blacklist-fraction", + "0.10", + ] + ) + assert rc == 0 + counts = _count_sources(out) + assert counts["gnomad"] == 20 + assert counts["blacklist"] == 10 + assert counts["bank"] >= 70 + +def test_sum_of_fractions_over_one_is_rejected(mini_bank: Bank) -> None: + with pytest.raises(ValueError, match=r"<= 1\.0"): + sample( + mini_bank, + SamplerConfig(n=10, seed=0, gnomad_fraction=0.6, blacklist_fraction=0.5), + ) + +def test_sampling_without_replacement_when_possible(mini_bank: Bank) -> None: + svs = sample( + mini_bank, + SamplerConfig( + n=50, + seed=3, + svtypes=frozenset({"DEL", "DUP", "INV", "INS"}), + gnomad_fraction=0.20, + ), + ) + gnomad_ids = [sv.info_extra.get("SVFORGE_SOURCE_ID") for sv in svs if sv.source == "gnomad"] + assert len(gnomad_ids) == 10 + assert len(set(gnomad_ids)) == 10 diff --git a/tests/test_manta_writer.py b/tests/test_manta_writer.py new file mode 100644 index 0000000..6939840 --- /dev/null +++ b/tests/test_manta_writer.py @@ -0,0 +1,115 @@ +""" +Tests for the Manta writer with pysam round-trip validation +""" + +from __future__ import annotations + +from pathlib import Path + +import pysam +import pytest + +from svforge.core.models import SV +from svforge.io.vcf_writer import write_vcf +from svforge.writers import get_writer + +def _svs() -> list[SV]: + return [ + SV(id="del1", svtype="DEL", chrom="chr1", pos=100_000, end=101_000, svlen=1_000), + SV(id="dup1", svtype="DUP", chrom="chr2", pos=200_000, end=205_000, svlen=5_000), + SV( + id="inv1", + svtype="INV", + chrom="chr3", + pos=300_000, + end=310_000, + svlen=10_000, + strands="++", + ), + SV( + id="ins1", + svtype="INS", + chrom="chr4", + pos=400_000, + end=400_000, + svlen=200, + ins_seq="ACGT", + ), + SV( + id="bnd1", + svtype="BND", + chrom="chr5", + pos=500_000, + end=500_000, + svlen=1, + mate_chrom="chr7", + mate_pos=700_000, + strands="+-", + ), + ] + +def test_manta_header_and_records_parse(tmp_path: Path) -> None: + writer = get_writer("manta") + svs = _svs() + header = writer.header_lines("TUMOR01") + records = writer.format_records(svs, "TUMOR01") + + out = tmp_path / "out.vcf" + write_vcf(out, header, records) + + with pysam.VariantFile(str(out)) as vf: + got = list(vf) + # BND emits two records (mate pair); other svtypes emit one each + assert len(got) == len(svs) + 1 + + for rec in got: + assert "SVTYPE" in rec.info + +def test_manta_bnd_mates_have_mateid() -> None: + writer = get_writer("manta") + svs = [ + SV( + id="bnd1", + svtype="BND", + chrom="chr5", + pos=500_000, + end=500_000, + svlen=1, + mate_chrom="chr7", + mate_pos=700_000, + strands="+-", + ) + ] + records = writer.format_records(svs, "S") + assert len(records) == 2 + assert "MATEID=bnd1_2" in records[0] + assert "MATEID=bnd1_1" in records[1] + +def test_manta_writes_vcf_gz_and_bcf(tmp_path: Path) -> None: + writer = get_writer("manta") + svs = _svs() + header = writer.header_lines("S") + records = writer.format_records(svs, "S") + + for suffix in (".vcf", ".vcf.gz", ".bcf"): + out = tmp_path / f"out{suffix}" + write_vcf(out, header, records) + with pysam.VariantFile(str(out)) as vf: + assert sum(1 for _ in vf) == len(svs) + 1 + +def test_manta_rejects_unknown_svtype() -> None: + writer = get_writer("manta") + bad = [ + SV( + id="b1", + svtype="DEL", + chrom="chr1", + pos=1_000, + end=2_000, + svlen=1_000, + ) + ] + # sanity: valid svtypes are accepted; CallerWriter validates itself + writer.format_records(bad, "S") + with pytest.raises(ValueError, match="svtype"): + SV(id="b2", svtype="XYZ", chrom="chr1", pos=1, end=2, svlen=1) diff --git a/tests/test_models.py b/tests/test_models.py new file mode 100644 index 0000000..05bf871 --- /dev/null +++ b/tests/test_models.py @@ -0,0 +1,82 @@ +""" +Tests for core domain models +""" + +from __future__ import annotations + +import pytest + +from svforge.core.models import SV, Breakpoint, SVPair + +class TestBreakpoint: + def test_valid(self) -> None: + bp = Breakpoint("chr1", 100, "+") + assert bp.chrom == "chr1" + assert bp.pos == 100 + assert bp.strand == "+" + + def test_invalid_pos(self) -> None: + with pytest.raises(ValueError, match="pos"): + Breakpoint("chr1", 0) + + def test_invalid_strand(self) -> None: + with pytest.raises(ValueError, match="strand"): + Breakpoint("chr1", 100, "x") #type : ignore[arg-type] + +class TestSV: + def test_valid_deletion(self) -> None: + sv = SV(id="x", svtype="DEL", chrom="chr1", pos=100, end=200, svlen=100) + assert sv.svlen == 100 + assert sv.breakpoint1 == Breakpoint("chr1", 100, "+") + assert sv.breakpoint2 == Breakpoint("chr1", 200, "-") + + def test_valid_bnd(self) -> None: + sv = SV( + id="x", + svtype="BND", + chrom="chr1", + pos=100, + end=100, + svlen=1, + mate_chrom="chr2", + mate_pos=200, + strands="+-", + ) + assert sv.breakpoint2.chrom == "chr2" + assert sv.breakpoint2.pos == 200 + + def test_unknown_svtype(self) -> None: + with pytest.raises(ValueError, match="svtype"): + SV(id="x", svtype="WAT", chrom="chr1", pos=1, end=2, svlen=1) + + def test_bnd_requires_mate(self) -> None: + with pytest.raises(ValueError, match="mate"): + SV(id="x", svtype="BND", chrom="chr1", pos=1, end=1, svlen=1) + + def test_end_before_pos(self) -> None: + with pytest.raises(ValueError, match="end"): + SV(id="x", svtype="DEL", chrom="chr1", pos=200, end=100, svlen=1) + + def test_invalid_vaf(self) -> None: + with pytest.raises(ValueError, match="VAF"): + SV(id="x", svtype="DEL", chrom="chr1", pos=1, end=2, svlen=1, vaf=1.5) + + def test_invalid_strands(self) -> None: + with pytest.raises(ValueError, match="strands"): + SV(id="x", svtype="DEL", chrom="chr1", pos=1, end=2, svlen=1, strands="xy") + +class TestSVPair: + def _mk(self, sv_id: str, pos: int) -> SV: + return SV(id=sv_id, svtype="DEL", chrom="chr1", pos=pos, end=pos + 50, svlen=50) + + def test_somatic_and_germline_partition(self) -> None: + germ = self._mk("g1", 1_000) + som = self._mk("s1", 2_000) + pair = SVPair(tumor=[germ, som], normal=[germ]) + assert pair.germline_ids == {"g1"} + assert pair.somatic_ids == {"s1"} + + def test_empty(self) -> None: + pair = SVPair() + assert pair.somatic_ids == set() + assert pair.germline_ids == set() diff --git a/tests/test_pair_mode.py b/tests/test_pair_mode.py new file mode 100644 index 0000000..24bc55d --- /dev/null +++ b/tests/test_pair_mode.py @@ -0,0 +1,52 @@ +""" +End-to-end tests for the pair (tumor + normal) mode +""" + +from __future__ import annotations + +from pathlib import Path + +import pysam + +from svforge.core.bank import Bank +from svforge.core.sampler import SamplerConfig, sample_pair +from svforge.io.vcf_writer import write_vcf +from svforge.writers import get_writer + +def test_sample_pair_writes_two_consistent_vcfs(tmp_path: Path, mini_bank: Bank) -> None: + pair = sample_pair( + mini_bank, + n_somatic=8, + n_germline=10, + cfg=SamplerConfig( + n=0, + seed=13, + svtypes=frozenset({"DEL", "DUP", "INV"}), + vaf_range=(0.3, 0.9), + ), + ) + + writer = get_writer("manta") + tumor_out = tmp_path / "tumor.vcf.gz" + normal_out = tmp_path / "normal.vcf.gz" + + write_vcf( + tumor_out, + writer.header_lines("TUMOR01"), + writer.format_records(pair.tumor, "TUMOR01"), + ) + write_vcf( + normal_out, + writer.header_lines("NORMAL01"), + writer.format_records(pair.normal, "NORMAL01"), + ) + + with pysam.VariantFile(str(tumor_out)) as vf: + tumor_ids = {rec.id for rec in vf if rec.id} + with pysam.VariantFile(str(normal_out)) as vf: + normal_ids = {rec.id for rec in vf if rec.id} + + assert normal_ids.issubset(tumor_ids) + somatic_ids = tumor_ids - normal_ids + assert len(somatic_ids) >= 8 + assert len(normal_ids) >= 10 diff --git a/tests/test_provenance.py b/tests/test_provenance.py new file mode 100644 index 0000000..5fb4811 --- /dev/null +++ b/tests/test_provenance.py @@ -0,0 +1,154 @@ +""" +Provenance tests: every VCF produced by svforge must carry the six +``##svforge*`` header tags, in the spec order, right after ``##fileformat``. +The warning tag must be the exact invariant string +``SYNTHETIC_DATA_DO_NOT_USE_FOR_CLINICAL_DIAGNOSIS`` and must not be +removable via CLI or otherwise. ``sanitize_command`` must strip absolute +paths to their basename on POSIX, macOS and Windows-style inputs +""" + +from __future__ import annotations + +from pathlib import Path + +import pytest + +from svforge import __version__ +from svforge.cli import main +from svforge.core.provenance import ( + WARNING_VALUE, + build_svforge_tags, + sanitize_command, +) +from svforge.io.vcf_writer import write_vcf +from svforge.writers import get_writer + +_EXPECTED_KEYS = ( + "##svforgeVersion", + "##svforgeCommand", + "##svforgeSeed", + "##svforgeCaller", + "##svforgeWarning", + "##svforgeDocumentation", +) + +def test_build_tags_returns_six_tags_in_order() -> None: + tags = build_svforge_tags(caller="manta", seed=42, argv=["svforge", "gen"]) + assert len(tags) == 6 + keys = [t.split("=", 1)[0] for t in tags] + assert tuple(keys) == _EXPECTED_KEYS + +def test_warning_tag_value_is_the_invariant_string() -> None: + tags = build_svforge_tags(caller="delly", seed=0, argv=["svforge"]) + warning = next(t for t in tags if t.startswith("##svforgeWarning=")) + assert warning == f"##svforgeWarning={WARNING_VALUE}" + assert WARNING_VALUE == "SYNTHETIC_DATA_DO_NOT_USE_FOR_CLINICAL_DIAGNOSIS" + +def test_version_tag_matches_package_version() -> None: + tags = build_svforge_tags(caller="manta", seed=1, argv=["svforge"]) + assert f"##svforgeVersion={__version__}" in tags + +def test_caller_tag_reflects_caller_argument() -> None: + assert "##svforgeCaller=manta" in build_svforge_tags(caller="manta", seed=0, argv=["x"]) + assert "##svforgeCaller=delly" in build_svforge_tags(caller="delly", seed=0, argv=["x"]) + +@pytest.mark.parametrize( + ("argv", "expected"), + [ + ( + ["svforge", "gen", "--bank", "/mnt/beegfs/user/secret/bank.yaml"], + "svforge gen --bank bank.yaml", + ), + ( + ["svforge", "gen", "--bank=/home/alice/banks/my_bank.yaml"], + "svforge gen --bank=my_bank.yaml", + ), + ( + ["svforge", "--out", "C:\\Users\\bob\\run\\out.vcf"], + "svforge --out out.vcf", + ), + ( + ["svforge", "--seed", "42"], + "svforge --seed 42", + ), + ( + ["/Users/name with space/.venv/bin/svforge", "gen"], + "svforge gen", + ), + ( + ["svforge", "--bank=/home/alice/my banks/bank.yaml"], + "svforge --bank=bank.yaml", + ), + ( + ["svforge", "--out", "C:\\Users\\Name With Space\\svforge.exe"], + "svforge --out svforge.exe", + ), + ( + ["svforge", "--out", "C:/Users/Name With Space/out.vcf"], + "svforge --out out.vcf", + ), + ], +) +def test_sanitize_command_strips_absolute_paths(argv: list[str], expected: str) -> None: + assert sanitize_command(argv) == expected + +def test_sanitize_command_preserves_relative_paths() -> None: + argv = ["svforge", "gen", "--bank", "banks/local.yaml", "--out", "./out.vcf"] + assert sanitize_command(argv) == "svforge gen --bank banks/local.yaml --out ./out.vcf" + +@pytest.mark.parametrize("caller", ["manta", "delly"]) +def test_header_lines_inject_tags_in_order_after_fileformat(caller: str) -> None: + writer = get_writer(caller) + tags = build_svforge_tags(caller=caller, seed=123, argv=["svforge", "gen"]) + header = writer.header_lines("S1", provenance_tags=tags) + + assert header[0].startswith("##fileformat=") + injected = header[1 : 1 + len(_EXPECTED_KEYS)] + assert [line.split("=", 1)[0] for line in injected] == list(_EXPECTED_KEYS) + +@pytest.mark.parametrize("caller", ["manta", "delly"]) +def test_generated_vcf_contains_all_six_tags(tmp_path: Path, caller: str) -> None: + writer = get_writer(caller) + tags = build_svforge_tags(caller=caller, seed=123, argv=["svforge", "gen"]) + header = writer.header_lines("S1", provenance_tags=tags) + + out = tmp_path / f"{caller}.vcf" + write_vcf(out, header, []) + + lines = out.read_text(encoding="utf-8").splitlines() + assert lines[0].startswith("##fileformat=") + injected = lines[1 : 1 + len(_EXPECTED_KEYS)] + assert [line.split("=", 1)[0] for line in injected] == list(_EXPECTED_KEYS), ( + f"six ##svforge* tags must appear on lines 2-7 of the generated {caller} VCF; " + f"found {injected!r}" + ) + +def test_cli_gen_injects_provenance_and_warning(tmp_path: Path) -> None: + """ + End-to-end: ``svforge gen`` writes a VCF with all six tags + """ + bank = Path(__file__).parent / "fixtures" / "mini_bank.yaml" + out = tmp_path / "out.vcf" + rc = main( + [ + "gen", + "--caller", + "manta", + "--bank", + str(bank), + "--out", + str(out), + "--n", + "3", + "--sample-name", + "S1", + "--seed", + "42", + ] + ) + assert rc == 0 + text = out.read_text(encoding="utf-8") + for key in _EXPECTED_KEYS: + assert key in text, f"missing {key}" + assert WARNING_VALUE in text + assert "##svforgeSeed=42" in text diff --git a/tests/test_regions.py b/tests/test_regions.py new file mode 100644 index 0000000..1999ee9 --- /dev/null +++ b/tests/test_regions.py @@ -0,0 +1,47 @@ +""" +Tests for BED region overlap index +""" + +from __future__ import annotations + +import gzip +from pathlib import Path + +from svforge.core.regions import RegionSet, load_bed + +def test_overlap_point() -> None: + rs = RegionSet([("chr1", 100, 200)]) + assert rs.overlaps_point("chr1", 150) + assert not rs.overlaps_point("chr1", 250) + assert not rs.overlaps_point("chr2", 150) + +def test_overlap_vcf_coords() -> None: + rs = RegionSet([("chr1", 1000, 2000)]) + assert rs.overlaps_vcf("chr1", 1500, 1600) + assert rs.overlaps_vcf("chr1", 500, 1500) + assert not rs.overlaps_vcf("chr1", 2001, 3000) + +def test_overlap_bed_half_open() -> None: + rs = RegionSet([("chr1", 100, 200)]) + assert rs.overlaps_bed("chr1", 100, 101) + assert rs.overlaps_bed("chr1", 199, 200) + assert not rs.overlaps_bed("chr1", 200, 300) + +def test_empty_regionset() -> None: + rs = RegionSet() + assert len(rs) == 0 + assert not rs.overlaps_point("chr1", 1) + +def test_load_bed_plain(mini_blacklist_path: Path) -> None: + rs = load_bed(mini_blacklist_path) + assert len(rs) >= 8 + assert "chr1" in rs.chromosomes + assert rs.overlaps_bed("chr1", 1_050_000, 1_060_000) + +def test_load_bed_gzipped(tmp_path: Path, mini_blacklist_path: Path) -> None: + src = mini_blacklist_path.read_bytes() + gz = tmp_path / "bl.bed.gz" + gz.write_bytes(gzip.compress(src)) + rs = load_bed(gz) + assert len(rs) >= 8 + assert rs.overlaps_bed("chr2", 2_010_000, 2_020_000) diff --git a/tests/test_sampler.py b/tests/test_sampler.py new file mode 100644 index 0000000..adae93c --- /dev/null +++ b/tests/test_sampler.py @@ -0,0 +1,70 @@ +""" +Tests for the sampler +""" + +from __future__ import annotations + +from svforge.core.bank import Bank +from svforge.core.sampler import SamplerConfig, sample, sample_pair + +def test_sample_deterministic_with_seed(mini_bank: Bank) -> None: + cfg = SamplerConfig(n=30, seed=42) + a = sample(mini_bank, cfg) + b = sample(mini_bank, cfg) + assert [sv.id for sv in a] == [sv.id for sv in b] + assert [(sv.chrom, sv.pos, sv.svtype, sv.svlen) for sv in a] == [ + (sv.chrom, sv.pos, sv.svtype, sv.svlen) for sv in b + ] + +def test_sample_different_seeds_differ(mini_bank: Bank) -> None: + a = sample(mini_bank, SamplerConfig(n=20, seed=1)) + b = sample(mini_bank, SamplerConfig(n=20, seed=2)) + assert [sv.id for sv in a] != [sv.id for sv in b] + +def test_sample_count(mini_bank: Bank) -> None: + svs = sample(mini_bank, SamplerConfig(n=50, seed=0)) + assert len(svs) == 50 + +def test_sample_restricted_svtypes(mini_bank: Bank) -> None: + svs = sample(mini_bank, SamplerConfig(n=40, seed=0, svtypes=frozenset({"DEL"}))) + assert {sv.svtype for sv in svs} == {"DEL"} + +def test_sample_svlen_range_clamp(mini_bank: Bank) -> None: + svs = sample( + mini_bank, + SamplerConfig(n=40, seed=0, svtypes=frozenset({"DEL"}), svlen_range=(200, 300)), + ) + for sv in svs: + assert 200 <= sv.svlen <= 300 + +def test_sample_vaf_range(mini_bank: Bank) -> None: + svs = sample(mini_bank, SamplerConfig(n=30, seed=0, vaf_range=(0.2, 0.8))) + for sv in svs: + assert 0.2 <= sv.vaf <= 0.8 + +def test_sample_blacklist_injection(mini_bank: Bank) -> None: + cfg = SamplerConfig( + n=20, + seed=0, + svtypes=frozenset({"DEL", "DUP", "INV"}), + blacklist_fraction=0.4, + ) + svs = sample(mini_bank, cfg) + assert sum(1 for sv in svs if sv.source == "blacklist") == 8 + +def test_sample_pair_germline_shared(mini_bank: Bank) -> None: + pair = sample_pair( + mini_bank, + n_somatic=10, + n_germline=15, + cfg=SamplerConfig(n=0, seed=7, svtypes=frozenset({"DEL", "DUP", "INV"})), + ) + germline_ids = pair.germline_ids + somatic_ids = pair.somatic_ids + assert len(germline_ids) == 15 + assert len(somatic_ids) == 10 + assert germline_ids.isdisjoint(somatic_ids) + + normal_coords = {(sv.id, sv.chrom, sv.pos, sv.end) for sv in pair.normal} + tumor_germ = {(sv.id, sv.chrom, sv.pos, sv.end) for sv in pair.tumor if sv.id in germline_ids} + assert normal_coords == tumor_germ From 6f71bd8cc8f60a2aa00084b7609271c6289c0ebb Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Fri, 24 Apr 2026 21:45:40 +0200 Subject: [PATCH 16/31] fix: ruff fixes --- src/svforge/core/injection_catalogs.py | 6 +++--- tests/test_bank.py | 1 + tests/test_cli.py | 1 + tests/test_delly_writer.py | 1 + tests/test_header_fidelity.py | 1 + tests/test_injection_catalogs.py | 1 + tests/test_injection_sampling.py | 1 + tests/test_manta_writer.py | 1 + tests/test_models.py | 1 + tests/test_pair_mode.py | 1 + tests/test_regions.py | 1 + tests/test_sampler.py | 1 + 12 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/svforge/core/injection_catalogs.py b/src/svforge/core/injection_catalogs.py index d6f71a8..22d75c9 100644 --- a/src/svforge/core/injection_catalogs.py +++ b/src/svforge/core/injection_catalogs.py @@ -59,7 +59,7 @@ def load_gnomad_catalog() -> tuple[GnomadEntry, ...]: """ return tuple(_iter_gnomad(_read_tsv(GNOMAD_TSV))) - + @cache def load_blacklist_catalog() -> tuple[BlacklistEntry, ...]: """ @@ -89,7 +89,7 @@ def _iter_gnomad(rows: list[dict[str, str]]) -> Iterator[GnomadEntry]: end_chrom=row.get("end_chrom") or row["chrom"], svtype=row["svtype"].upper(), source_id=row["source_id"], - ) + ) def _iter_blacklist(rows: list[dict[str, str]]) -> Iterator[BlacklistEntry]: @@ -100,4 +100,4 @@ def _iter_blacklist(rows: list[dict[str, str]]) -> Iterator[BlacklistEntry]: end=int(row["end"]), region_type=row["region_type"], source_id=row["source_id"], - ) \ No newline at end of file + ) diff --git a/tests/test_bank.py b/tests/test_bank.py index 1e9b910..cd442ad 100644 --- a/tests/test_bank.py +++ b/tests/test_bank.py @@ -10,6 +10,7 @@ from svforge.core.bank import list_builtin_banks, load_bank + def test_load_builtin_default_bank() -> None: bank = load_bank("default_hg38") assert bank.name == "default_hg38" diff --git a/tests/test_cli.py b/tests/test_cli.py index 3d05e0d..4ec21b3 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -10,6 +10,7 @@ from svforge.cli import main + def test_cli_callers(capsys) -> None: # type: ignore[no-untyped-def] rc = main(["callers"]) assert rc == 0 diff --git a/tests/test_delly_writer.py b/tests/test_delly_writer.py index e84f518..a75e81c 100644 --- a/tests/test_delly_writer.py +++ b/tests/test_delly_writer.py @@ -12,6 +12,7 @@ from svforge.io.vcf_writer import write_vcf from svforge.writers import get_writer + def _svs() -> list[SV]: return [ SV(id="del1", svtype="DEL", chrom="chr1", pos=100_000, end=101_000, svlen=1_000), diff --git a/tests/test_header_fidelity.py b/tests/test_header_fidelity.py index 81d747d..7b43003 100644 --- a/tests/test_header_fidelity.py +++ b/tests/test_header_fidelity.py @@ -28,6 +28,7 @@ from svforge.writers import get_writer from svforge.writers.base import CallerWriter + def _load_template(name: str) -> list[str]: return ( resources.files("svforge.data.headers") diff --git a/tests/test_injection_catalogs.py b/tests/test_injection_catalogs.py index 32cb67d..98cea1d 100644 --- a/tests/test_injection_catalogs.py +++ b/tests/test_injection_catalogs.py @@ -7,6 +7,7 @@ from svforge.core.genome import HG38_CONTIGS from svforge.core.injection_catalogs import load_blacklist_catalog, load_gnomad_catalog + def test_gnomad_catalog_parses_with_min_entries() -> None: catalog = load_gnomad_catalog() assert len(catalog) >= 50 diff --git a/tests/test_injection_sampling.py b/tests/test_injection_sampling.py index c5b4e5b..30540f3 100644 --- a/tests/test_injection_sampling.py +++ b/tests/test_injection_sampling.py @@ -14,6 +14,7 @@ from svforge.core.injection_catalogs import load_blacklist_catalog, load_gnomad_catalog from svforge.core.sampler import SamplerConfig, sample + def _record_coords(rec: pysam.VariantRecord) -> tuple[str, int, int]: svtype = rec.info.get("SVTYPE") if isinstance(svtype, tuple): diff --git a/tests/test_manta_writer.py b/tests/test_manta_writer.py index 6939840..ac065eb 100644 --- a/tests/test_manta_writer.py +++ b/tests/test_manta_writer.py @@ -13,6 +13,7 @@ from svforge.io.vcf_writer import write_vcf from svforge.writers import get_writer + def _svs() -> list[SV]: return [ SV(id="del1", svtype="DEL", chrom="chr1", pos=100_000, end=101_000, svlen=1_000), diff --git a/tests/test_models.py b/tests/test_models.py index 05bf871..c8db52c 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -8,6 +8,7 @@ from svforge.core.models import SV, Breakpoint, SVPair + class TestBreakpoint: def test_valid(self) -> None: bp = Breakpoint("chr1", 100, "+") diff --git a/tests/test_pair_mode.py b/tests/test_pair_mode.py index 24bc55d..33d9ed5 100644 --- a/tests/test_pair_mode.py +++ b/tests/test_pair_mode.py @@ -13,6 +13,7 @@ from svforge.io.vcf_writer import write_vcf from svforge.writers import get_writer + def test_sample_pair_writes_two_consistent_vcfs(tmp_path: Path, mini_bank: Bank) -> None: pair = sample_pair( mini_bank, diff --git a/tests/test_regions.py b/tests/test_regions.py index 1999ee9..d688210 100644 --- a/tests/test_regions.py +++ b/tests/test_regions.py @@ -9,6 +9,7 @@ from svforge.core.regions import RegionSet, load_bed + def test_overlap_point() -> None: rs = RegionSet([("chr1", 100, 200)]) assert rs.overlaps_point("chr1", 150) diff --git a/tests/test_sampler.py b/tests/test_sampler.py index adae93c..f82e983 100644 --- a/tests/test_sampler.py +++ b/tests/test_sampler.py @@ -7,6 +7,7 @@ from svforge.core.bank import Bank from svforge.core.sampler import SamplerConfig, sample, sample_pair + def test_sample_deterministic_with_seed(mini_bank: Bank) -> None: cfg = SamplerConfig(n=30, seed=42) a = sample(mini_bank, cfg) From 7529879128e3879cddfd7874b732303b42c1bc66 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Fri, 24 Apr 2026 21:56:56 +0200 Subject: [PATCH 17/31] update gitignore --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 37f7214..c437d2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ -data_local/ +data_local/* !data_local/README.md +!data_local/gen-test/ +data_local/gen-test/* +!data_local/gen-test/.gitkeep __pycache__/ *.py[cod] From 70da192e50d7c938852340e1e6542a801f967f32 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Fri, 24 Apr 2026 22:01:28 +0200 Subject: [PATCH 18/31] chore: add data_local README and gen-test for dev setup --- data_local/README.md | 12 ++++++++++++ data_local/gen-test/.gitkeep | 0 2 files changed, 12 insertions(+) create mode 100644 data_local/README.md create mode 100644 data_local/gen-test/.gitkeep diff --git a/data_local/README.md b/data_local/README.md new file mode 100644 index 0000000..6f22580 --- /dev/null +++ b/data_local/README.md @@ -0,0 +1,12 @@ +# Run from the svforge project root + +mkdir -p data_local/gnomad data_local/blacklist + +## gnomAD SV v4.1 +wget -P data_local/gnomad/ https://storage.googleapis.com/gcp-public-data--gnomad/release/4.1/genome_sv/gnomad.v4.1.sv.sites.vcf.gz + +wget -P data_local/gnomad/ https://storage.googleapis.com/gcp-public-data--gnomad/release/4.1/genome_sv/gnomad.v4.1.sv.sites.vcf.gz.tbi + +## ENCODE blacklist v2 +wget -P data_local/blacklist/ https://raw.githubusercontent.com/Boyle-Lab/Blacklist/master/lists/hg38-blacklist.v2.bed.gz + diff --git a/data_local/gen-test/.gitkeep b/data_local/gen-test/.gitkeep new file mode 100644 index 0000000..e69de29 From 6e30e47cfa0d45c702551f62047be380843b59e4 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Fri, 24 Apr 2026 23:50:53 +0200 Subject: [PATCH 19/31] docs: add brand assets and usage notice --- docs/assets/README.md | 9 +++++++ .../icons-no-background/icon-black@300x.png | Bin 0 -> 22668 bytes .../icons-no-background/icon-red@300x.png | Bin 0 -> 22776 bytes .../icons-no-background/icon-white@300x.png | Bin 0 -> 21415 bytes .../icons-on-background/icon-bn-app@300x.png | Bin 0 -> 62641 bytes .../icons-on-background/icon-bn@300x.png | Bin 0 -> 46775 bytes .../icon-dark-app@300x.png | Bin 0 -> 62564 bytes .../icons-on-background/icon-dark@300x.png | Bin 0 -> 47264 bytes .../icon-light-app@300x.png | Bin 0 -> 62331 bytes .../icons-on-background/icon-light@300x.png | Bin 0 -> 48412 bytes .../icons-on-background/icon-nb-app@300x.png | Bin 0 -> 60674 bytes .../icons-on-background/icon-nb@300x.png | Bin 0 -> 46647 bytes .../logos-no-background/logo-black@300x.png | Bin 0 -> 109333 bytes .../logo-red-and-black@300x.png | Bin 0 -> 111674 bytes .../logo-red-and-white@300x.png | Bin 0 -> 104728 bytes .../logos-no-background/logo-white@300x.png | Bin 0 -> 101568 bytes .../logos-on-background/logo-bn@300x.png | Bin 0 -> 190172 bytes .../logos-on-background/logo-dark@300x.png | Bin 0 -> 195001 bytes .../logos-on-background/logo-light@300x.png | Bin 0 -> 197592 bytes .../logos-on-background/logo-nb@300x.png | Bin 0 -> 190019 bytes .../icons-no-background/icon-black.svg | 9 +++++++ .../icons-no-background/icon-red.svg | 9 +++++++ .../icons-no-background/icon-white.svg | 9 +++++++ .../icons-on-background/icon-bn-app.svg | 12 +++++++++ .../icons-on-background/icon-bn.svg | 12 +++++++++ .../icons-on-background/icon-dark-app.svg | 12 +++++++++ .../icons-on-background/icon-dark.svg | 12 +++++++++ .../icons-on-background/icon-light-app.svg | 12 +++++++++ .../icons-on-background/icon-light.svg | 12 +++++++++ .../icons-on-background/icon-nb-app.svg | 12 +++++++++ .../icons-on-background/icon-nb.svg | 12 +++++++++ .../logos-no-background/logo-black.svg | 21 +++++++++++++++ .../logo-red-and-black.svg | 21 +++++++++++++++ .../logo-red-and-white.svg | 21 +++++++++++++++ .../logos-no-background/logo-white.svg | 21 +++++++++++++++ .../logos-on-background/logo-bn.svg | 24 ++++++++++++++++++ .../logos-on-background/logo-dark.svg | 24 ++++++++++++++++++ .../logos-on-background/logo-light.svg | 24 ++++++++++++++++++ .../logos-on-background/logo-nb.svg | 24 ++++++++++++++++++ 39 files changed, 312 insertions(+) create mode 100644 docs/assets/README.md create mode 100644 docs/assets/raster-300ppi/icons-no-background/icon-black@300x.png create mode 100644 docs/assets/raster-300ppi/icons-no-background/icon-red@300x.png create mode 100644 docs/assets/raster-300ppi/icons-no-background/icon-white@300x.png create mode 100644 docs/assets/raster-300ppi/icons-on-background/icon-bn-app@300x.png create mode 100644 docs/assets/raster-300ppi/icons-on-background/icon-bn@300x.png create mode 100644 docs/assets/raster-300ppi/icons-on-background/icon-dark-app@300x.png create mode 100644 docs/assets/raster-300ppi/icons-on-background/icon-dark@300x.png create mode 100644 docs/assets/raster-300ppi/icons-on-background/icon-light-app@300x.png create mode 100644 docs/assets/raster-300ppi/icons-on-background/icon-light@300x.png create mode 100644 docs/assets/raster-300ppi/icons-on-background/icon-nb-app@300x.png create mode 100644 docs/assets/raster-300ppi/icons-on-background/icon-nb@300x.png create mode 100644 docs/assets/raster-300ppi/logos-no-background/logo-black@300x.png create mode 100644 docs/assets/raster-300ppi/logos-no-background/logo-red-and-black@300x.png create mode 100644 docs/assets/raster-300ppi/logos-no-background/logo-red-and-white@300x.png create mode 100644 docs/assets/raster-300ppi/logos-no-background/logo-white@300x.png create mode 100644 docs/assets/raster-300ppi/logos-on-background/logo-bn@300x.png create mode 100644 docs/assets/raster-300ppi/logos-on-background/logo-dark@300x.png create mode 100644 docs/assets/raster-300ppi/logos-on-background/logo-light@300x.png create mode 100644 docs/assets/raster-300ppi/logos-on-background/logo-nb@300x.png create mode 100644 docs/assets/vector-svg/icons-no-background/icon-black.svg create mode 100644 docs/assets/vector-svg/icons-no-background/icon-red.svg create mode 100644 docs/assets/vector-svg/icons-no-background/icon-white.svg create mode 100644 docs/assets/vector-svg/icons-on-background/icon-bn-app.svg create mode 100644 docs/assets/vector-svg/icons-on-background/icon-bn.svg create mode 100644 docs/assets/vector-svg/icons-on-background/icon-dark-app.svg create mode 100644 docs/assets/vector-svg/icons-on-background/icon-dark.svg create mode 100644 docs/assets/vector-svg/icons-on-background/icon-light-app.svg create mode 100644 docs/assets/vector-svg/icons-on-background/icon-light.svg create mode 100644 docs/assets/vector-svg/icons-on-background/icon-nb-app.svg create mode 100644 docs/assets/vector-svg/icons-on-background/icon-nb.svg create mode 100644 docs/assets/vector-svg/logos-no-background/logo-black.svg create mode 100644 docs/assets/vector-svg/logos-no-background/logo-red-and-black.svg create mode 100644 docs/assets/vector-svg/logos-no-background/logo-red-and-white.svg create mode 100644 docs/assets/vector-svg/logos-no-background/logo-white.svg create mode 100644 docs/assets/vector-svg/logos-on-background/logo-bn.svg create mode 100644 docs/assets/vector-svg/logos-on-background/logo-dark.svg create mode 100644 docs/assets/vector-svg/logos-on-background/logo-light.svg create mode 100644 docs/assets/vector-svg/logos-on-background/logo-nb.svg diff --git a/docs/assets/README.md b/docs/assets/README.md new file mode 100644 index 0000000..b574bab --- /dev/null +++ b/docs/assets/README.md @@ -0,0 +1,9 @@ +# Logos and visual assets + +The graphics in this directory (logos, icons, related images) were made by Elisa Perrin for svForge. © Elisa Perrin, used with permission. They're **not** covered by the code licence in `LICENSE`. + +Use them freely for anything non-commercial that supports the project: papers, talks, blog posts, slides, docs, community stuff. A credit ("Logo by Elisa Perrin") is appreciated when it fits. + +Ask first for: merch, paid ads, rebranding, or anything where you're making money off our name or visuals. + +*Intent, not legal advice.* \ No newline at end of file diff --git a/docs/assets/raster-300ppi/icons-no-background/icon-black@300x.png b/docs/assets/raster-300ppi/icons-no-background/icon-black@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..7b8ea1bb3a300aadf509866e7f9cac873efdf459 GIT binary patch literal 22668 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 N>ulGiuVx+n{{VgRm~{XE literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/icons-no-background/icon-red@300x.png b/docs/assets/raster-300ppi/icons-no-background/icon-red@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..5d883a78016060dfb1cb54914d445ef74ddd898d GIT binary patch literal 22776 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 literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/icons-no-background/icon-white@300x.png b/docs/assets/raster-300ppi/icons-no-background/icon-white@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..6bac61be4ab7069c5417ccdb387be0b375edcf16 GIT binary patch literal 21415 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 literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/icons-on-background/icon-bn-app@300x.png b/docs/assets/raster-300ppi/icons-on-background/icon-bn-app@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..9cb513d2e83563f170ee9d22131590447ac4bf6d GIT binary patch literal 62641 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 literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/icons-on-background/icon-bn@300x.png b/docs/assets/raster-300ppi/icons-on-background/icon-bn@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..72c9516ae3fcbde2f72a44e4aeba57af36646e35 GIT binary patch literal 46775 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 literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/icons-on-background/icon-dark-app@300x.png b/docs/assets/raster-300ppi/icons-on-background/icon-dark-app@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..020550c72f5f5457aec12b79d666291bba7b38d0 GIT binary patch literal 62564 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≀2OAoq1`r*Y{>tZ)qnj7JjSyB$fNvzMgh_lfcjq;_Q zrahRe`zWpy;Z<)!3PUtT?w)EYB7^~H_Ak~x`TfkP1;Iow1L+A7*uJi|2syzp+$v<+8oFsM z&0%E!(5!`IFK!RsNDcZ5j%)DBVyaH!Qc44BU6}pVi^g-L`B|UQTu$`hNdw@dZqSw^ z(i1xlqN(nR{SwNtmhi%pL43#%v6bPu4cY(B68JCwU~fTv7H%guACk_1?bIlKYP*Bx z?Ok)30IVnO!gmz(aQ`fMO^pzZVBiLCb_(Wb+lq#GOnDgZk@1V1z-tDLnU7CU`kqFe z`uwd(r{EON(7DGG$!@L~2pZ>o>gB^LNBCWt&;T)TcIY27pU8C&ShKMb~j<-@~GWp0s_ zo*n^)0@Va9>dv7rhjB!_d32p1 zXxQdQ#VNTGR-x$&M5J2wWRaB-xpLYiEgnnFyqNqoQVwZ(oD!O{UJ zb%a!ClZ~>#eC%3R4rOx(@Gh3}LXtEC*9E-Nrd7DDeflyYePY~;=%lC}H8Qe#2)x%X z(6h}KNhnN7+z2+|O1t*X3cLP-5E_$0lWl)P#UwmU3Ljj7u7X1y$(KdNei5n`OLp2; zt}uE+(tq|kr29k)eGY42*w^rOyI_<686+I~unqrc+k=Fg`f^o8=9v%V7682eGl4ze zX-u~IidxAgE~ds&L*s-|bXSYS8)&MZp^cXk{L!nIVz;)=D;&-C2vZa_edI}*%Yjk(T8-*?_})y;9N!7LIh1tvqdtpMXe_@ znj#u0AW*EfjZDj$%-Z%6^%IKkpp^mqHosxP5n)07Qz(P7N&}VcvDQFx&+>j#Iih>O(q$t#0Z_qj`?#Q1>%v}Xuepg+ZbApWWA;0 zyA)}s@|DtV0JN)P(|SOn#ir8K&-&kMaGcfveTU|sGAbkw0LdH3Q<-`s4pjd0BN^%3 zQt(#l0*b>&5qtmHy!QBGo+cTf2CG1ozx*ibhff1wcl?;qUg76R5}Xh30%B%uKf1{P ztkZ^ON!&ewRB}CmG*SY_qQmS2LY0y?lgd_~ko%OpHT9^(xDExB#EV~};{>8lrMJ|K zDrm;K`T*LDc#}IZeNwgs8y*Fssx7{L&D-2aSm;@EY-3T#? zo^-hqPN7rTX$w&fBNGBjl?e|$-f2?Fe>Y5^aWakf3umEvgnjJ8rHb#o1giH8)Vr>b zM-?1g1=Rb3n{3C`Xo~U75TYasY4X9hRxm}sWpg{|^lAdivUYyI&Vz6u$$G^iFqOiJ zc>`2&nuJuD@xl36@6z2=J4AO1Uo&Wtv;sesKWE;rvjCFjKP?}jGI<*k`b78Lrz9S^ zt3Z_bPa(=B7ZJ6T3e^4V-SJQj3J5hl2E>SUdo-QSgLOzY$F`jzw51FGly^wf>gN>k zJ^?XUic}ajpwQIfy&Rzxr%3+lvR|b@j*toLBBPVF5LsLvXx&$a0z?r?(vF??$wbc* zM$NQ-!%Y!N?T+0cMYUuRIfy=HmT&>WYTBmTB*2OiP{SU&T7x@L!yA!r?opH6M3Za* z47Wm{$LdA`D7Yo=Oga?JD;p-s&Nq>Q6{TFBCseCeDE*f`H&(c zAgWMJqC}X3qT~%FLMO7E3RU83Xd@BE(L_K+$of1=1o&(bX1R0A(Y!hHC=VNZ*3sF@s53RUsZYpq=1Oj1-T+I_Mk#*$D zCd%jdnJYD6-|01KH;NX^4|GWGLwHf~Td7xJDoY703n_#9s93h2s#N)>AR-%K=YUvS z?L(|ByJEIGMIh({Ee4bPa>@{O5sSk*aWM40_K>_7T9_IrffeeG?SGy}kyirxgx)G| zy_QN^A!RTLH9V{Rz>TbNQ^$j4x~qSMCHE1SA$7GAs6Vi$nqEOoZ$iMLl?M@Y)(em}{TUQ){y-VjCvj=nJ6dd7BZ`^s z5mrbqEz^;L;rpMjnAcC4TLo%*Oir$SXGnPBDvF*hQQ8`Pnb<+;jWZIr)U9{cKt&iC zkKD;HKf4shq_c6hC)lV>9jdVSH)^CS_-8%TDl7BUXg0YAigKmTPrXZ4b!=e>FKqjr zw1s0UTb)SsNg=?5)PMDyN2g}h6QI_})w^IjqDE#NL_=x=Vtx_zJ`#0c)o-HCN1_&j zs2>6nDLYRG0}d(xug-f!6(ZTwQQNAT=({CB1iq3H!82ayIgc)F*+Yqn2!!$Y-N-CD zW~))fACP0O?q9hot%~s?`@)ppGp#+4F zgfjEW7<##gM|(n%qzRS%64a2fmgiN~hPd#2~T+D;Kc9 zJf-Qu%|Hu=gq;1)N8XR1%H^8C$XG4j+{0?a=sub<0ce{xTLjopzw$f9Q4$Dl<%pwJ zucSCG8R@9{2#il>*b#W+8_QOPVy81;HmvWr2xeq^pp|>%?H>oe^v_)x?eb)3(3Xk$ z2LIiRIgWcPG~rTZp~Zw9AJ>F`+%~b>boS*J5*NHH=SyP=yDVm3pUM`+q%l`)%vfRmM^d-NOl(A)y^>)cF zj|_NLpHIX-mV(T&yxHS3qh@m=)fnZz?57dyG&8z3t$9R3bOhDuO##<#9Dm&t*iY~U z7v(ww^*R2&Mb4Stq#R>t=%5bY!YCWtcVw)ivZDL!Uagqh&pXMJhY`U9b)_!86m^Oe zVhXBRyU)wTlAFj&5lgYy0i*}y6 zi+`UU<+6!yQWqN&I}e^Qh!f{ap4_>u7RfYO;LItoQH#xrdiK1+kVz9CX*%)UUpbm? zoup|E1`v4eoy}p+$%$+s2q?7?9~j(_ki#S`ScmS3u(Gc{VYK?0QfJYv3RYcmW4zay zW@-fVy-{xJ%#-bWa}lC_LbdxW#z|u5E6eCG4SACty+=* zgHRk7p z8mP#ykbA#j%XJQ5iz_XOcep~uzT|N=S z+%+hq?4Ip)?x2q`6}6r{omio9KSKt>+`IqE;o0g^x;7wKwMj)6uDW`hM3x@fo$}mp zJ9h@z+X?k9IY>2uooQ_FxTD+5taE9kH&_{{nPuB=D0f*6jkD#RIjU_I)D~=gydiu6 zNC2gu2z1t(q`%PR{(p(-*cTAiTg1uBtC8jNR?87PwMS7}_pCG`5IY5>%eJ}UFbaOm z`V*O1SDesC10_jzumT|uOBrB<4R0jm;Z8>aEG4a1hgL4^jpX>B&_ZRtJSoq96m<{D z?gsM!?N|ewl)nUJ#PmO?_PDz8r2OAdp_uJRjgQhbYpQ8tAU#~#8jzGOJ=r#8cg|8F ze-|HY7tLMSC-H`6q&kWSe6AQdeGWQZ>pXGMqi;^vk zQS1;H4}jY(Se*n7DJ(ZMSJ3X}>W=I7Z%LX%0+p|BFd1^fJ zPWKJS0W_&jpbxL7R^p5x<8;$XB0|NZ-vt(vP<=ia5-{xm%zs*8mAN@nX0n zP1-gG{G?-Z^{(b>k|tgG#BAzZCP4nDlcH$+WiDweu0K+i ze@EETKn&Sv;s*#=A7+`2vk&2;R3}^@|KtMb5b$zY{=y)ZCn5k1+8AFB*fvwsC9Q=>{7o82pc3a_EyFsDX3jeUGv6+VTDrM^k-#dhXmb*4 z^!sm_m&IvB_{2EY`12g@Z~w}H3%sjoq*++Ukw|$ryaiFH03ycn$Hywx zah2kwtLc6fv%;aQPQ9H00-9+xr%{C zEB0=wM}hw`vx=}as}4EgQ%zt`d#V~88C({Ees>0xccC{TR%~!1v2++AJhc%>&OA*n zy4jezfN}M)vm%6jod4$G|oG4@*oi98Rt z{lxc|UEr&~e4GkSJzfS*K?l1K3Bej98{l`xv434)MEpoY$(${gcU4dfWdDi$ITB7b zc#S^;mh$Et*aaQjKBRA(Xsi8}(JMGkyZ9F{*D1($b`Kyk?PZp2Dtt)VP9Ax+Z6YZA z!AhE!>q17ZwF{ap@50dYazp!yw9ds)S`ovgFGRz&{MYLz6B92@XB%rBT*isOa}L`p zpddrA6Fer&ZAK)^oeaFf$cPvzwkPvrHo8d*l@Rm-)T=YaQQn!vmwi6k%EZ!}_@e(R z$8Ll?w$8@_`-+ZtzW}-aJOnt_Z-EmMIHrT)OG@8@?ptOQa1K@jD2=-xDDEw5xR@x30!5-k8dafev12EGo>jG!|kUg)rw`6d^j z;@UDExsiyPJe+aT^Fdjly1iP%#8lauxXn?m13sj4_Q+ynAJ-Fdo98T#Y|2t=H?`^_ zSYXfw3D{%+l}y*?J&d%+D5?mx4&d&X3dxCgXE9=Fn$e5U;*C8Q#0KAkolw3Jco?lj zvHhEjA|OeCC@4Gn@D0U2h)B<%7U%q3r3K-4?c)eEX;>ghx^M9D3H*ZUEdf_efk$>Q zEU5poOFO_Fk~*Yl!XOh-Nr{bzS&(Yi?Tus>4GSLQPDMLbn1%*ec&_>pK^Sshp)|?G zU?~MWR?8GeWrINSZnP7EO=$}30d0|d+Vjl2=x_*vTCb6Uzetj3eE@G=Vj^yG9R^0nC@Kdr>pw1l zqUadJRnFc_NIf4nXNx#-eM%x~pSNY;@A3oN$FyLviWorfhOnm?K4~#57=dkwA!gw< zjpqQNL)`)7+4+fLtIKIVO-I{3*hBXQO8{59jeP~m00KW)k3)XQUJl7|TF+)ebX`<1 zU=1~e7GB^Qw7npJM+;h?W7f6+;=Ni2<}E%0g}%UCnI_1h>BasR+JRB#7jkrA*o zbh^2s7&-HO^dM2H5~u(pe@Tl3eq004RNxOV>o25XoeGEy%W8&$Lm4n3&9YO_Mh4b> zMQ(GEd;I@6zXp2H0!tl+^(^ogBtt|Wg0R&<&p}`;4M>L19OwRY`C1F%nS6lHZ*258 zFEDK4wQxy@3J@z{xlgS=-;P{aM3>m%RiF8oQz1q_GVC)%-K(X96Q!sbkVjt&jc=d{cPJmZU>T z5K<2L9wHKth`Fe^6POBLmBA7pRGjmC56Wu6g{XuUxPrgx!tNsSg=ABz{_{NtOpA_? z`Z>H?wxA_#Oz5{+5P7jxaatsy;V5m~FlE`9S zu2L$$T-}odB&fztr>+b=JJ6rILiEM;!vC5jy^Dyk2&8wY<0wzm}@w! zfcE;#RPR{qS82=JJvu-1oNMK<<|AFc9M~968`%f>N?tWBYYou(Qt@&pAQ2r6d|4jI z;&v=@U2{|WMRZEVOWrWguiu8>W(uBQQJvyD}{SlYp(+O+P2M%@%F1oIg zB_J7&`S4*;pgwl^Ounh|)KLJi56(~l$>H#f$J>uCv}}>}C=7fKgNf`tew!* zSY{tA+nVi+jS%AXe|XvRz}JGmpfh?_eH}Duc?58W{UcP%hHv^{n!C&Y&P;vN+>Y9EjJL6b zmfg#5!e2LG{yh(_rOL~F84I6jZ^buVH+tv=fY$@dw!Ad*>`MIXi;xg|-m5+3U26QbN<4`?By5u<6;A#AF@OAk0N2biM4h~8~l)cQZHoMs=u@O zNi5qv-wc`^yT53UP6;HJH6M3^lD5w$ZH74cA*nyX?D`R%)XYjk~?MVve%Yyz}r;j(}pJ2Vi z0mlCYzemjf5ioih6;8yVf@&|~u%y2@!Y@(*ugg>3T9M7QtXSxoqj`B8#4(#JNA;3=~ht^&)=|@?Rztbof zjdD#1%jvDpWH{Y&bo+Du)$Mqd!hXq%i{k|Lk76?MKkdXAspM0eDEUwmKFsY7JE0xMHpkIeez&}%_O`U`TYxe9dfv=22FjQ*@YKxG&q6yM56qp@9r-kx=WAM()SJm}yq z!_y+xNMJedYS<-{(dn1)O?DQ(j79C-Ssu5}^X0&IA5hn+AEFufLy(PVfr5^_gRgGl zhRj5pE$HwZ4{^)*(-glm#m*sTxlml?$M?n;!W-Imw54#p8gXWW&hFiB{+Xd8pMo+| z+lEnZfsu}+;19A0aw1%7xgS?`xJ3efVr8IWA06)Zw9w74!9AhN_~vN&FDq_<53C%# z9EYoUSBin2abV>VV%)u>^=Bj+q)m%B^}20d+$6p?x8XSux`rGsjk&wa>1~`S`lUK+ z5Bwh(*n|K0(I|SZ5gl!_b!G533EJ?zF1!g$P$_{w64Yi+OrbK^`?gS^0-?TT8>kN@ zE#DPx#B2?{V77zp3$ zMkBUGqf)K6!5?Q411SOZv2{L`DjkRfz~b22-q%cI(zGiE7iK*?`*yL)9gb^! zyWd|YWz8g;tPk+?D%%0aU3DYLH+Vjbmv{liZtDjIE zowtdQZ}yfkQtBPD$vHuFLeE| zW6lNN~IYV3P z?PHAyWAMTz2+*(nQZNExd&ygg-Ypq-*Q43kE<_|McY|1e-Q~9>vzFwS#vqk1o7MQU zp@+NBk(#Zxx%%9uDEZU)-lrA1S%Z$c@r8>je>fKMt%IIUMF%^%DXS-;{u19h>j~=w z?LPN%Ma^OU**GE!gF4NMXFh8=gIgyBUsj`mSKkhj3|_>y**tV>4;^(|uDL0pdp@i^ zWOw*@^KWPHn_gTF0Z9Ih6E>4b71rbAkeHU}nOk(QjKlFVX(1u~OgVf&CLy%GY`@x|uX2taD?ZhstnGE8 zr)l_aXr-%_wwCvL%S8+Th=^;kVqlmO0dUr0mtH z4Y2pZR=Jtz&6xe6>_F0wKlPV%UFm{3v)|z8bp7{rikn{gx&M3s#?7FGmrnH0f{|dx z`IOUW&CcKZhRyE^xE;)SU39A36%e23Xc^N!zn=FFJ~*TYtt`+(0~kB!X1w>DcZ$)R ziWiO;yp*!neOJ~a-uA8o{vRPA*t2nFXYDyIU%ts5b+>W97`ZhF7NDPM+#h*0`|;Y^ z_b|?tE=GF`?5X^M^Gd)%7+TK`VEx?IYwI#zY3WW~24zLkSX^1eTN zlJZWmVBHm^agfg6%axxGQin>PF(}anX;!f(8EAL}O?X9mk{Pl6bDt#3MEB4IOa_#Ekywz_IIMeekAyzqd zm?O0iHrf9C8n`k>T|G3ibcxz}b2N4iV;Fz=VqV|U^`olVPXU|Ym%ND(@DHv=&Xbnr zvBvNXA8s(tRD-R65rlTAf5JwDxx)Q(-cG+ zY+pq*#J8TVcMK#RO%u=0$&FXg$DTcNzHE-(>)vtQd1ovKg&WrDto;s1GJI8gSb1Q` z-4)Vk5uA=5@C0`x07`4!Hl|sg0_ICkf(!uvuFEIa)V6_Q++96(pIex?k$sCE>74GdX!U?$Sp37k48jw4HD_nbx1-V!PHC2BBb_SJ%Q z9y`mW9~;B4F#v7e&U|IGTfiPZMFULH13>K^=Z@PgM$$J>M6q{0~1`%KoW0&lyS97?@ zG#?+;K_~s(iu7|M%g*p#jWUo&QqBzhcN+{AfTw}F@eu1NUCXDXUHt?%>Di~B8Akxq zoO>B?)2_@4q<_`Ua8Q-Lat$VR{Ywd@mC5;xH=}{>mw;_x50=~fb%)p7*GrJ>>G%+) zpX^YA@jRU53H4)MAnt!jUdu5+Eqk`7MZIRmn3p?n06X#XcZoW_|D|46*S5!7pGk%; z*$qYb0H&aIt-6oVX*seSL0Z4*tJBMi+lKc|f_}><6s{gIm zu=RtP7#YF}sQUsb7sEa&kO^RETY_6}uzAJiIgN)CEZsJ4X5z_Ar4!JVtX9+R5g7>s zL4L; zBR?Gi5pUc)6RL~ShQ}lBp>xGL)z70XSNZOg)LJP zU1cbmjO8>PLn%tmvBiey8AQJI~Q}yeO&s+Gr-vv#^WFijN;-oQXG# z`T4vj3rJ{m6>xzt6oly7)ncGWrn$EJ=9Y)dM0f>ShZXmcSY?<{5(5fL=(zvD``U%@ zX-~|;GSK|3Av2M8hdQugzQr4uM5jmJ9ckha?f^F-#x=#@1;c**C@bX}3v-sXd6|&E z8YF;UeNP-izv4;4mwW^Pn6t|mRY5XS8;}G1+A_e|b;xP!xkg2lSd>bhKv(X}ZBJvg z>PvE%y9p18=M8|)<$lTKTpo29pY;NPI{tEifRgtGJXT!$1|SLXh zCYp8H3GwB&x~Zt42;#+4lAZ=jL=Re74--;T(CrWSWo4K$#9tB%3Z^f6>6b*BKez&n zX$Fc3J*HER$b+d6?aW0vDSY~Tg6JJBp(xxkH4ocE6kg!VDc01=jtyZ=-^ebVe`6W7YRD1( zM#IN8Xu*k?Rn_#J2czFBl4vFe&kGziuT<;SpD{jD8qn!dNjnf`nf&Gn)ZMO34kH6T zAJ}x}l&vgsLNB6QIO(5@(71*zigcM)2HLF_A{YP3Y(F$X``PUjWVojsBCk0}FlBo; zAdT)#K@km8c?QG4uAlNfSq~|dUd^BPVRXR()iZoRpIuUVhp5(`zE=!lMlk$>7GDTr zrHSME=VnLC+#jF-e>?%@P_Iph$@CO3l80n3xsfVXGuQ1pL~JAZA0kCf+JQ68$P!E? z723?u_$u2_omkwFb|1_Dx|MD#i$<^jS>wcVsKI9&>Pqi-+r7Va9}RrabTDfjjFjo` z&wx-pyL4eN*gpLzh-{GM4g;e7XkcR9?`?oSEKm5NN6L^e9Ad;31thu{MU{8!f6shC z407=E4VF<&A#yGGt6(^QWW%yT(YfgYF!t(6s{k_y{J?y?feQ`3<-2Oj+@F)*p}w%D zugd5^{R8>#KT8B|n6nQ+V{B6(WDq=yJX6c&QBOO~hm~c!kTDl50DlRUz>vVYKV2VD zYWra5$0dkY&ZYD>gTa;SFG7nvHDBDn3PAW03=Y%~xX|SkMBqF&H#1r$xFehX`b;a$ z(l|W?Kwb9530UlipC{DM=g*gZhP%oGS4k579%JWyIM)iJ?Vnzuup@E&UJ^>hIa~ky z?E{B3JJt}KTbj8>vv0u)M2@Nf1d|UG%B?^AR=S85kUCpF(hvjPhPWWOGaHznOx&>U zEaG;(Ao*0E-^1FmyVc6jH!?$z^9+>9mnnU}KaD_X%(zB{su}p*1(ve17Ju#Ws7LyD z_()YDSEg7hZFZG0K@{5c4Ix+6O60b((y97mT98_x%|-yhUI;-F^o#rQc1!9Z#o^w) zCsD^AA(^oz!yv%!vi7&-O-rqRC4rB}8YiBjN`n{!-#<~xbhnD)qUi6(D;UTWAoUd1 zourF;ZPh`HK~wIvHm)xmOfnhSwK6uM{ew2l<4g6KD07aSPX;Uf83b7j(6i0UUw!XA zCkX|y6>TLq7XR{AEVWzLcVy0hzNS%oUh2hxzcxjo6a&DP>yHu?LgGiZ&(nZWnWA3u zzA993{GV)?FYeYyxw3OBPz0_9bSRBn0IhE3WDsNLn}tgV3&B$$(*^wsEP4A~)CnSc z@gs{wF;)*?FBlELZ+j9U6Sffq8(|;LfY(JX7k5V)EtZek5arRH^4lI{N(N(k!Wcfi zIjZ(%bTOIna7Uob?1K>(5VWW53VGZ5hzhC5NpGH@XeLb`nc7?*1X|kwS#Ebab)$~B zUf~)LdkX|jbBSe%RuJH=$R)s^6$D~Y)N@1T(6twRfo9fOR`LW~82Ua)P&qOK$vfcZ zp3i0=V0T!CMr$3hngg+D;OK4+4<_*G`$jKuetI?e0D_Ur#C-hcq4b@*Ex24PtpFlr z1jY;$MT3VQJpfhY9T@x}+G4IWG66oRkp`V@@C~&EogotEv?XqjF3|xts!kQbdu;IU z2Bh(5tvFVHhGc{DY=WX>1hO!~Aljl)Lr@(-$lz#8=*uB0$8c&JS}<3S@?`jVNVD8M z_^A%LSgigeQL8Mf)v+Fih4BX6(DmgaRf3N%sesq{XVkNE__D_4;=gc~E+khe~TWGcX@1QK!>K z)K>3P$d}aK+~)_H?LN@37@|zThvCcJ1)KaW$?+~4!$PEz+Z1TCZ!6In%EjW%D>FLi zdW|qX*C3bn9R!C0!wV=YH+Dq_(tgB>#}xp4dy1huRhh_pLnJdJQx(ipKcj{8ARf z(h>r%BPW-9@P)NEYOY{4_8(QHN$3XCXK#{8hb9cfIz;M!Rxl5|0VBGF; zzqN5l(+^Rkj`F_4m;KP{+XA9vIUhb8)C5$pBd$s}l?2;IZWU$D!Rm>_^#c5~?G0M? z>LD=14&I2C0rlWACu=DprQtEz-}VwP;&j_Kw1~F>#ZIjA`(A_aL1D`eQ&++AVpbjk ziGZC+`%z_h-6!HxVy)@<0Pd$PpcG>-^HILh6`cfxrFLCcH24aGC|HjH;{cBJsxw9= zR+BI`+KGmZ{MEV^!Re}1V-wIPojd-;h7-g$>X59v`w!v%fPny!%L_O8mt`rgL^Q2I z0N48u=q9MR8iHtyCJJ#-x*yRKVo=5kolCfVaM7eMXH9=+yV9;n8zC=PlOwTIeE81r z57B4bF*2k;AR}1pwTj0pB6oVE15gr0q5M^kZ*c_=Gwr=`RJ1XTfnp0 zd9yIP71vK_U+FJi6 zOA#{3TI5bNb_+xmyPC>2K;{-Kayc@fti-_UNF%rz0+9b^$ki`zGOmT)Q)nqRzWfd$ z{4Rq?!YHy5fI=6e#ZV=#x%r|ZSU_DtjP%2`Tt0-Id*LKgf)eMEJ3lUmT-Rb9)XdRc zd&ujZSz8Lmi}rO5*nv|*NbVd6d9N%*^44;ggBbhaSqUL6Ftv9o5|ySefoR0!7vSJt zWgw}JD7XQb$(wk>0{kF|cy|Cr&8R4mDAn|ur;&1RJ28mDm{P<{!S_UUSV)ax<*dK^ zIz7aD40aLS@Kj@71k1L_!5K|e#5AS0N+|sxAv~7by6q*_=N`Ej2()#rtg{lWo zVqFYLFD>K6rfLuO@i{PF>4g;u&1ERrWfZ)5Ifu}8ye09A9vH||;}v39`*MII(^yEO z3}5min_!u|J#;7povT*kf%u+s>5HD%PzEtI2W|>5f*TD2Ml>TxtT7MnT*56Iiek+s zv^}ea5L!xN-L(SHO~QF#SuxsZmuK23#89JUnQM@B6FP%wwk_LeNJc0`ezrywFtFt9 z9P%o(uyE~-?+08oF;o9HHztF>cmO;b`etB6@GM{v1dz(gkZhTz19sty;!5?kvPTJbD8xN2|6+rGDN4JBZQ#aqPN0omIwILnwxKl_vRXT7o2nB7%9c7<&r}WO9y@ zmC}|2EGFeAqt^Z)UL>1Qf} zHNyZF$;pSGZVnFsn?q_=F z*hqFO@fnwew7U`LGqgm8EeZ*{Vy~@SDz+hFl@QeQra%Y;?j~-0DxvSpNaEGg`<)op z^KqHodu|#GoE2y;3RFZf+9Je}U&l#e@RrMUXon*!6d_O1G48MT(I(1qw1kSa3Zimu zFN@A2DnB63{XQvqflz`GT`>93!|gM$UPmOc`!h+k>U~7&elJ>ofFIerQIdO=e9?VE z@!3mIH6^+){g7*ckOCg(r5Dd~Ae{nEyci`6=ze^zqPH8Ap(Ycgq86p@&q)i$jNk5g zj(#UL89!|b{kaVV+7MivfFW)4(^!rO1`V;S9>z$oD%nABi9Joh@$?HLm{mmjghne~ zFS&}q%7dH$1joooWl)f*_ga4=3WjeI!7$Y8)5V|Smq9e@y_V${KAk}Dl2|UqdJ5)_ z!a%ZXjq{Jd;HFx#O$4@BqGHc)Zz7jS$<$baLy`u5&qYf_e8F;B?ZAl>@fbFj0gNVX@HrXSAtUnyylRalY2PMYyxJX4)fOxJv!~uB5 zI*;_&=Oc^@P$rxRdmzMwxOg(v4ZT-GGS}>Zgb5_tpcnA4&KE*lpQ7|d6w^djm30s1 z*qTBJzXPvbZwW2b=zWD4^8DTUmAq9YP(H75Xr(^J?F`OSTN_Fw zy2qD+&qDf>?@<@n5IZV@&qnI(`1q&SD%FZq$ZEh7peYGy2GrKbrbnMAV+Rr64s(~? zpg9Iuv4iphkZw=|WvKCi@dz3s645-?eqNYy{z#(DLd$V5I6$HM<~&FkA=-YSGyiI~ z0;TQa{nAA1zp}v;V7!B>NBgE~)&tZCq*@#d2@0dsTcTvJdl0k@O+AopJIh1LL+&BW zArGR(xb1|d{Z1`jW#HTNd=@24TYK%gWv{S}mLF$p0>OU6VQ?dlh=w?ldxN zccqwDwsKwSrIDR|3?S4LEvq$M`a#JfAm`9OWcgzc{oc|2ts%Na+fdZMTrA6Mk2hIE z)J@a!A6WeDvgOyM7`_fb30GEpms#NV4v`5DtLxB~_oaHD(Vw%Ck$VTXXmQ*gE#^|a zd7FZUu{N;^1xQ1ym)KdrrSvjes1QAAi!YyRJrwG8P=fo~_rcn}7aVHVp(`YD-uJ6t z=zpT3_M?!I-wkPTFIOcRgyN=ozh1eQ*Z=Mi!FAEV&Ko$`*tU~b`9TvMcgwbSQdqzw z1cv*Y&b68oZK0;;EAuJAiKCb{1fAuya#ZUdm6GDBDDasR_$(9kO&5i;Rzr`9&)7ak z@7b?V~Rv;m9HmCVjeAOJqqghZ7II zq=vN@i(qO9{MUs3mFpS5m)D-|=)HnSV{5?A){#yTO#ivwXZpqD10?)jf^MYO-}1)T zXavcA3%WSK;dgSvp38bOLa3ms>~JJgZ>TxRpJYIk(LJZz5MIe)tP>7^2i13c-qAZV z*Aj0t-WhBRbJZV`zzop|iS&)K8ixb9H>bnN!q59^2uT-Us8MUsi`!>5Lo4W^DL3y- zPZ7b>5nL)g@Sh{Z8=II-)fj6N;>$Ilw88`>8O)rwCJWXAz(KZfs1+UUIH8~8@`n|R zC>ckC+Y#+_A_IcqZNzs78%Iv^zT3AFQH)k$Z1^#o8@u6X+Y1xdB*#b?kd;{nNGc%xoGT>qHb)aac>bZTT z8FsEc91Bnc6sB!dde`YZ=1B&aa&Mc8qOzmyFb6bIySe?5OR3vkb*@D^M8<-uF2pb~ z(3`YnZrAB8e0$7zruvx+aJs-l)15QA7ytNVPj;MLr1(y=WCLcp({NNIO&Rb@fUOQ! zg07FSpG#w#QJ^@Rr%>u&b6kL}$Z(U;aRZA1lnRC(OA-~ze7{|+0Yk$8RZz7I)3zO4 zHcB1Z&EXm;Ldp!5dFbrUwLGMYhyX0IOjQxbD8VV;G0HxmLm)M_Nqvrqi0N$LGG$*+ zF|o-F!=(2&Xn8i=LseKo@(GuJ2)f%@2FVC`5;DNIeTB4@6!4J-tE2MCQ34iUpRP)p z7!94)l5orXVU%&m8xpx{zt^~xNqXi58- zvCei_u>tPmD0<^{z;SdXghjIg zXr0?eat{~ZDJ626* zAs9;wRX7Q}&VpPXzV&)`uFZ#I8*PYJiv8!iBMB;4zC|y=3ttz(w3E|UVy*>#&xM?e zLsR~q5TU98%AmTg8He1T@*OM|^ZfB7tiTn7QQ%-l4pFe>;Jrw96EFdlNJH9T_>}Mz zxPjrPOqhNKZ=)Y~2gtXP)ll5hgl6i&PaGV)6>0vEa0V)Rh=}X@Y6Y&>_;o`5-RhvH(o*FeHvppK> zMym^5BPMf4DyBs*oL;FFiej!4?0vBU?9gt{)Qda?Pna03fU%b$zD%H3kYXEoVXWf^ z4T!UMO~<6YLzPj@80)?k9mBtZp|VOt3b|iiSOThlDCG@C*~U|3!>X&3u>`ci!zSV4 zZlWk&{uWLgt^J|_)$Qa}SF05U)d32zEJ6~=>gbnHb#5s&7{!cVU22&mMzKXEF<<8u zQ5{z84ZXC9PuIn4Vz?~9%I{(mu$xGqrCUFf=_59MtSAN+>VO64ASGMv%e|ys|HBox z^NNsDM>~d9KbLr9a8&`Ew(e>L2Dr55W!l)z^p zkerBRM6I5HRXtm;L;PyG^8N*DjO7y2F@co`tX$KKIIO ziUL>@f%W)XWEs!$H3T6#9RDw_iqX(!Lb*f|1~9C4UxU_F`#TV!#;YyCVltv-atHXJ z99B+JQi;wfvl>*@*{*=7B%ZKxbgULD0XZAxHZpj@Zf4rszF(2EO@!r)evfmjwMsSI zO)~dpCG545i`_i|v*M_bb+86MEEiv|hS5|~m>31}r(K8qxMGq*G7Us}JaIT=18|sl zQYv<8VREMsH32Xl06&hNUK{W~k8a}=u#+$^f*y7&uN$(8f;Et z+OE{o;0+OQ5ySy>^qd^dLzV$>Kcr@B6TM<<8jzKT6jmSpErMS}7$*KxECO5L*8@;@s_pCPvWUwt-(|JjQhOE7(u;XT8?LFPQt z+^Y;lS%JvQPvmKPN1pY{A1Zkev-iK5h%fBAln+jwcw}~55yK2qp@NjJ5Pu3-sQwrD zIskxZ#6#}~!^=q~nhxn{tnt1DWl%_y@->Lq`Uh3b4D1PBh!LlV8$Qw7$!i(nzy@u9 z5!PMA1bKvoTmw<%phQ_ULJRN4<$gRpP53+XEZhx&hLiRXG6-U9)^St=THZu|?4xs$ zq&}=nOdF#kn@?eXhJ|PF;JFZdXKT7*y=cmW{y2Gh6!+UxmaOnhj7W_%VFk+21Tq`K zl0u)M+*nxI3oZ_oKL`dxc!Wfo3v4Bd>({G(CaqN!4Gug|ZUj96(@JzjSZI937I(Ye zcpYH~@o1w=0ddcTNAGJ=omjWV>nCDIP(O6&ySQX+<}(wWx)g?HJ4(mmR zJ^ryC{2=j&BG1zUT$t%Ti~CuX_GtH140&R5`3Cy#Wb0m8Y#eE&6dIOu4Wu%nC6yQ~ zN^LvFt?x1L2n|ma~p_XFgfScOYN?G z6NsD}qpcI>Qql929juP+2EL^ooI95*5V?Qy`&P+dK_GmG$CZ>4?9_ZWVS?h7-t^^d(DdMI1Cy zmG^?U(2MJS-2^MEAbZ1li@xUVPsjJY(>t6xA?(Q&Id6^qpPmCFiYI z$k7-}9?eEHQ)Ovwa50 zeyW%GQ?WNs<0Wwhf(4RM*!c%R9C`dXXjn#+bTzk;H!veT0ZTf)P84S}a!tt8y6I^T zQ~;Z{O{u|k(^JUs`(rk=^LtxD~)yA2~UpUq@d~ z!!MzxpXT)OKHcf(`g1}W^0SOrCvsnr6shOh@12fyup=j%F3*2tMdB50!eOK`Q|%2g z#>e%4l3(6r^*Ca09!pE&yXmjE-%SH@)8?emvCU@WoFvBDOtK*9#1>I}@yN94L}C0E z!Xy!_YIQc`3wV8`EzU>A_QverKh}e;IZVx)gi+g#`pLEvX3Da#jHBra7?sJrpAOgP z8=H+S@4Y9QHqGshDmhTWzrt($5BfV1hZ8U&SVNY^fAfAN|HhJBWVLY-3ObR=%OAp5 z-ghN$A7GPA#Xz}u4~q?dRJx}cej|TLxZt-P0AwJ&5u<%aOd@`!EQOQ_c-dDPdc1S99DyWL~R%orDd1)|kx7@{8x`woL=N$;hj6(+u3D zlaMy~c^WzZo%hfJ_ z@s$JTL}~d&l{^y8U3(A5v-9-<5)tqN|Cxm55O~l3`#;n(?E9xv^8aTQ6nq(It1h{q zC{UvWS)Shqh6yX_fBv}gb1N79k<28z$rFgs|NkFlSzsbs_FL0{SiL}gt9fKnRLSgQ zAqr;mf&}>B-xOT=iI(y4o|E7G!NPdYzjX$+Jc-UCPR+&D_WP_&;L09JJw;`%tcXEEK>2B#j?Q$o#(FD8qXX8Qw5?^34+4+SsM+Dn!Phx^A%4ktOQi*2VEC!?5UULYg!9xwqWpUqwEDj6H%HT0BL-L#>)r zv9iiAdgp0DH9aHyv|i2T#wGBxsfT+JXQeWSvRA+q+R+qQ88`k-dyuetAzY%zy_gfS zVvi7DM9T0{8FpH9{Tex?3F{rW5AMF>%eUAgCOYc**HrnxVsk3^7ZJj$`%_~cN9gVj zVSg;;M($9U>2O3t-Rp}vRfw|s10}!MQ3AC|lY9sTZ>7L#iQNMY!c`Xwch{Bk>xS$Sp@xe?Z>J?B&JmK(_Io?5(RaU@AgWLntTedjF(6=8Hz=m_NlfTd5+_Zwu6~gUx`;^dg)7mcy z%&e#3-R^v2#=IrpX0bNt5X#^eQ3y)wHM_{w3QOKI9?dKkknS)&dZ(2RnYfmrQYU==$UAseLBoU>3cwaS#1ASqJox$-fm3!`2@- zVBh;X+%xoJn}FG0HwsaHFt57uL!r_E{>AE$7LWTLC+V@-p|UbPf?o7V;7w_9+J7u9 z+Hcm!;S-9nRPrvu{c_Q)x-hr`JEZ}f(elAn9*hc;B2DzJf=^zP32LX^%|_DoHD_-ICF9$>a#sz40bwOwO| zSv_K95fNh|RRXO!IaFNzRlbO89 zC#azKhjHl@^Cjw55;ELr98@cH75q3yrb(n)fEe1r&ngc@9Gfj9%;I-fW+-Ms_a8>k z=XHc3f{2Ih+3he{vM^0<8>IVr&&{qehsl}(h+`RaKWvJdy!0ZT z9kK7Blpr?2lDul99xt61)jdTJ5@B|=GeSn>#4H=oi8DuRZnYlzONkX;^4a`Y!2@;tT*`Dhm(d|pv%EhefsqS{1iaiy z3ci0>^6Z*?G4Q5kA&2sPAK$oXWmZbES`1Z_C2O*7h&X22d zw}u|2Dsyr;Z}~l9F6-1#KaeFPaOMmW`?#MBGO`Z_xR~93_+|8V$Ecv(gq_>N&jV~o zHF4Vb0%65v=l?6LkbCMD+!PoI5a{*o@p6GmP>#Qr`lmyzY>Kc-%yjhlmxmn896Z<- zF;(VYp>wgOlBAZ7`hom9K2I>3nT*V;&mICJ*0LBKs*;k{P=CO`VH)=0=|;X{S;Lo2 z9sF)!Ol(?IwQnZB2NYAN`FrB1g94|}dXCJ)Q08!*AON9F0`9mks|fcjk5cB>P~^W= zfxT#xw)!67?v@&PeaSH>U9Y;;q3hd|!&y}Vwn`t^q`+PtzvMs6e*DO3GX1m=a#hy) zc^Okr(O+H{kNO}R?366vrs`jJIwPf||0^%g@1SG!$Zz6?n+2{2pPIOT45r9^HXk2BjKaP7Ym<*i9V*?4w+T zW;eae`A@TFyL9hn&j@6=fUI>6dI)jYDgcBu@2-~m0k6>$e8#gPK?ACmwuN(qSt-$_ zr<=+!PuiXj)Qgv73&~pao#SNv24C^0WWON3#$a;KjCGqjX0}}l0`_qJrDE9S4(wtA z{C@YAVBm@wt+FT`?wEPed9_(z==iufzbe+oFoM$;6AnRDqLmL83F6FZUxuhFqoT4y zLe}Tfm+cng?(_H^!F~j!COXwE&|W@eZhw+agAS zg zKob0?_l&s(D5%7?+Ym;)e_CxKP%WD}Li)t3DrIjSzI8aqlzo4HsWPjIl5lg^;pm9p z!iu2-9q;UzY3?!@?zti~WUCN;?#xC+0eCZuKWzt=Dj(K4!>z;xVmlLGCpXb%{+{dMWfV&%iaI1th3{iPg=ZXG9z=1T<%_uEqp5JeN5maqqK zEVKF{zo-Frb_q3>FTOrMM?3}6jU^<;DW~mv)XP(T13MAz1 zE>uwKY=M@sI_7y=Hmq8cbvKPJZSuQ@Ux0F<$7hRujPo|6)47Zje4REe1kk#j4Q6~> zFdSex@6p}oq~PhBsinSU1K$9bFu{g#8ecp6LoT2SUxqS{wy9LwluHC&KtM z(IxqcP3@mb3pv9aK}e`o>*jShXU2w|dH)XR<=y}}>oVQ{H9BF<|E4>@FtE5m1qnI} z(K8e1sdFs(SNw&$XCF3N`WOTv^kte8e7T8cc6+-Zg2WY_?Yo>Ex`aQQj6U0D)+Z|z zcopD7r5?@><0pi&BihVcGboGZ$fOE0O+HJ_c)MAjypWudwt@ES)>41O5^`^91urVA z>lWO68qN_Hif01Cb?QWJt~Kimx*Vau`4nGtwAXtcZZJ&Q;1Fgxtn}rkkZ#830~OS1 zQT`973bk2Od5|+#MyBQOM0=rl8NcYq5Vc7R=Zpz8+53J)XQclohp7 zLtSx!?h2{f!V0SLet&Clk(pT^9oWQw&aFDWH6-?G8vT0Z`;&rt@Vq8xdqX<}HeT2M zix~Ksg2ctieU}p(>K1%?7S2grHlU%rM=0!}Bmi&$Dd)pEJNGDidMNP2cHHd!4iuue z7IH>c+t#|SDg7;k7HLl4+8aOQzmV5bcURX1*cJi{-2Ko7yP_DeGQ~e__sy0v5o)g{ zy1a6Hvx4V0E%omNuQCOYZmRQW^JM1<;!#Gs{_BtM7w>m|Y3rD|9<*K!p?R(l&k7=j zN>kL;zjvxC&!}6#=a>GAhCNwl6yb%sZt7~@jT$g7bY@21zUyaD39bJU9v}AAs-xW+ z$$3ut|B&-Fh=2g7)^9fp#1h|HmHG*Jy)*qc3|O;V9OkX9{jQo?F965ZK>t@kzyoJgn<$jad|ANlYI(q=DIg>$AnSoPdrNIo;+ z(~SzA(`97V#3f#iXcP*yoC`1S*?;C}At%HF)WNbeR>+}hLOun2X8q%EPQT}{)!^X*%|Z6H74f-hfLS{=C3>Ux^7f9CPT}7tp})kq|+TT{YF} zH##Jp?EDwZIY&H10c%!rIA`LHFWSm_WlIIEv1gjBX;r_OrZ1HkA}tjwM8DUb*4=Hp z{#tg|Ks5R0E@R8mBSJl>d~?XloqCF`CLSdnmnbRKmnTGrMB%#-PZ=3C)&HmvMR!GF zVdji~e(x(An7I7E)>v7(-Rm%8#y=h|4oPX1z6&{91^R_27UaxewP>i@HK@A6h8phE zo05yhKj9@%;qgNL&GQ)BHs?SJ1xWkC@aBDsuW)mk%nq6sReOJ`lMz3-G;G`5774{A z3WSR5z_9AJ!9@SNY5Jl$++D*^5246K_GW>`dLM-<&i&9nSGp~#O+Ju+K|IFX3)!(- z1{2F~r|B;gs>1Qx0|TsllS5Lftx$u`sboJ|L7z_w^)D+XGua!EQbMS2&WT`6Np@y| zkMyMaoCOd`qd}iFoD8d-YyX4+zKM_|C+#KTXZ={QGWpIe|9A*Rz!L14P;9w)lz7db zFU>8+g<@x1@u#M)Kf^r0SgcG8BDC!mh8Cr#-l^~yiWQTVTM(m}B0C?_B)2sLv0u$( zr&T(~!#S(>Z@MXr1=@ov(eNW+rC8a{!ZWGe+jzC%D}P)_^b4BuJs7=2nJf%rGl) z?JIHs?1_rd`xg?@Ul2;1b_D8V_(%&wPtnJjQmL8d6bb12i^|Ip1w!rhMpY+{ZdM52 zrmn8t5(EPZ!4SuAUv=}nbIP*@*2s+>3~b8`a^ z?eRZirTT6dOl$@AKsNqgMn$8}kP7^8I_vhV9J>3ho4XX1IVD1>k=a{a`QGsq&2^4U zL+8G6-$i_zk@)JkGB8<2#%VD~J5jz&2!}v>)&mN%T$@1oX%I&+5k6dbn`+v zSy`FU%Zvxsd*6jl=Dnm$9kxCb8cPeC7!~G3O;#IyFZ6DArb;<=s3vquYip$U;f%Zk z=RY0l;VwLaiFozotk^66v`mp1y;A?~vP!V^3M zF<-=Tr<)iC9Y*1SW7)&l(_F@$xTL{me$kl6iz}`UPkCye_Dsj6MEb}p0ZBD=@QR^$ zP;%S2VPECld-Z$biiGNI=j=GtC2{zd(ZDdkC>S^MhmEh8`)KRJD}15s1{+0^am49=4uSyoMq-|8-(KjvxOv;cE!3fAR^`3=W|hKq{W$~t zu$tYFl;z=Y;^nislP@Ca&n&oUmh@k z+sq?|eKxYxp!gkc1(K+I?-$qFys#0L**&<$c%h34M>2{(6f_?V0{}{kxDjNuie#S<77QioO~h|M?|c`I-aug^H~3TdlIln4{uR zG3$J~RVy9}^ptkhj?qyxJY}t`!;Y{y)_X!@dBosTXQ?e)Ji*fH21Aj!?t^%Nw>_At zwhUGrTX`#JXvb#>j2hP{$Y21}pw;cyHd9x~YisZ?qsQ2(k<#+nj@056ER)^Y3X2NY z?G@r;%u7G2!jPiK?@}>KE5Ae5eFXyblS^!p&^h<`uc|%$1FyNp|T~9dLR-`98xuhy~^anO4+)|B}zJR+EL~BJ7;8mcM0_WfbaQ_dpWi} z3wkq=l4I5NTUOckUlGvIC=#d~|0!HKe)E6WdLdFe5jG{nFGAO$5D)E3X{601)3es- z1Q_z6Y%k|n+_Xu1_9>D-EtYU4p7Ef=Xo9# z0r=^t*zM4p7*z>Uv;`dR5#oLuNJ}$??&ZknSWux{;U`e;-gz7guQh4Ux`f)13skpFf`O6`v9 z#HcPYp|2L$?SLCu-p&=&Wgx9~#|geV&p4RDxCXj;pI0T*sWh@n;iz)xEye|OOcD7o z=W;B*$C;ij7GmvW_>j;cQ>W~_0Trc#d^n{!I$F=62Gxd68RUd3hgL7*>w%t4(iAE6 z)w2Y|&0T1B9F7Ld%3fGjEwB)Z3&(*)iI6H4=-0yC_e&E(pYL8dAIvn@k3;Vd=#GFO6}#g~(&~?O=(9AM zgZW5h>LE+b>oS^f6SmWr{H36wxKqEHH;v8uHL7KI+@pcP7@m}H4tZoJ>*gSSQP#I4 z=vp|hphkdZTW_!1>q>PhKE;xOJJ50w z?g$|=trg?~jD?e@iZ)V{Rabr$aP@TI%b9A;V7!~YM0z&@o-M0zi91%ciKiFz!rVX( zKp`b)f@NbG;g|&qe6xLh+zovxy(iMuOta3rkD^tE1u;#pAz&`__NA2iJ#Gc^M7g$xim8tzzR=(;NPv?N#j%f~9;i7x+ruJf3Kb`%88ABkU6LHI+4faVPYpe!!)KR%v+$l0F#7N@akbikA3n%xhIAcmq{DPIXR^x; z`y`}aZ&_vAZz8b&{d-eC6)^T3loUA(YwM+Jw`^4@v=Q=AENwUM2x+6Q64D2SGCrKwN1dIeS37W6)@KdJvJzKXIfg?>`r`M3SiCn^mBg)gd4B^3VaJ~Jt= zn|TK=eEL1acN)DmC{Pco3!TCQkC*__cwpQBy7i5`kAUBPk0})eIzPmHUFK z$1B?yTOy>l9iA9P*#wcyf{jJ(d@N&!I$HnAVAM97$+X?_J&Us`_XZ;#KYX4 zvj3zJIN+`Yg7T|AS$j8bg2I~wh4U-ptC(#d-|K`%3ts588dSWlvuO0!R-b@^t~Gu9 z%6ku{GIlSpn>aDbH10a%8>2(LBE5Mlw`JV=fqj22<40rY6v~Vg`lMes^YWkdei~?c zw4V1x$X$CgT4SWsSy}MJ%}-UT;> z;#{VJN8A+Yqp|=N^xKRFHhU93#`1z)nlTj4BKo%x$e;U>xF8I1r}Amg$;`;$;!|*F zLbx(hs?#TGjr^~*JeauI)>&5y5Y#vk+C1%(ovb=4hfd8V9@^qPx~{em&rVE`JgUr` zot^gtz@VhZfEQ?uB-#^TO#{tjITqgJ#d+60?^b3~Cs@)tUEx%5;=x}9E|+RFfNFGe zcmalKaD#k~YBS(aCG59t)ZjOq7EO(dr3Tf5xtM@T$Y$rYN?f_>!;6!cZaJzG+{Wue zF=i^GV_C(vI32#Ruw1j_#$6B$)EpC!G7X0QdRsStZ{}f;Zr`FOb)`sCeu9&z`S9Zs zXG2^yKN4b&9_Pm?}+8y41Id$VOM;nSZ& zm`yowA4!=pJQGg`mi(1hKO-L0pe2aMnV8ze6)x06T}Bhxq3}U_Ui}%}<57H$u-FC_ zcNpKmSVz=Kh7_@0U20I`CrU*dUz5}Bk0BTXCl>=wjCCCbpvzo0g*EVpLtXFMRFnus z!#yC3p=eNpHc{7D|FXH$QOrv!9DrtyIMv6w6derv^2L zPGPNwFv-S|YP7j-Sw#sNlku?Q^5DvfD^SBSsNpSyB&wqcLU9!RR;PrMv_JHO4r39D zX38NhxX`W|wnLgg6%}Fl22F!wYk8EQ`dF#U>6U2w(m>c;X*}9 z?0d{qDxrAjZgsl#uMeTTz)GdCdZwy7=n)f6_n`UTtDm9kx@o+)hqpxM`x_qDX%Ho| zn!!4k9gh-3?zAJWDl4-YpcU8w*ize-4H#;kA!K_4LCFhjkRi|-puD>e;@725Eqt}1 zXbxLnAn@H3E-A%Tz*1C{Aa3DV3Vv(r&VmFw@YB>E-m4+EdWAE_2e5<$YTR8FZS;2YNXTwtQ5-*|N%} ze`&?39COlyvBufkl!=3H+}EPZUeH4c%~bKWu3|tyAcxK<`O;6hpY{*020ET{4AgvpxQqvpQFDSK zMJtD%CW8^hC#iEtdr#`_-F?^OhDs-psS`~oY6t&JUF z46pzj*9DGQpiIw7w<9wQs=1tN|7cKA2xR{OWJ}+jG5ezY>azQX8c=uO=_(C68661& z0j#$ZeE`&ZO_|-oA7U`4%gR44eF$n!H-_pZ?$yt+HimxlWW~zNj!W7}e?FQsFb8vo zed&~i2=lLS1Uit?V;s8;g3_f}5uC+9JGsTjf0^OWuuEY2++`-XQlZ^mN9skOg6RUR zN<`KyY;E)oW%C3&j1#dY*l*t`ot^)rg{%u9PvvQ`z|Y=sE^aWbhvicOjfZ1&S%+bR zVy{wm-ina0U!#64+)df6(y)q|i`>C$v-CkVMsgr7JL%jv%tKqeZ_DStEgZKtI9>&9 zU52c zq9=K!FF*td=xn82*Ov1VSDd^;HEGO@N7GVJU6zrZp*5wnTvll^SnfF zyK%+NI9+>vQRWh8<-lWU?t+$@4~xyuwNLfN4#3gdtSazd10xd$o6c+^sK;nZz%bQ= zkLB@XQ0p2h1j(_tIc5z@$=4L6`_@&uuIptMO{h5m{Cf2l1TpkUKlDAhxd3|3n2NW& z_M+w>aLCZ`(_IRh+VSIjx?EupCB*gGN{xdG*bo`WRQ8xg58Mge(bE zT`?2gLkSPF9Q_0be&E)#ct1@>Kfxgwctz+eP3?LQ$pyoN!y3WFu+Uo|zu0P19gfCdB#-oZj6r%XRHx+o7^@1@b-uMv zw@*ep@4fqz+Lss;oxFnl*Z|$7Z#ab;3Ck6aWgRP3aZ1@U310(!7>QJCm@Nw_1O?JK zSaJn%Q?L?rkY6?PQBJ|L)_paTf7X-jG8f(tk(ibH!%hVMijIHK1kmf3(|pwPkW2ma z(I38u_*ZvdV!acfdNklyj+LDw7ERVr%Y5!}tn^{Zc8sPC{bw#h<`hE^ki;e6TDlpB zO8v0kO%&6Gvkq{DQB`NdC~d9XRw*^YQQYJc1F}`p8t)DJWG(c-bT~~V~y+rZp0BJO=Jq0mSuuyb(J>4FO^@-S1m5>%6X@V}B#zTs^O2$76j>8w|a2Bi1RU)k)e+)nZd(RW%leE~* zp@z$b?xtZ8n$Y4})S~rPlLg6!PopbZ7d?GKUq>9UfcK64p?LW84C%fF7)2EHi>6~( z_%y-LeaHCsu_sghAlOAOZjuPx)<06&f4?R4fIOC91ngo3->ZLQyyRzH^}eWHfs^s}|4okh-STKNA0c?EQq literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/icons-on-background/icon-dark@300x.png b/docs/assets/raster-300ppi/icons-on-background/icon-dark@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..888074fe0ea848efcce581853327fabed4c271cd GIT binary patch literal 47264 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 literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/icons-on-background/icon-light-app@300x.png b/docs/assets/raster-300ppi/icons-on-background/icon-light-app@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..91d6bdb1e01952eb3ffb3a13fdec27bc36f01abf GIT binary patch literal 62331 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 z z6w-+r;GekSo4%!!_USjVacbOA<JnL{nlRacj-p(nHl>+Hyka{_s*7g zbabrVa;jGM-AxL+(JlcMgCa9t*&9Wb?%9jaK?M8P&ZEbr-MH4-y_UEs_Ni^fXz5y` z-lrtBpr?Rx&D+de7V=A31`=3h@|yofM(=qu#`t+7DIyr0p%%^Ce$xN~2(gIwi@+)I ze7%VC&>d8IuZRQgIBEc*MqM#Rz0mJLQ`W&jY8T>j^c|_<_nb5hob6he>upIDD>8UCJ+BCQX{A-lM)r*iW5Vf8YLl7a0hQTI<{+8E-9=9@eC*wlCF;-S*>QJxsMbjH+~!~ zDEjl}`FwiMHP2@h=Sc2mc>YC2jeeC&?~3_1F42g73h6khbd>)+zqB&%pb>>6^zYFI zuYH<~BUEH+s~7H0@e%>4N=4Qd1^ShXCl~QYI^~jEi&M*_{S@f_M3y7>F77`zq!uUIyVc=Es#7$@&R&x9)0sAeb$r#hSK?xtnWxM#09eEieJhdty@ zjv@M}M$LqiZaz3c@?6;m!9~Uk=my!1#O4?IlTkE_HY-wJ*u~7J6NW1|uFthN43K}# z{L>p!lwLhO+<5*h*eM9U)Y=ce!^E$*raD?#CcM%q>sp>S=i+yfv_nA)`5P{IkhvK0 za%X;;xREQxg-UQX96B}RrkWQ0k80jpjsi(>WsW?O9LA39s0zBu#qU7&XXufeyw62ibapPF_o4lS zp2!Wm0MBA0P|!!J*Awd-+1*-wJ76(?!^K7-vyrGT+=C$x<`!t3CE2+7nSr+bgkRuN z(zj`9x$+`w#Erfd=4FyGFFY=I@x%@$aS(%`AJw(ry)IwD#Vb8xVMgj>((|&vX9rA~ zlui#qA*9A`LM^AC_PlT0m$=!i><}BUghICWm3g1{^$g^36j<~p68wk!{5<036bqPR z;x+qQJRm|Su~CqBWTkYbdJJ(`i+pvgsrl!^0(y!EF&iDUn^37*KvIBdriI}05dlac z)s=OGGPIb?n>!~KQwt$dIk1ekrx)IBh$&-#9SSD=dRfN_1pM??T|rDQ3ioq4FM9Dr z!`u7BJ(_=gF9!v+OiA&G66y___W7BbU5xCW@A||fhNVNt@j6ffet8l1mubp|p{gInLtGJUy*<0Im?hoAj9{BMaG`%5#3ogCU1MEq#lMV-ga}9{JaZxO zqx&Ft6j@DKaHog-rV^}W+e3V80-_o)(#WAWx8M!A_ds;5J^JUEQRjNu_K&}yK$f}L zW1~XOHVC?oGLrJpK``!D?!^{!d9tn0O>(_F`v%DB(qzj_@G&-ijg^!JarH0d_wew; z->(DJQb)eXH}Xlprtnlp@~O)YDaLp7bwq~sFXC_5k+%dFhUmXFShCcCBn`yS)^Yr^ z`o)&F!c8Qo5{_3arS}Clk@=cnT``LU)3~;M%a)_aDYH$TqLvMn&hB#qUuc5~Zo$Oj zOo^q-r8Bqrk`B0+qBWOFLChD&E)2b(7?G{*16~c03DdmX?)@z&{WHav?Ah+!?D))?x``6y6M(b6>Yu=X=~FCz-qA8UOWGwbKL+_ndHa|=oxTnPUl zTRtEARq^QJ37;YS(>UY;X9J4Mnc zD9SeW`FU|KM?vX@S<6NFG=~7!`H+>^$}qx(=h$-T7)q@-z4PrA=RA^?nHwVx`sYX( zeeEbARzym6yL8`FrsQmv$}40rgf_U=mORO@(f~8nR!GN8DiX$|nR+-F+5hSwZXl=Q zxBq_ca`8kY{#7w}q#zZE%}n7VzP>_`j`m8snDY5_sr~?hV-dmR@m`+Jxdr?3$x18N zSh|{jUn396&T>bF>O>9aQ`s5hg2u$#Cp711O%kCB>q>3>RRp9nf1D&0ba?@mNTdWD zb;*3MkwNwM`#-e-iE|6$EXi484E2%kPiTV=Vz(1F(N`04)GaLn0N?wzd~Sh*KP6Bu zHkT>A;LUH(d8jG;xsHN_uSx2YOiG0ji>7i@Zv9&xjV1h|f1=6MzL!pgF1q(+fasbf z{Qg5^)RLW_o`!hTM2M#p#*NS`anm%g{WF`r&~yPPl=x_DZg zBJA_4mX*ZQq6)vsb|6`ygrs!lF=0woMp9l*jeR`M$R-1c_9SagpBIuQUwt6W-jvXY zeS7=f^4K7W@c12EB=sZbs&i(Xgrt>8AUj2NOmR|r?^|U8qyeY zr4l6nrH0&uZ_tgAoqV4X8Nm2(|=~?WWWEU z&2M(k<@9-5(*;@Zi-lqTTl)DwraROA!qB&@>UDU=%7Kq{@joN~?~@O$`_u8pF=-b* z)l`m3o&Q@}fvT0%_fHSVQ#1&n@uFrEQyrqc-_-Z5v1xe!eebI05og-(>u5_0o>u-* z_l<`c0TSif8Bem#GDa8UNrrRScUIoMvQUJ%`RqqU(nr{w4MEj7-*mu5J}eyBxu zEyDFOqwdp^sSF2yP&m_mLQowCnb=-HN(++jRej>ar@xS()RQBC&8#Zu_28EVSr@tx zn{ce;p%gyhlpcjCGpK%mKQI}0UF3;ASR9<53T2!)uxlSay9l@f|1)w1&?5SeZ08P& zI_rQ21N8bxye^@K{}+=yTf=>3&mbgX1`N<&--y9)-4X_2yKJ)Q^#5_jmjr`hoR!dC zsCCY5LQ$)B5Ytl+9w$+p4(imcE9W(W$aMrL@Th<#$V__0CZd`>gAkD84^{QXiz3Y! zNF zlT7~?A0;}9eAK3#R73sc;|5XXzez3j;pz3rL81ihE zPD`MO15};nLm!z%DpLX@2F#U>6D5yHlCV1zH)4XR9s=!>xh^t&n10_Wjex=#=%0*^OZYy6c>qQ_WChXseuP-q+sZ*^ zR~X1dTIQFCKGM?5aM004qSutW36!x9w)7st`|mV4xX??=LZ4wMzjzFpQM>~<|M)T;% ztpk6~eW&BzrbS}6WJu&C0~gTt*!rfeAQ8fvC(}vdF$0p}hDRq3B)&Yo!yAt;(+aq> z*|BNkF(L!c1OZr0D{It}Nv9wLEE+rdg9tgz4k$6OZ3SUsJ+KGecYV|&j$mIdc*djg zy%gVx(00H%i^wR{gP@`N$lR@f{`Ebf&tuwvwC{1BpC#yo}^sDUcydn`1hJZrWE$~Xng z%FjmNex`7tJjr36u>OAihg9%AR8Sa9WnVV|Akb8y{(fD88@txSm2}*Eg@_k>KnH%K z`8XKn#B+BWk=i`i2q$7&!5&c%Z`kfDMWBl22wfXP(nz)@^vFRsvVv#JV|QNNd-O2n zA(2eO5Hljp_hkuJjlu;vXO(~oNSmJM2QqhjK#gN^fRc50D4Mh;8rscyL{mMGD18-P za4KW)9}AK}%3yFf?gp97N^92$sL2CWjqBuOTR3?hiNrjJ#G6LKq6t(RTwxO@@}urH z=`|0i-#RL{IjsQZs~u=3GKv`uBeEMfviegJ#RlLpRLax6mxOIN^z9l-A}a z2e&r`5)@al9V+|qcV#F^I?*smrM%sHiJWA1!d127Y+K1&HsDspT++&Em^T|KplJFZ z2Mm&^5d}-12_(&*0Y#0rm!fe1@X(PAXFswOGWej-huuYF(%gY}o&vt=?m9e-*96oF z%C1X4X+lsB9HvOB3x9kKW)(-)kh%XCNC~S&GQ=pf1iSIH_3fc5if{!W+%%;4haQOz z)-5;SV%BwQGx(#N9>6V?MrjM--A|*PHe@ON3&hDPFh*FEO!9@0@z$?0h&&{mOD95= zb{;OPNLYlffyxzs*|%>Ne;MxqagZJ8EfT<6UNLz%@nU~DrR+bu1AJ@D031O@Lz*HS zd3zQbWFZ;^?gK4ZmZ8_7!a8)lXh}zlT|~y4E&`@KtN2r%LUf2;AfC*{!8{|gh}sJ7 zC(=$d#m15yAJ%g`t8J?y!fG{!jRH6i-IhvLQMtQ7?YYlpNSrI!1CetD|IL1 z{|KZK?N+I!JlW~U1%tVl4($qf0{UK@x{$rl*J5Cu@*CWgb*{j5yoery3tKlh!C)02 zW5Q30wJ zb}5iF39D!YZ)Cm&*;t=}#;C#~=;^0}Dr5#|z?SAcKp1I? zH!O4NWSOhj2IpJ^R4xN{Wki+#3E4{hIh9+Q8=>>~dJ?5(#m)(4PuJ~PQ2GjcAMbZW zhB4&f)Geg-7eJSf#yAtbUKa-d!0;`iUeRix&jLubU&9)q-cGvT8m_v5G<6dwKeU^# z9xh}Pj4MQ>cL}LN5>&y3RKXmUgcui61#zGP7fMk9<}m{3V-|#%{*YC~D4J;l%{Vq| z)KWxoK~dL8Q6^9njWP!`&Im{P??D-&XF`FxS5E`Hww3k}*+=UDN-NN2AzKla<2iu* zGQ7q&5g^0(l&h++A)U&^Vh4ejgdPJL4<1SQ(ceRCMm#TR#f3af?+)b!&R^gd7|nqKnm>;9mJ0 z!Uab_<|ET~|Mm48_#xTMueSlCRQ9Ho1F)k0D*;$wCgahd`*RgSjPXp*M7p?_oFJd$ZsX z14AT)!0F_LEs(x9VVhrkD87w|eW*FGxt5!^E1O$h(X#ieF~~az30SU;q>WuvxGXfJm2p*CAxb)xvbIrkkjV#WqYR{c)z?N6>oKr{as3SQ*di|o$2+11 z4`;icm3|DGg&;M!f9%TW7?FghTDYT8PRtf#{cfe)Tyl$~b_)*90pUAZ<4>+A0#_XV z_s%~4QH?T^ZfDOq!X3gvcISYW!v_{HQz|X} z$!=Byw4{i4>ami~Uw(^{%It%qwM;=xn$@-W!z8>s*wT7<7SN!-h3@^wv0|{7v@!x6 zVgf6e_{-p1u&^qqw4VseOi3j$Mf(D?OAIv8KgRp>37$pmVRrokTFSjtO=w|oG$VJ+ z^KRk98$xff9dONoh=xciT(Ki+W;0;$-0ZwPI_5g~_xvb4{zc{P1eyK$k*Y~-1Zc_- zgUaCW$H9Dtm&k<|puIz0yzui5p_V!n9>F4Yb)cqF6=X7?-g5s{&?*gz&is#pOffjv z9w<09ToVg{kNZkN1sEh|CywvxOyM!uty}<0Dq#ungS*%%UwCH9%rznrE`yB#GS&dl z>ODQ-NO;L=8BhX=t^Kc0`+*jS#!yS^-QDtvdf8wu+~!u*u_)_ z$1i`rznvgjJ?xAJ<%H;@CMOCHYY??tgt$D|?hh;^#ErqDKjymR*qC_g0RSTux?|q} z)$Tl)=L6d0R7+@z;5B?d+zih-kd3?>*cLH0v7fyM2W64G(SgpdfuDBo-g5cYty_bP+q}jS z9N*NhY*szIc!xXBrE?~VuiUd_eN61#Oh!cNzJ0Ji{<_v|!%r^zi$QV7hQHp|F8%WA z!>a!M=i|~BTRqUp%zky{@;3iT&H?7=wk_qA*H1t7*j})=i3i|;76-#7L72<94c)Pv zFt_3{bVndz?ipC@P_AXTJ1Wk==PRG{Z4fMr)>Fqnt!RXmOKj))M-z+0_re20hG9lFir!qFq6)dzakq*Szn&n4Mvhu>D|^y>tzaQ{1)=w^QsOG<~U< ziHxrGImsjYV)qdK5{J8x3I*V=LqE&4ZCzD<(xS zK3_MprC9C~x)j;f4zB;j%uy_?L{)|9ih_>}PT>=!P(Cmm~ehm2=@*B1D zW=;{1Qd$OZfPDIFe&fSe{fromyX4}~tu$@zwmk)pzsAnOp%QF#5zWtAx31jf_)QtLO>iG2w;W@y5&iy1gFelhQHNvU?vkAsBI zjBKFKa`vYjy8dD6zH~5mA~^{*Y-zIQ2Sc5QzmyW5c?@^1ht07<~vhdg*O;Qa36~Jd|~$KO3PtF8@cp_7lM44<<#ZS z2~J{10v5!1JX%FX+by^cKsiEX1>$UM*VfBh?8dVN-6;uU#B^)S76h?#{l(t&Falvx ztMEIVTnAFunYgWo-Bw~p=lj?Dgxgdg3K8zZK;>WGc6{=hI!l0RjTp33FT--x%^3NP z*4^W#3G>w<+HTptI9({cmgvWQ((A6Tpdn*tQFZ4Q$snKY?eDM3hM^}nQWAzEuu_out!j0eB zyUdPUyAk-2NR(x8rB(Wu7VNIVzXf>z?k-T~{q0}R2|XhqwWC)nRh5L)_b&P5H~1H! zkOAz9XgfdLrGN5jJ#t4g7sDC*8&os_cG`>w0%ftmjd#!TQ)(6C3H16IPvFiE9{rvM z?B=U^8RVNYtF8>$w2poLi%KiBw-C-1hmO4dxc`+VUvy2XH!%yrX6*q;&rM+WW=`;c z2T|IXiWiPGYoN0Y%I&~y?0N|~2OWq2ci}}#hC-S-b8rbpuzDe5iwFrhJD`M|!ZJJh z6&D+VARfa89Pzvy_VYX}yT1~%2qn@u;iK9s|Bk1BdUN16z7%s4T*@k(U8p~NbzQST zbgw!mOA)b3sCn8hPzzx#=vyIAFg{lNklFyi_|e-^bjnu@VFi$zHIdcRTZh>NrIE493TK?-=NjQQk`JqTS)-=am}TXy{*72!T-M6Lf~=DV(d`} zyQBfy+V$Z*k!31I(48u$fM=Xr_HP9S?jU4hpLj`p-t4>{6e<miwquo%z34Jtxab)n$Py6|pxC-%*~i9KMH`%3VFecje|N=)*v1>{+D|^|WFZeR zfQPKe(x*<-_EDaPg3EeLum7& z0Wbz$Y4C*!(tMZYPhOe1tlJY1E=c2UTyifgI7sc?Xrn=pcd&NjRYMVWX`rFaC{7pYmr-vc06ba+*PgO-IIW;*9{L!k)kNz)bIxcZD4;*g>Wydj>zNHpyz-P1^|aU zm-7XGb?dQgW7=WTUsuku4Qn&-5%3g9TGIUK3%%wi@%8eXxs?Gkr!;!Y!D#)Uqxj^?b zU=wuhnxp2lL`-93aPW_O35)qGIgXw1;~!M@ld|%1uorBZN}X8+n)K^%w-U-4!YUhx zn|ofAr;cl&7jwV zsR4TQ0ygJLzzsZdhBkgt<2gI>dRVwtMVYcV3FXJ+8)!cRV!*{bj(JmQ13sP;%MRwv z69pi1;hqV`r<@fZ#tlr^*lpl?Y|)o2s$dAeRi;d_1K`zGH>GN8}L^T&FqH1Jct&K_6~Ljg$wkT7IysG$)Z1+ zB+NR%eBkim@yl||nG&sTSP}p|D&R3I=wRNK_0S`Sf}U^B7i#EP%}N3012_PqZsb&@ z;p1#)N9D|?Jgh>5!cR0<42~4#^}YNpIzOmP3xcjEM zf3N`m26RQc{HHg!3i{V772-lsc{y+_FYoi0lg;f*f}kF`dAB{+f&t*dT-t2`4ijKk z2vSviUJ&bv8OH03?+XQ4?*EJ>Y{h_ufZTN4A2DT3A6_{P%L^fFNwiiBIu)+&mkK}$ zxpvKS#B-~1=L*ZbjO@b~?%|`RSW<@Bnr$9wnHZ_}wm+P&xn!#Dg#9Mp7XlvsL^e%wit(#J(aO!3qd?JRk@##?s;&26u2Tr{K%4%T;{fPpr)al+t)2Nd|H+ znv3h2Q!w)9>K6DKJ8c&mNvQb%_Q_2z{G1A2Rx3ch9NY)~guccaR`93VE6LXK&|W5X zPz#5-e}^A0f=BSw7hcRwYL*w4L(Nzr!WaK@L8EOrVBcVU1NsezX)o(H zNZj|qLISR|y+^A9p66!9V28+6^YJA_Jh6{?+_9Po$6?!Oq!#`@2)vjg_Fp3nSiZzs zK5);9Cni-R(B`JeL1;HxLah1eU@B(PQ5<6rtz>QMiLAB_>o(O1xYL&cg4hT6Kj+mIcmH+ z6az10ms2d)fbE1Z%XkZ1`~Y{1VR<3oEsRla!OvLXg?gmr=JDEz`iEf7JB4GaS$I44 zF`p(*2cEmiO=8~_0*$tSX{^(5C}8V=2g@-xaf8oVxqKfYH3Gk{0mp%Jf$0Y93#b8H zM~3c~b2Hmx)GZ9K16)P;-X2~?JDVo^HRG|&yN@wCxcPW3YZ>eq4E&6)8p4oBta`3* zB=)4;xE9Mkc-#xGX2kb*QWHxStC0XVxtX9Eg35LevsnV3F2PGh%zvU_7b{iZhn?_3 zIez*6)?1xLlI3!r_uHb`}=>YPUeghBSdpz_tJdcJ~5hHrHvyX#1cEnx_KO~12 zO*atk79PVliSR&ayR_$2VRUD zz1sA0kyO?@2uFZAo{Gq;^@uN@d6Oy>%l(hg8;U0zq*W9Uc6vtvgQG7W5K2`J_b5T6XR;s zq&AQj_K-<`6yQOWXWY!6_8Iz2R;CE(+_6(8lx5^H-lHFRrdO^9y^c3HRq3sRv7S6R zt_Aj=EGu|<2j!bCjDE}4dFLOG{RLM6KY-Fuo5ZI4kZjPu!EIg@eED;z<1}~=h0UY6 zOq48vjfqllbZ9APqFVu-!QE&x4dNh1i=|rGvIZ_HE?8c09F9Tb}WI4@<2&w{gG=1C(@RJ6H48hfb+BV@B}oiXb!oYoBC9LY2ZtvVoP92= zgS*!=p5S=$q1{1^-$an5xV2MI-EG^~;H^ z2Jk(40Uk}NIvxv}q*-FhS7GNo$V;#<=?)Sb1p6E|5{%Y?(}S+DZ+Fl9*o3_uqhSY` zNSgnS{Vf!=5l-wNi^E!_W&Qb!-E&s$)9_`CN22blY0=LNFCOMHOFcPf?Dj? zPQM}z&O0U^Ib(+xtWzy9IQi_xCVxfnvcu;vSfB9<%ixIHP$d;Pa611`NqISViGT&A z*@^YEApL#P;Be!NO~0Q-PhP+8&3v1$cm8_ZdTXuI@s^+6rB!tsf^L-9KhxQ0lSoU> zmR)o%{%)8%zp3=1_ky*aWXNlL2Lz>gbRBe^?8dr%2=ex9;`m@%k?DqX( zp1nb@wKn8;tBaqS2xH1_s(Q$`F=(*!$IATxS5DtI<+^P5^P4a}Ha!*w_rwfM3@qMt zS^Hc5vEN$X6Nzo~wExB)Vh2&+m$dG;@0XL)9dX-wRK6U}QMMVsgz;B`an zg|Q^;5J&}k4S`xXD;y2ZS2MqU;=37!0LQlEB+++o^55{8`~<_NTh3x2*bU>?BKNi{_hY$HAZ9Ry=QcB-@Yi4ikI*jl4GSaahNFI%z+UANR)) z6V&wQ*BZn&Kk`5&hA*{b#i2=+Ee}x`6yW@bsM_ ziUDa;1Ya4@enpQ>&CJHeiOKYA--$3jxRqalb*xUj+*v)hOO0Ebd!Aw=7nzR_X91&+ z8qxrlMZw?wLYQ8v_mT^Ndvu=<$YGT$ul0WnR4#V1>+}W4{1g=vXrI~rH=t133b5$5 z!J(Uu&}QrfQN>=27i=Ds{E`+FTsQH0RdRbZ1`SV+@WxkbVE9KhW=fJE@g!pHp-S*b zz3!x!x8(GTv@ZDX#-bv>Mw(MwKlK0fgn8A>+HM+lH`FYTtlaX+q6vEofx5K8vo~}b zR)JMErNVy{ba)$fP8Ws!C1TBP0429Cmq31`yB70S`y>DY5DHq4Jgw-*#Y9bFsH5!!eHKD%(BD#bF8h#g@P6DEw3&ATbG^KSC;GyCqru(Sf#^iVZ)KnLBbg;UBgFZdooP*Qh zmhajdvM@2P;YUJ9mj!2fHJ)+ss}~g)h>`va(`LtB`MigR&WzO%?dZ<~r@c<4SC0)1 z>#wQyz!(Bu;@n=@RG9BOZ8q8a))FhFPRC%jF?OsuR};5gov+S*D?2lh5Ko_hn!(1- z*n;+(j@Z}%Rcvhf%NpgD^2#l@OG{bbX9!~%Fk$J(3#f#?*Q8MoW?i#2W}3~}jmg@r zNl(sfWVc_!J)d`kw?cjx^_#g5%TSjROYWKyk1BN&z zQ%X8rE#jsP;F6~bU_N5_<3nP8u!p~gRAb&?KNh_yY#$asq}&hVU=h?D7NB$6Do6-#3oMt3Z#vHdWpxTAq4A=*>w!=WO$RFkoHq z_xF(I;6?CXd17o^go*fn+I#c3n%3xld?(?`mEl~)Z6K+*4d=$ys7_ZQnn)rI2aya7 zno~NsS1LrIkQ`%(5}`>BN-|VLQPPoAhBSyq^;>K2v(MS?>+^a2hChCPefJ;tYM*C6 z&wAGIUh7%UL=FdSt;s8hf0*O6R5CfhG?={#(2(fVI0^r2Qz!Yek^GW30$=%(13KY+ z>Qy2+%T`SGU>k?5Ofd@i7edZJv<2TqI1$>AWG9kY6Y7mM`KA@&fTJ>=yb!pFq{70Y zzrua6w`y?r?m;Wey=EI+K6~h;(y=k*O~>-}KL-2F+TXOA#gh66=#gy@*@oLxI}cPo zTln02^!&}uH%MM&v-dtc9kLA|VTQxvb)o1T1v2eq(d|%l7ML^*hny36;0r@qzn0}A zD{i&QAz9`nCbz$zBpYvD zF#p@}m%pFbV>Zwc1_nTe-KFGC?XU%amFKM~4yLznKEFKAP!T$bzJWKhp%CDslc)FS zbWe!-(TbUi8!f5HIG@igcif9neQ7x5RrKsc@W_4rAKl^2^#8Ag@$_*J#q)mQ>>OR2 z`3ouJ@`^WoKL+=84StQy4tReY4Uw17bI&Z*4TP3#4Y9=r{ixHk16C&EShzF4@tsC{ zfAzQZOV5#ZY)g7V*LvSPWze?FZ%_AK*sSQS=AC)+A4T z*B+jKTJJa1QDiGQ&sYM`u-YeF@5ZoUr>|$lW9ha@WN9ua`0eBDu!H1kHcs*S44-+M zn}eRupZCr;j~qg^O+_6o-wtrzUhM7`cdNZb^Q$UaC4?jq8N#$)0X2liNXafbAsM)S+VYM%%9o{am+o43bQ{a3a_C zhw{sn$f`?Y`udfKxyy2yxleVp%!Vty=0#{Q` zTUHlU6s^zLdvE^B=aXW9xDWV)O#a@Z%iu7aE${QQkox;cB^3G^^-M=RVMBQFZWy4BL>m{H@(;tvpXZGudfv=RK>DVt^!c;(Pf&{*GyIm;MfYl)nAg(i zTYMs70%Q@&H=`Q(&I2{b{EMy7*QH|Ag!z#2wGgL+)0q&41Fr=##(v4lK5ShClDM6E$%fn|LDN0?u4W z%|D2g+hRP&8xQ{Md+VItm*c!GM4>b|h80KTpPn~~L12Kuc}ZE16f*ueDX`+D5Xz%q zOt-~TeU<-wzF@qF@p_LO%6gQ^(qw3o0SZNGab$-V9SjhYPXgn`S{z<5KBNE&SPCxEI)xBYwJGSN96G|7FhX4}4oTRV^ zU>DV?d@%~EO&|0X-+~HLD~`(7ifje&1c&9k+bFE^u7_H2y${wuH|v=tR{Zj!t2sRg z?l6u(*UTdq#B^TY`RZe=+T;jJMQ)9e>3Q#{EL?$qxk;tey>5pSy-X3J5G2Xgy0O87ooRy1! zKgWWd12CL)BJWhpwwJI8`zZLA?2-JWLl=N~yQo47E-nsb0duj-d|i?}ua@h3ku_rb z8#5NzX@hIu%H@%HotJ#vZ8l~2h?d`)3I76z6^6-EUdlV_KJMIqtFWiIp_d4Yp_*!* zM>Zml@k;YAZZ_ax34To|EHC4^p@ZOm3jGV?2%cL#Ss~^|dFg?qnytzp{dBoMF3IEQ zqA`>o0;ojQrvoH{=U)N3O|yFlL1^Hhgr9bBg)+sMRR=>!j)8~C1NVyv@#F)!7*%M2 z9Shi7|6w(#Z!L9&dFOFG-PMBw_fS@-{vhc!Bn#WcO7UD&@;X$9dXE5ttR_?Y&Fe9I z08Y|zK5S?Q-vr=s|I5pNNCx5VaKfl^;MQ=2X>i+=Iq=_k_+;FnoK~SRSyLO$vRUldsAFvmM318j^7{>^&n_RxA z1jEDgaeM9${D=~J`tm@4CFCl`4XE2>o~2w0T^#sd%?T-F*bZQQ859v>3@{FaSkS`= zoUP(4>FZLqfG~)Xxp35PvSo;@)f<0D#*`N$fog~yKOs%$8SsPv$x}rgX~w;%gboH5 zXcXUj*HNyZ{OhDc^B3nCer|wBMIIXz{0n2Wpkj6K;m@o*(L}O2lpCYXlTXfSWRC&0 zKL6{l5+v_DtEYQvpd>Xjveg`G@5Iv_h$ir%fO)Glj)Ny7_|mgf%%Xu*(t;sijKeIU zuQ#OtpX(x8p(FOO6IT0Qu5mSO|Hg$zLnUU#o#>8|L04 zN9Z!h5QDQmcBY9Sq>&&tl4ln_@3Sd<)9r!w058#bq1Z9NLaz+{l*fLy&4a-?sG+En zo#%mJ5@l;%f-M%J6st%7U29}_kn1$xwL&0|E z?R>QX`-O=LlJn(j!I>~fn~TME@7_Ic?F>;!16%@7)Oq1nM|x)wX~Pi%J98jbH`SX2 zE{*~Op0Y25C)jt&d?%v_I4Z`k)8}tqZvd@Hs>20ze*z>>^Z@hE_jnF2C_2X8!(=0UIj5df&ipwC=rF*&DI~R?>h^D z6W07T@xH%#zUf)S&|IXk0*@Mfah zX`Vu94FI{QDaDmXkJcNmzeD2g`m(7;SGGdJ@^N5%C-b&U|iEfay6+ty2BR2XdE0njy?h0l5ujJAFBlE z5P&>U=bEyr^pUX;k6`N|Bt<$e&RZ7&4dj#|fY~_+zQMld!H^6adV{+{__8hgY%I`P zNu%faJ2hH@0+53dPyh{**Q&sP2#;By-lDGQJdRz^9wgFC;ZTS&fy2cP>q7BUv9IEc z1Mb62)R$W0=tStdq8oB^2#gW@08I#jlfRo4OxcuBAs;pEEjX9Ozfal+85uBcc$!DR z@D4`vpCSjH>ZgH#V&p-xMoHx8m=L}PlEClHJMtbSLk;4TK5}o&pg0%u@9MX&Vq4Fv zf_V0kJ>h`Jz}K;;JK*x?ZH>TvpXDb}7nB-nsA_rdyfS?51K*BGRMq<0yx?)V5PR97;thSM73sIy z1CrbzRKS-Mb*O(qakMAFlU1h}k-Z!wQ3?~)YB+Aq=1^M0n`Ht0lE>u|zUCrIyju3! z-G?9s4WbiIp%loBp_mo03nJ`HLssUZXrpm6~HdWBvtc`RKFcNQjVlf}T_$5J*Dn|6fKllUg zp(boGk^)%4IRlcNL@DmW6?USOeHM^845GXS8JCKoZiuv~s{{L=JeltwrVc{prK7GH zOc4-iHT8`mZt#Dh$Eh41z_VlBXAkQnUO};g^~P?UZxi6eETGJHZXYAod)k z_?$#Y3w)eEOq;f12$YPLQ#z#gX?E^NCXH+4{Ob^9Ufhyh)_W$x&c)n1lho zlM7jUD{uO(mIyYi9KvOoSi|)$lW{Xc`Au+iB5n6gN1q*%i;Ge?2>wNLoRjgmL*8>{hpI?%0dm{` zpgM78rMv>-T=*E=1et;+U{t)(blW)eU^5|-#p9Toy&#GbX=d{R01VO#N)y7@*nA2& z6H7_=`_Dr#f%pgkk%2tYuYn#(qAB@HAhk6|Z_?VsI1S*7>m4~|m?D=rBwsBUCV{b~ zg6>cS>9)W=;$i{l zqy7y@uHo1osl?5od=1ROVfX>PhDZ1u#0*&p1U110h#Gk5!4Ps{E&=2UkKhO>^o{xR zAR&Ri&lVLr;5vj?5}hYJKa$Cnw^%1t;IiJMh-A_e@I5i?0Ox=fNKUQgE)yv=*-fI< z2E4mS3~w+AdmM|f-0NUQjrlbIp81+ zM@;pQAW;Fwb)lQkuhYRDr`St7<9>lkk2Il#F=@ahzzlH0B7aLLr9skFB)enOZjm0oTdLu@FiijVg+!L*$bE7&AQwiyB3YNEVa)v=|BS$~ zl1ui_wh$pEz7NDFg_!$*b;h`uf+q_o6^#ilfC+fYt0*qPpPUnjicRT{x2RAz zqw(hgG>Dr=7gOpA&7*^%B+z{f3}56Cn*BgTLYEeR3rX|5$hK6N1fcMu{2quvkTV@- z`!S6}0SXTtU{J9JP82x6pa2(&ms%cqpQ&$3+f&;}7?$Dm2Y^x-PL3PM!_Wyn6CuCw zF9;+p+5>QDA|LMoxQkSCQ zLlzClM@upw;ZWk-e1}2nluPF+BbRL-eY_p&jEYp19KBEzb+Ql?F>E>d^pOJ%xMVs{@k~w zO8^sOx*X=aaNuf?iHk@euLGUIN9O@}915z+afVtDjU!fyTljl6hnkQhTfj+7p#?-c zqIHY_AvVm=acI?&~aE1(-O+Kloi;F}_1Xg^M z9!G6K;N%;8d!3wOg*_UA?Ojg}qADv$TYMx2Cs9DtqY!X1o;y4HRa0irodO9@pU2;( z5yBVPjW}416BOZsT_6azQ`hr90=wH5Vukbnn&AL5A=m;w&GxqNuMD(3w~LSvdQxmh zGsh?iiBH3hsrZT-GJthv@F!y8Hh~wVAwo6mh#Q`m5pK72^F8{th2(YFm+ZLVWP5@V zzyunSa4aRL1A-X-uX#yiE;We-EWpXJ$*OM2LEaMN4#&qzlNXh|-91 zX;55P*o22tG~-s4$)I{qokeS$p|_B88jl@@pPGYlqL#8tBn@U*`TY1WzMA+;m{!t=2uwf$Ln%i>9qjH1`89*ZpVSYz=y^6sqVa|?-n?OHx5*k&oMI% zQ=CKnrnw+EB)Piw2h<}tia)Xw%WgcY?=%rnV4tKi@O|^gPwMdZm3hEU%?DeSodrTp zi(o_MokF4nK3&l_G)`_?bF`VAgM*6llcsV_Ws&sy2R~I$7Z{lgiaFw{^cj)2-7V+{e4*mhIlU9D3r?hN+rd! zL9KzJv)*`iz3orm!RfC8Je`2O%9PyOM-Xc&m6TJ1g3W*-Y|H~#KZi!M4Cc_>ZnFgT zCimtd>7#JuJpOr=O>RiXED=WqPM0r+=7tyG5t#}IwCc_EB^A&0H`DE|%n847= z`))t36H#A>9sAl!bNsb)UDk(sE4nLH;^EB!OiYsY9 z=v`n`F@3n!mm*jQpM=*8SU)gx5nXjUdpRgU`VH~`Jv>vHtEzKi^I6Bg#9f*!UpL1l zq887Y(*y4-7}^<_ppz2PL8=$=GCXZVip~iiJQR)k*~PSOVMGOeira(wj#r0aR{~oK z2zu%JXvHC&lzw-*yPJB?*^mk;O@!cyBAc>fTTMj9VQu%L!;#W*fix1f6SQdwyrVxh z?{9z&3Y&0k;wHA;?-V@_m0xbz*4|kRg@h>}yDKMwA2skKo)-n%p~-c@fS&j3 z`!H4VJNq49+Fk;8UfLs>9H$y%FTXHlkP<#z?Sb|uH{pP6-d1G5u#SV2{n*Dl{$&S6 zfxkRsNYV;+$_iH$ceHhusrMlvyLdBq%f zc(%Zcmh(T^pfr?%XXAFMO}h)c`)7Dp!9f#zZB6(wJ z^1hJd;f{knyJ_;es`NK+==zQv$Ju1T0+-FLbX#p4Q2M>F;iDft-qg4EsH+?W_t1PP zWWob0_S}8(-If7N2}1TzVh=98nJ0+yAce&XU-rTzaQJ-C5q=2JGy;GohnCk7>9NEZ zO#j>oH=rVb2N}jDLBOIN(9Ox^^$l7K^Hu-wvB$`(H9`ne@vo=PQSJ_;= zDLzTl+Kp7Rdq5)Y8xidwax_ zSdQ!CFFh@zrTotY_kx9wRv?hZKt#*?>%%8?-~xR%qo(t%7SO&+xQw;3p(BSD`cs`- zAu_~9G|9hm!roSeP((Zh9CAYSaz=~z6?|gW#YP%77fgRKdJ!S|$>cZc3$`*iDd*&5 zXpmQeeH8#|GlbPGC>w1}2!yDbY+4QPH--6_QC6*vqjKpqU^ie9KE8A7vI>f&c-v9I z5r8iERMTh?zQZ#`ii^@yu>Wy4;|ul0{SA&!9D;pWzyfu&DCrfY7a2$=lucJmCU|$S zN0Sp%a6%s*g?_`$lRk#j_D^RU#B{wcjw`>$ehm&(Q~+3$$I3 zDvZ<=I6v-2Ehnqu*<^y~ViWM3Yc_6od$7qcZAoy5q6jv5#@#)Da6^eCJkiHv*;Xok zBe?HeT3b>Jydg3WoI(A$_D7lMhVD(t1zrw$H&w7pn3kFNvjX|bU7yP$_G4yCZ$t2p zi!iSZ57z(0P;p@5n2@cs^gyEDFE zHngk!3tgPgBC9}1ozs1YB7|dT0-GJX(CoIZ?{cG$^5*VUyh8Bu(0r7xn}$=oWEF#0 ze1k!svZso=&I!fOgJJ0u&o~#Zgr*7}e1HYMXX6x~_etZnDdQ>Lxx3~8-)>@LyfPbI3i+B4Ea+--=kd#K_cpetn=+KD*6%5tiDwR-h=xbu&hmH z+c(Nn2@(xLq=*yPY}xYCi$9TRDE_5wm581UKiF4hioWi|(_0`JlFGKV5Ij=R?jBsq zX!cFm*7@fQAi#k_jXa5f>toldWXL(Ql!f?wQfR~k>e#^_Ld718TM z^0|cY1U5MAwzr5ariyn7Ufh4)A&W4f8_ut-jiW`nt7C~g5sv&;S)QCiUoyg-8+t*O zFohW$o?N%1D14PeU)PNhgsISJGewdKt~MKhtP8KM`wFbVghwzpG*ede4wQj>7ow>f zBqdNm3Vy%6jv{jM@Tfltp%bWg_g?pFRJr|F`!)=>4n6~26~z$5__ui)L^ncfynCjo zWL#?s_4NW%*p-LRe!IFXP(cnL0cYX#v+m&>%CAg5?QR<}I26a+F*lPP8BU))rS^B- z5Gfe!@ahdSDDdHU%gVE)aC}s|-91CpSQQLBDc^{f-e{)C!lV&CqwWCUE(AT}hk(lk zb0r`32aDW@gRowP^OOz-xtayBL-=^bXH28hMylAT_Zam33y@(yOJyY0lETA_M^mY2 zX%%pbwb_r{mJc6r4FDwg9$3Q-9Mn;D2>vlllH!zL(KKTN`gQ?9VW3aAh72bM-#;>p zpvvyTOW*J^1p7JlhnvLiT<$skGI>dWC{s7`Qy4cC?7T%am8q3=`VNZ}Cf z7h(*6Ip@FxI<(^2gzJk6e@Jvt8AA1Cc^o#wg1HpVfn_jkq@+aryBtQ#bQQV!^TB+{ z2S)tDzUjn6um%1CSv%1kc30-ffeWH;-Qpwyp;^9V8Q2R|0gDc!cGm-w$qL|>Z&3yHN#Y8;=#UCBDqarmeFYpp!USiQC_ z-iSnonwsS5h? z>pR5;e&!%t568#7b}>TS>wwRiOcsa%r&ulNtI>FwlF@r8yjWV#6o~7{s@MxcGuQFm*o=Hc&7sWJOI-bG-%uQ_fn}ap5KQziYV$k z(50mO0{G{d^Bk ze-gaUl5UtEb{i_qy^ACtl@mp4T0vMtj*VxvlEf6zmzKa&x)LTiKi5b>4;LrH z)i?TWVO*PrgBkTSiRlpJ$o2oeM#>UK;jo-~#(2O06Ijhfx(~a<_G{`X1b|_$z&kXk zhl6~epZ)Y<68HjDk^X^T$b%rR(xE2)%;5PD^i#lda(ff`=?I8_@Ls8%U?JkV7+?Iv z7D`{}Vw1_`zM{W=ChUv*so{jce&9#spvI3HST99KmEETzf0V&t`c#AL6_Ep<+@GBo z>`kOcj09oXf%}F2$7=sy_xJxB_5Y_CiEaHq7Ww~S+W${X8#uTmOn#2USjoJ lNY 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 literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/icons-on-background/icon-light@300x.png b/docs/assets/raster-300ppi/icons-on-background/icon-light@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0ace020e500b5f002858ec3c53081161b1aae3 GIT binary patch literal 48412 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 literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/icons-on-background/icon-nb-app@300x.png b/docs/assets/raster-300ppi/icons-on-background/icon-nb-app@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..7516c0c90564ed5f52346800160138a10e172923 GIT binary patch literal 60674 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 u2?TES^56AXY4=QVE)fh~0Yt literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/icons-on-background/icon-nb@300x.png b/docs/assets/raster-300ppi/icons-on-background/icon-nb@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..e3314dfee1a6c69b51a2344bb65308e10e9fd207 GIT binary patch literal 46647 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 literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/logos-no-background/logo-black@300x.png b/docs/assets/raster-300ppi/logos-no-background/logo-black@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..f3f689c31648dda0607f70d3e79c2343d0ef4542 GIT binary patch literal 109333 zcmce9c{r5q+y8ATEeuMbtR*4YBgRrmMV8QzePm0cY%z8tg`yM+*-}r`*pn^W6p?I| zEZKJzni;~#Fu!Z4r|q?;pSWIG)VRb-SK<^6dkv206#Xnoig);AgR6d{}_CpXm~@A5Tt$l=vklSsoq!a zdmA{zK8PG!@UpeKyMN}0=+px_QMB3xU&!bE59o!Em$SqP%NU`zEfRYsD(z05>~MXx zz`+@OqE?UrJRDpDJsR?!iE4~%@BaKtDXp3Mb<3X*f4%x462bnzK3x6a$mXK~|2_ig zY#L_z_n|Y#I0XNF1h*|b;+$jjzYjtW)BgW0arjPR;}j>%LVkEAsKE^3QklsxY7`TO z)#8l_p%ve6bX@$~)$NNIw#mr-w;}M^!<3pi8{@2eD;p*SDJaN0T#1uJrZUy-sU zjSkj-yDl&A)mH0T!6@Mfvh^sn?bD8b`%UoK3(wM(tuSM~`s=|aqRCQ}2=ki{6aOpV z+(-+h&=QOPm#eJJg7Zdn2E#~+>sh8N!2)LZ2vUQEY|v%`v)uPBLqDZq#@x!mq9(Ip zk+~NhW9z|$wsqKPT+W>ZX4YoDTpElTpb~%H+Ti5pFvB=+>y6}2UchGmdVQI2fHNxO zO_qzOZsLK{p@wuQ9Jcc#;{nLxU_mx37ZIHJU$2;Um6BMd-wn4e`Eb)JHG~b^Ffwlg zx$^_OK8k?fQQ(>2U_|h)DtKLQ9kvO}`&UiViK6o=C3ENi%2EKM+xUn-5Mc8m=422AZZY4}afcag^Hl9^RlP9KpQGaB2za z-vZPE&!48DltkZMYA}-HtgYFGT?N8(VAl39W#KAi@+quG&RTQO6kOoga=L=Mwwe{5 zD2N-#@rLkdsRSmw2(xf#xq`R0waIG`0kiT4zVZ>(%Is!vHbDZsOh&*8=1IpQycfa8 zLHC0I3GjYR+(?$6Rk*kbX4RDyyK4uM8{wgH@+t*02lv}Q7f*4}&cb_;`nFmd{7IOp z-?y&+?6O@z--q_3e#?Y=KtnrllCv-2km?Puv~`k)Xuz=VV9hj}E)?V_^#%#EqzmJk zN2$$a@Br=IR;zIj7X1AGP5w7rbClX-xdjWer1wqXp_C-g23RU7I}{Nt0S{aFoQI

%HXS2I|bs#dM>tDXP4 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�Je*`R$qSYEI_ZxDx^r$damQ>l+sPuvH) zLu0DRNCO{BOjqgj#jagDfj&^I<}_~DnM>h=BWS@?G57=)`cSeU&a+K}Uf1V?R z4T|wf!>C?oA`wcChK7qZ2)ZC53Gd(;D41^pXu8f8c3keViOEs~5=z#^N;Si``bMG< z_L~Bk@1Fg+QGn^}hz#tHF7uW%<^*2tL>52hzL)+N+QWrdLs^2 zV9~VJw!7E{DOV6G!ae}5AYTuL#R)*GM(}yZGzLum%k!KIJiEke!O)l#QSSG=UarP9 zw^eJ9#PUnSEWW+HnkpB{!+7}ae+E9stRGhW<)tvC$*&6-8|_>`m}e~9)lTm)h@?A zdmm9`czxSJhYNBm&APiLlz)Fj5X>92yyJrgFH$iWu}__Gs5_?!{>?oi$<#pwno7D^ zE!l5!zb5lgh8c5V`=@^H!aEngM~NrT+(wYZd+&Oc6JQ6PR_c4PH}rh7GrL5=n59qW;7C26@G>Ag^$HDao2qXs>CpO35)exl}LVNfyw8G(-& zc8|B+ENr}-3mK+5&{L_MiGbixH3LE;^ySk9WAt~4SBBo{K0jA>2E@7e43O*H<^z)G z2RGy(oKrx--W=DMK96R~LGlRGm!}(08TE&%gSAjM`ys5F8Ey%rS@aX%Fog#X`&%bJ z$?kB@?m(T!xqCcR*Q#t>89;FHDK0=OC-Eb=#C8}Zc)hSAtfDw3`*@%$h>hJleXD8hM11V*~ z+lqcCNg+JY#PH{Ba7w_>SZM5{#axF>(;@TUQ2gmt zeyb%P`WF)L6gBdHz%&umwYTevNH#TGdW)lUpiwiVAWu4Gl#cxR%+Q7_Iy`%m5B$gK zp7?a|71N+lyk1oa$TtCl6rJ34IRMxY%1(50>vgWu9**GDBrCBLlTrEH|5LqUYM?Pfmjh_-XIE+Knf=>c`-=R9Yww%-jnzNjsVNyG?Z`@zFt<~CfZ zb#G@r!ptOv>m-KO>wJ%*Y=$Z;n4u8Dj6-p<1vRgP=YaGk>v|PPJE7uv#$^_ZVOjoZz>eZ)$JBwKEm_C8R&^X&2#D}sjW0XZS3!a-?XL0{ zWvMFXE)=EQ&CJo)kpmJn(+}!z0$DOt9%yC4a)zTQ`(&ZWzXEbKHK-IL+>@Qu&}q+o zUnhjg^BFHO@~*#Xx=K>EjHmFR?O-)=8@uJMLuI{+l+3$t{uuO7a!64jLhC%1>N?qa>UXI znw^R#o$lPQ3#ubv0a%S;H&BoN`*2ooZOjhQf&u-`f`5D ziPkhd978SI_XPy1g^i(}Ch;8fmi_U`{Hy=$?3R!Hz#S@_u+cl!=jBvdXDpV)PZI10 z0Mp22j6R z2mbRd_&-5I^x?w(bUy4c0Nm4a?%S%`CHYv894&P~rWt6v&aGgdnlHIBNVOM>07Mma zq_z`ivkc67hkKw%uOC#ZgtG1+MRhJ3X5LVHgG_7uPsF$eHI4?|S*8B~(YxXZh)~PC z-Rma90)3nGDw>l$qoZc3$F(hKYB z)vGfQ79VP^aZpv$&&cwLhBSelOF*if5I18PnEZbVk}PP3wzh4Yi?w8gKdrjg-5w!J z6lO}tOtRrMo>%0Pbkm&w$DkxXg2Bc7*h(yoMtOjiD$LJ8+pcpP!XoeR)4`&f%}!S&*Y3{{0}x3}AJL@h1S)6{xBxM%k~F6Hz)^Ts+};X;=j}U+nZDoiiHqkemNZqtzEjMmtp1(T=ap5@2tFqMZ{6psiy&6wH#k;o3AJ zbZ=M}0r8N4RzQUnumj(-X`FIR55CiWVKsi< z!m0E-WRb#}S0_rI{YR_!Gq83|kYtXm;Z}`JwfW%7R(!Fm8pZrh%Tqy8dUU`^`{dy6 z=vsvh8$8`BA=$++xj2aID0?K2Zrjjf?jx|ynyS2IWG7OPGF=% zg~ci5b>}HfS|d1eD4!0J_z4wvK-==&oAsy&``d3<3CZ&L5gY&jeRfKAAtZ8+qWXYm zxa2w1ucIhft!vSk-(5ykO?1Bm^sZ4jNnNkwI)WkBWYokEBzGh>k01qgQ)@rm81j{d z@iUIbz8D0Ai#FZR;?4UR>9uu00};EXkTK)8C??NYz;BJ~huh}STnd!_L}dtvzLZ>+ zAxj~VYBPZ~LvYNZakmiXHlzISCf!YC{E@mCG%pPNbc}*BRY{{ys=wq)BSNt}nMobu zXG>|gIv#;(fb$fI3oQhMq=C{Gv9?n9Mc^rbGKvJi{750_e^?%Be~Fv@P%iL&`P z*3vIkQot&an2Qip!Xv;tkY5$^&0xgh7k>@~b3L7Todf@`1LMKG`GrzjbGQH*W?9-h z_?5o2Oj#HhoN}tFQI3kB9XG5pG~cdWfk;;PNfyd9csN0Eu7$v#ggWIN$m}UK$`r^T zJqBvy7A!#LX$1F6>2a3lW`HPeFt9&z?c4`=Ioy*x2j$`s-gIxueTE{jC#i$*cEB8s zjbJE;QGBbdA4g5)30>1=y8!#Kq!}+x&V&SSt{E?7L=N*Y&+~YU*D9px)%`yaW|q#M znledP&{x(s<2QRi26OFbU*hMG=lMmv`OD-94{u&UjG*~;b?{*{uhH6gX5wZr^Gv4J z&Z+O@uG@O*x5cvUS{-ULuU4x<6-kdo)04se17E7;z45p*yiu+z4)n#@Yu#UQ9DQ+C z48k;dW88MzVQL-}O@82nUwr8a>ViKQH^O~Gkn*x&Y&L()Lt*|230@N&xiz}q%V}!v z_Ih-nKpJJ%F6ziIuI*Q^@-b1Sr}DGq7cV4;zz71ALfBWhQD=VWr6im>}Zob`QsEz7{~( zW9Lynup1gpECN6Ub6{?S+^gXKQT644RHgs_2NlzZ?$n5~6isT9?%L4--sO1 z;P-_=RviR!X)7}Apl8(rK#TdOBU({(Te}LvfqmTAc#G&ufSY%+h6a-_w4`u!Oo2!% zw%x!Y#qDq~X-`@7VN2PUsD4+KR+rzA2ou3k$WzLB4>_FpjKA_45sWVTXiqUWh!~B$ z{nOc9o{ZSD(%WsT(|N?^xb^YO}$*zcY%Yd=(g}`DQuq zHT2~7QWhXU2bckPpq8j3P#O2DIXOnydA_wRT*vONZ2_NEuB};UUH3 z`(b0_IgI|>$fo%d3it541GJ9681oPEf6Z+>k&|hrz=r28OofUf>Fma`j314 z%D)-jKAb+r;Se%~c7I&HA_>s~HI3<8cM(zdoy4pjEwgLmF7icgTACF}D@YR!TPVbD zhES&OMx{kes$LcW4c`>nJJyc>sTclk`Mfuj z@kh2>EjMu+aB+XiNG5*jlOe`b*ve0Fx*>xCek_ z1qSzVo=Qa`EJacKVb#Owm^kuod^vK*j<&J3ok`4@Jo_ZcZ;+d`10~XWW}ptOQz+g5?QFzyXAx)uy!sJFsXQ# zfC6w09U#d(jOzwR*FCl|kR7f^fOWp2Wpdy~0|QbF@p!aB zT~W0@#EA;)oZKk*9f{ZYv|F=WvgN)z~F8`yt z`*kA_gPG0pl0)hjXT-!{Y&K&8RYjHNhdQqeKAeZ7sRmt==jDQ=wL>Fbjz7036sA3^ z1Zs(@`IIMkgH!?TW_Q8AMsCm6S3e`E6LjMzq)`7aq!7Bl_68B&aO*^i2aR;}UlynM z8Un&u8%ho#wi)(2MS1&7Y8_SiH1Z~_O@?U2#~0uR0{0541bTJgtp;m-*m9zK z>dddyd0x5CUM?-FzCk<1qpXAF8jBzxdj?r4?}hB)sZ^~8oQ;b_r35V2lTvy0=bdE_ z(fJFwdGEp53Wq&q8Lb;j1C{;@Riy{0*c#*#0D}8CjmyoeCIrTn&xNjHsgG64M2bwN zBYH*wmEel~NAxp!jP&JQ{;c^%jDAOA6~hMiu#KJfM6~DvqqCp*%MNtg2g4uel$(S+ ziYerlK%dyc-vn^x|HQymfjCgp0X4@W%ey3!TCF3}`aA+j5fGzD%0-|PS3yBS-Ula& zcZ9z6k)OBLRu|km0_x38N=la$qYMD1$ZLEmW!ScTjb z46|!ekN;6HDaDo(>w856C$V!jJJn-0O*+Jig%DF=O6Hfa=U89#(UDlv_B1K*wt|P!$FJOWS&mxtjIceq_+KYA$!`+s13j3_G@kNiO@5|ib#A$r z#69Yk@TRGI|5Urj{cEc0pJMmsZ^v(9Df5p_efYa+3h&hPPOtef(juoP*qurr^UC;} zvdZ;FW;|J1`f~qptsKos2mVb^O+1ROn_k(J&VQ6q#BP9z9=~>sq}2i~G^-=pVn@=G zXhk$1wj@R6Jp9h27sp;^D=?}4h2smp#z8D z^IQg~;-EV*<80TY{ukW9ki>QI+-+-Cp8LsZ6$zI&mPU|#ZIQIiedYZVQ88UO!CoP~ zi1VHOSVW^QvQxfHz7xd_g5y|lH!8nW0JyKX&t#C46I|YlN$xvZm9$(Hu4zMpY-J@J z|7hs#HIv_0uk_qGPdlgW-iF8Db|Y4kSluR5j))BTJGBY{w}SH)C<`QZ==TgF&P~y|_aGTB*gDkzn@xBuCYaD|+lhCURFZ29zIK_CE zXoBTQz*4Y+OK|eyMhT$p+Nhs<7fli-ZZrDbkge54g|#E2I0ilkoeHwbo@^Asq}TS5_}m9M2T;#p2}JX^|6Jpl#lK9D}Jn0 zk~a0$-OD9toxk4e(X}xho#IZ%YW`;%$9@$EX!kV&2L*fE-2|Elhpqgjc-Cvv|Gul}@-22!Xd~#$u=mFq`GvvJg?LN*|T-nALbo(^{NF4DoxD zOR^V{337R!7Z9D{7lC-746URUc#+a&A*m$w^b-Cm_Ga%($Pm?#k;i&48Q z8QfnS%F(~%uNmMaTx?y$Fv$-P5ETLl$I=jO zyY5Op$uTjuAer?=Gq9pz_*yVS0I#O^6tr$e$fyby%RD6hqvDMGe_RgtU|0flbzBmN zMd=rjmHux9qD(0<;k~c)#1+oSO2ri4P%8KytnBGb(}i}FGXE;zmG<%C6; zy*if=oauN{8OcFX6_0qN z0SbAmf5DzWaM-Fc-QLKFh#(8rrDUCLtf!G$7${3~QueZxE(!RM+#zl0B+9&xd0~^X zyy)5c{8@8?paPK*>ho$6<>6uf<{V5`Im@X!>Y+G zaB(kb(}%vQT0s0wJRRooyL9>Vfx7@8pEeqAQ*8fEMCLE7*?4m^Th;oYk~ESW0GZBr zdGt{12CCi!5{YZ5L(m)V4I~{~v?~@Rbd8e{g2rh^R{k`p${QFjBgud$H>_s#r(}z< z#NZE7WX5@gti3b%Bx87*HBd{969N-6CY1q1-QkzCuHc&Z%(4=IfzSOK%<4QP@)j%; z4C6E|yqf?!UV#y4P-^V_``W}H^nO6lWAzcI6WhyT%a6U0TN_8P4v}^+8Oa|CF7Bn= zu*qZhL|e`ov^S0`l1Qo<=*=`N?XI8CwxpM7*Rr67K$RIrF+MNl*3FBH_^*8GNf!{Q z-+NL4(32ye{{g}2r#W^`qqAFhu4J*#Cr_W=g6Z*(A;Bu4ihTLuh4Pg z;8hSx<;H5$MlCD}s&Oeo$<4gCGuSO|#4SoW#0rE?*7J2qhW#yEngJv3q8erJ-vp=t z3(S2fb3O56Kt)kiw!T7MeN=};I2>b%>LhZik))H7i(#c9gKsQl0T^e^lM7+cBB3#w zWG{DhyN)5!5CIo;4_tpa%+4bv>4nI99 zYm$bPcEDeXqEsLgSSB`|4`{8DV>1ayvYIe#tvj4NjD6grTx-0~N@q@^W3}SJ^D&W~ z5{*+js;y%HxLkn@+gCCu7M1dp+;bgpgVQr&CX+ucBH3-YvRcs7@#o#L<;w#tjiI7d z_jZgp`zBKIk6jJmDR`hgMV^Gi=fSUH`nZf6l4mm$6Nqi37ECCj<`db5!|w-n zrNl!-YzCd){@l0nJ8MDE!8fnPlL8C#ILRtYC9;C*ZV z)bfMkgouW!Nm+vh?c(6i2Yf_zk)%KY^i01&r)#OjC+y!_7n*R{kfePh4#$}0d7_1{ z&V+8^bHdg}Jl-@q&M%Y?ZCDQ{ZYV@`{Br_O4tLGJ)IaGw;Xjs|^nEujTh6RiBfCP0 zW3VsD=(ROoi8?sN_AY>CvuS+eSes5CcpyT!N?EG^ATek!qI5zd8Jc>T|KCwC}r6H8YwoIL<$w* z$z$^id44)HX;{ZhdVKhG2rK^2T~~7m?1mN~tM`vhK)okAGN0x+E4GKIos)Ek=rBFo zzT>hs@48Hod}#XDmM+{e^#uNNTAcX6*^gimcHuGP$1Vd)lItgdc-CzZ>~&gU!l(NQ zRWsg+n00C?s;bxSl*p%LMA=KP#?hVsK<19S8XH3ovWjKQr?P*L)Bs0gn`mkF*?WIB zOod#}DF&lKr7a^B+2qkpVf1%y_=xxXVk8YChlK_IicKdEm!aFJ1iAH0*X? z{Gdqd4sx2t#+Ki)L{^|2(j_XcV6%r_!ev19%pb0Wzk1wfc>KWl0YtjewCg2%x9g9% z)kNdfyzpcOqdE~>M)R+?f4BXKuKtIdzR`it!*Q;02BofBWYdAPG z%0!m~jf-LAmv%p^a;;MuTVmC&e_soVQMIaX7vHJahYQM8IltsR2m8f4jyqAylZNL6eHbxA~03*bfA8?zQx1xiFunvn<#oCM5pRrXyd?d%t^D3Pq-asv&o{k}COD<%7UX~SRzfCv=%ruX;*#(u ze6*}Mg0Ffr^(^3^lpNO1oJ+ASj$v4pU1x;x%D!+yPE^@$;|f#V8eiT2nJFGp9c4{bwn^}|MU}%`roLVH9mXp_~njpLt+uKWu z%?>z^@gp{TI1y2(@HlSoKf83Zp8FU;8}Z&~C|bH3@#n*m=}1T*haToQciJyPEQN1d zr&1gskF;MM%+q(!kdgM4_$^{8r~A49AMVgL14GO&XSkk^VM=D={V1cDWPjGNMjBAYAV^pV=zOi!&_UQQiTMLSLx2_k_@AwJh9KisU2(^&g2X7l?mtl&uQXz0yS;wcQYh^>HYCkz4iMH; zAYu)onY0i7SUYwkDVQHYD1h}HZqoxX-~7;}2W&)#cG48;MLksY#_}t#mL8Rz_z|}` zN0ah=x+BI1(yw>s$ZTT|xM>v1R)7t`1)G!f;%voHdCfK>@vRn_W(~k*R#&bibN-EN zN(0ku0i~MNehGO`IV6HU9d;XAj9xvmNg0QgRt*Z`UV2uEYHw;nL&qG45z%&sqxHP< zweLwfR>$h7?~te%IULU<`=WLDx5V$Fi>%^Bvg#@Z7mshmzWh7D@vfI!XJ7yq{SjlC zFK@TsA(%4I2n79bhrZyyu8TQ9X1;%f@=mmse9J zwALZ6yQ*Wc;`lQ{96rV+LLoDm$y0P@D z!3+8vZO~xIMB)-fjX%y;d!%=9aOFi>G94imsg{sYX$?|Vt=1aTwhCo60G-S=KRFzE zV>L-sIZj-hNcd1j)1|r%JDg&tQf$3y#dZy5oCyj%Xz9q)>%KnrI3zF%!Kms@;|mpU zcL(Op5h`O-Mh>Et#g6X0uVUO;PN4o_POVi$hCdSUta78VOs9=I(6D-_SjZ8FIbau5-Xnj& z>}2=B8#Iq*Y$u6l0I=*rPlAEUiNH9I6>9Vc{6_Iaz^3s}N3Zt}D~&jv!5Mu1s-g%e zn9At?H^E<;9w^WgHfR-(t&shCM>5QP9VIlc?9p(<%XBAJ77E1cb#^;~nn6`u- zo*9U7C05=O8W&9T`b5#=v+RtJw@L`%$IN-u8bDr`rqS5xt@Ds}hlKV;K<>R7XCr!1 z^0JELAv@quNje3#D??c%e zZ~NOF!fPWZNJ@eQ2r=dxnLpj{g~muAA>`)Cl^&H2MEYyYM-du26DQ++bXoD}wE1P% z&s>1L#u);Ql})4cxeRQ^Hv7durGr)lYU)ZaiN(Ty3JLbuUWVcyP{kr2ue(a=Zw*cV{*lY zGs8L~5-xk7K>FiY)e4p35C`_ec*xh3ghg;urA3UVV#7T#>E%!-2CEpBwj%aOAOib1 zVv#7v#ss%iNx_s_Rx&nkWoiPfMGMJ&{_`06aAA`e_uEXvN7B%IXq++r81`~Qc*BNk z;wsFusn|4WiXTV9SKMpOQNM6EK=Ok%QGf4JLA(?@x>oz4(1mhJmlUJ65z%V$r1BmE z{ge6@?zSyd%|a?rhiQgN6M-%ZcHE1s_OttT#s6YXWhEmm8kD`nl? zF`zp)v_XyH?a5uVQeNaQO6LLi#mg6mh0!~NiFOd2qeAG&6TwqQiEaTt=P_+MpZZRj z0K}QD1S^hv$L}}d2|o72@A1uCtQ+db+t_2Dap>Tt@q6d}hhEiIYQ$Hb0}qkHvYb`W zFZw>Z3gxgqSt67_>T0QMf?dgfi6OWd7!d}AN+kg3akz3%iX#e^t)C}^{$|I~P zfhb=qKRRV1J{wx3@t|n>Xkoh}2?DDykDJo+lz%$xUB;bGy&Wu8SBsFj->1xj<}s^h z49A6++Rvf*tASuhU<#@XKrW}2_!b^{oY=LEyzL>V|HGZ^TPwB^+g$b{7>L3 zQsLhd-@);gVN6t1x^>XjD|MjrfZ>-wPTi*QZnzs9PNpJOvpi3UCvSL*cyhRf{?29X znZHsaq@{-wEvejeHt5{OZ^*PjJ+T)_hu}r}JhyGlEn0D#h}0gXpb?5MM0R#<#-09Z zt#KXZ*#%@*Q526I{pPzckT!>4hfC8&=iBuo4%O=L^a&{>CJeZIc(TdAN=vo%ifaMd zM$8kT;yPd|kx(HhkKMw1^S!1(QiL_TcZEzf;m3(fF>p5?u3|f-IEO)}QPlSj6NrJW z%^sYZQOk+mSn6tr%ona`?Bk=a(C-DEk^OZS(xwyF1aDzbsXvxK_~faE;`aK9ul(PY zu7rfRNZ0x#>2>_u3In?d6S+x~n4Hc5FN){3daK=5Wk&jkaCmUY0YnX3QDFyVR&6$9 z(t81`o=cH4`bh7_4O()c_$V3?sR8&}3`?Ecf|NmHTSe37N_=B7L3)powo5jMExKD! zWQRe4VH{_r_HqoJ#sseVhs%s&zQNw>MfVQg8`>4>6598a)?~n=QY|x@pZ>T=>0Bf% zKq6DqDANJv5goYC8s&tzfyd;c3IW}Fr}bj9@Q;m}&?t@bx*22pY%%L^;*l7fBx%R# zfD-&oQSd=+cK(eliQ9`ZNjTCzp?j0Tq>}^U(+@yZu}bIFb9UI4h{q$N-u~!!0G~y^ z62(q-uLJji?@-Ex{nIWavRe|~q@2j}Htc?oCTpfMAzh;Jht5K?dRmf<8J)cfs)dM> zCa=SDB|8=q9}ubJiknwXbEUT|;Yzy40Nva`50EGIk@VavUNaeX@V8ta%=wDuF)18+nfsc1(TvK?5F;JrsMVX+#r$PDE+X zkSOi>nCgZbV0Bz%OGq8KE$M}T9N9iN!B?McaX~Jz!irV8;VAp*tgC)F#kzm)R4f4^ z-0O>fj4m*Am3Rni)7h6<#ekavCj- zZSEf0YS>4O><_pE_ur+K8CV2a81XX^JeGB%Q(QXOZ*Oqt=zPlI9F`G$DJCRlH9Y|4 zEGO>KMpcNAkS`j-MQQiwYZYK65aW;LR^ zNqXYGGEQ6J4EKgOTf^>wDoc`Fq}>xv%hyItg|i(KaAwfK0<-oQOyv!G0mkq<{vk5v z4x|<@6CEMM$a%wv29PqVXsn|P>iOyD_oC^dd_{w@#s+ZNgkztsgd24}h*DgM2_&dP zke~@7{&kC$@Sa!PWD|p)jz`6~NuH*e^DBD7kOT%qs=_#$$?F_~GLZd^VHfGrHhmrT z`aoMA=yHO2ct1&S`AR5vODu=V3Hh!$?cM54>;*(#t;I*Z0vaS~4WE(z#l+YU0Yg0B zjE5%?97ES(Ar>Mq2O71ByrR9JeY8XWXw|{3cW8;sNNh;qc-OT&TzRACxc}$!ws@Sv zbp#?JajHcZ;}&#~-bGwp^Lf&>M8^dt^;t93W@IBYk#j}l62)=@o~ThIo1n;CuGC)5 z@qW{SQ$U*w5{0H?#z)X!4Ojd+K~NDf3TuM``x(eCVXWv5XG==Q$(PR(wRLzqy5MOL z#HPx5n!P*U#i0t_j=hS9Yf%G`~iw!|>R1sFhk^#?JQN^cBXJ1Nx*rLrz}ju5~> zQU-MLDz7FP{f4cu8JUUqX3dd({3$*on+*HhH@ON+*rCKz4-skPCh;R&y|(0}xRtKn z4|IgHx16`Cy1`#o;seU2-@q%{>rPx4^+%go*YYQ1b^iWp#`9xQr;;9JKiUyG=C9Rzl>#Jk(?Sy-~^2(#bdk#@tTf~rf z5KM=31Ay$7TdzC=M+G-Pi&J;vurm`y92x&70=ATl`1RcjIVR0vd^!P-gjb1tf2Mr- zl|i)`6nDdZ;+7)YX=X=6pm>Rp+8X`DGGdOS@eEUF;<4XTR{^S|pGg4g97g}Dy&WN< zg(OQ_gGSM$5HT2c!L_RUhSiwK^VJTqA=71$?)S#NMyp_zLwM>S>9~RvIbt5%=^*8` z6iXYs;4S5QD7cN1z7}U}O|eP4MSVp>(F* z@aiD4HEkudOmk{NL8~y!ok)VtZyVty#W^2>6U>QcNe-luG=Cd$AW{!*oq377N`g8U z;`v!6wVV+qGm1zf$^0Pl;?xi-KN8?q)Hf{6@068q-9=)@+{-II0TCdUbx>0JwRAc9 zSrKiFo|dX5ga7QJd2TMA)H`?^Jg0Y}#H!xW|f0cM5p#I&&OjupCegCn-mPyqhK6Ynj{^iLG1xa^D60BL6vW+B6=pXjX~;qbv|MR z4f05jlKE4nc9-q;JS9rn%yxVJyb+VPc0y^(q;M7=8#9I2dwaK>*wHasovAG}VVM)AxVn6;&Y2x!?Hr&(}t`FNCQDR@x@r5<4 z^%njCqHvFpqb6I-^2WB0|Fceu$~qOdk0yzp8-p2bM$cu^mK8+FHb4SXp4T9mQ*5y7 z?$~w6nayqlAAj$fuNZJzkRnz)$!ph4jF&66FI2Sj%I5QITZCpZb{Rua5h-KXq!5w% zSwR0)%)ixB2*;JU&9Gw;N`s;N0Qk@HZJ*Fr{^+l9PX;5d%cV-fl9DH&Ly@^d9W&J? zLhC-n?~wxWOFsndEd}i%fJ)2yMjMjpgZv&@^n_fkBP%JReqo@OO7U^@)}fXCN>R%D z@9v;t67f|o9-v&%wSZZ^+qG5qAuy^C&l z&>0DSB|CvL^+kDl^tlh4P!3lB_J#@A%P8o5)P?GOm*uHPC_V>7*K?W#MRXJ|rO%br zIXVNlh7A-)Tz?yFtMcHh#^t%o7aZb&VykW|7GQ9Xa|89-u(y7 zS87)wh$iS}lyQj=d|h!$0HRdSX?*OkB93{s;s)gKkuf-Pyu$RX5O$rbhY&MN z4o}@MeaA_F^$P)5;DHEf~aBH#8Q&v@{`S`8m~ms zc++7>NCmaMy5V0o#Yz!Z1{sJfIHb`h8m&> z6-lrgbeHc$h1^=v8XX%&q8~m?j}_Qy_uq0?J>_?H!G;2~n0$Y}__NN7x_VpED&WiM3=1 zkH^N5M9#?UCPm^0<{eRH^e<3c6_dMjjMfbNW8`TVZ!w0sQtUq2H-5T-!9Orv3{Q%! zf0OO<(IieLRfM07=J@i1xoeOI|F_qIk>i+bRMAXvtuT#{dv2fIr^1R)h$R}LDgU&E zOxVV!9U0>r>1m|WXlveFnnm2fcQWaWIx2Ycl5w6n=7}gQPVSYQIy1E-o9~s3k?l5kfD-BD|yEXW@sj(<8+cxG%pd8f` zgE<(n6_uJXJ}tku1#&o%?VIqnYEr1)J;Rysd_2-scLE5QKEgzpKA2;0#q_W77JRC!P*PdK`bpakhu}${lLAwUtBI!Om&`Sy#U6EMTZN+ID|OCtGB7==*UbZV<1#mqLd}Xw3|(Tc_*lj2HVo4J zP`wP{$9K#TFU;N$%m0Qf{*V{UTw_SS+BZrnUHCG9;^e~S)E1WZd0hr1b zIO<}L_jP|Q7;P&(C9}Le-a1ePvw$drQp{qCP!AA|R&5pff#K4KO5P{i8}_Tv5Sd_L zXp7@8lG!4RK_-}EH58#ZmPk*>BFUer9o~PuwzNpNtTR@e?`^6S53m3As?%Ptl&rX=F zyPG4qb0Jiy+wW%(&7fFf0V-w1==(HDL%v7l8IpAiMv`kkQG7{>FM}Z){HnWLy!8DY zlN~X^g*y2%zsS$NRe{Wx^KlqHQEQ!?Y3u<9Ur7Ds%Dx6ERKX=%tvl z3sjmiSSP$EL~#sLR0MNmykjFlRfJbv)?#D8ymrZ%&h$*C*86s6EkFL1RJ<2RN3lwM z;K7>Gom#xcrGyJ9Mr)TrLF?Bh&=X~(i5WJLdM2P_-S4K@%h%Pyf`_lFkD2x`Uvh4@CfFU?|nEUyXuq}!%z`ibK?iC7Omh|n$J2<{6= z0scZaZ7S?J+1E8sD=Wybwo5Uvuy3vr4SPjCy?;QQ8Zv-HI~!_+vJ6&Q#&8MkY0yi5LfsxkZ>?fUn*!@rGRP z>p5Z}8H8wTV=(bph_a5y{KK^ZZoD};_iF@m1LYWjd%Jj1vx{FWwTKyPz=&~!(o-HO zcWgRs7Vqf}#oOR%ne}_?Wat}HMohAG@_B;`De1Gl`Jao{h(_eyUo@SsjzWmMS3K5! zdsWNcVlT2BaqwkN3@u`#H69cF1Q%EaM(iwKQhFx>(^E#Ot{2|<#{3k4aXJ+Hzz8`C z>>B0b-6G$cjd2_oE@)C^&%Deh$fx43{>5A-ZWqYoQ}VbN<*kb|@)MlV$O!?}v%c)N zhuFzjBRX-g>ayPM=`R$Xy^ZUvzN^q{W{-(z6jcn-`Eyse4{_hLNb-_e=kPVw-2x+b z4(GYO9NNNddu`MZNCcdkJE+idGXs8SiZ3R35AG`rQQj zw2ykThlJuIAr=*19JXiF84Sw~+T*fDylfj4w%h(W-sak&+q>=9T`}cDl^QOlgx;Sv zD^Ud(Ag|}_K1m2bXOfFq7xFH2>tmW2bKuq2SI|gi&lKd}SKrph?qRU!tt-FgVzlcG zRYL4jsF3q9QElr>7L2^v{~a@-D2Wf&c&VFDX7hY>G~2}X+jpl`z4Ah87KW8k!COIg zOq%Q{%XNaWRB9W+D`TN0T3=sScu+-qM#ufe9Y))Vv?+0_#^kN@=nkJ*TyL^zvpW8u z%Bs99CM*`KPi@?0TUGMj&1Eb7Dr;s@1^>aT$O-QKbHbpS4EWuk*`$l7+$P}~YgK=1zu)Hplf&$8u$(4fnvY>?Me=;x8MATA7lxD*prx4`$wMxh^M zf(*sSXkZHioxi(yyD&|}Bn0>ik8FIp!QRn=?A%iuUXW{@MZy%Wv-@`=j40-oVq6XX z=Dx-))2QWSn5ZW4tVLa?MTAxX)cK*#vIQ`|AR2G>;=e{})(P=6b(W5noG1(&uzM*v zJiV4;pCAf)Gnkud)UF<~Qj-)%`9C2-ER`K=_O~ee-jU?vp`2<${kfYc@9Pt(YpAuY z?wZ-E0PPxZnow#R30{FuBmHplGW!mE!tL{j%6lGaz4gV*t3ql9kP?_-&&l|t0&XUI z@O$+cOP@IspN~hyAWZr18d1h|xKgCUQ9NWO_a7q+-Le5@lAFSA=&n!2Jn_cU-!RCr z9lihWN<55AVGd+1jh)I9jq#Bg`fKe!Fao-@ySGxhFV9-cdAwqzFu(rI=hndMGZo@% z<^Il{v5~O)+CqiU{w}HYAkz=`YSW(PkqP76Uze3wIrENG@RL3SMONxKCnqNceJ#!Z zMEPfvQ%Sp#&l%Y%_aEiwN(YUv3bB8<w%*6LnZKV|e}0mPd7JBFsL>9*V8s3(BXcmfdh_?|ViSw9G_#0v`Rj{~W2w>y zHWPo_@#`nk$}r%N9ra1#1DIjHVo%hKa-F5V8-E#_0Q#G+vA~}HGZ#SdVi|01>oIk4 zLNMMdtG~3V=?Sxr`VY@2Q3+cjG=2o&X(U(c(%Z|>Wzl&lAzjcc#U8EKBuBO{&{NwS zv%0!++hU?wP-mj3SahiKrDGde5jPuiuxx_l)!f0d-1&=xKZG#tcQa5>+N0SUN{eH= zFHTHxbn4h6C(Mre*qQoPs+{FjW<+iM3t9t*amIcCPH>P!(?I3gWc-O|`@uihzL1zY zM+d8mK@HItD+_wg@byoMwBwmv7l6P(=0Lq6VUlS10U<7z@N}J=`N<;8(c|TN)d~4> zEHyM;dBk3HGdiEC;?0~6$*N!_RA5Vljn`$n`6z>$J#_g~JF1at+ zmFjK~YOMC2fzR1>`V+yJV*Xp6;uuO!r_US-xKdKdo0CvQSiofp zEig2twvsgjA8<5mKaAnnRKd%+$JKMw7^jGD%RylEQfxH$pdh zHdwT4LCsX@Wz`oMhfwVG&=Ng8zR%_ai`3G11`>s@-x3gmL6AN4*t&mj7nJ*m1^Dc{ zkArYm#~{8d9Pa~Hh>;jyimD6@%C`NJ3FctCu1S`l_}) zxL04~0eOxPC4G(%*RcyR17OLXo;8ZLbqg9}h=8i{YICVPs9irL`d`d-<1UxkB2lu@ z))HfHqc8NXSGM2yBWtv-^>2=3m?5cko5j#<+d`~K9?c5s%pIW_pBUHIN>S2!eXB~+A$7R5>I2&rFOi$ufx(DC^QSqfke9E| z4tR54xksIPqa^g>0j8Cs&781o0|cASk-@~`dpMPXN>p@!9>r$;iHA}X?!Pm-E6v?Q z^zjQTuAVG`AUDAhprg2ZZMXN=U=TI5S9?)rXUi-~TH}^i(6N`l>kHL5H!xNtO8noE z$mb+Wa5D&5$Zqi(Y8;;Z_3v!wPM|YwpKh>a$A_{s6R4C|U9HKIP?^(^#>yN}Rn$Z8 z9}nV$Wy@pE?luRA?8j)*NwFKQ&4Yu(EF!OK7S)-5{KCEo4A4EoBcH!T&^WXwSTuf9f1X10#RV<(C3JpCE-Fkj<7MWS$I_M zr6gcPv6YhphV>U?CvG)u%KBy2VyuEnb;Srf^?|DYkP}LMfMK{+e}$d6PNw!rhtUUd za8>%RQOX`dYa?2+>+4}BQA5`=vwpedwc*&67-yI{eC8j=gTCGgy&%L>2AAkmY_#34 zIi<`Ai}l{09Y~)Dv^*t^yx|B(XNez!AI1-y8sW}A1kZ2^#sC;pCJd0Zgq1d7gKSl0 z-(rK<4|j1S#jkyt#Zs0S7<_i|nY=1tR0bp_R!})&t7Qul2!c8gb8>mF!vZOuXmTdB z``xOC895q~7zz$|B!)zDtB8DiZS0k+Oodo2E1uXJ@go94%aRB!^cLLFHcbi-XK%Y2|f={C_hvGm}AHX6OCuoAfaJ>-IRkt9Vo3}^5 z`R94u%N$x}KC*IQ#!he18s%&}Fbj_c2*KCb&$sjAQL>j8kR6H5=%tN?{nvu7S(EYOGMo1>-?c2ET7?_PAWg+Fck3wzq6`$-jJwc+tG}yTqOmtmKB%=RM~? z@`u{Eh>sm>Tb-FkLwlw>Tme~73X4(nW|eGfio$#5)}D=jqmI3AvU%kk&u+dQWPtR zKKsN4J#iw^iB3gj-v-)tefgD&$PeX&e444#q|R*pJB0E+TX{8P*n#LrjPQgVCm7|d zn0F|69nQqL<=vA-ifIx~V2&OU>#`T?oc(Qq*YDQuR!Eb)5_~BTC%V>mGT$UdI!w+z+Fx zguG8x>PXJfp7F53>23EeaLR9_#2&uGnN3eE$(fAyIT|D}F&FaPik5ddyWx9bckDA3 zjZTZ~b(xOdURsq6lGdtc6$Xl%&W$9AP&euctmy)*3BCUtTev0mJt$G9sodh(c8WSx zDl({tWc3YHL5=#?!iT)f`d$eCpSvJDY8`BqTcLk*rh-<&q>}%mIfYZ$@g~q54=*W)s28HzUR4HyF;ZBFp6-B=aeKod? z4L%lm9mj{Vi^IvuO6~R@5|)RKgrm7iC7QQ6C%RF7*3Qq-Ki|-mXh=}qN(&n5-6mZup!&}<6jGUX?wXZK}43g z_ZV$lRZ5MKoM}VbWBazRU%}+ASoY}ssSWOZ_cu_q94~mX*`Yj<3aYVaPfw~6>iNg@ z9p60v?_YS2LD-E?8|vTKMg{J~Qe1wX&nlwU;CyM~m<|u_{Q_!T)&o&0TXh@rrUg5r zZu8dXdg@uR6otuq3T{Pyv8LcB^gC$1`O`29xTQlCYI(3JSQQ z=k#vR85sC3rY*KdKV4nY3e9LsxV6#pvd-KXA9;o{VVL^M>-{O#Up;nnZ)4NgzwqT& zn-dOKTi6n#Y_C+}(eV3#(AT}TRn~|6bl81_v$7JM;^tEM`6<92p0OQ}sj>#P$n)~R zsn9kt_XT|_=0lFm13>UiyT`ohh^jaICrBoY3d%8Ov&{;Q>;;7W4uWo0ZzH zgJwH(#nW!2WE(CRSMxt!HTOKAU@9@1O^^!X@M{e@p6J*_PNTc%Zr>YApS;!zgLUgN z^9q>Qi)P{{7j1`2qU+6JnRCSA5c9fB-V~WeBl2wBPiID@GM9LtB2*=fh*A`;D=y^1G(n*yV z$gY2rmw9^=h=es!4?O0yb>mHhz2O3%uV|<)@%c=B)fwxV{VX|2D*E60H|hkx^BppF zHj2B5WnXVRbhr2UXNsHH3@mNz^xZu`Vt%`y!c|o*X?;kOJdb{LZbx2WA%=E0wq(?E zAY4=7l!(a<=Uhp9N;ZQX2OR@9xoI>~V5L`{8p*UJfJm4ZBRgf9WfJimL!^b-%C0$c zaDuTjdK$Gg=KcjMU;PVSifqd#m0pbgEF6rjjtG@nW1(XG!!5_QZMRpvQJzo56{x$m z%=%S~{&aFO?KbQ?%hnh7@AUs%worQyN3y__C}2R2*$lfnAF`ScnO8Wb+7ymNZU6NC z?j`+Gg3G2}=Gwz%o5|>q4zVQLf|sCbvjA2@mrP7;3_^R}BFT`R1!Kb^?Bk|@BF0tf zZg>N(_NuKf!9~m4@nAF-tmWkV8UC<0w$OR~0zJMW%+9Qk*R3XYM5?pY;KbfztD3)U zC4LJtAh7}%%F#J1W}g>!F>l52;-yQfdqdVmY{*}kNFWHMPvUUol{W;`THVWvKihG`Hk*Ts-PJ)`EEj>H1faziCZy){$9+(E$j47%^VEY zlgPBJlY9mTdDb5r#cQ8)TSKY8fMOhmrI_ZpKczOUWh!&}ijcl~9ig4K@(TtWJtX2! zy1rA(^_Jl&B+Z*qRUT!2IccUs<32JRa?w_A@_4>4au=4O;gipPG7^maV`qXHaV+v= zs(|=!#2e%*1e^b<|E|ZnJwu$@YH9EII|H^N{~(x{+Hes;4yOADz3lo`K&&hS!bF+- z3{>*dRk<(RA79t3Tg_Il09cfG7~1?{KQ;0cj@Ih?{!b@1<8*G4mS4uG7jD{YLe|n4 zg_faSQ7gz+I3#|e77t)zi_vLMeQ_UIU+|pw;pA^BB9uc5*x)gae;3ShHX;!>*Gx%0 zI3`T_y|U04u!C~>tYYp&$?h__>Chs#C<&-dM>N<0d>=2VK49UXeONkpPTzzvM^Y!D z>13wFf$8MovQ>y@KdD52FOv`u3-2-blryWZo;wo*A}Pz{CWDEc*MhX>wPzG+Yr&j8 zQIbPZf%ZfqL5nW;L>&XRAo$-aS8_4qJFz+c!%RxzAUq3&-rZkxc+x;S4h=1z11Tx& zQF>@)L5hS>jfiTS+@(3G4A@NpOGrxwIfkayzr=1~cW8xjmaqDbrHJn#gzBGMwXRWY zhWJCccoZMmtO^TxbSuEyM2p4C%tA#@Odm7gcE;<4fV-<%Hw^YGAtUz7}NX(?4|@ph)1yBC(>An<2O< z>L}cgXoi&-grE5iXFR%>3{DB=!KP&}`jginY_0w|K)PMaofA{uc|Eg}i7s;)$a^72 zeywz=#Bq_WPt=KF?fp-Pn&z)m$h($fI!@Qli%8J&K4Fb$&C;^-B`bd&aO4_z%=wS` zoN}H|QC7XBfB4^^5ewurbpk6V5PO&KJZW_$Lt>;(EK=ym_YB zZGonGpJwKN`b+s@N}U^L7R6K8Z{K>*?6*o63!B@&=1>7QmUjCgPG*w-xojE56?#y= zm-fy1tqA29oAipNX|~9|Qvl@#d@MUp)4E;W@9figGyHr*Y`b2QRoS319c@ zw+Al8$n?V1*dh-x)=1uPx3PEew169#Sz$zV6g=B~2YvAMljK&Y1QvN-+q6J$t0_sB z-r}H4TtifR-&>>7y!^H~IJt2|c(H>iuu^p3GN#m2E$(H7#(XMFmPiYQ@%s5x<*VHi z=zp98@&z+9odH|FK5^8l)svzn-2!~=sY5z8J}LVJz6(w5#Lp@w3viI-w-Z#Q}MlnnXmJD)X4iMzABasQC7uE(>XmLaDiAsNyYgVFB zG&tCYHg7-GTk252{JzbU=sz(7!~^!wa_sflJ+MsxYZcpp*oHp+wM36UJ<;X0Y}yrK zBuhL@G_@8sTt*UQ0e@mY7hOs9{r%L4+6s$ZjZtd%$kuSvS`KyQnY|;sbl~FLp%N8E z2llklCs!@?{So;SWy!vg+#nr99B7isE90=9JCJ~^<(E`XPr04c)ZMM^r~{!wvHpXv zjroZwBGXxREjDv~JJ{DA)EAvvox38fY)aT`q9yM~^`BbrAI%|inmi1e|EBdKTNlT= zd=&+``*jOQhA~X6?~ny20(Ns+B>|e!oGo&PHh4&kT5wwBX1cE}h*d}LX1Sk?le!Aj zO5C|qc#U~>t?F6T>x28Mo#1|QG3XRE>|Vr#Db2R}@Qj~I+>&ndhH7WDsPtqA8{X~a zq(^y0U-~|>V0yoma9+rdC_WdK1;x4wQFSfm%mZ>%*7Q+nxgM7Ia2;yL;N*J$vWm7; z-;BzFB#C~G<(#1%oa#SOr9s|5G^0_fn%eqY{i?IVtX3OpC;YhVpb=J}0)Mv62zLvt z+Ed@IuF$I3Iw5!B#Rp$2CqOO5K+ld)6Mz+^OXwb*DTXhVcC4;~2aQHtvq z1jJQ>WXFO+mwmU|BS%RXJoVK7n(ID}jb*f5Lz52#jNyh$0bQ6c$rZVMv#ItwV3XfK zZe|vwJ+;Rsfc5HPyGU`}@AH?Ih+1~60?ymOKibF4sP_9p#UkN^J*TN@>N4!b&Ae^G z-HlQwXaf0L03?$oh-P#>v*~*W5}rZ(1_tf}p2#9_fOC<%;6Z)wBcUR_5AWN^FoVAu zM|svz93-fF0=^rTvtD$D=*#U?8KDfX| zcj^1s37pdu=ykdRB5fU61{LsimEx)vn+y0+wgGW?eQZ4?c4`EPAZsYu-S(eV3AV4P z`0@=)D=qImhidccSNqL262rac`Mw-eY3V!pjd~r@5fLp~Q>YI@10s>}vlSL4b)V0_ zS0xno(y?)mrWEiRoN~OFOV^kBJh}9JoGgV$YIW*KU;#i5Y(u8o+jKg5xvAkdqniC@ zMy138%Xir+arYwf>Rh4lIh>sam9yb@oiE60Xw9pLl)HVeE8`a=M$uBXDTOzkH9ODl z%|?i~?YUCa*J@bSqIa;QyMC$lN}{p^M>}lkmkH6&li1CE+pXH~4edI|k0TPcV0L>6 zn`Eo%o!ampvZ%DsVMh9=Guil2OTs4P$9)jZ);BP;ip-2f*-B~>pF`kz45+!IvZs@* zVfs&sv9wr{BT^Q>l)3ATre0tcjW^kG9<9|R$$+Pqvq|#y1{pn-)H^|>UJKgqQj~-(u;cW8J?#oxzuO0P@9URE#H)>8lvZ>ZNTxfl~x3-tx}Fm_7z@jtu$rL&3eBynf3 zr0lwE=Ptth(B$ZNNa%NI%fQE!HKM6mTBVWzpCYx6(@o2>a_HEhcZ|Neo6UJ>M_w9& z>6{z{MRrKN4LM=m9jiSDc|cAOIN_xW&iKwbF70QFG#5!~cZJ<=|BtBaj%zCE+80n` zVZnkFrC1PAQJP8z7150}6+@E}q^a~8I#Co<+6qXKDkx~^vJ|O7niN4rnskEF37sGT zzH@{7e)(rve~>$O=9K3==b0G<&tB}l3~l@zf8Ftklek1 zMq7d&BGFG5NF)E(o)($tsMt+PnGofqCTH2cTGze{ClrG&FKd*A*gO{}e??Q3dt&Z~ zQQ2!u9!Dj)a=oL>J8jt){q_%4A#^c!2V6YEuCG`y?7C8D2x6mj&#&V~lVvyg20s11 z?%&kz4J#K3D<@1G^;7i1EF7--?mfx&of*#O{;!5Bi+y|(&h+&Wu1eg0bx_Q50ErR2HK$F(GK`M zxO4W^NO7!s`J;NqDoVdzj=84=bA*D*c9SY+fe&vH>1XKGGQe`p^g>UJw+rMC_bXV6 z^95FOCRX5Bz{!4>qAk`zFrSmZz9Sy*Jg=Nq=2_QOc$9C3aI>1HhCA);Zd^D6;8GMW z>VPu3@7)6r)HQnrdY4%*#Mrh>zXvyha&~{a2y}$$Gb^5@$3O}gGBUiJDl_g`ZmwySEo|8Ny~Db z3~d1FZ2X@Jz+ns53A;vwj-0t44ugWj^qcOKbb5|lI1E1}ZoTf<|NLb-;PXWTno2IgL~B2G2`!{LgY02CQ#|<+4Ocn#7NpLg+}Yj{(Dang%&z z@+vA=f+R?b(kse9q?2rYKBxZj(bK^YO~R^(paTZyh`7S`@HNR~AarNvML%%$5iO_z?MT`Y%ZARhJVW$LDF(;m^n_F7vHIY5UcKH+8h~DYLgL$-cxMy zqVB++m=8~$Xy%?4+BWK)?veAK79bsJ61F>>dkF1OMAJ`A?w1X4BX~Q`I@&RqFAQq( z8C6%%=|V zN^l~?6bJ_cNia?35rdiyjA(g(Gw|#M;voY3>LPKf#MvV2$WSUQnpSb(i}j4=%8RgWRH{#pgfl+j1iM?*j2zQRH z;jP2J|6O|?L-@s>q+wxnrFzqBwVWg8?=v zCg>*b-D51#`s+G)Tol^-F5Dz4xcATBUCYa2Lmo#scF4)h)l^+QJup(}wFI3WOK>Sa zEq!L*UEHHOoll(x3oW^6JMcte{yf@K&45XAa^^a9;w-=Dgetku zW%YrM$)udna&PIk8^YBA%)O5WWv#)Y;rWMuAC;tv05O8d8>7Gj$nlxmQfwcYR{x2a z?=%v_h5~|b<4OAG=CqHr1-9%G-9w;+1qy9mknio=v+=IEvhu`fCN>S8_2C{@%60@V z4}7UGfuVZ2!M7##&?aR;P0s_FvX#xAX7`{jJ?jxKCZnkU7eR9x<-PPTQ9#vK+toRW zYZ&rF|0(o^V&R4j#4Q2xKL5|X(s%)IA6isP8&lFvorX1_5wD(pS0O({9qKT+%!Jr` zZ5oW9T;P-7GAr_7h}?0jogo4c(;V*cD?xJtSQ~B3gWU1o!{v{b@8Wr3n9^_anhd}^ z{ndHa@1l6Ej{bP(?BL&w2*EHmbdGYkU>kb_2yf8{`2YouH}X1dHMY1tw=JK94*dqm zV-bab>FI*gnz zi0UWnK?A2XZqFoaeu6r5p`PjJw?9yi_dCv_&*gDD(lT`O=Z#o_Rj!lO0Y^vABi5jz zl4dYcImX~2|HP;UR=_|@?xEg{YHnR3V?gdn#sf~BQB5C5zOXcWSRL&B+XoZ6`c~~P zBP=7Ft@;;w&JY0 zd^I7c0Yz0~gK8Y1EQXQgIIsSU__@%cTq9&Y8k@CHS);bdF{J4yaSkEscfgmw)Vu5@ zk;qWmCv1sI|MG1lHI zBYCm=KQpXlrT%H!|>6(d<{U>=rTk-p2=gAFo8b zThY|9-G&79%cJGmms5;+>sZ?M(H3nvfaX@~a@?&ECh3RW_U)!SA=GK!^jGpoERjsO znzmbjEh%;q&^^w91D&*iB8xq(`8JAMk&Pvkp&$wb2#*zXIW!ei3`%0_48 zl?GZYqy%nT^`rXc-GSHLq|QmjKyk&ydKC?V0pq;9z24TUp8=7Mwp;&dlNo&j!wQQj zymo!C15BKt;mo(kE|7xo!mZP#P?6pcuEF@I@~jIsrTgSw^6Jck>WTjcIwUa{shE3A z+%Pr=!mA+5?Epj;LUzfgmPk|3Z3n7M($2+I9s-bKzg(g#uUorPJTXWThNDlt9Zhv( zETLmN*CI`fd`Z8~NNyqCyO-I^h^-6lt0-nHmEFF8U5?QOipqNVE3?`)DgS?4Y!5Ww zk>iKX2=hV!#5`Iah~$6&gc>HaxSPJdb03TbD$8o<+QYHoa1V$+;nO;RX*rp|?OYX1 zp|kST?A3);)$CL4W*Tg>dG4Hv;-Gbe+0wH#=|3=YP>CbjVE@%uwRP=3 zNT6c9eutqXAI$^<{M7VfWlQQAhU|Qgz{hnz(;_fJ`El8x!)bRoyXTM8J|s%e@3}pB zqGFCbrsZH_R)i#}cRXVS(6N#GHSUxk=nKHXZCX1c0w^LJx0x&ciRs8K;|=qfoAmdc z|1b(X5`ie-=}t_npZA(Nqr`$FDgAntVfJjjuh8`gK@^`W{)um7G}d z%*MfP)kD(dz!KsuK}N{i3pIP@=}KqFBoRgiNkDKIy^VdldP-y+tPO%~34|bM1YjUb zjRrDe4`7l!aG@iT*`{*+D!wO<`S;JSyoEg*jSB0fWt@}qM~q9BL4NofR*87it_lXm z&>~HMI4%D1O?DGr1aU6Tk8^im^*872zVsc{z*Ldpn%6f+=ti_o{o5dab8SV7bYG~H zoOSl(-h9SR>Bu~6cZp}6!^<}Fbh`3oNbr^uoEu<hRh>TWe-ik{8+VX|BtBYWL5ldao~2T zSEY}h+>YXAMwFoFd7OVUfhu@JQMlIf?f=~kBE}8jd?LXZ8 z-RIcjDPpvN!Sm6XWqnMeLwfQ>tbu10U0wICVyzr*;f|Ln8-Q|3>brh-{fx=l`^|%5 z@E3htKLC^%s9^KJz^PsTwx9o1kaIGYHR^WE`8U-wRC?UPa&msb8nU6lelw$`Ebc=N z2u2Pzoc!DWYK?}#U5#yOK&QA{O$pYwl;w%>c$R@dw%)=S-w6#~b$@O$?SKoaXp>^2 zgEs7(kFgJSPQ1BTz1}>IE1>Iusnds#yEQ>e6q+30&PYYO}CR8Z)#7lgwck}3S#7g+J6}F zdL;xllIH&2(L-!0z)Gi+JPrSW8un@6WSO^=qT{xiVSOt(tj|=u=@f~y*o^dOSWTU+ zZ|swa4r;+J1x=Xv)MC=v!|2~-cD6cF&q=kv%TFbyR_K^sJVy@Cy+S@pi!;;0#r9p) zEuZa~?V~Lwn{ur8s^Dza7DZnMs6BMwUU(-ofi-^nYOSZ3C?(;WP#^^4k+acNL(mTbRML8IgLpu?=30d@@+&)YUR4drQ&qxWaZJ!gaQy#Mu#jlLaqp z4-Anr>Dr(_kcN#-epct zz#z7kqE+0?{0;0_R8jkHI~z4mfYn&iwQ4HAT_cR1FgyYw&krn`7$B~gH1mqUR_qaJ zQc95Lv}V~S)!e9&%<3B~$ce>jqp-xydTy*ayY8}$J1ol z=<@a-7sL9KXF@CFxP4n#ke*M{uF+;P2lAFhs#uIFLMQ(6+^O{;6l}}NCVY4!%&TdJ z#ymfBPvpxs&ScV3c-&(1MS_xro4tD)VfR3HZQ_l!hKU6e62%_!AQvTI5evZ<{rq03 zPalPe*2lHEN6a+!<_T`x%lsg`Lz0lmx}i5B+|v`2e6T2=(#LfDiIS6#KZ010NNmX& zk1AFVE4x2E=M$aO{=*fu7StKBiRt4x1gL_1NcY2s-xAn3rvg~F{u%*d$?CJBsFWk_ zVZZ)r*sv0|Z=tz5)3CPcRL(7QwRV8R{Ls%kvt!@c>6P^Z%NN^6CF(CyclU#0HS1pH zR80V?M?l2>QWBB@nD5dIhVrG##NSV+sauqyBFJ7|$r`LwQsjM`}KG){DbweruXPWm%$5>_B6t*wjwmObo7gc7D z+eRlTbjhic%|uE zPwc$9`d^DSL9EWeFW>HI;ZMi$D_wtp@rvL8oF_8eR71A z{S0-1joAvqX^U97E08A(3}w{%h;Pg1Ny<%FOjR51`>+})&%E`ZnSKF+3tQ)NA4MT_Iy}+L$%?vbvEjhH{08!TqL!uNW(0>7}ybH zI!$pidluvTjjl;WzBIb+7?S5i`?Cmfg=Q{)3njsJ;#}f}onRf_ChA+IQM&l>mm&sR z`eIb?*%RQn+rhmGe8F5t?e34{I@+7Y_Q52$Nt^Ddv8f%-=!g{@$vhX@{}DR0U?v)2 zUO|fKh)T9z(5e3!$7n;Gxm?{ZsOl5d#7Dz?00Rl4z{n=Wz!#NP;&e zN>M7yM#}u)XZhz4aNX=7%1eJ|ZH3Jzfs!sxQh|PrVh%9eBHYTaKGVkowINVfAp<7C zp;KiLFZJ9Q@$$o*j2m}mJ{n{oWad1I_0++o!9b9}{Mh05gzdCv0&|NG>AmegwEOQ) zIAzk;?dcoI5=}Nr7Q$rjuTqEOCp}C5(!Qs}j~klET6&=|b*i$8XE`!NQeN>V|MsYu zuU+HXxH3s{_yN&r@5y+88!(83=CDa=ZUB`T7pL$Lv+$`QceI?Oyz2fDgJkpP8KITK%+Qx4cOU=2ixHb< zTJ66F`D@F*tO=hQbXC-8)1dAaY1B2kW}ICcKthBnf1i?cc|Pn+m&H2TejZxaw`vKu z4mG|_N#u8?SSjM#rqwqr=KsNpu@6@M+g>0kAH=*dEL{IU{6LQ(B*}WArAQjw(Ih*` zHSze-SP5sjzd&lk=}Mhqn`F?>6^Ht=j3)@Y&mV@gqzeUkfm3>CklwxzvF z(9Xkhu&+<24dQdomTLmX2aQF$3fh;#yu8BBdNpR8X+|1T|G9SndL-|ILa)cy{&csc z3fKGKyvO*q{K6Yhq@O5Ux1~zdN4DJNe|e+%^12j~Gj=Do zfgKMGG4!W7@=;h z`~mh`clAea{tbET+%aW6pGcaVyS!wA^HA2XQyQ=NJUh0}h5tKzmJEoZ{5Tc*^qFL`lh=P$`u-3bq5wAjgEW%*suI}w46 z`-0C7M@~y9W1BBh59Qo4jp-6%yChn312?tE#-u84w7w3ZD!=3{DbsE(fYLRy;aM#0 zRilTqS!QFhSJ`|O^ZS{6LM!hGY!<5GiuA`vy!byctl^>gO?aPY!Vl{2XU1Rg-8bPJ z`AS%c$D?WPh40!Ml1Adm>tX-4XFZ$Dw*DFVeswtX<7%~hMB3~-lB?Y+dkh2QvD?a1 zTwV^VP(_+*Rl-;dcgzqdYoS#%wVxBVYr<_D!qt{vH}?f1r{;}J4ngEHGrc%=FG4!I zQZLM#OJra$Xk?5nx!U?(IUMoXcNmZ5kWu@%+<$V{-OQZM*eL0`$=yHg{1icMO z_Lwd6yZLKqZjD$vKgE@UQgxTks}QtytlXwx6;6xL6Y;|%@WHGdgECV-if79>Q zoKuDH8k53WL%ZfUz+XG>T*vSYzxSNmL&h?&r4`NKA^# zoN82xSuFp$0oXCLa_9s)u$((~uybNo;v}Gnp<8VxVR?NrZW4B3aiKN;l0k677DneZ zr>Q!BkwZkjJ5Uj`<&X`YP^ub_B0??>ib^ARjNtbq99xm8db#mn-bO^v$|fz}HEeKD z$ebqss8O)Q>GU}!Br*j+=_JGj@@uc_scc@2x)weV)bkdO)C104q2(}(7%{3av3lwa z|CWmG*!gnM7;{?k=Ae&92TJxR!#WOqI|M_<1IC+q4G(>j@A^Z(dyH?}uR9_=GM}$Y z)Xedo5cIDTU$=HAzRQlv%+IV?uK`#aw}-k3eKhSvN<2H{Fo96kZTM#9fA09@E2fi~ zub@Jc4_ljE7Dp~Xii;bzq4FYXAN6p6_?gsh9eS$0A2Fv~McGGtZ!u#zq<1LFQ zS=$o>mR^z0qY24CDnv75ACl2+9##hMtE;nq<^vO9@kqTWw)wVIz;t-d7MOt9zB+e* zOikjVdbJuHYY$O&`OWUc8gApW=q3vI%mhU7oOdnsM7bBYyOhC9uz=B_I@YZ+2iYqt z69KDA@IG08XSbKX>jo|!=3`gdLP@uhH zRxR1qZ{7q*CBg4@H!=Nw1z0{Y`yHuF5b9ebDRzw{JH^Kgxa{{{%L+H{7Kym<g`dKa*4@K%ue8YOcVJ?Gg${Xf({nhw;)pg6y2JEf3@U+NlKUE;eRN1 zJ*4VKe!D9G3an!7gVA%+qkKrDt;m}8TxSP+N1Yo*G2qUJat#ki_et5g8D>&d$E@5~ zMI|yE5<)|VY!`!Bd^_~J`8p^sB4#?zy#MFsJ_P@D>5lP!d@#6etK1f-GLIgx^Blq7 z$WnsilQec{N%gHrH|NwXq!Rco?%Byx6g_v&#+2o<_6NwI!z33Pz8FH$Bh2qVwaQq~Pxq4tcX3qAB{@g9uLm zZf-xN+0Y$Qa0X{>_beIyOTP1OyT%af4!=gh04&@7%Qk6XU@YtEwGr=>9H@<^SeF%CO|zQTHo-Lem@icHCEV-)y&cce`4@vu z#!);zc4w}o&xvu)J3`HDJ|c_`9&uV~e++$8JXYVT1iRh}c-SfCRp~sw)NM!J*@W0` zfePMdMrnbhALD$??LZkO4g+G;o^}b#q;0$^q#EAGq{1M>hdcUY+OtUdRMraunfVk! zC3G#~k97&k6tI&GgF{bE1{=2zjE%h|EqMgs%k-^w-u>-~L%BDkr%k#*@u|Z(@?M38 zxHd*rG5WFdxrU;7k+Guz&e$Wsgr|1Z+B4S?HV1%!=P4sIKsjaf-UyqLR_Y7Csz=0XJyH4# zdKG200lb=bnwrlVyr3kyeGl}Nj0~R?>{6dgwma~57z8({qB3G3AL^QY*pqXHqPq$Z z4Vg*ew`so5FR|m-VQ15d#Ad~jP)GWFvtD$J!?fq(&jd{9Pj4J>EVJAkLy`xL92j+} z8wWTOLae!7TJ=}_F_{b!fUB9)rcCn}<>x8~oN!YMY)n>d`f|au=9*CsKBa~1xcq*( zE#$(YLyV#J*53>=P4HU;da?#pE zODYUt(kX{Q*oP$Q+f6^~eP)2XtRTLaCwZ)d=jZtie_2gReyvO+{g~n#$^{I>`3D2Z zpL_#}l6*(n^5ba(A(g2$S^Dj0L-9HIN z2Ydk-DORruNPAR*l5lhK6jXIKr>gi{HNpfuElgZEH~xWb<3cSL8D>m8{tDgPr^^~O zR^+FN4M~UCx_zQm-!tLW7GKf&KuD-b%Q%-Wa$7RG++O{JDkmvw)20U!H$mEkx&Au- z4KSY`vdX%F+565T5AxxNIoB+2JtxcYh(XB{&xDU(+;c2PxOtYTsjs_EQOAn0^lFz- zIHgYIo!M{6vm9~9_}R7O0M~;+Ct8=vZIe_YA-=$3m@X~MVb1nU|sOH9lTF| zg#eTevySv}`)9rOVNRK#k}Hs}hJsxMMwm4q`NB&f@5|Dz<5s~-P=ccs&gUsg9u0}P zX(pkyb4HJNRh08lH;V5857*>sBVxBT9gWBg7m8*bS%`j`?)|0}4P}O{_LjaU$o)@S z1X2fGaD2;bvz=g+dKB{t_5W7+O&+W0wvz9V%9?(-iOmYK2|5Bh+bqf__qs_L$Sh0Y z%KqRx{Oj?77U)L2HNlF7W+px_>MLRVINB7x)b#Nr!jrV5-HF)uPtdLT$QKak!5r?Xt$LP*O;}X_$Shnp(p=k;+{>y$V^eq1 z(sX^dn?|5mu7Janwa`if`0VxIO^c-C{#!AkqGhL(th!^?q48P6Qxz4z-Oo;KQ{UQFm*?rpIv8S#+y1+#(OnWQb8;^t;vP68mIyIeyaU>Fqz-D#yx% z#|D?c5cFdGpy3){cTBEbMf{-HuAQ@Ku$gt{+_hP~2YG@cD^54o?{!?3Je!qf_p{~a zaywr4J#PO?G0{I}dDr6&B1Elk$=ob)!X>i~CSGAWOSrDj6m;_by{X#ZIJmGwRQGDAzaw1ALvwig_+|&6Zo0n@}feuFz8l*VF?Y zKm$h4Bn-e7@%TcS_!%+GpK+ds%;P2&wkXpmpd!SxL4W^Crd`?sa9Y?1&oye{ozwA) zfWKd#NRHd05Xk;Z|6P^ER+%#ChH?)kVj-|+VF|D0|jsYFVQ3$3duCv(`c_r%_XUWUxP8}1PP7-YW3q?{I!g5 z#!M@jeb{RU!DQcuOaPG{5;GwS>)@DC1$m2_kk}g7c3}G{z{>``kWipYj0J8R($xdsJKp@$lSh0bUJ5EdUpMYxYuT7v?&;88 z7e4sGu`FnKoSLi1Tu9+Plb5s^Thm|J?Zn^g({4+x+sI*rSFwAw!S+^`EAu|zI+mi! zheI)O0^eNyz28hsN>&zTy7H#(PMl_yU`)3~r8z)k{8FvNM5|!SZy}R6SzN=3+HLMF zVstpw$JKvmHC>6X^jB`?(gn#TmH*=QK3X}6pYrh_*>5w;KJZQ95FqY%T952PL)Ox+ z2RLBNg}SQU6^RMOF9whQI=s(>|Ksr3sjc`2#UWLmT2C}}wnZ`KD{tr~W4=r)7hx4I zgaxv)pN$ieafo@HJzE(B^o7rca-DQWYXIp76>QY9HY}qW+B!ft*lTSXsQo_v%&qvx zaV6&3e;nJTR-rRoR}>k2wHkAdQQMkuE<`ft9NLUG2^>SM!524svmzhjzK>ceiWu@TqQtMm;duU!)JN%GC~Cf!TzAJkqz;K_ImMV{er`G21YO6?#Ci00 zAN3esh=53rxCx^%3@)tW{oe9S4yown@5F>M>1T z#_w-*EJT&-=$7Or*fq#VcJ}OmKZG}acO>tczip+nb-Dh!TjFfL@tTW@ep7un=?B1= zo*v!mncI*U|2{*ypAPoh{l|X0p&w3$W?NL(A1()Xuw_g9?uqsx2l>R0a}%NIXoZu+y&YvIx|^8;Bc{7mjK=vq8q z?T0oE2-7(tXn$||6{$Q3ogJkmb(WmJ!%tRWiqc6xf-HY7zGN1|G|X%yj7t;=DW^4d|z0af^ju$YP^&$9)AkFFfID_z>#@U_sT!TOBHv+!3g@9ZXi;AwpR zr;)j~+P`%MHfT+ODgn;}P{Wf!!IzOp;gGdblky9&bI?I0ZjCYHDc_u&+rQPBqM4Sj zln-qzvXN!EL3|7!k@iNxrV&aJ4i>U$x7IV3`Sa_n#()smCyUVTVf(!} z)2ZqM3dp>3q*-^d5KLlUV%e-8d;aGL=5`E<|h6Zf1c8| zX?!m~@*xSIR!KLdSsMo|W8R>xN}z8HZ>KENxDhAENVBUkI}kF3XO{+H$UuN>2)jPC zFT%_11K-&AWZKXV7~(2)T|)kR@3|WcqXy9*!rzrfk{#t^b`t|4e}Kub$c+WLU`L5| zmQ(&9hN#8EUl5N=Wbs(nyksKVpkJ(le(@{Tjcpu5^TM?f^zc4LfsVL2ikf?t~T zmfU3o?1D(M9^L1G3Qt`y8X8!j84U9gW+t+~@99H1Bo$y0Lf%(WU||n!YcenT)noc6 z*3kkjBV2-h@aB^izY=Z#jSMG-?hN_u)}`MK?gf<(T=)<-c<3y`;KQCd;Gai4$>TVV z3Ju8n0kf<1K#v%Mj3$FAZ*8H%f=1^M8fG4xJE%HKfYUIDX>V9JIAQone=wk!2ZU%C zdEV@ye_>9hC&uyf?$kr%lunpw_5nvP4%kB=M1j$zHQzu6ic?77NyryH9G{T;{$pu~ z@1iR`Xp3%sZjjsY+CW79FLPSq>)nZ%luaigR{U8uexGv;C@ss-m$TPIT`u}H z>Gw@2^+RBwL{@W}C(1>My(NVUc4M1muQEkHY=nP>?me_A^-q+~dn59|1rlIQF<-&$ z1`n0OBB7rw#_-juh)lTR z$RB|9$KS7Yyb~(SG^2YanRNpqr<0v2&pI}YD?Wws#bWBfX`*NxcnlPRP7i#7uMbwI zBKGW2xHoXQAhG_S>XXb?mM>M^Xzzj-prDY()jvlD3q zi|y8>+ro21I~rz;T|*ddO#XKbYS{_+V`Lx;0+Ri%s}yr9{MOn)R@8v_PQaSt&u3+} zo+@M+IAI{1e6R&T@eV8lTg^)80P8Grgl1+=7uAAMN+JfM()ZQG87na=` zNqtKy*l*9=)9hBh>G9h7w;gEAJp%~!Hfo(@ zYuL6j@Z9TJz7J%vwDt_(We0&R#8^2JNx}1PcICscCq!TF zzgL=`)(hLmsDR@PPjx$NKY*CiE+iYot;{N*v&EQbjXx6&OjY}D1}oiMm+!Y+mWTAT zwym69r6cTSrR+mY#}L~gXy7ce<-*}eA6|gu1%=WK+rlqpU7Jk=9SG{z9oJ?>!Qzty z%xUBo=(O#MI@18R_;OHc<_SPOh*{a~kAZ-%gX0r)-#E>Sw$>t58)*HHegYZQa&+13!+KZ$OJ+#B3XkH9F{SAG17;^Q zp%GQyL2S+rH&|+B273^4$DyJbNEmQ8bJ$>9e*k#DEyWu*C7ZZy#toDNxT#v{Jw&Av zwYeYs-zczB!9Wfq|MB{OWeEo75pz)Vs)j5Sly z(>%d$Q*r1ToDz$SpRP;sATJmy47h%g+fLRGqEr`(Yiz;O409wCE)MJwt{yRl4g`fP z$9S#K5%aJrNSScQi)pDyA*$@)MED_e58RIXV8M3A@EdHceMcHUtGpS&q6<=3C+LjM z?#x1M+51dgB_wssDeN?yOfFwW`eD{-Sv(5U7}6{eRHx~Q(UW*gqr(<_?XYmcmf~#; zE5whX(y&b{)WJ<1a|bm55_$z*Pu;7mdBL`IgmydoXFkNTM(igkE$jitW?ACs|;I? z2sQnF38@*{Ed#E#byCK4lt#p9`4!0(Rr(yVg5J!=eW6n=1on$*N60ZK{}hg$b%YL14#O-_Wi?sGgBl6z1Fl_c{f6R&=AXBIc$(J%7o2 z7 z!nfrhI2R)vzdCbt6vPTjnW8LIim1K-%onvo^yBq86m%90nH#%#>6iBq3jjW?Pdb4! zve!M{kvjbC81&w0C8QsMT_IPknSM<>MMOhSu7ogFb&M! zYQy^1MJc(2Fq8Y?-wkn|(@)g`FL{Ceq5uQ^*uwtsKfV)i3)+0;nvP%Pc9E~aucHaT z4+(tzDDK@%83cljWD;9g>9a)-;sHDSleCDprT_Ds8MsmOETj`vF+@H-P*9Gt z)tp#2uy?DL{n#a_9DCGo@n*W&8((07HYSz*7uQ-*qt`9Wr7s*(7GJ;7fA)eU7uE>Z zW{dU$S;(yiTkhH%U+IDOXz+eZvZ2h4!P9Sos`r075Tp=fSO0kr|2H>rTdDdI5CP94 z8RRsqs>)A%Q+u~ z1-(c+Z9oV)r43gz=I>j+gm}=XiZ`i;=#sGFpb^%X%iUD7B1I`&SWsWV{JXK@T%yg6 z*MkrdQC%u0xxV;`XkO-#DO=%3y_8!(rn_M#=LoXq{b}aQ6c!B|DCa+J1Z{nNUi0X5 zey|bpzd_5FAYx3%Z^a)|tWo@CEev;tL$-<70)YvTu&?NCt5`;Q<5$MTYqz=j-^3vN z%@E|z9Aef~gU5lI5Ps1KhchPKm#Uv&wNgdo%K}-gR#*9pw<7p6@VFuGW-*;!RJCA& zM5j8a6@?EQPD(P#M}p&~-|tZT<^@j$9%G)B>tw=W^QL{V52*i_4C-#;RJsNS76$rDw-3|FY3w^SI!jA&etes?a z9H;@NIxU%@gDW|C6v*h0Q}ECz^)S$Hqi>3kS$=n-?RR+kKyDD11+UMxqC^5NKYcg% z=qHt39+CQSvnI|nn^mXLPL6Lr1^W)=Va@l zD~?DKVg^G#X`t3sHFcue_$f+O3wVw&o=CiE-=p6R{3iNDgHv4&G@b!h;DU`A(L6mZ zBF@N*3a-mivh>ds3V$NUy~Av_`T+*}s`G3%9`op4iP579=&2J|(n%D-+qo@U>~+xB z`*2jkbmy!NRPnJWvC4Sbz;k)k_xCatK!gR)6E~Ej)89F95M_Yt@5Z_O0H`A!qGd+b zg3c$jzaT*!J0S4BS98wW|0)ktQAG<6{|AMfR2a@T!&9~W4Ku4HNfsvnx@B-1(vgkn&$g>eFYF zx054ym)XeUv;-D7EJYiahRcs1Hq7W^>1i_$BbYvTdes&((TiF6fr~f=&AIbcAGneP z&#q&wK;@k3JRcQ zT^KvIAbtEbVK*`Rx<<3syaFt)=4%pLxV2@`6L#`vK67C)89?d?;*m~L$Jrcn-*3e_ z^POXm<%>FGF2#N14g*1mizT?lHw13}kV|xP5J!O~o$*w+OG<_9uAVT9h}%y14bqaN z0kLE>9+Q+3D40#U-+$2(PpZWPpMfU)ImMND_$$qHxUu=ZRQn{8Ed;*e^@MX!_R{j; z4Li6Y7ad-T859RMQo=oAzo4@egRKAZ4x5^#pWBtP+xHcN<{8}t7Km&oXxlcQeUh@Z zD3di{4Qc;1o-~if0I7kS+cayIAt^e~MV<3}?1K2Z#ta+c^g7^tMPKpA6GHg*=DPKEQ6kC21pr+BiOjoX!d4@uVO1_KGvg5h))H z4b0rC=X}%egY?@IqYq@S29*`jI+vAVTcfxS?bP>$glhAoi^g4|KZX|3@vc9$84_O> zwCD(=@nh1sS1D~tw(2Jz@y!RdxhzrvpYyg~sicsUXky)Ry{R~=mZrR1GYZq0jXs@Y zln8zK63fqEBh!`!R-JHhH?~h`<-6RzCJ5;eq0&igP3nVobT#s26ptm2twJD)oKp6` z`a-JAZ{{q=km%na`0;m4M9WL`L+1FO*(C+!TD!>AuYy7Hf4SlB*Nj57o+{ACh$K*9 zB+=2Z#sYcX2SdARe+!Ie;A^aoC5 zbdwiwZDU0(3n!Oih~_JCCQaqkL6XajClw;Vt}>P%e0awS93BIb57-XJj@lucgn`>? zj|>~xJMI`1Se|UMEW7N#$svIwN0bmm?H0~vuFkX|%DWZ3x=|3oo$BBrP@tBRWV1F?oLl*cNt3hlBr7k9WVP2MjoLt4>d=6sn77Uw8MMgc|E8K`%Q5k4NhqLoEhi7`*xrU0^kQ=ildBIDuau0(FZ0DKUUaM6^wmZGC@F|x8uk5WT(W3SQ`;`B8hhhbnuD_E#ov-*$w1Pvx4= zC}tOSl>NyskK$Enl5kg8+LBIw7;&Vm;E-qo3U7N*r;DA5Qe2 zdBA5;8khEK8Awy>JykSvlXMTrbqad8DQn!6J3$T-wbD)ZFE3WSmz`WoJr`oLER^1F z<$KVSSEB;cyWu}F_(RhAL>27<%W@dacH6AfbsXO@8R~xz1~FVR+^~k=Ls%z~mI2r8 z8}>nPi8|BW;h#1M-(tmUSK*ddWMJ%rE&JJ3g?i)QCUTie2YqS&+YPc!O#kndY0xSu9taD)NN(SS} zS@2{l{C0tXkb9+cbpqyg6%)E_Kc@`}EBHj1bkn*I)5FDUaRe~(FLpr=D=!|xHwPzw-2Cga9l)(G_SmDmQ| zfIFW{Qb}xi#kLzK>y0dT<(#t(i?ei5-ynV1diOeR+uh%5y>1*x?EPYGhlpXf-(U0m zOU4Yt8plj!YKyF=O=_)AHh=6MJEV=TyVd3ctVSBs zH*mo(`YHIN9%jnk0i*O1fE8zP`@%DDFg2=Sy|uTp)>E?9t&NZAOUYIz7(Qx;sq@tL0s@m(GKP&MU9ps#=H5SNd*NY@j4 z0;p5teR0P^vdq@#!v65M?wMK<}7_51G>=s!h0@>jV5;-g@>tA#B*i zZikpMzwP#)9o!T!gy?{=mB3cFggvxQDz>?nTc`K1 zHM<|}AikKGr}n-h4r~-Y-Q%CRDL4Y;9&##5?OB3bl}roOA4xwcXqiR?#LR>dRMdisvJC${zV zwk=_X{5CV1SFUc3@jIu=0Ey1BcYPse2a_PH{uxv2SzX7yaIjz7 zB3*?w3Nbbba^!@ul8>i)j$g&HQCD&rm&7{sf_o}j?srU&FPR28wC%5%o>TZF;+Doq zOCFoZ(b4O*^!OUbA|E;-Xo)Vv_U_Mz)|+r`Dq)Ewn^YqHsv9V&;Dmf!8&-aSwR>7! z`zVbI0!=qrl0ql?ddzO`blEmL0*geZt9MLmhLuj9W=e>eSRoT6ugL65Fvk!v#gfs9 zf_1H-0j+gYN_MOE>r-F6-ybNhP}pwczUstw)ilJ5U1Ha^*#}e!g;)oMmE;K7y_db^ z-o^LPRt(}e&LwiV<3ArfEQJkWEHDf#wpqC)$Hg{G2BMAgpV*&**MzIcmU{+C%GV?%ey( zwM2fDLilvK3O`u~jvad+K2`;Tbnmk`_cCvkjj2<+RrSus*fgF}l*qK3ivRrhq8IV= zS-vkzC+k~2pCGrog~OT#PVdG`@>C~oH3g-_kl{O$dn3P zDoHG6q4g|W@;eCI<>2#$qJoPjY(81MwvC%&9pn%_ET9+cfXutb4;y3GWoxCEawN$f z!Qy>&9e>OBB%|xxX>A%*1C9|^A+(a6k+q9C_NSq?ug``=t(*BDZf8WSwusj>PEbZ| zt|jA2!2|bV?3~i9&vwZhrqW3STM{TW0{>eehYe>*pgQmh=ytRE1&1%u%wG24!$<1x z1m#-WGIh!Tdp=wU2Hjv>2adW2=>^)m{{Lg8d@xD2Az)(JGgF)#WiV2;NN=3x#(Um+ z!SvF{myiu-@EBglf!23wnw)o>-1@R_pZkm9vwiy>$hd_Mf3(=7Dmt;8>Q);7rDJ0Fu6 zTnx>yYF83TN6)Z?u*Uzpm;b(}cx@4+w*pAPsDHzC*I=IP)3Zzy&Lg{j>4=B0w~Wcw zyK65;WWBsSU<8rE%tLJ0_m4LbmC73LbM$iq6-a)mel(}BN>)i~gk0bmYqsYo4at)z zLkjvK`V`G2?jOWYlGB{WNUoPa<(*jR=HESw9-t zDJCIUK6q6v=S+uQua~GGN*gESxlRKGtQ2|8RonT0yc)H62*rFM!3^JuT6J4NSOw$O>f69t1ZWbmST}hL)qE~AoyR_xGIMXcviJ`vbBwSGqp&U^3YAo^M7MV3T0{@t! zMQT7Slwh_p(08C1?xB63s%(JuH+R}4zr&CAnKX_I+nCx!Hc0uHp>_(*e;EGKVxU=i z-61Sd?sihlR|boV*G{#f)veg``DSNtvltYrmk?n4x9ol<8p`jQ?e^vL5ipH&zKZmu zk(TBM`CHSATB@gKL$=@ke8?wd%p|0dHoQsC#t!+`a;Jd@K&rO(7+8@`4~SQoX(}jb zzJJy-rj4bUjmk*raMoPNyh+ipiWRGTVs~!XPj1t$9(1b3cD3ezR4SJHR8h-q3E$J7 zLJFB1G~BZs(|HA^E{(g|?iMa;wtll^e*UvkEjQQywf5yVqerMlQ4XIr`@|ch%99ubSMs zUbE`0CZGi!VnM3J*vJ|aj%QJt4=AK$i80732fHDdbPU?E6JbS_AuNk3Xi-iC+RgB9 ztHKftl~%@;bLH9{?-rb%+~udCw!WfLKT5?Q0Ygk!9bs9$xgRN%rcQjWnW)3_MW_FD;S zeRe%zUr)uhx3Q~tEo0#&km8ibUqnYHIk$i3!%D?Ap<+sUu{Nm~ zROy4T#OJyfv!(0zTgZevOwZ25p_Vh7iKks8muJ?Zi-{coT#%xcHbD-^Ur}EE=cdbD zr*K}5CtdGZ`K%&js)Ewod2;w>@ueB~g|2}K03g+8^5eW-3ADTiA&T4=*$v0(tg$-s z-a%*S`3|r1rk6^s@+OvaIwXLD?$0Pn)W>FI2uifPOK|CgYc;pI^T-`u=S;7^hRz2J zc{1PnLH`QHfhCs*xdV^yT;f4|JM0B&0{e0Kg){yS^uuw(zYNAj{mWvbh(tj_mNd3GEMbEEMCQ;MLt z(Xt!ZiB68erlma{~$^GbQh9$UO2zsP?Rgy?Z(xRb3C{{ zVil7eymoy2P6YdTq`eNG)%4LjEQSWV?#gG#Lg4vIU1CaCU;B&}yl45JYBroO`H4L# z8IR&>E~TaPy}H)Zu68Lw-CH&c1}9VGVnC8b(tVBP5gTUu9@J}XnkX2cx;8p=c-EE| zPg_OH&?W7ecqoDN`|3`*_=$)06??Aw@CA^3m^5Q)@Z^(wO)o}!Cs#?0@A{aWE#E=E z&1>>HulF@JKSwOtst@m)pFOCk7sXsm?e2=X7QjBfhvy-%;UutZ{dteIDrmNO5Prcl zS&==(3h|=pc6LX1#fgr?A$Bv(J*n*Sh}4d!x6u_g+5Ag1&rs%t@(9Ip#*@%)@x|_O znWOZHcX9Ffu|)4Uf$SH~Qpn8D@%uj!)e{k3nEyH@@fCnyPT;=|cI&;~Wv<{Ug6}K# z=zW1Pj}yV_dZcKH8v69HuJ*)W%RXqwgEKMZ|2fiw>Y&ztpBp~UIvU>L@_I^zsyf<| z!H1_yG>b6>C)o-HsE(em@$w2`iALyth^`aNld808N)sIB5K3SFZo|-a>Ih7=^u;f+ zBXh4{i6H(j_Ih8qn@OT^Q&6A@P1!p2(v8|SfIJ(FM^pc%*I@n`{~vp;1Ls?D7#X(! z((@0pU{e@85B3!&6i)9C6Tq_|C<5tSF9u{=kE@RIpkQBPHIRdU>(i-^7woea!{4hH zw@!r@^@BY!3biWPUu)7{VMziwpEmg&zUM*$Yzz61T!J2ow{p900va4Kc)A}@9MGH< z#-L$_TEV;(;BBY~sAiw)fP_rwzwzwMJN*8&NdK{`goZ<_-638o4cq)KDQRytrB(_8 z3~iqoAh*6Bi$GN(k?0-FXws zZ{{Ew1y4fMMzo^kq3Lv@#ZM~ReIS7w^oQ@F#^9Lz5n z6kzNZK{Qo_mHJ>VE3?rMGu-Ay$P-g4dlPh_2TG+WfA9WEI^)5Wde{ zeTB-d^i96Any`2C=RuEjajU~&h1ryxR9-3H>__zxlN#}&DNzeFuXra$(39y!SU2lti})^&DM`W(Fp1opM1! z-41GvMqZ=m-X@yzlE=}K16TRy!Ek;0f3@Mn8zQzyjH2Z{8>gU$1X~76#-HnZ5sP7e zLhlo_%B-K0;aM?!>s@2NSVh|qKCK9n8r??A-Q^a(I22Xn$;DIBxmg~;QbjG`AvjuN z%&wA>0VGxzt;(6!S+$j%hhy-+5gfzeILm9LBx#5wbtR|%3jEd!{0J0$!TM8Q@hhm& zoR!Ke7jS3;5Xx$xF-gLGh`E||S}Z@1FNwr6J3DiCZb3a`*rilnu-Cl0Xjc%l7fV5H zN%!x;96WbSE}2U@4St6sE^35H7~U6)oW6?>9eKiX_B>Up7L+ub{N3WB#&vJC{6ukiv}Qq?+pfW2_iLK*BDt z7!h-P#^)LFdxE5@2K#rqi$->VIu*5`G=)^=lc@?)L9rDL+iSc`73{|-@c+TxL}`Nl zH@SoU7dyqUb%L2ANdv$$GfKSm zR}JVL&bA>*es_wA1eYN3#H>cH=izXc*S$&PN%%lva;l5kyLc497tZ@nHDwsi3`)_; z6|izQtZW?Q213<7kfk=7*^t;sgh-BWo~CU39KP@-^z_sA36EeklI_pWFT^K`by*j4 zL5o@!d)R^geR?orHbB*P2V0xKuIt?348db`GHlM|TEj_rP=14;X0ZEGC_GXA%Nf3L zJ6aC4Sa;&Ar|7+83v#Sn=;k&9H*vtL4Fk_f2i{BqRc{M8gN|E? z-6ep~%HJc%>K zY6Ri7slRnce#&T6Klc<@nCu0%nYZ`J%C;rOI2&yy9-Fbj;=ucSiE+`4emf2&X)rhf zg?+VKs3X2O{yOpkC>F7cZRAFC8vtHVF43TVm!v2l!^9F4_0c^{;hvYf3@GEz*dqmbd*R=bE7xy-2oquSG1ZHbZ*ralk=8WA)jNJ{K)fEy4P zqKZ#)!y-z9y&@pIjZg%WlfJ||f(O}kpFsNcPR9`J6hP8N6}^x(AnIdP0>KX5FcLnV zCy8NrW=r)=<#31M_d4)2obcfczc?Cnn6D9y99@u#eyv9|~fHVqM#N zo?K`EF)ZnL;mJx&k+UFm{l2|*>lAFwj@=aC{9;thxqQ;ab<*_NvjEt9c^0s=-eAwB zFP4t@W!Tj~CsXbZEnyj2bz~K08*Aq=qeebJ>Ege|3|AVt*d{EG4UPBWRh%JLI2vfw zb+T&BL_4JmV_j4w$TJ@53Da4nbbCuIzu0gb-LZT(?}O#0-HPbw)nKh|q7`{Ki9Bh=;x7 zz=z^9;IC=W>E}YiBiW5hku$W1Fs-fr)fDm<;AGY#^IklMw}&Kz9=;gwW8-r$Y*L|U zIbxilvXqo||AqZi$g0&tpCD6kIh?LKn$>UOoC4YnBWzu!vRWd+(z%u(*hd3=volL< zfB0qzJLyoa)ps!{T#$r&+J1vbYA_4s(H(s1!cuH5{Dm{*{bgkS^uOr_;$_0Uo1s3n zIiofiX)OWkE%>8)NvDgqVdkt^dK@yAmd^tw`TfVV+Dz0gB}d&0*a1&#-i`VMz{Itn zAAs!_+8ZG}QEKO+;w3A{=;sZ_@dw}*4gjcQl0quKEr@mux6$BN6&`S4I#~hU%_V+ zJ_6kyp~iKpbR1q$;T6gpInsifA|TnYqnIUU@QZ((^{FARCt=$_cmC?a#{8b!bcI#5 zTd*VCk?6aG4Ggatm)Qc|&!JxufDW{BaQ~O*KPP&8_3S#xfLxvx@~t7-LF?sJg5kj> z?1cT=NNqjpqBI9tfjc0>uXceUA^T)B15dITh=kQC^-=S1==vmU1Bb&t_+;H(vLWbRVbB=X2}7VSAlBASI_g9-!__m*?5Q)@b!ep=bi?2;}gy z8?UIn(UQ=Ip7c~eZr;eV0Pbg3#Zuu;mcMoXk=^p5cghTAsB(ga1jyU1&>c`;wSKP7 zvOx*uyuo=%@iye{V>0uWN6;=cUeeC{F2i){@Lu+lHgYfF@$&rhbt>a8;+-RoGX&}) zWnXvOYJki*4)<-qsc`T$jmczzTQx;tamTrH_!wk&e+;UQW`0mJ*I^qhN>~_sf&XI# zg6P|?|HC(er_b8FBR@fhhtL%QD=pv<0`7TrFsF5q|21_kquBym*H|;<4Na2gbT~Z= zyI*dC6siH%4V0Yl+vJ}ES^EJjj3z=xCFS#{0cTj zUHwWU^UURcW$f9y>)nK}Mw0%O@we>m;s+_@u(9h@@`+;CHr7dD6%E$>+$Yx81hA+?h*_SIf+cGQOnN05Rfj+m9$l zq!S{R|C)e^eKWFMm>p}Zbj5c~T)0#2aAQNrCTmslcDfV)Xj-?dVS``g{^e>9VWO>% zE^TEQ6V<3+t|L9f%o^`W;gfM*K9`PDUDItS{VmiM`eAKyv){yUn{BMhr<<2#)~Xx< zwb7?D$Ob1`_X1MYA$*U($2CI3%E;5bjb)I}W^567EYOm?H z>?2QtWq!fn9O7P7^l_*)b7cKuKsVP?_T#S&YwEq?rHu8q&SSpx{YGjfr-#3!1KyXq zb14-LpJgIo#;t47^4f-bf(N-Yg+-jYx+^__ zU%YFq1Ed89N%nK|F|}C==an#!kuT%nrXNJ=n{iBLCaUXOT);iRlAqyQ^ZAK1h4YwS zu==*tP}vYdqgAy6?NB1&1lZz8ztCki|;yzr9zd2gtQFpxVm#4qxZDx zMJ1qMjp77^@SBnCMNeHl5gDvz)4N6#&P^0Y+7!LJ zmk(!@t{AP{F*4CgXSz5-2oV-&nV)rV89UUaiN|pUJ*r8z)Rfq-)}a&S;WycNI^D1}m|Az;|2RM-i!T zX6QTK?t>n1`i$F1by3aC)4pCDVU29Dpy}+^sR3%d<*D5`4$V))nY?&q_ce`b6Wh>A zw;Vxv2zNe4r@}&d8i9qOKZfwu#C3*j@tN88Qci9?&jjhL1WSy-I)qC3*A zcm0Yt890$+9?WtbWgp;UXjuh%s&(a$1K|l(TNK-wUh4h_Vm3IAblCf?8Y`7@?-xhd z!;i+03dCz5+u%-h>@dQ0LYT2HL>8=UfGK;x53$clB@FSQ6KgBBb8Dq#x+xVF9(tXl zp(OV5Rr2iS0P%DXf*L&IMDFyWPK2-0#BGt05H%jE$Uu{+gxy{ zhv`loS$YgK*H9Ix)l-js`sL%*Nt-!$FREjJ8YA34UUy-;1W%@CCuZEqF7|1Z5n2< z8tXqPhN@#7=exa_vX}St?Q{4(?n^pc5(9Mqxcj+r@g(Nf2a|8BcN)96Oh)8r;+QdR z{TDi2F>?u4%NC|kTWV_#FX@3JJ-R*OzUfUOswm+!ZRCcf*iIYig5bypIH}FCI8r8$ z-Xhgx2ffa_D0w>M=WdJGi&O2?aVq=}$x1DFg5*(dRqOPN(!xe+{0{TGD!{;C@U%c~ z>-H2%rK}S_L?k>A)~}5ok~KHTjX{!AdeO}~X#zvFvBZFcs=z47G-WS28PMfg8+&?^ znp7%#wYK1&ZTlTUWIdSkrXSO-^eQuXDSKpuPb9PmZxS0Qhet{}--o8q5ij!SUl-dj zMZM!`|D>2T^IqYJU;#hFeaR!=iO^H^lL_DkJXEzue-YFpxeARuWcrG4xHH*9M9}t2 z5J>G`k0s8>IxlxH{_dm4-4)BGUGA`iEhP^AY+gFmMQ_A5aIq&-Hj1GcGN4zYDggKF+lq1_iIUjtU!4>}a4f_jd*FwxqwmjlKw^9>ls(E*=X}aCRnGp9 z#O_K8>@Q|lKZ5qOPVVR(e5qDv>9YCg>J;^ajhtBS{RjNwtTVD>AnjF^HP~^p{4vf! zzswrCxvsKPaDz~M$YQe!sjMniT1G)%P9B1NHo7@&?2v9fUO@|+ZM2jN%P=wA)y9It zoAsTmIMM=JtnOF|s<|BB4igF_39nd~k*|*vX!($S3AIB~0RS`c!S-7oa zapa}$raoxK#tEqT;9bxyag#@SP$T!J?lwM;Xu_oinJM#bs6lK%yN*_}L-AIaoWp_) zeRM?{1Y#H*v6;3qIn7B`Ywbzxy+wjvgad;I`$gEL4BfP^nigap?dgJmd`eZh791K6 zup7o>W!`Wz9JCsLvqYEvVQdEC#Xe7`%E39vviMz2v<&nR3%wt^J%_fe7CfIB4ao+X zQgo8XNYe~3#JV6{U@1}H+P&6iSEjGQCoLI=n6$uAMMAM}@-Rzkk0pRHhnk}0`5!r~ z!~q0#r~ky?;jfQtfohc!tm%|ecoQ09$!o$(_`QUWHom_gZ!5i&F3$u_-n`hAb{?nT z>o)zUDHl6@zL{=4bS7+`v&}q!NM-(%4aa6M>uLIO1b+f$&Y7=DTK$6Ky@@fY&Vg2 z=^b3)pu|mL2n;)+lzflm0XI#cwhm{5FFf1_4USXzUb^D~gFY^fMw8*`6;Z(#s5LCgYn4H*4$Yk{)h09c=g0L;ra+@+id-j zM|0u#A5l(!CesDE`K>!5>1K`2EY$|46&tUBOLoiLzq#wzvH8j24TZH_#EzB>c{}#i6c3O}ns6bQL&xe}Dh3VUX%KuKM`#bHT5kgmDL7_BM&0=3FQ$zKa$1J3A)n)7Xl#Gv30jx zy?2u2s!VhjSt7Pp6FSh2QMR~of%X(i%Z8-zu$O#_t14p>v-K*J7%)Q0&{jDjZC16n zE%dzy`lREAQE5F#{r*Yvf}dbFotnTvZv&`9H4P_B9<@MZI_GJ#Lb3J|}k|fbs zAiBUXU}LP)ZOe2I5*b=_3DUH93~V3^m6&Tq3FfzPL<8M?X6tbLgU!3dkz)8ACgUB2 zB%R+niYJQ%0gf^7-GGc9EjRrFM^MXf~NioXx0ESDKgkNt#3vT?uH?}mV92xGjR%wC(UAc;o+v6-(`4} zIGa6}#$tlltd3f=Z7Yc8(dJzX1UOQLbS9tblCW>-gGEq{(xL{WT`0&y^oe^Z**azD zyl$4vAa$_ExxvZ#TRbjJTN8edr)IR!xig@Hx$S10nw<9Ol zE;SOt6d_Q`!#*w}f(0ih{q_?Dw9Y2Ajd%#em&|J_o-7uC{fQ2aXmQj_5s~8dO}Jh*pF_{L&2##K#PhB(p+)o1V{@kpK<33*1pTCgT7N1Dcz8H!-* z2lU+Hxf6G#U^1H!XnXx^&Q(Eg3J#u6D2Wv-wRbUd8aoKc7K^EH$Dpq`(#{%UZmTXV zX}N{aR_i+}@#-AMSNNb`+Ag)LRM}-_fy_(aZ zg8xOogZ~;FJ`4PIdq4Q9P_ZZVj<$zNU~USvUJ&t@STo%lT=De5+0b|VX_+#TS%Lro zSTpte(bGdG61%IQ)x-*hqZfHRdmAjp(F^zu=O?GaLOIhW4fp_t?=#(}v^Kdbl0f)* z7ChZb7c=qagaoJyN&6I**=kSuV;EfGRxnw`)5Deq8@zPF*_E|a%7lbZh0R#rHa?px_20NiM z+`E<7qoJ5Uro-vph|&P@Awn&vNpZ?v>3E|UI$l@0Yp86H)s=Vrc&@axP+7LXcn5N7 zCBq5edo2iUer9z`>ByMK!5{LW#LSh1Y4)Eb+HHhBqk-au@XUiF<4+O2F^M^rkw zY=zO9+6v=m>Cu32+1?P@borMdGsZaf@T)F;cx{3Ik6!cC`A3uCjL!+^U!LT|+@S?s zL~TuVe^_7cKT|xMP^(EKl8kQ`boyE~p)w4@b`Gjc%1*FaopZVSf@N4Xz@Zm2Ax9_p zM)6gy+DNY&f(}i70=LL{bi-roJv~u#0m(Y#H>sl6AnO5ls%&%xj^*cniOq`vn>T}8 z6{N$yRJB>rb;CSR<2tt_ZW*YUWDD!4#tf9-+PV1EobSLBo>I=_bdveWKBjT(E8QZA zPOCuxci$n?GwgEL&$~&af2~K)1+Xgu88OoB&Cjxvy4$K@CkqY6(@bfZa*vG^lMTs^ zk9%BKJ=b=HtBTF@kSFIP9hhIC^z4b27mgkztgj1h9xz5V)Vwhadmh8pqr7uDr*nc6 zy3Jx2O~u|toc8GQTFL%}e;&);;D64I^UAp;X=T4OoEtt?E-r41h&MW z^;i)1OYfJeJM1>!Io5lDV4+)BqZq3x->fgJpxo=_Jf_~c4=vD}f`FQ5@SR^dTReV8 zl(7oGPO{2TIltk=c$`1uWw?^Yj}3j|{BM(vwiNnN4+$9rxy^BBa6cp3f)Lw)H?q zqN-k}RQFHzWZ5;AeUH=f8J+zGNyh44Fb#tQ!X3&8ySx%(si{BlZElpGCeIIT^M6efk^uNH=@HRKO5nSO-Z~6HKBQy z8Fk$168k6Swuyia`?k-t*Pl#arpp4<9g8ejkiO?>D_%C#IBr{q!$^3K1-KU^<|wO; z@Sf0=O}`E@aR|5k$-&*8+uip1Px(DKy(4Ci6bO1(Rlue4sFmuSE-_!>P(p`0OeHUt z-4qc$k;r=umeno(T#@<2;ft|D-+eRL33qmL_ZhDg2^uB`q-BblVOX4z%d$Po-t;Sh zhvIodAAt=1httEDeAzOU7Qf>~LRE9ei*#eb@W}wX$>f2YhRNtx!-A>4u0juO=k0mO@&HX2A0R-6A*#r&t zb&>c!%iIN!f9@Vu?{rwPm*5XC6xonurjS`<@sY~b54ZceekdUasuigmNp)U(`u)!X z?|IcF?ugDg$#q&&^ijzI($Y4z7|fe|{@V+dt3IiwI1*3AB27J=-Tt0;QP_j2$iilV zrSm?=-}?JrcX{hW`~&@AoyrcISyy^mCVlHViPda2_10HwP5)=4=h`mpfVdk>%eP>| zd-WBLzJ&WU92759Gt!nP`*?3b;U8>Cn@v~Vy5Nf|(Q=Pt1aoae(Lt;Q11 zn-Kh}K$rhnJO_yU|E>8r@6Q4iohc>i;dvL`OIdaUPFi9^_{TBkysz-Lppu<^=imAm z|3DJu^EL!=t?bbM8Kt+TUHgAQ$Ny&_&Q6NA4m<>B!PqjFCtp7ZN3s`=pxO4^!Y@c) z{xR#Y-ui0w{}YhsC!Om*u}>jn$LJw$ube;oy@^HcCY+Ltb6-rOk7?VTKfC_F7-#-B D1hHvd literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/logos-no-background/logo-red-and-black@300x.png b/docs/assets/raster-300ppi/logos-no-background/logo-red-and-black@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..49b93918496388a4f999476d66ca3269434235b9 GIT binary patch literal 111674 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 *p_d?SAuF|x$)!5^Mw13mSojcI%m$^unWI=}tI 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 literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/logos-no-background/logo-red-and-white@300x.png b/docs/assets/raster-300ppi/logos-no-background/logo-red-and-white@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..431e521e1a6d1268aee57d9877d15de23ddfb8f7 GIT binary patch literal 104728 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 J`!o6U{{UR3FS7su literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/logos-no-background/logo-white@300x.png b/docs/assets/raster-300ppi/logos-no-background/logo-white@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4e0f7bf2c6a887e543c1939ed2b1f0bf67df62 GIT binary patch literal 101568 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 QAkW0j+keRaFVe~X0gmr|{Qv*} literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/logos-on-background/logo-bn@300x.png b/docs/assets/raster-300ppi/logos-on-background/logo-bn@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..a3e86fbe9f3e0525f74a571b94f6974aa4ebfb46 GIT binary patch literal 190172 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
?N!^G{6nli}ro98@MLL&-GK-lv2(Ke#yK4 zyBz)_V%UM ze6Pj=SRdsXEri!~n@rZ>yFXZHl0U)@ESwQ0Kl(M}IM_iGqWjPENc{Q$r7@^hH`%I+ zi`jQCt4;Sa_aCLG207A!_LKu}*H_Oer^e1;bs_L&(*0bB=s&*rJiqAN#A-7H?obXK zH*&eqGcIMjkie90&BOIBP9Ne*;RC^D40)?DRU(^yR3IzAvV4|QaAnVOG3dk?Clm;N z-ScErKralsv*ab-+T@MVb$l@~9;R9_LAUW!=Kv0+{`Tg_<#OB7jY(-7Nbz0x3X^<; zZZ{!EZdoM%(lf6V(ug<-y1&FU@U8p1(-|$NGUBFwWPYwUtW!CtL4N8OFNA!4>dZE+ zVnO#u3M=JGlvk714dc31)5Jn-y}N0UppkCDMgr@7nw}vPp`h!Q(~^yrfp-isA+y|v z!ZgAvCoVgN{5Z=H&mA?!WJf`b@l(%0$tE@wEp3@P#P0?#v~;t@)`IA>#e1~%8?7^E z^pDP*-eTso+z!7Q)LM(TN;2^L)8qBe#l@uYmif}+t1brIhl zK!yDuw>>h&h@Ty>Ug??yy)@29~VMG_b>F<{BN!f%j?@&ex-b-rZbg6xzg+~Yq=Di zntdfN7~^YN9BBDHKJ^JHKgHkKopxswz$}M0G8Q8yN)*%b|^o1rFuJMn(a{a%dxCfkQd5 zkx{^~95zEn-~6+NlxDxNw8&0uGfHzz_!S!&8yO1%_H44ip`6&rC}3C)ZDcHPC@24B zWcm~&VY5WOM}YZM+uUzrVLh^uvEpH#*~pk!SdVOEtazAbHZmp_)*~AkD<0;Vjf{zf z^~grXiide-BV%G=J^B}s`B|gNzgcWGU*cbU0kZ*qWLq(U5s~LMG7^d4PaBzFMC7@R zj6@>%(?%v35qWMSBasOHw2=u$M4sEoNF;(kZDfKGk>@rt5{ckX8<}84aB6Jj^qOOy{KH1>_%tpq< z!g^#QW5vTf`@eyVzCAAFF0FO{j-IM+Z-hU1@ZsXE*P2^Myz|*ll_h8Ix+#(EW?;T| z^P~4}7q!)!evnNM%et}@+LDTIQl*H*Uc>Xy6l<%98ykKN8Xo|@b0~npZ#xp C=IQzX literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/logos-on-background/logo-dark@300x.png b/docs/assets/raster-300ppi/logos-on-background/logo-dark@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e2da73bd7b41a9be3a6f782074b8f0689fd25b GIT binary patch literal 195001 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 literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/logos-on-background/logo-light@300x.png b/docs/assets/raster-300ppi/logos-on-background/logo-light@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..3046d3959536fbdf5ac50d7392695401be97a4f4 GIT binary patch literal 197592 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

~EM7f6O$4dp%m|BM1cQV+|ZsjKuCS2 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�M@@e!F_}#^P}+e<{6VEA9xeIkDHpu+zDq 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 literal 0 HcmV?d00001 diff --git a/docs/assets/raster-300ppi/logos-on-background/logo-nb@300x.png b/docs/assets/raster-300ppi/logos-on-background/logo-nb@300x.png new file mode 100644 index 0000000000000000000000000000000000000000..6f2639096972b11456b6596485bc9cfdda152c3e GIT binary patch literal 190019 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�Yimh(aqAkkkIB5A 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 literal 0 HcmV?d00001 diff --git a/docs/assets/vector-svg/icons-no-background/icon-black.svg b/docs/assets/vector-svg/icons-no-background/icon-black.svg new file mode 100644 index 0000000..e1a1358 --- /dev/null +++ b/docs/assets/vector-svg/icons-no-background/icon-black.svg @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/icons-no-background/icon-red.svg b/docs/assets/vector-svg/icons-no-background/icon-red.svg new file mode 100644 index 0000000..0a01971 --- /dev/null +++ b/docs/assets/vector-svg/icons-no-background/icon-red.svg @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/icons-no-background/icon-white.svg b/docs/assets/vector-svg/icons-no-background/icon-white.svg new file mode 100644 index 0000000..9b0f34e --- /dev/null +++ b/docs/assets/vector-svg/icons-no-background/icon-white.svg @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/icons-on-background/icon-bn-app.svg b/docs/assets/vector-svg/icons-on-background/icon-bn-app.svg new file mode 100644 index 0000000..ddfd06e --- /dev/null +++ b/docs/assets/vector-svg/icons-on-background/icon-bn-app.svg @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/icons-on-background/icon-bn.svg b/docs/assets/vector-svg/icons-on-background/icon-bn.svg new file mode 100644 index 0000000..0f180a6 --- /dev/null +++ b/docs/assets/vector-svg/icons-on-background/icon-bn.svg @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/icons-on-background/icon-dark-app.svg b/docs/assets/vector-svg/icons-on-background/icon-dark-app.svg new file mode 100644 index 0000000..cf00a57 --- /dev/null +++ b/docs/assets/vector-svg/icons-on-background/icon-dark-app.svg @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/icons-on-background/icon-dark.svg b/docs/assets/vector-svg/icons-on-background/icon-dark.svg new file mode 100644 index 0000000..a78b47c --- /dev/null +++ b/docs/assets/vector-svg/icons-on-background/icon-dark.svg @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/icons-on-background/icon-light-app.svg b/docs/assets/vector-svg/icons-on-background/icon-light-app.svg new file mode 100644 index 0000000..2f6c7e4 --- /dev/null +++ b/docs/assets/vector-svg/icons-on-background/icon-light-app.svg @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/icons-on-background/icon-light.svg b/docs/assets/vector-svg/icons-on-background/icon-light.svg new file mode 100644 index 0000000..fdde4c9 --- /dev/null +++ b/docs/assets/vector-svg/icons-on-background/icon-light.svg @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/icons-on-background/icon-nb-app.svg b/docs/assets/vector-svg/icons-on-background/icon-nb-app.svg new file mode 100644 index 0000000..4f198f3 --- /dev/null +++ b/docs/assets/vector-svg/icons-on-background/icon-nb-app.svg @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/icons-on-background/icon-nb.svg b/docs/assets/vector-svg/icons-on-background/icon-nb.svg new file mode 100644 index 0000000..dc89ea1 --- /dev/null +++ b/docs/assets/vector-svg/icons-on-background/icon-nb.svg @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/logos-no-background/logo-black.svg b/docs/assets/vector-svg/logos-no-background/logo-black.svg new file mode 100644 index 0000000..ca9e5de --- /dev/null +++ b/docs/assets/vector-svg/logos-no-background/logo-black.svg @@ -0,0 +1,21 @@ + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/logos-no-background/logo-red-and-black.svg b/docs/assets/vector-svg/logos-no-background/logo-red-and-black.svg new file mode 100644 index 0000000..21301c7 --- /dev/null +++ b/docs/assets/vector-svg/logos-no-background/logo-red-and-black.svg @@ -0,0 +1,21 @@ + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/logos-no-background/logo-red-and-white.svg b/docs/assets/vector-svg/logos-no-background/logo-red-and-white.svg new file mode 100644 index 0000000..2ac9a7b --- /dev/null +++ b/docs/assets/vector-svg/logos-no-background/logo-red-and-white.svg @@ -0,0 +1,21 @@ + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/logos-no-background/logo-white.svg b/docs/assets/vector-svg/logos-no-background/logo-white.svg new file mode 100644 index 0000000..6e5b082 --- /dev/null +++ b/docs/assets/vector-svg/logos-no-background/logo-white.svg @@ -0,0 +1,21 @@ + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/logos-on-background/logo-bn.svg b/docs/assets/vector-svg/logos-on-background/logo-bn.svg new file mode 100644 index 0000000..7c34eff --- /dev/null +++ b/docs/assets/vector-svg/logos-on-background/logo-bn.svg @@ -0,0 +1,24 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/logos-on-background/logo-dark.svg b/docs/assets/vector-svg/logos-on-background/logo-dark.svg new file mode 100644 index 0000000..3212912 --- /dev/null +++ b/docs/assets/vector-svg/logos-on-background/logo-dark.svg @@ -0,0 +1,24 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/logos-on-background/logo-light.svg b/docs/assets/vector-svg/logos-on-background/logo-light.svg new file mode 100644 index 0000000..9b8b1eb --- /dev/null +++ b/docs/assets/vector-svg/logos-on-background/logo-light.svg @@ -0,0 +1,24 @@ + + + + \ No newline at end of file diff --git a/docs/assets/vector-svg/logos-on-background/logo-nb.svg b/docs/assets/vector-svg/logos-on-background/logo-nb.svg new file mode 100644 index 0000000..41af7f8 --- /dev/null +++ b/docs/assets/vector-svg/logos-on-background/logo-nb.svg @@ -0,0 +1,24 @@ + + + + \ No newline at end of file From 25644fe15eb2f736ee0c41178ca523b53458a0b5 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Fri, 24 Apr 2026 23:51:57 +0200 Subject: [PATCH 20/31] docs: add ready-to-use command sheet --- docs/ready-to-use.md | 207 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 docs/ready-to-use.md diff --git a/docs/ready-to-use.md b/docs/ready-to-use.md new file mode 100644 index 0000000..586426f --- /dev/null +++ b/docs/ready-to-use.md @@ -0,0 +1,207 @@ +# svForge - ready-to-use commands + +Test **outputs** in the examples below are written under `data_local/gen-test/` + +```bash +mkdir -p data_local/gen-test +``` + +--- + +## 1. Environment and install + +```bash +python -m venv .venv +source .venv/bin/activate # Windows: .venv\Scripts\activate +pip install -U pip +pip install -e ".[dev,test]" # app + ruff, mypy, pytest +``` + +```bash +svforge --version +``` + +**More logging** (optional): + +```bash +svforge -v gen --help +svforge -vv gen --help +``` + +--- + +## 2. Discover built-in options + +| Command | What it does | +|--------|----------------| +| `svforge callers` | Prints every **writer** name for `--caller` (e.g. `manta`, `delly`). | +| `svforge bank list` | Lists **built-in bank** names. | +| `svforge bank show` | Dumps the default bank (`default_hg38`) as YAML. | +| `svforge bank show ` | Dumps a specific built-in bank. | + +```bash +svforge callers +svforge bank list +svforge bank show +svforge bank show default_hg38 +``` + +--- + +## 3. Generate one VCF (`gen`) + +**Minimal example** (Manta-style VCF, 50 records, one sample): + +```bash +svforge gen --caller manta --out data_local/gen-test/synthetic.vcf.gz --n 50 --sample-name TUMOR01 +``` + +**Same result every time** (fixed seed): + +```bash +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 100 --sample-name S1 --seed 42 +``` + +**DELLY** (output can be `.bcf` if you set the path): + +```bash +svforge gen --caller delly --out data_local/gen-test/synthetic.bcf --n 30 --sample-name S1 --seed 1 +``` + +**Only some SV types** (comma-separated, upper case) : + +```bash +svforge gen --caller manta --out data_local/gen-test/only_del_dup.vcf.gz --n 20 --sample-name S1 \ + --svtypes DEL,DUP +``` + +**Custom bank (YAML on disk):** + +```bash +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 20 --sample-name S1 --bank /path/to/bank.yaml +``` + +**Custom VCF header template:** + +```bash +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 10 --sample-name S1 \ + --header-template /path/to/header.template +``` + +**Reference build** (v1 is mainly **hg38**) : + +```bash +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 10 --sample-name S1 --genome hg38 +``` + +**Sampling ranges** (examples): + +```bash +# SV length in bp, inclusive range +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 15 --sample-name S1 --svlen-range 100,5000 + +# Microhomology length +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 15 --sample-name S1 --homlen-range 5,30 + +# Variant allele frequency range (0–1) +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 15 --sample-name S1 --vaf-range 0.2,0.9 +``` + +**Only some chromosomes** (with or without `chr`) : + +```bash +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 20 --sample-name S1 --chromosomes chr1,chr7 +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 20 --sample-name S1 --chromosomes 1,7 +``` + +**Bundled mini-catalogs** (fractions in `[0, 1]`; the rest is synthetic) : + +```bash +# gnomAD-style mini TSV +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 50 --sample-name S1 --gnomad-fraction 0.2 + +# ENCODE blacklist-style mini TSV +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 50 --sample-name S1 --blacklist-fraction 0.1 + +# Both +svforge gen --caller manta --out data_local/gen-test/out.vcf.gz --n 100 --sample-name S1 --gnomad-fraction 0.15 --blacklist-fraction 0.1 --seed 7 +``` + +--- + +## 4. Tumor + normal pair (`gen-pair`) + +**Example:** + +```bash +svforge gen-pair \ + --caller manta \ + --out-tumor data_local/gen-test/tumor.vcf.gz \ + --out-normal data_local/gen-test/normal.vcf.gz \ + --n-somatic 30 \ + --n-germline 10 \ + --tumor-sample-name TUMOR_01 \ + --normal-sample-name NORMAL_01 \ + --seed 99 +``` + +Same **sampling flags** as `gen` work here (`--bank`, `--gnomad-fraction`, `--blacklist-fraction`, `--svtypes`, ranges, etc.). + +--- + +## 5. Check a VCF you generated (`validate`) + +Exit code `0` = pass; non-zero = fail. + +**Print to the terminal:** + +```bash +svforge validate --vcf data_local/gen-test/synthetic.vcf.gz +``` + +**Write a TSV report:** + +```bash +svforge validate --vcf data_local/gen-test/synthetic.vcf.gz --report-tsv data_local/gen-test/validate_report.tsv +``` + +--- + +## 6. Developer commands (from repository root) + +| Step | Command | +|------|--------| +| Lint | `ruff check .` | +| Auto-fix (safe) | `ruff check . --fix` | +| Format | `ruff format .` | +| Types | `mypy src` | +| Tests | `pytest -q` | +| Tests + coverage | `pytest --cov=svforge --cov-report=term-missing` | +| One file | `pytest tests/test_cli.py` | + +**All in one go:** + +```bash +ruff check . && ruff format --check . && mypy src && pytest -q +``` + +--- + +## 7. Optional: **bcftools** (sanity on the file) + +```bash +bcftools view -h data_local/gen-test/synthetic.vcf.gz +bcftools view -H data_local/gen-test/synthetic.vcf.gz | head +``` + +--- + +## 8. Help in the terminal + +```bash +svforge --help +svforge gen --help +svforge gen-pair --help +svforge validate --help +svforge bank --help +``` From 74963f90a48d9ad56d9387f80ef5e44410e59a9e Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Sat, 25 Apr 2026 12:41:26 +0200 Subject: [PATCH 21/31] docs: update README --- README.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..8ceda45 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +

+ + + + svForge logo + +

+ +### Generate synthetic SV VCFs to stress-test your pipelines with confidence + +--- + +**svForge** produces caller-specific VCFs (Manta, DELLY) in VCF / VCF.gz / BCF format with fine-grained control over variability (HOMLEN, SVLEN, VAF) and realistic artefact injection (SVs in ENCODE blacklist regions, gnomAD germline SVs). + +Designed to be modular, it is easy to adapt to your own use case. +You can tune generation parameters, plug in new callers, and customize the workflow without reworking the whole tool. + +## Installation + +```bash +pip install svforge +``` + +Or from source: + +```bash +git clone https://github.com/pieetie/svforge +cd svforge +pip install -e ".[dev,test]" +``` + +## Quick start + +For ready-to-run command lines (single sample, tumor/normal pair, validation, banks, and dev checks), see [`docs/ready-to-use.md`](docs/ready-to-use.md). + +## Typical use cases + +- Validate downstream filters (for example, `SVFORGE_SOURCE=gnomad` records should disappear after your gnomAD filtering step). +- Validate ENCODE blacklist annotation logic (for example, `SVFORGE_SOURCE=blacklist` records should receive your expected poor-mappability label). +- Run reproducible CI regression tests with fixed seeds, without committing generated VCF files. +- Smoke-test deployments and pipeline changes in seconds instead of rerunning full variant callers on BAM files. +- Reproduce specific scenarios and edge cases (cross-chrom BNDs, contig-edge events, controlled VAF/HOMLEN ranges) for debugging and QA. +- Demo or onboard safely with realistic SV VCFs and no patient data. + +## CLI + +``` +svforge gen # one VCF for one sample +svforge gen-pair # tumor + normal VCFs for somatic pipelines +svforge validate # self-consistency check of injected SVs +svforge bank list # list built-in banks +svforge bank show # dump a bank as YAML +svforge callers # list registered writers +``` + +Run `svforge --help` for the full flag list. + +## Credits + +- **Logo and visual identity** - [Elisa Perrin](https://www.linkedin.com/in/elisaperrin/) +- **Claude** (Anthropic) - assisted with tests, documentation, refactoring, and release tooling (Ruff linting/formatting, CI cleanup) + +## License + +[MIT](LICENSE) From 3f7d21b289e140c0373c5b5126fcd4d5726f746c Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Sat, 25 Apr 2026 12:44:05 +0200 Subject: [PATCH 22/31] docs: fix logo color toggle --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8ceda45..e2c3364 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@

- - - svForge logo + + + svForge logo

From a723c157ac139069d78346ee506a8e55a11cc4dd Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Sat, 25 Apr 2026 12:45:58 +0200 Subject: [PATCH 23/31] docs: fix logo width --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e2c3364..a8625d3 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ - svForge logo + svForge logo From 3c202a79e75d6b0f702a0e1f2435ca29a55d25cd Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Sat, 25 Apr 2026 12:48:01 +0200 Subject: [PATCH 24/31] docs: fix logo width (450) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a8625d3..7144434 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ - svForge logo + svForge logo From 4d95fa58bff23ae592e2ebd1379bb4e596d1b707 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Sat, 25 Apr 2026 13:05:58 +0200 Subject: [PATCH 25/31] docs: add contributing --- CONTRIBUTING.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..38419d6 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,38 @@ +# Contributing to svForge + +## Development setup + +```bash +python -m venv .venv +source .venv/bin/activate +pip install -e ".[dev,test]" +``` + +## Contribution workflow + +1. Open an issue first and describe the change (new caller, new template, fix, etc.). Wait for feedback before coding. +2. Create a dedicated branch from `main` named `{issue-number}-short-description`. Never work directly on `main`. +3. Use commit messages that reference the issue number: `feat: XXX #12`, `fix: XXX (#15)`. +4. Update `CHANGELOG.md`. +5. Run the local quality gate before pushing. If it is not all green, the PR is not reviewed: + +```bash +ruff check . +ruff format --check . +mypy src +pytest -q +``` + +6. Push and open a PR to `main`. In the PR description, add `Closes #` for automatic issue closing at merge. +7. Use squash merge. The squash commit message must be clean and final (not a draft branch history dump). +8. Delete the branch after merge. + +## Common contribution cases + +- Add a new caller (GRIDSS, SvABA, Lumpy, Smoove, ...). This is the main contribution path and a core modularity goal of the project. +- Add a new header template for an uncovered genome or scenario (for example `hg19`, germline mode, tumor-only mode). +- Enrich the bundled mini-catalogs (`gnomad_hg38_mini.tsv`, `blacklist_hg38_mini.tsv`) with more entries or more diversity. +- Improve the default bank (`default_hg38.yaml`) with more representative SV templates. +- Report a bug with a minimal command that reproduces it. +- Improve documentation. +- Add tests for an uncovered edge case (for example negative `SVLEN`, BND to alt contig, etc.). From 54a40de47b73a426a25b2915bc0a2b2421bd91ec Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Sat, 25 Apr 2026 13:06:54 +0200 Subject: [PATCH 26/31] docs: fix contributing --- CONTRIBUTING.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 38419d6..2efdf56 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,7 +18,6 @@ pip install -e ".[dev,test]" ```bash ruff check . -ruff format --check . mypy src pytest -q ``` From 8f936eb59b6c662f492f7c62136fe5a55085ec6b Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Sat, 25 Apr 2026 13:38:24 +0200 Subject: [PATCH 27/31] docs: add CHANGELOG --- CHANGELOG.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..8cc5aab --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,20 @@ +# Changelog + +## [1.0.0] — 2026-04-25 + +Initial release. + +- `svforge gen` and `svforge gen-pair` to generate synthetic VCFs (single-sample or coherent tumor/normal pair) +- Manta (VCFv4.1) and DELLY (VCFv4.2) writers +- Injection via `--gnomad-fraction` and `--blacklist-fraction` +- `INFO/SVFORGE_SOURCE` tag on every record (`bank` / `gnomad` / `blacklist`) for self-verifying pipelines +- `svforge validate` to confirm injected records match the bundled catalogs exactly +- Chromosome filtering via `--chromosomes` +- Custom header support via `--header-template PATH` +- Deterministic sampling via `--seed`; effective seed always logged in the output VCF +- BCF / VCF.gz / VCF output formats +- Default hg38 SV bank with weighted templates across DEL, DUP, INV, INS, BND +- Writer plugin system: third-party callers can register via `svforge.writers` entry point +- Non-configurable `##svforgeWarning=SYNTHETIC_DATA_DO_NOT_USE_FOR_CLINICAL_DIAGNOSIS` injected in every VCF header +- `sanitize_command()` strips absolute paths from the logged command line so user home directories and cluster paths never leak into generated VCFs +- Python 3.10+, hg38 only \ No newline at end of file From 6b165ab64ab3ceb4eefb7eebd20509a7c1bdbbbb Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Sat, 25 Apr 2026 13:39:19 +0200 Subject: [PATCH 28/31] ci: update CI and publish workflows --- .github/workflows/ci.yml | 60 +++++++++++++++++++++++++ .github/workflows/publish.yml | 83 +++++++++++++++++++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..0102123 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,60 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + branches: [main] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + quality: + name: Lint, type-check, test + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.10", "3.11", "3.12"] + + steps: + - uses: actions/checkout@v4 + + - name: Install bcftools + run: | + sudo apt-get update + sudo apt-get install -y bcftools + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: pip + + - name: Install package + run: | + python -m pip install -U pip + python -m pip install -e ".[dev,test]" + + - name: Ruff lint + run: ruff check . + + - name: Mypy + run: mypy src + + - name: Pytest + run: pytest + + - name: bcftools round-trip check + shell: bash + run: | + set -euo pipefail + tmp=$(mktemp -d) + svforge gen --caller manta --out "$tmp/manta.vcf.gz" --n 50 --sample-name T01 --seed 42 + svforge gen --caller delly --out "$tmp/delly.bcf" --n 50 --sample-name T01 --seed 42 + bcftools view -h "$tmp/manta.vcf.gz" > /dev/null + bcftools view -h "$tmp/delly.bcf" > /dev/null + test "$(bcftools view -H "$tmp/manta.vcf.gz" | wc -l)" -gt 0 + test "$(bcftools view -H "$tmp/delly.bcf" | wc -l)" -gt 0 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..43214b0 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,83 @@ +name: Publish + +on: + push: + tags: + - "v*" + workflow_dispatch: + +jobs: + quality: + name: Quality gate before publish + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install bcftools + run: | + sudo apt-get update + sudo apt-get install -y bcftools + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + cache: pip + + - name: Install package + run: | + python -m pip install -U pip + python -m pip install -e ".[dev,test]" + + - name: Ruff lint + run: ruff check . + + - name: Mypy + run: mypy src + + - name: Pytest + run: pytest + + build: + name: Build sdist and wheel + needs: quality + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install build + run: python -m pip install -U pip build + + - name: Build + run: python -m build + + - name: Upload artefacts + uses: actions/upload-artifact@v4 + with: + name: dist + path: dist/ + + publish: + name: Publish to PyPI + needs: build + runs-on: ubuntu-latest + environment: + name: pypi + url: https://pypi.org/project/svforge + permissions: + id-token: write + + steps: + - name: Download artefacts + uses: actions/download-artifact@v4 + with: + name: dist + path: dist/ + + - name: Publish + uses: pypa/gh-action-pypi-publish@release/v1 \ No newline at end of file From 088e8612ac2e3fe4161eecbfb214ff3d4a87af80 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Sat, 25 Apr 2026 13:46:49 +0200 Subject: [PATCH 29/31] ci: harden release process --- .github/workflows/publish.yml | 46 ++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 43214b0..6dbe7b5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -4,11 +4,36 @@ on: push: tags: - "v*" - workflow_dispatch: jobs: + verify-tag: + name: Verify tag matches pyproject version + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Check tag == project version + shell: bash + run: | + set -euo pipefail + tag="${GITHUB_REF_NAME}" + tag_version="${tag#v}" + project_version=$(python -c "import tomllib, pathlib; print(tomllib.loads(pathlib.Path('pyproject.toml').read_text())['project']['version'])") + echo "Tag: $tag (parsed: $tag_version)" + echo "Project: $project_version" + if [[ "$tag_version" != "$project_version" ]]; then + echo "::error::Tag ($tag_version) does not match pyproject.toml version ($project_version)" + exit 1 + fi + quality: name: Quality gate before publish + needs: verify-tag runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -38,6 +63,18 @@ jobs: - name: Pytest run: pytest + - name: bcftools round-trip check + shell: bash + run: | + set -euo pipefail + tmp=$(mktemp -d) + svforge gen --caller manta --out "$tmp/manta.vcf.gz" --n 50 --sample-name T01 --seed 42 + svforge gen --caller delly --out "$tmp/delly.bcf" --n 50 --sample-name T01 --seed 42 + bcftools view -h "$tmp/manta.vcf.gz" > /dev/null + bcftools view -h "$tmp/delly.bcf" > /dev/null + test "$(bcftools view -H "$tmp/manta.vcf.gz" | wc -l)" -gt 0 + test "$(bcftools view -H "$tmp/delly.bcf" | wc -l)" -gt 0 + build: name: Build sdist and wheel needs: quality @@ -50,12 +87,15 @@ jobs: with: python-version: "3.12" - - name: Install build - run: python -m pip install -U pip build + - name: Install build and twine + run: python -m pip install -U pip build twine - name: Build run: python -m build + - name: Twine check + run: twine check dist/* + - name: Upload artefacts uses: actions/upload-artifact@v4 with: From 92906e15849598b90a000411ce3f3862fb06cde3 Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Sat, 25 Apr 2026 13:52:17 +0200 Subject: [PATCH 30/31] docs: fix README license icon --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7144434..0520c05 100644 --- a/README.md +++ b/README.md @@ -62,4 +62,8 @@ Run `svforge --help` for the full flag list. ## License -[MIT](LICENSE) + + + + svForge icon + Distributed under the
MIT License. From 2fdc2bfdf854b034e61f9d2f6808ba75927672fb Mon Sep 17 00:00:00 2001 From: pieetie <129987442+pieetie@users.noreply.github.com> Date: Sat, 25 Apr 2026 14:10:16 +0200 Subject: [PATCH 31/31] docs: document bcftools sort+index workaround --- docs/ready-to-use.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/ready-to-use.md b/docs/ready-to-use.md index 586426f..bf00e37 100644 --- a/docs/ready-to-use.md +++ b/docs/ready-to-use.md @@ -165,6 +165,14 @@ svforge validate --vcf data_local/gen-test/synthetic.vcf.gz svforge validate --vcf data_local/gen-test/synthetic.vcf.gz --report-tsv data_local/gen-test/validate_report.tsv ``` +If `bcftools index` fails, sort first: + +```bash +bcftools sort -Oz -o data_local/gen-test/synthetic.sorted.vcf.gz data_local/gen-test/synthetic.vcf.gz +bcftools index -t data_local/gen-test/synthetic.sorted.vcf.gz +svforge validate --vcf data_local/gen-test/synthetic.sorted.vcf.gz --report-tsv data_local/gen-test/validate_report.tsv +``` + --- ## 6. Developer commands (from repository root)