From 343856cbc70b2097224064d1bdcc0c616ac62fd9 Mon Sep 17 00:00:00 2001 From: Amanda Charbonneau Date: Tue, 28 Apr 2026 11:01:30 -0400 Subject: [PATCH 1/2] Add files via upload --- .../cdapython/vignettes/010_isbcgc.ipynb | 3635 +++++++++++++++++ 1 file changed, 3635 insertions(+) create mode 100644 docs/documentation/cdapython/vignettes/010_isbcgc.ipynb diff --git a/docs/documentation/cdapython/vignettes/010_isbcgc.ipynb b/docs/documentation/cdapython/vignettes/010_isbcgc.ipynb new file mode 100644 index 00000000..933639c3 --- /dev/null +++ b/docs/documentation/cdapython/vignettes/010_isbcgc.ipynb @@ -0,0 +1,3635 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "908af442-c3fb-45aa-9059-1f5bb0b1cea1", + "metadata": { + "id": "908af442-c3fb-45aa-9059-1f5bb0b1cea1" + }, + "source": [ + "# **Multi-omics Cohort Building with Cancer Data Aggregator**\n", + "\n", + "# Example use case:\n", + "\n", + "This notebook aims to demonstrate building a cohort of specific data types using the Cancer Data Aggregator (CDA). We will be retrieving mutation and gene expression data stored at the Genomic Data Commons (GDC), protein intensity data stored at the Proteomic Data Commons (PDC), and in the future tumor characteristics derived from slide images stored at the Imaging Data Commons (IDC). We then demonstrate how to retrieve the desired derived data of these cases from the ISB-CGC ecosystem to immediatly feed into statistical analyses.\n", + "\n", + "For more information about the CDA data and API visit their site:\n", + "https://cda.readthedocs.io\n", + "\n", + "For more information about the ISB-CGC and the BigQuery Data Ecosystem visit our site:\n", + "https://isb-cgc.org\n", + "\n", + "---\n" + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Setup steps:\n", + "First we import the CDA python packages and functions we will be using." + ], + "metadata": { + "id": "xsMcy0G0JCYW" + }, + "id": "xsMcy0G0JCYW" + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "8770d04d-c70c-46bd-bc36-58f2a6529004", + "metadata": { + "tags": [ + "hide_code" + ], + "id": "8770d04d-c70c-46bd-bc36-58f2a6529004", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "980cd5fa-1a56-436b-dfe5-0ac5581b8328" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting git+https://github.com/CancerDataAggregator/cdapython.git@develop (from -r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6))\n", + " Cloning https://github.com/CancerDataAggregator/cdapython.git (to revision develop) to /tmp/pip-req-build-fgugw9u0\n", + " Running command git clone --filter=blob:none --quiet https://github.com/CancerDataAggregator/cdapython.git /tmp/pip-req-build-fgugw9u0\n", + " Resolved https://github.com/CancerDataAggregator/cdapython.git to commit ce99afc87e98003deaeb38a368e0cc76f32ec1e8\n", + " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting mkdocs-material (from -r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1))\n", + " Downloading mkdocs_material-9.7.6-py3-none-any.whl.metadata (19 kB)\n", + "Collecting pymdown-extensions (from -r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 2))\n", + " Downloading pymdown_extensions-10.21.2-py3-none-any.whl.metadata (3.1 kB)\n", + "Collecting mkdocs-material-extensions (from -r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 3))\n", + " Downloading mkdocs_material_extensions-1.3.1-py3-none-any.whl.metadata (6.9 kB)\n", + "Collecting mkdocs-jupyter (from -r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4))\n", + " Downloading mkdocs_jupyter-0.26.3-py3-none-any.whl.metadata (10 kB)\n", + "Collecting itables (from -r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 5))\n", + " Downloading itables-2.7.3-py3-none-any.whl.metadata (12 kB)\n", + "Requirement already satisfied: babel>=2.10 in /usr/local/lib/python3.12/dist-packages (from mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (2.18.0)\n", + "Collecting backrefs>=5.7.post1 (from mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1))\n", + " Downloading backrefs-6.2-py312-none-any.whl.metadata (3.0 kB)\n", + "Collecting colorama>=0.4 (from mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1))\n", + " Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\n", + "Requirement already satisfied: jinja2>=3.1 in /usr/local/lib/python3.12/dist-packages (from mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (3.1.6)\n", + "Requirement already satisfied: markdown>=3.2 in /usr/local/lib/python3.12/dist-packages (from mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (3.10.2)\n", + "Collecting mkdocs<2,>=1.6 (from mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1))\n", + " Downloading mkdocs-1.6.1-py3-none-any.whl.metadata (6.0 kB)\n", + "Collecting paginate>=0.5 (from mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1))\n", + " Downloading paginate-0.5.7-py2.py3-none-any.whl.metadata (11 kB)\n", + "Requirement already satisfied: pygments>=2.16 in /usr/local/lib/python3.12/dist-packages (from mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (2.20.0)\n", + "Requirement already satisfied: requests>=2.30 in /usr/local/lib/python3.12/dist-packages (from mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (2.32.4)\n", + "Requirement already satisfied: pyyaml in /usr/local/lib/python3.12/dist-packages (from pymdown-extensions->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 2)) (6.0.3)\n", + "Requirement already satisfied: ipykernel<8,>6.0.0 in /usr/local/lib/python3.12/dist-packages (from mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (6.17.1)\n", + "Requirement already satisfied: jupytext<2,>1.13.8 in /usr/local/lib/python3.12/dist-packages (from mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (1.19.1)\n", + "Requirement already satisfied: nbconvert<8,>=7.2.9 in /usr/local/lib/python3.12/dist-packages (from mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (7.17.1)\n", + "Collecting cda-client>=2.1.0 (from cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6))\n", + " Downloading cda_client-2.1.0-py3-none-any.whl.metadata (962 bytes)\n", + "Collecting pandas<3.0.0,>=2.2.3 (from cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6))\n", + " Downloading pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (91 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m91.2/91.2 kB\u001b[0m \u001b[31m3.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: tabulate>=0.9.0 in /usr/local/lib/python3.12/dist-packages (from cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6)) (0.9.0)\n", + "Requirement already satisfied: attrs>=22.2.0 in /usr/local/lib/python3.12/dist-packages (from cda-client>=2.1.0->cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6)) (26.1.0)\n", + "Requirement already satisfied: httpx<0.29.0,>=0.20.0 in /usr/local/lib/python3.12/dist-packages (from cda-client>=2.1.0->cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6)) (0.28.1)\n", + "Requirement already satisfied: python-dateutil<3.0.0,>=2.8.0 in /usr/local/lib/python3.12/dist-packages (from cda-client>=2.1.0->cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6)) (2.9.0.post0)\n", + "Requirement already satisfied: debugpy>=1.0 in /usr/local/lib/python3.12/dist-packages (from ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (1.8.15)\n", + "Requirement already satisfied: ipython>=7.23.1 in /usr/local/lib/python3.12/dist-packages (from ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (7.34.0)\n", + "Requirement already satisfied: jupyter-client>=6.1.12 in /usr/local/lib/python3.12/dist-packages (from ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (7.4.9)\n", + "Requirement already satisfied: matplotlib-inline>=0.1 in /usr/local/lib/python3.12/dist-packages (from ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.2.1)\n", + "Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.12/dist-packages (from ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (1.6.0)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.12/dist-packages (from ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (26.1)\n", + "Requirement already satisfied: psutil in /usr/local/lib/python3.12/dist-packages (from ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (5.9.5)\n", + "Requirement already satisfied: pyzmq>=17 in /usr/local/lib/python3.12/dist-packages (from ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (26.2.1)\n", + "Requirement already satisfied: tornado>=6.1 in /usr/local/lib/python3.12/dist-packages (from ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (6.5.1)\n", + "Requirement already satisfied: traitlets>=5.1.0 in /usr/local/lib/python3.12/dist-packages (from ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (5.7.1)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.12/dist-packages (from jinja2>=3.1->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (3.0.3)\n", + "Requirement already satisfied: markdown-it-py>=1.0 in /usr/local/lib/python3.12/dist-packages (from jupytext<2,>1.13.8->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (4.0.0)\n", + "Requirement already satisfied: mdit-py-plugins in /usr/local/lib/python3.12/dist-packages (from jupytext<2,>1.13.8->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.5.0)\n", + "Requirement already satisfied: nbformat in /usr/local/lib/python3.12/dist-packages (from jupytext<2,>1.13.8->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (5.10.4)\n", + "Requirement already satisfied: click>=7.0 in /usr/local/lib/python3.12/dist-packages (from mkdocs<2,>=1.6->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (8.3.2)\n", + "Collecting ghp-import>=1.0 (from mkdocs<2,>=1.6->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1))\n", + " Downloading ghp_import-2.1.0-py3-none-any.whl.metadata (7.2 kB)\n", + "Collecting mergedeep>=1.3.4 (from mkdocs<2,>=1.6->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1))\n", + " Downloading mergedeep-1.3.4-py3-none-any.whl.metadata (4.3 kB)\n", + "Collecting mkdocs-get-deps>=0.2.0 (from mkdocs<2,>=1.6->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1))\n", + " Downloading mkdocs_get_deps-0.2.2-py3-none-any.whl.metadata (4.0 kB)\n", + "Collecting pathspec>=0.11.1 (from mkdocs<2,>=1.6->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1))\n", + " Downloading pathspec-1.1.1-py3-none-any.whl.metadata (14 kB)\n", + "Collecting pyyaml-env-tag>=0.1 (from mkdocs<2,>=1.6->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1))\n", + " Downloading pyyaml_env_tag-1.1-py3-none-any.whl.metadata (5.5 kB)\n", + "Requirement already satisfied: watchdog>=2.0 in /usr/local/lib/python3.12/dist-packages (from mkdocs<2,>=1.6->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (6.0.0)\n", + "Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.12/dist-packages (from nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (4.13.5)\n", + "Requirement already satisfied: bleach!=5.0.0 in /usr/local/lib/python3.12/dist-packages (from bleach[css]!=5.0.0->nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (6.3.0)\n", + "Requirement already satisfied: defusedxml in /usr/local/lib/python3.12/dist-packages (from nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.7.1)\n", + "Requirement already satisfied: jupyter-core>=4.7 in /usr/local/lib/python3.12/dist-packages (from nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (5.9.1)\n", + "Requirement already satisfied: jupyterlab-pygments in /usr/local/lib/python3.12/dist-packages (from nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.3.0)\n", + "Requirement already satisfied: mistune<4,>=2.0.3 in /usr/local/lib/python3.12/dist-packages (from nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (3.2.0)\n", + "Requirement already satisfied: nbclient>=0.5.0 in /usr/local/lib/python3.12/dist-packages (from nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.10.4)\n", + "Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.12/dist-packages (from nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (1.5.1)\n", + "Requirement already satisfied: numpy>=1.26.0 in /usr/local/lib/python3.12/dist-packages (from pandas<3.0.0,>=2.2.3->cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6)) (2.0.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.12/dist-packages (from pandas<3.0.0,>=2.2.3->cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6)) (2025.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.12/dist-packages (from pandas<3.0.0,>=2.2.3->cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6)) (2026.1)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/dist-packages (from requests>=2.30->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (3.4.7)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.12/dist-packages (from requests>=2.30->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (3.11)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/dist-packages (from requests>=2.30->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (2.5.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.12/dist-packages (from requests>=2.30->mkdocs-material->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 1)) (2026.2.25)\n", + "Requirement already satisfied: webencodings in /usr/local/lib/python3.12/dist-packages (from bleach!=5.0.0->bleach[css]!=5.0.0->nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.5.1)\n", + "Requirement already satisfied: tinycss2<1.5,>=1.1.0 in /usr/local/lib/python3.12/dist-packages (from bleach[css]!=5.0.0->nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (1.4.0)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.12/dist-packages (from httpx<0.29.0,>=0.20.0->cda-client>=2.1.0->cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6)) (4.13.0)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.12/dist-packages (from httpx<0.29.0,>=0.20.0->cda-client>=2.1.0->cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6)) (1.0.9)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.12/dist-packages (from httpcore==1.*->httpx<0.29.0,>=0.20.0->cda-client>=2.1.0->cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6)) (0.16.0)\n", + "Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.12/dist-packages (from ipython>=7.23.1->ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (75.2.0)\n", + "Collecting jedi>=0.16 (from ipython>=7.23.1->ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4))\n", + " Downloading jedi-0.19.2-py2.py3-none-any.whl.metadata (22 kB)\n", + "Requirement already satisfied: decorator in /usr/local/lib/python3.12/dist-packages (from ipython>=7.23.1->ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (4.4.2)\n", + "Requirement already satisfied: pickleshare in /usr/local/lib/python3.12/dist-packages (from ipython>=7.23.1->ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.7.5)\n", + "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from ipython>=7.23.1->ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (3.0.52)\n", + "Requirement already satisfied: backcall in /usr/local/lib/python3.12/dist-packages (from ipython>=7.23.1->ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.2.0)\n", + "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.12/dist-packages (from ipython>=7.23.1->ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (4.9.0)\n", + "Requirement already satisfied: entrypoints in /usr/local/lib/python3.12/dist-packages (from jupyter-client>=6.1.12->ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.4)\n", + "Requirement already satisfied: platformdirs>=2.5 in /usr/local/lib/python3.12/dist-packages (from jupyter-core>=4.7->nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (4.9.6)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.12/dist-packages (from markdown-it-py>=1.0->jupytext<2,>1.13.8->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.1.2)\n", + "Requirement already satisfied: fastjsonschema>=2.15 in /usr/local/lib/python3.12/dist-packages (from nbformat->jupytext<2,>1.13.8->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (2.21.2)\n", + "Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.12/dist-packages (from nbformat->jupytext<2,>1.13.8->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (4.26.0)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.12/dist-packages (from python-dateutil<3.0.0,>=2.8.0->cda-client>=2.1.0->cdapython==2.1.0->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 6)) (1.17.0)\n", + "Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.12/dist-packages (from beautifulsoup4->nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (2.8.3)\n", + "Requirement already satisfied: typing-extensions>=4.0.0 in /usr/local/lib/python3.12/dist-packages (from beautifulsoup4->nbconvert<8,>=7.2.9->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (4.15.0)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.4 in /usr/local/lib/python3.12/dist-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.8.6)\n", + "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.12/dist-packages (from jsonschema>=2.6->nbformat->jupytext<2,>1.13.8->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (2025.9.1)\n", + "Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.12/dist-packages (from jsonschema>=2.6->nbformat->jupytext<2,>1.13.8->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.37.0)\n", + "Requirement already satisfied: rpds-py>=0.25.0 in /usr/local/lib/python3.12/dist-packages (from jsonschema>=2.6->nbformat->jupytext<2,>1.13.8->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.30.0)\n", + "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.12/dist-packages (from pexpect>4.3->ipython>=7.23.1->ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.7.0)\n", + "Requirement already satisfied: wcwidth in /usr/local/lib/python3.12/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=7.23.1->ipykernel<8,>6.0.0->mkdocs-jupyter->-r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt (line 4)) (0.6.0)\n", + "Downloading mkdocs_material-9.7.6-py3-none-any.whl (9.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m9.3/9.3 MB\u001b[0m \u001b[31m69.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pymdown_extensions-10.21.2-py3-none-any.whl (268 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m268.9/268.9 kB\u001b[0m \u001b[31m23.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading mkdocs_material_extensions-1.3.1-py3-none-any.whl (8.7 kB)\n", + "Downloading mkdocs_jupyter-0.26.3-py3-none-any.whl (1.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.5/1.5 MB\u001b[0m \u001b[31m74.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading itables-2.7.3-py3-none-any.whl (2.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.5/2.5 MB\u001b[0m \u001b[31m91.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading backrefs-6.2-py312-none-any.whl (398 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m398.8/398.8 kB\u001b[0m \u001b[31m31.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading cda_client-2.1.0-py3-none-any.whl (32 kB)\n", + "Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "Downloading mkdocs-1.6.1-py3-none-any.whl (3.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.9/3.9 MB\u001b[0m \u001b[31m85.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading paginate-0.5.7-py2.py3-none-any.whl (13 kB)\n", + "Downloading pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (12.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.4/12.4 MB\u001b[0m \u001b[31m98.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading ghp_import-2.1.0-py3-none-any.whl (11 kB)\n", + "Downloading mergedeep-1.3.4-py3-none-any.whl (6.4 kB)\n", + "Downloading mkdocs_get_deps-0.2.2-py3-none-any.whl (9.6 kB)\n", + "Downloading pathspec-1.1.1-py3-none-any.whl (57 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m57.3/57.3 kB\u001b[0m \u001b[31m4.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pyyaml_env_tag-1.1-py3-none-any.whl (4.7 kB)\n", + "Downloading jedi-0.19.2-py2.py3-none-any.whl (1.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m77.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hBuilding wheels for collected packages: cdapython\n", + " Building wheel for cdapython (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for cdapython: filename=cdapython-2.1.0-py3-none-any.whl size=58739 sha256=ee8cdee0e59389d3893bef913a5ca474c1972861ea5b8e99259b0a56b6ae3132\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-ehp0e4ya/wheels/05/99/4c/deeda71a27f986f3cc7f910dfd6dfed0f1b711104966d07545\n", + "Successfully built cdapython\n", + "Installing collected packages: paginate, pyyaml-env-tag, pymdown-extensions, pathspec, mkdocs-material-extensions, mergedeep, jedi, itables, colorama, backrefs, pandas, mkdocs-get-deps, ghp-import, mkdocs, cda-client, mkdocs-material, cdapython, mkdocs-jupyter\n", + " Attempting uninstall: pandas\n", + " Found existing installation: pandas 2.2.2\n", + " Uninstalling pandas-2.2.2:\n", + " Successfully uninstalled pandas-2.2.2\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "google-colab 1.0.0 requires pandas==2.2.2, but you have pandas 2.3.3 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed backrefs-6.2 cda-client-2.1.0 cdapython-2.1.0 colorama-0.4.6 ghp-import-2.1.0 itables-2.7.3 jedi-0.19.2 mergedeep-1.3.4 mkdocs-1.6.1 mkdocs-get-deps-0.2.2 mkdocs-jupyter-0.26.3 mkdocs-material-9.7.6 mkdocs-material-extensions-1.3.1 paginate-0.5.7 pandas-2.3.3 pathspec-1.1.1 pymdown-extensions-10.21.2 pyyaml-env-tag-1.1\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n" + ] + }, + "metadata": {} + } + ], + "source": [ + "try:\n", + " from itables import(\n", + " init_notebook_mode, show\n", + " )\n", + "except:\n", + " !pip install -r https://raw.githubusercontent.com/CancerDataAggregator/Community-Notebooks/main/requirements.txt\n", + "\n", + "\n", + "import numpy as np\n", + "import pandas as pd\n", + "from itables import init_notebook_mode, show\n", + "init_notebook_mode(all_interactive=True)\n", + "import itables.options as opt\n", + "\n", + "opt.classes=\"display\"\n", + "opt.buttons=[\"copyHtml5\", \"csvHtml5\", \"excelHtml5\"]\n", + "opt.maxBytes=0" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "11b76f87-7fa7-4291-9ea9-1759a5ad1acc", + "metadata": { + "tags": [ + "hide_code" + ], + "id": "11b76f87-7fa7-4291-9ea9-1759a5ad1acc" + }, + "outputs": [], + "source": [ + "from cdapython import * #tables, columns, column_values, fetch_rows, summary_counts" + ] + }, + { + "cell_type": "markdown", + "source": [ + "---\n", + "\n", + "The `tables()` function from the CDA package simply returns a list of tables tables available. These tables each contain various information about the patients in the three Data Commons." + ], + "metadata": { + "id": "srR2U42vJLeb" + }, + "id": "srR2U42vJLeb" + }, + { + "cell_type": "code", + "source": [ + "tables()" + ], + "metadata": { + "id": "9t-vnSvJLWTq", + "outputId": "87a3fa27-45f3-4fef-aa50-c7b45ffab9d8", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "id": "9t-vnSvJLWTq", + "execution_count": 3, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['file',\n", + " 'mutation',\n", + " 'observation',\n", + " 'project',\n", + " 'subject',\n", + " 'treatment',\n", + " 'upstream_identifiers']" + ] + }, + "metadata": {}, + "execution_count": 3 + } + ] + }, + { + "cell_type": "markdown", + "id": "f4c886b1-f65e-4b4a-86da-1fcadea74a9a", + "metadata": { + "id": "f4c886b1-f65e-4b4a-86da-1fcadea74a9a" + }, + "source": [ + "Considering we are interested in specific data types we can further query the columns of the `file` table by use of the `columns()` function. This returns a set of columns, the format of the data contained in these columns, and a short description." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "5626eba3-805b-44e8-8143-ac412953b25e", + "metadata": { + "scrolled": true, + "id": "5626eba3-805b-44e8-8143-ac412953b25e", + "outputId": "95b1138f-2652-4baf-d954-34df54f1054f", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 634 + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " table column data_type nullable \\\n", + "0 file file_id text False \n", + "1 file access text True \n", + "2 file anatomic_site text False \n", + "3 file category text True \n", + "4 file drs_uri text True \n", + "5 file file_description text True \n", + "6 file file_name text True \n", + "7 file file_type text True \n", + "8 file format text True \n", + "9 file size bigint True \n", + "10 file tumor_vs_normal text True \n", + "\n", + " description \n", + "0 A unique identifier for this file minted by CD... \n", + "1 Denotes controlled vs open access. \n", + "2 One or more anatomic sites described by this f... \n", + "3 General category of file data. In the case of ... \n", + "4 A resolvable DRS URI minted for this file and ... \n", + "5 Optional text describing this file. \n", + "6 File name or label (may optionally include loc... \n", + "7 File data type (like \"CT image\" or \"miRNA expr... \n", + "8 File format (like JPEG, PDF or CSV). \n", + "9 File size in bytes. In the case of a DICOM ser... \n", + "10 One or more tumor/normal characterizations of ... " + ], + "text/html": [ + "\n", + "
\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " Loading ITables v2.7.3 from the internet...\n", + " (need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"columns(table=['file'])\",\n \"rows\": 11,\n \"fields\": [\n {\n \"column\": \"table\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"file\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"column\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 11,\n \"samples\": [\n \"file_description\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"data_type\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"bigint\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"nullable\",\n \"properties\": {\n \"dtype\": \"boolean\",\n \"num_unique_values\": 2,\n \"samples\": [\n true\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"description\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 11,\n \"samples\": [\n \"Optional text describing this file.\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 4 + } + ], + "source": [ + "columns(table=['file'])" + ] + }, + { + "cell_type": "markdown", + "source": [ + "From browsing the results we can infer that `file_type` is likely to contain the information we are after. We can further interrogate the CDA data and retrieve a list of possible values in each field via the `column_values()` which we apply to the `file_type` column." + ], + "metadata": { + "id": "Blpv7PvnJ_yQ" + }, + "id": "Blpv7PvnJ_yQ" + }, + { + "cell_type": "code", + "source": [ + "column_values('file_type')" + ], + "metadata": { + "id": "txbaQNahO6q8", + "outputId": "bda711bd-ed06-4c96-b6ab-c22539e96005", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 513 + } + }, + "id": "txbaQNahO6q8", + "execution_count": 5, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " file_type value_count\n", + "0 372960\n", + "1 Somatic Mutation Index 320220\n", + "2 Enhanced SR Storage 262883\n", + "3 CT Image Storage 251470\n", + "4 Annotated Somatic Mutation 219858\n", + ".. ... ...\n", + "86 Other Modality 4\n", + "87 Database 1\n", + "88 Digital Radiography 1\n", + "89 Skyline Document 1\n", + "90 X-Ray Radiation Dose SR Storage 1\n", + "\n", + "[91 rows x 2 columns]" + ], + "text/html": [ + "\n", + "
\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " Loading ITables v2.7.3 from the internet...\n", + " (need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"column_values('file_type')\",\n \"rows\": 91,\n \"fields\": [\n {\n \"column\": \"file_type\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 91,\n \"samples\": [\n \"Secondary Capture Image Storage\",\n \"Allele-specific Copy Number Segment\",\n \"RT Plan\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"value_count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 73827,\n \"min\": 1,\n \"max\": 372960,\n \"num_unique_values\": 86,\n \"samples\": [\n 88,\n 372960,\n 139\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 5 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "---\n", + "\n", + "The function returns a list of possible data types associated with all subjects. We can browse this and select those pertinent to our analysis. Specifically we will be relying on the `file_type` and `data_source` fields. For example, we can retrieve all cases with Pathology Reports as below:" + ], + "metadata": { + "id": "9R5ElGOkKTbq" + }, + "id": "9R5ElGOkKTbq" + }, + { + "cell_type": "code", + "source": [ + "pathology = get_file_data(match_all=['file_type = Pathology Report'])\n", + "pathology.head(3)" + ], + "metadata": { + "id": "dTdh2jhbPXZJ", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 419 + }, + "outputId": "d4246197-755f-4f85-c20d-cdcdf8ae842a" + }, + "id": "dTdh2jhbPXZJ", + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " file_id access anatomic_site category \\\n", + "0 5c668867-aa75-4ce4-a327-dd3034d374b7 open [] \n", + "1 3a514b6a-fc8e-42cb-b363-7d43e2257755 open [] \n", + "2 f9efd368-c1f6-4a96-a276-2a684b78e25d open [] \n", + "\n", + " drs_uri file_description \\\n", + "0 drs://dg.4dfc:5c668867-aa75-4ce4-a327-dd3034d3... \n", + "1 drs://dg.4dfc:3a514b6a-fc8e-42cb-b363-7d43e225... \n", + "2 drs://dg.4dfc:f9efd368-c1f6-4a96-a276-2a684b78... \n", + "\n", + " file_name file_type format \\\n", + "0 TCGA-G2-AA3B.F2410C77-1B33-47AA-A820-8A0E63723... Pathology Report PDF \n", + "1 TCGA-A2-A0YH.0C344CD7-6FAB-462B-9A8E-75B720F2D... Pathology Report PDF \n", + "2 TCGA-23-1109.D70D81CA-5EB2-426C-AFC7-4D52BC36B... Pathology Report PDF \n", + "\n", + " size tumor_vs_normal data_source \n", + "0 47566 [tumor] [GDC] \n", + "1 225815 [tumor] [GDC] \n", + "2 139136 [tumor] [GDC] " + ], + "text/html": [ + "\n", + "
\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " Loading ITables v2.7.3 from the internet...\n", + " (need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "pathology", + "summary": "{\n \"name\": \"pathology\",\n \"rows\": 11324,\n \"fields\": [\n {\n \"column\": \"file_id\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 11324,\n \"samples\": [\n \"02ffc7a8-bd77-46da-864b-dab575a5bd84\",\n \"f24c9f24-74b8-4265-beab-dc2ed1368a48\",\n \"c773f5b4-c953-4021-954e-f1aacac0c640\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"access\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"open\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"anatomic_site\",\n \"properties\": {\n \"dtype\": \"object\",\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"category\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"drs_uri\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 11324,\n \"samples\": [\n \"drs://dg.4dfc:02ffc7a8-bd77-46da-864b-dab575a5bd84\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"file_description\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"file_name\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 11324,\n \"samples\": [\n \"TCGA-YF-AA3M.D0F09A8C-8431-4A41-B7A6-BE6E9621CC58.PDF\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"file_type\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Pathology Report\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"format\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"PDF\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"size\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 866265,\n \"min\": 3604,\n \"max\": 23082624,\n \"num_unique_values\": 11110,\n \"samples\": [\n 21256\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"tumor_vs_normal\",\n \"properties\": {\n \"dtype\": \"object\",\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"data_source\",\n \"properties\": {\n \"dtype\": \"object\",\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 6 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Selecting data types\n", + "\n", + "To simplify the cohort building process we will query for data from each data commons (genomic, proteomic, imaging) separately and then perform set operations to determine the overlap. For the genomic component of our analysis we will first retrieve a list of cases with mutation data available from the GDC, followed by the set of cases with RNA gene expression data. More information about the data processing pipelines used by the GDC can be found in their documentation.\n", + "\n", + "https://gdc.cancer.gov/about-data/gdc-data-processing/genomic-data-processing\n", + "\n", + "Our first query to retrieve those cases from the GDC that have **Somatic Mutation** data:" + ], + "metadata": { + "id": "HflUtY5bKqAT" + }, + "id": "HflUtY5bKqAT" + }, + { + "cell_type": "code", + "source": [ + "gdc_mutation = get_subject_data(match_any = [\"file_type = Aggregated Somatic Mutation\", \"file_type = Annotated Somatic Mutation\"],\n", + " data_source = ['GDC'])\n", + "gdc_mutation.head(3)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 283 + }, + "id": "HzNO3aHegMTj", + "outputId": "54509569-8183-485a-b23a-8d3f36fa2020" + }, + "id": "HzNO3aHegMTj", + "execution_count": 7, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " subject_id cause_of_death ethnicity race species \\\n", + "0 FM.AD12252 human \n", + "1 TCGA.TCGA-CV-A45R Hispanic or Latino White human \n", + "2 TCGA.TCGA-23-1123 Non-Hispanic White human \n", + "\n", + " year_of_birth year_of_death data_source \\\n", + "0 [GDC] \n", + "1 [GC, GDC, IDC] \n", + "2 1939 2000 [GDC, IDC, PDC] \n", + "\n", + " file_type \n", + "0 [Aggregated Somatic Mutation, Annotated Somati... \n", + "1 [Aggregated Somatic Mutation, Annotated Somati... \n", + "2 [Aggregated Somatic Mutation, Annotated Somati... " + ], + "text/html": [ + "\n", + "
\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " Loading ITables v2.7.3 from the internet...\n", + " (need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "gdc_mutation", + "summary": "{\n \"name\": \"gdc_mutation\",\n \"rows\": 41333,\n \"fields\": [\n {\n \"column\": \"subject_id\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 41333,\n \"samples\": [\n \"TCGA.TCGA-D1-A1NS\",\n \"TCGA.TCGA-FB-AAQ2\",\n \"TCGA.TCGA-BR-7722\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cause_of_death\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 7,\n \"samples\": [\n \"\",\n \"Cancer-Related Death\",\n \"Cardiovascular Disorder\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ethnicity\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"\",\n \"Hispanic or Latino\",\n \"Non-Hispanic\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"race\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 6,\n \"samples\": [\n \"\",\n \"White\",\n \"Native Hawaiian or Other Pacific Islander\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"human\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"year_of_birth\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 105,\n \"samples\": [\n \"1958\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"year_of_death\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 31,\n \"samples\": [\n \"2011\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"data_source\",\n \"properties\": {\n \"dtype\": \"object\",\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"file_type\",\n \"properties\": {\n \"dtype\": \"object\",\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 7 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "We can then further query for those cases within the GDC with **Gene Expression** data:" + ], + "metadata": { + "id": "prEc0Yojnlw7" + }, + "id": "prEc0Yojnlw7" + }, + { + "cell_type": "code", + "source": [ + "gdc_expression = get_subject_data(match_all = [\"file_type = Gene Expression Quantification\"],\n", + " data_source = ['GDC'])\n", + "gdc_expression.head(3)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 231 + }, + "id": "mBQIXImhLXB5", + "outputId": "427130be-facf-4c59-999d-cc344122d7e5" + }, + "id": "mBQIXImhLXB5", + "execution_count": 8, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " subject_id cause_of_death ethnicity race species \\\n", + "0 TCGA.TCGA-RT-A6YC Non-Hispanic White human \n", + "1 ALCHEMIST.ALCH-B3ZH human \n", + "2 MP2PRT.MP2PRT-PANWSP Non-Hispanic White human \n", + "\n", + " year_of_birth year_of_death data_source file_type \n", + "0 [GDC, IDC] [Gene Expression Quantification] \n", + "1 [GDC] [Gene Expression Quantification] \n", + "2 2002 [GDC] [Gene Expression Quantification] " + ], + "text/html": [ + "\n", + "
\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " Loading ITables v2.7.3 from the internet...\n", + " (need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "gdc_expression", + "summary": "{\n \"name\": \"gdc_expression\",\n \"rows\": 23383,\n \"fields\": [\n {\n \"column\": \"subject_id\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 23383,\n \"samples\": [\n \"TCGA.TCGA-EW-A6SD\",\n \"TCGA.TCGA-CQ-6225\",\n \"TCGA.TCGA-FX-A3TO\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cause_of_death\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 7,\n \"samples\": [\n \"\",\n \"Non-Cancer Related Death\",\n \"Surgical Complication\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ethnicity\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Non-Hispanic\",\n \"\",\n \"Hispanic or Latino\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"race\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 6,\n \"samples\": [\n \"White\",\n \"\",\n \"Native Hawaiian or Other Pacific Islander\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"human\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"year_of_birth\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 105,\n \"samples\": [\n \"1949\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"year_of_death\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 30,\n \"samples\": [\n \"2001\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"data_source\",\n \"properties\": {\n \"dtype\": \"object\",\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"file_type\",\n \"properties\": {\n \"dtype\": \"object\",\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Swapping data commons we can look for those cases that have some **Masked Intensities**, a measure of protein abundance, from the PDC. For more information about the PDC data processing pipelines for these data check the PDC documentation below.\n", + "\n", + "https://proteomic.datacommons.cancer.gov/pdc/harmonization" + ], + "metadata": { + "id": "bNwjORvApnCu" + }, + "id": "bNwjORvApnCu" + }, + { + "cell_type": "code", + "source": [ + "pdc_intensity = get_subject_data(match_all=[\"file_type = Masked Intensities\"],\n", + " data_source = ['PDC'])\n", + "pdc_intensity.head(3)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 231 + }, + "id": "_tECxeKFg6f0", + "outputId": "663e44e8-c5f2-4578-8ddc-4494a804488c" + }, + "id": "_tECxeKFg6f0", + "execution_count": 9, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " subject_id cause_of_death ethnicity race species \\\n", + "0 TCGA.TCGA-13-2059 Non-Hispanic White human \n", + "1 TCGA.TCGA-AA-3531 human \n", + "2 CPTAC.C3L-03395 Cardiovascular Disorder White human \n", + "\n", + " year_of_birth year_of_death data_source file_type \n", + "0 1959 [GDC, IDC, PDC] [Masked Intensities] \n", + "1 1932 [GDC, IDC, PDC] [Masked Intensities] \n", + "2 1941 2019 [GC, GDC, IDC, PDC] [Masked Intensities] " + ], + "text/html": [ + "\n", + "
\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " Loading ITables v2.7.3 from the internet...\n", + " (need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "pdc_intensity", + "summary": "{\n \"name\": \"pdc_intensity\",\n \"rows\": 1824,\n \"fields\": [\n {\n \"column\": \"subject_id\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 1824,\n \"samples\": [\n \"CPTAC.C3L-00144\",\n \"CPTAC.C3N-02283\",\n \"CPTAC.C3L-01924\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cause_of_death\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 6,\n \"samples\": [\n \"\",\n \"Cardiovascular Disorder\",\n \"Surgical Complication\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ethnicity\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Non-Hispanic\",\n \"\",\n \"Hispanic or Latino\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"race\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"\",\n \"American Indian or Alaska Native\",\n \"Asian\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"human\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"year_of_birth\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 80,\n \"samples\": [\n \"1939\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"year_of_death\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 25,\n \"samples\": [\n \"2000\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"data_source\",\n \"properties\": {\n \"dtype\": \"object\",\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"file_type\",\n \"properties\": {\n \"dtype\": \"object\",\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 9 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Finally for completeness we query for those cases that have **Slide Images** within the IDC. As with the other commons, more information about the data stored in the IDC and specifically the DICOM format can be found in their documentation.\n", + "\n", + "https://learn.canceridc.dev/" + ], + "metadata": { + "id": "3g72nsydvXos" + }, + "id": "3g72nsydvXos" + }, + { + "cell_type": "code", + "source": [ + "idc_slide = get_subject_data(match_all=[\"file_type = Slide Image\"],\n", + " data_source = ['IDC'])\n", + "idc_slide.head(3)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 231 + }, + "id": "-RusS2Kw2814", + "outputId": "f766c2f1-72f2-4ba0-9df8-a08fa4aa5151" + }, + "id": "-RusS2Kw2814", + "execution_count": 10, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " subject_id cause_of_death ethnicity \\\n", + "0 TCGA.TCGA-CV-A45R Hispanic or Latino \n", + "1 TCGA.TCGA-VP-A87C \n", + "2 TCGA.TCGA-23-1123 Non-Hispanic \n", + "\n", + " race species year_of_birth year_of_death \\\n", + "0 White human \n", + "1 Black or African American human \n", + "2 White human 1939 2000 \n", + "\n", + " data_source file_type \n", + "0 [GC, GDC, IDC] [Slide Image] \n", + "1 [GDC, IDC] [Slide Image] \n", + "2 [GDC, IDC, PDC] [Slide Image] " + ], + "text/html": [ + "\n", + "
\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " Loading ITables v2.7.3 from the internet...\n", + " (need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "idc_slide", + "summary": "{\n \"name\": \"idc_slide\",\n \"rows\": 11007,\n \"fields\": [\n {\n \"column\": \"subject_id\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 11007,\n \"samples\": [\n \"TCGA.TCGA-CG-4436\",\n \"TCGA.TCGA-P4-AAVL\",\n \"TCGA.TCGA-V5-AASX\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"cause_of_death\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"Cancer-Related Death\",\n \"Cardiovascular Disorder\",\n \"Non-Cancer Related Death\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ethnicity\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Hispanic or Latino\",\n \"\",\n \"Non-Hispanic\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"race\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 6,\n \"samples\": [\n \"White\",\n \"Black or African American\",\n \"Native Hawaiian or Other Pacific Islander\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"human\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"year_of_birth\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 79,\n \"samples\": [\n \"1992\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"year_of_death\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 27,\n \"samples\": [\n \"2008\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"data_source\",\n \"properties\": {\n \"dtype\": \"object\",\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"file_type\",\n \"properties\": {\n \"dtype\": \"object\",\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 10 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Analyses\n", + "\n", + "We've generated the lists of cases with the relevant data types available. With these data tables we can generate the overlap to determine our final cohort size through set operations and can retrieve the derived data directly from ISB-CGC hosted BiqQuery tables. BigQuery is a tool with unique scaling functionality allowing us to quickly perform table joins between these data tables. For more information about the ISB-CGC BigQuery ecosystem we have a short introductory video.\n", + "\n", + "https://www.youtube.com/watch?v=5hVgGW346wI\n", + "\n", + "We can visualize the overlap between our case lists with a venn diagram, for this we'll install the `venny4py` python package as well as a few bigquery functions and `pandas`." + ], + "metadata": { + "id": "WPKD5JmZNysl" + }, + "id": "WPKD5JmZNysl" + }, + { + "cell_type": "code", + "source": [ + "!pip install venny4py\n", + "from venny4py.venny4py import *\n", + "from google.cloud import bigquery\n", + "from google.colab import auth\n", + "import pandas as pd" + ], + "metadata": { + "id": "sE_0tseuBR9z", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f6b6ef85-5e16-4797-ddb2-c6485483efe8" + }, + "id": "sE_0tseuBR9z", + "execution_count": 11, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting venny4py\n", + " Downloading venny4py-1.0.3-py3-none-any.whl.metadata (1.8 kB)\n", + "Downloading venny4py-1.0.3-py3-none-any.whl (4.5 kB)\n", + "Installing collected packages: venny4py\n", + "Successfully installed venny4py-1.0.3\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "sets = {\n", + " 'Mutation': set(gdc_mutation['subject_id']) - set([None]),\n", + " 'Expression': set(gdc_expression['subject_id']) - set([None]),\n", + " 'Intensity': set(pdc_intensity['subject_id']) - set([None]),\n", + " 'Slide': set(idc_slide['subject_id']) - set([None])\n", + "}\n", + "\n", + "plt.figure(figsize=(4,4), dpi=300)\n", + "venny4py(sets=sets)" + ], + "metadata": { + "id": "DVhyiqW1NT_U", + "outputId": "1c896aae-3f48-45f7-c259-93fa9abda3c8", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 614 + } + }, + "id": "DVhyiqW1NT_U", + "execution_count": 12, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "final_set = sets['Mutation'].intersection(sets['Expression']).intersection(sets['Intensity']).intersection(sets['Slide'])\n", + "formatted_identifiers = ','.join(['\"{}\"'.format(x.split('.')[1]) for x in final_set])\n", + "print(','.join(final_set))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "c5xLdFFaCcuW", + "outputId": "f8c6192c-ea07-45b2-ccc1-59f135fb7292" + }, + "id": "c5xLdFFaCcuW", + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "TCGA.TCGA-AN-A0AS,TCGA.TCGA-24-1416,TCGA.TCGA-30-1891,TCGA.TCGA-C8-A12L,TCGA.TCGA-BH-A0AV,TCGA.TCGA-24-1563,TCGA.TCGA-13-1511,TCGA.TCGA-61-1995,TCGA.TCGA-AA-3986,TCGA.TCGA-C8-A131,TCGA.TCGA-09-2056,TCGA.TCGA-24-1474,TCGA.TCGA-29-1698,TCGA.TCGA-AG-A01W,TCGA.TCGA-AO-A12B,TCGA.TCGA-25-2399,TCGA.TCGA-A2-A0D0,TCGA.TCGA-29-1688,TCGA.TCGA-AA-3695,TCGA.TCGA-AA-A022,TCGA.TCGA-24-2298,TCGA.TCGA-AR-A1AS,TCGA.TCGA-A6-3808,TCGA.TCGA-61-1919,TCGA.TCGA-AG-A026,TCGA.TCGA-A6-3810,TCGA.TCGA-24-1467,TCGA.TCGA-AA-3989,TCGA.TCGA-AA-3529,TCGA.TCGA-A2-A0T1,TCGA.TCGA-AA-3715,TCGA.TCGA-AF-3400,TCGA.TCGA-25-1623,TCGA.TCGA-61-1907,TCGA.TCGA-61-1741,TCGA.TCGA-A7-A0CD,TCGA.TCGA-BH-A0DG,TCGA.TCGA-AA-A01Z,TCGA.TCGA-C8-A138,TCGA.TCGA-BH-A0C7,TCGA.TCGA-C8-A12U,TCGA.TCGA-AA-A02Y,TCGA.TCGA-AN-A04A,TCGA.TCGA-AA-A02E,TCGA.TCGA-13-1507,TCGA.TCGA-AA-A01X,TCGA.TCGA-13-1410,TCGA.TCGA-29-2427,TCGA.TCGA-AA-A02R,TCGA.TCGA-AO-A12F,TCGA.TCGA-AR-A0TR,TCGA.TCGA-E2-A150,TCGA.TCGA-A2-A0T6,TCGA.TCGA-AN-A0FL,TCGA.TCGA-25-1631,TCGA.TCGA-BH-A0HK,TCGA.TCGA-BH-A18N,TCGA.TCGA-AF-2692,TCGA.TCGA-36-1578,TCGA.TCGA-AA-A02H,TCGA.TCGA-AA-A017,TCGA.TCGA-C8-A12V,TCGA.TCGA-C8-A135,TCGA.TCGA-29-1763,TCGA.TCGA-25-1320,TCGA.TCGA-A2-A0EX,TCGA.TCGA-AA-A03F,TCGA.TCGA-29-1777,TCGA.TCGA-61-2088,TCGA.TCGA-A7-A0CJ,TCGA.TCGA-AA-A00U,TCGA.TCGA-A2-A0D2,TCGA.TCGA-AG-A011,TCGA.TCGA-24-1104,TCGA.TCGA-AA-A029,TCGA.TCGA-AR-A1AW,TCGA.TCGA-25-2397,TCGA.TCGA-AO-A0JL,TCGA.TCGA-C8-A12T,TCGA.TCGA-24-1565,TCGA.TCGA-13-1495,TCGA.TCGA-13-1485,TCGA.TCGA-AG-3574,TCGA.TCGA-13-1497,TCGA.TCGA-AA-3531,TCGA.TCGA-61-1910,TCGA.TCGA-A2-A0EQ,TCGA.TCGA-AA-3848,TCGA.TCGA-A2-A0YD,TCGA.TCGA-AG-A008,TCGA.TCGA-25-1322,TCGA.TCGA-AG-A015,TCGA.TCGA-A2-A0EY,TCGA.TCGA-23-1122,TCGA.TCGA-A2-A0YM,TCGA.TCGA-A8-A06Z,TCGA.TCGA-E2-A154,TCGA.TCGA-61-1900,TCGA.TCGA-AG-A01L,TCGA.TCGA-29-1710,TCGA.TCGA-13-1492,TCGA.TCGA-AG-A036,TCGA.TCGA-29-1785,TCGA.TCGA-A2-A0YI,TCGA.TCGA-C8-A12Q,TCGA.TCGA-AG-A020,TCGA.TCGA-25-1316,TCGA.TCGA-A6-3807,TCGA.TCGA-A2-A0SW,TCGA.TCGA-BH-A0E9,TCGA.TCGA-AA-A00N,TCGA.TCGA-BH-A0C0,TCGA.TCGA-AG-A01N,TCGA.TCGA-AA-A01K,TCGA.TCGA-13-1488,TCGA.TCGA-AG-A00H,TCGA.TCGA-24-2027,TCGA.TCGA-BH-A0DD,TCGA.TCGA-24-1436,TCGA.TCGA-D8-A13Y,TCGA.TCGA-61-1911,TCGA.TCGA-13-1482,TCGA.TCGA-AA-A010,TCGA.TCGA-25-1312,TCGA.TCGA-13-1501,TCGA.TCGA-A8-A09I,TCGA.TCGA-BH-A0BZ,TCGA.TCGA-AA-A00O,TCGA.TCGA-BH-A18R,TCGA.TCGA-59-2351,TCGA.TCGA-A2-A0EV,TCGA.TCGA-AR-A1AV,TCGA.TCGA-A8-A09G,TCGA.TCGA-A7-A0CE,TCGA.TCGA-25-1319,TCGA.TCGA-AF-2691,TCGA.TCGA-24-1562,TCGA.TCGA-BH-A18V,TCGA.TCGA-E2-A158,TCGA.TCGA-AO-A0JJ,TCGA.TCGA-24-2261,TCGA.TCGA-13-1483,TCGA.TCGA-AO-A12D,TCGA.TCGA-29-1769,TCGA.TCGA-BH-A0HP,TCGA.TCGA-13-1487,TCGA.TCGA-E2-A15A,TCGA.TCGA-AG-A00C,TCGA.TCGA-29-1705,TCGA.TCGA-AO-A126,TCGA.TCGA-24-1428,TCGA.TCGA-61-1914,TCGA.TCGA-AA-3534,TCGA.TCGA-23-1123,TCGA.TCGA-29-1774,TCGA.TCGA-13-1404,TCGA.TCGA-BH-A0EE,TCGA.TCGA-A2-A0T3,TCGA.TCGA-A2-A0YG,TCGA.TCGA-24-1558,TCGA.TCGA-A7-A13F,TCGA.TCGA-24-1431,TCGA.TCGA-AR-A0TY,TCGA.TCGA-AR-A1AP,TCGA.TCGA-29-1770,TCGA.TCGA-24-1544,TCGA.TCGA-AA-A03J,TCGA.TCGA-C8-A12P,TCGA.TCGA-24-1545,TCGA.TCGA-29-1697,TCGA.TCGA-25-1313,TCGA.TCGA-29-1693,TCGA.TCGA-AA-3666,TCGA.TCGA-AA-A01P,TCGA.TCGA-AG-A014,TCGA.TCGA-25-1628,TCGA.TCGA-C8-A130,TCGA.TCGA-AA-3684,TCGA.TCGA-AO-A03O,TCGA.TCGA-AO-A0JM,TCGA.TCGA-A2-A0T2,TCGA.TCGA-24-1551,TCGA.TCGA-AR-A1AQ,TCGA.TCGA-24-1556,TCGA.TCGA-24-1923,TCGA.TCGA-24-1550,TCGA.TCGA-36-1577,TCGA.TCGA-24-2033,TCGA.TCGA-AR-A0TX,TCGA.TCGA-AA-3672,TCGA.TCGA-BH-A18Q,TCGA.TCGA-24-2290,TCGA.TCGA-24-1435,TCGA.TCGA-A2-A0YL,TCGA.TCGA-36-1576,TCGA.TCGA-24-1557,TCGA.TCGA-59-2348,TCGA.TCGA-61-2095,TCGA.TCGA-25-1318,TCGA.TCGA-13-2060,TCGA.TCGA-AG-A02N,TCGA.TCGA-A2-A0D1,TCGA.TCGA-36-1570,TCGA.TCGA-AA-3864,TCGA.TCGA-61-2008,TCGA.TCGA-24-1553,TCGA.TCGA-AN-A0AJ,TCGA.TCGA-BH-A0E0,TCGA.TCGA-D8-A142,TCGA.TCGA-25-1329,TCGA.TCGA-AA-3710,TCGA.TCGA-24-2024,TCGA.TCGA-24-1422,TCGA.TCGA-A8-A076,TCGA.TCGA-24-1603,TCGA.TCGA-29-1711,TCGA.TCGA-AA-A01V,TCGA.TCGA-AN-A0FK,TCGA.TCGA-A2-A0YC,TCGA.TCGA-24-1548,TCGA.TCGA-25-1321,TCGA.TCGA-AF-3913,TCGA.TCGA-A8-A079,TCGA.TCGA-13-2066,TCGA.TCGA-AG-4007,TCGA.TCGA-AA-A01D,TCGA.TCGA-A2-A0YF,TCGA.TCGA-24-1464,TCGA.TCGA-AO-A0JC,TCGA.TCGA-29-1696,TCGA.TCGA-A8-A08G,TCGA.TCGA-25-1635,TCGA.TCGA-29-1702,TCGA.TCGA-23-1121,TCGA.TCGA-AG-A02X,TCGA.TCGA-AA-3818,TCGA.TCGA-A2-A0CM,TCGA.TCGA-BH-A0E1,TCGA.TCGA-AA-3664,TCGA.TCGA-25-2404,TCGA.TCGA-AG-A016,TCGA.TCGA-E2-A10A,TCGA.TCGA-29-1762,TCGA.TCGA-A2-A0T7,TCGA.TCGA-AG-A00Y,TCGA.TCGA-24-2289,TCGA.TCGA-AA-A01C,TCGA.TCGA-AA-A00E,TCGA.TCGA-C8-A134,TCGA.TCGA-30-1866,TCGA.TCGA-29-1766,TCGA.TCGA-25-2409,TCGA.TCGA-24-1430,TCGA.TCGA-AO-A12E,TCGA.TCGA-C8-A12W,TCGA.TCGA-AO-A0J6,TCGA.TCGA-24-1604,TCGA.TCGA-AA-A01I,TCGA.TCGA-A2-A0SX,TCGA.TCGA-AA-A01R,TCGA.TCGA-36-1571,TCGA.TCGA-25-2396,TCGA.TCGA-AN-A0AL,TCGA.TCGA-AR-A0TV,TCGA.TCGA-AR-A0TT,TCGA.TCGA-AN-A0AM,TCGA.TCGA-25-1323,TCGA.TCGA-13-1409,TCGA.TCGA-BH-A0BV,TCGA.TCGA-AG-A01Y,TCGA.TCGA-BH-A0C1,TCGA.TCGA-61-2094,TCGA.TCGA-AG-A032,TCGA.TCGA-AA-A02J,TCGA.TCGA-AO-A0JE,TCGA.TCGA-24-2267,TCGA.TCGA-29-1690,TCGA.TCGA-BH-A18U,TCGA.TCGA-AA-3561,TCGA.TCGA-24-1555,TCGA.TCGA-13-1499,TCGA.TCGA-13-1489,TCGA.TCGA-A8-A08Z,TCGA.TCGA-AA-A01T,TCGA.TCGA-24-1103,TCGA.TCGA-E2-A159,TCGA.TCGA-29-1776,TCGA.TCGA-25-2400,TCGA.TCGA-24-2288,TCGA.TCGA-AO-A0J9,TCGA.TCGA-AA-A024,TCGA.TCGA-AA-A02O,TCGA.TCGA-AG-3584,TCGA.TCGA-24-1552,TCGA.TCGA-AA-A01S,TCGA.TCGA-AG-3593,TCGA.TCGA-AG-3594,TCGA.TCGA-AA-3526,TCGA.TCGA-C8-A12Z,TCGA.TCGA-AA-A004,TCGA.TCGA-AG-A002,TCGA.TCGA-59-2352,TCGA.TCGA-AG-3580,TCGA.TCGA-36-1581,TCGA.TCGA-13-1494,TCGA.TCGA-AG-A01J,TCGA.TCGA-29-1768,TCGA.TCGA-36-1580,TCGA.TCGA-AR-A0U4\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Our final overlap of cases across the four chosen data type is 265 cases, all from the TCGA project. This helpfully simplifies the process of retrieving data from the BigQuery ecosystem. To view a searchable interface of these tables we can visit the BigQuery Search Tool:\n", + "\n", + "https://isb-cgc.appspot.com/bq_meta_search/\n", + "\n", + "After review the data we are interested in is stored in the following tables for our genomic data types:\n", + "\n", + "* isb-cgc-bq.TCGA_versioned.RNAseq_hg38_gdc_r35\n", + "* isb-cgc-bq.TCGA.masked_somatic_mutation_hg38_gdc_current\n", + "\n", + "And for our proteomic data type:\n", + "\n", + "* isb-cgc-bq.TCGA.quant_proteome_TCGA_breast_cancer_pdc_current\n", + "* isb-cgc-bq.TCGA.quant_proteome_TCGA_ovarian_JHU_pdc_current\n", + "* isb-cgc-bq.TCGA.quant_proteome_TCGA_ovarian_PNNL_pdc_current\n", + "\n", + "To retrieve data from BigQuery we have to authenticate and provide a project to charge. The cost of executing the queries in this notebook total to a few cents.\n", + "\n" + ], + "metadata": { + "id": "lT0QNqeZOh1m" + }, + "id": "lT0QNqeZOh1m" + }, + { + "cell_type": "code", + "source": [ + "google_project = \"broad-cda-dev\"\n", + "client = bigquery.Client(project=google_project) # replace this project with your own\n", + "auth.authenticate_user()" + ], + "metadata": { + "id": "E4XeVYO1ReIw" + }, + "id": "E4XeVYO1ReIw", + "execution_count": 16, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# BQ SQL queries\n", + "\n", + "\n", + "SQL queries are fundamentally very similar to Excel macros or subsetting R data frames, where the syntax of subsetting an R data frame is as follows:\n", + "\n", + " dataframe[ ,column ][ conditional ]\n", + "\n", + "The equivalent operation in SQL would look like this:\n", + "\n", + " SELECT column FROM table WHERE conditional\n", + "\n", + "For our first query we will retrieve the RNA sequencing fpkm values, the gene names, the project name specifically for tumor samples. We will use the identifiers retrieved from CDA to subset for only those cases in our simple cohort. For the purposes of this instructional notebook we are focusing exclusively on the gene ERBB2." + ], + "metadata": { + "id": "Z2TYv2ds4nbO" + }, + "id": "Z2TYv2ds4nbO" + }, + { + "cell_type": "code", + "source": [ + "expression_query = f\"\"\"\n", + " select\n", + " case_barcode,\n", + " project_short_name,\n", + " gene_name,\n", + " fpkm_uq_unstranded,\n", + " sample_type_name\n", + " from `isb-cgc-bq.TCGA_versioned.RNAseq_hg38_gdc_r35`\n", + " where case_barcode in ({formatted_identifiers})\n", + " and gene_name = 'ERBB2'\n", + " and sample_type_name = 'Primary Tumor'\n", + "\"\"\"\n", + "query_job = client.query(expression_query)\n", + "expr_df = query_job.result().to_dataframe()\n", + "expr_df.head(3)\n", + "#len(expr_df)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 231 + }, + "id": "D8H_Dx-EB-WS", + "outputId": "481eec62-b2d2-4855-e8d1-fb7b47d7d0e3" + }, + "id": "D8H_Dx-EB-WS", + "execution_count": 17, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " case_barcode project_short_name gene_name fpkm_uq_unstranded \\\n", + "0 TCGA-AR-A0TY TCGA-BRCA ERBB2 24.9650 \n", + "1 TCGA-AO-A03O TCGA-BRCA ERBB2 30.5639 \n", + "2 TCGA-AR-A1AP TCGA-BRCA ERBB2 42.7235 \n", + "\n", + " sample_type_name \n", + "0 Primary Tumor \n", + "1 Primary Tumor \n", + "2 Primary Tumor " + ], + "text/html": [ + "\n", + "
\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " Loading ITables v2.7.3 from the internet...\n", + " (need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"#len(expr_df)\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"case_barcode\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"TCGA-AR-A0TY\",\n \"TCGA-AO-A03O\",\n \"TCGA-AR-A1AP\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"project_short_name\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"TCGA-BRCA\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"gene_name\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"ERBB2\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"fpkm_uq_unstranded\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9.078985585956175,\n \"min\": 24.965,\n \"max\": 42.7235,\n \"num_unique_values\": 3,\n \"samples\": [\n 24.965\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sample_type_name\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Primary Tumor\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Next we are querying the mutation table, somatic mutations in these tables are all called from tumor samples and in the gene ERBB2." + ], + "metadata": { + "id": "8TYtpjlSsnOg" + }, + "id": "8TYtpjlSsnOg" + }, + { + "cell_type": "code", + "source": [ + "mutation_query = f\"\"\"\n", + " select\n", + " case_barcode,\n", + " project_short_name,\n", + " SYMBOL,\n", + " Variant_Classification\n", + " from `isb-cgc-bq.TCGA_versioned.masked_somatic_mutation_hg38_gdc_r36`\n", + " where case_barcode in ({formatted_identifiers})\n", + " and SYMBOL = 'ERBB2'\n", + "\"\"\"\n", + "query_job = client.query(mutation_query)\n", + "mutation_df = query_job.result().to_dataframe()\n", + "mutation_df.head(3)\n", + "#len(mutation_df)" + ], + "metadata": { + "id": "aQDOmq6RRCn1", + "outputId": "a5c1b530-a287-46a3-8a07-76069a5c9588", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 231 + } + }, + "id": "aQDOmq6RRCn1", + "execution_count": 18, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " case_barcode project_short_name SYMBOL Variant_Classification\n", + "0 TCGA-AG-A00Y TCGA-READ ERBB2 Missense_Mutation\n", + "1 TCGA-AA-3715 TCGA-COAD ERBB2 Frame_Shift_Del\n", + "2 TCGA-A2-A0T6 TCGA-BRCA ERBB2 Missense_Mutation" + ], + "text/html": [ + "\n", + "
\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " Loading ITables v2.7.3 from the internet...\n", + " (need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"#len(mutation_df)\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"case_barcode\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"TCGA-AG-A00Y\",\n \"TCGA-AA-3715\",\n \"TCGA-A2-A0T6\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"project_short_name\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"TCGA-READ\",\n \"TCGA-COAD\",\n \"TCGA-BRCA\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SYMBOL\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"ERBB2\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Variant_Classification\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"Frame_Shift_Del\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 18 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "The final query before we join between our three data types are on PDC quantitative proteome tables. These data are split into separate tables by \"project\" so we use the union function to concate them. We also join to the case and aliquot mapping tables to retrieve `sample_type` so we can subset for Tumor samples only." + ], + "metadata": { + "id": "_nNeELXDz0ev" + }, + "id": "_nNeELXDz0ev" + }, + { + "cell_type": "code", + "source": [ + "abundance_query = f\"\"\"\n", + " select\n", + " meta.case_submitter_id,\n", + " gene_symbol,\n", + " quant.protein_abundance_log2ratio,\n", + " aliquot.sample_type\n", + " from (select *\n", + " from `isb-cgc-bq.TCGA_versioned.quant_proteome_TCGA_breast_cancer_pdc_V2_10`\n", + " union all select * from `isb-cgc-bq.TCGA_versioned.quant_proteome_TCGA_ovarian_JHU_pdc_V2_10`\n", + " union all select * from `isb-cgc-bq.TCGA_versioned.quant_proteome_TCGA_ovarian_PNNL_pdc_V2_10`) quant\n", + " join `isb-cgc-bq.PDC_metadata_versioned.case_metadata_V2_10` meta\n", + " on quant.case_id = meta.case_id\n", + " join `isb-cgc-bq.PDC_metadata_versioned.aliquot_to_case_mapping_V2_10` aliquot\n", + " on quant.aliquot_id = aliquot.aliquot_id\n", + " where meta.case_submitter_id in ({formatted_identifiers})\n", + " and gene_symbol = 'ERBB2'\n", + "\"\"\"\n", + "query_job = client.query(abundance_query)\n", + "abundance_df = query_job.result().to_dataframe()\n", + "abundance_df.head(3)\n", + "#len(abundance_df)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 231 + }, + "id": "7gLTzLYlchol", + "outputId": "831f9890-f03b-48f6-ac74-1b5d970466b8" + }, + "id": "7gLTzLYlchol", + "execution_count": 19, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " case_submitter_id gene_symbol protein_abundance_log2ratio sample_type\n", + "0 TCGA-13-2066 ERBB2 -0.1005 Primary Tumor\n", + "1 TCGA-13-1404 ERBB2 -0.1113 Primary Tumor\n", + "2 TCGA-36-1580 ERBB2 -0.0800 Primary Tumor" + ], + "text/html": [ + "\n", + "
\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " Loading ITables v2.7.3 from the internet...\n", + " (need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"#len(abundance_df)\",\n \"rows\": 3,\n \"fields\": [\n {\n \"column\": \"case_submitter_id\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"TCGA-13-2066\",\n \"TCGA-13-1404\",\n \"TCGA-36-1580\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"gene_symbol\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"ERBB2\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"protein_abundance_log2ratio\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.01589853242703028,\n \"min\": -0.1113,\n \"max\": -0.08,\n \"num_unique_values\": 3,\n \"samples\": [\n -0.1005\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"sample_type\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Primary Tumor\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 19 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Finally we can use BigQuery to join between the three other queries we generated for a table containing the project, gene name, fpkm, protein abundance, and variant classification. This returns a table of 214 cases close to our expected 265." + ], + "metadata": { + "id": "5EVStpSV2SiX" + }, + "id": "5EVStpSV2SiX" + }, + { + "cell_type": "code", + "source": [ + "combined_query = f\"\"\"\n", + " select\n", + " expression.case_barcode,\n", + " expression.project_short_name,\n", + " expression.gene_name,\n", + " fpkm_uq_unstranded,\n", + " protein_abundance_log2ratio,\n", + " Variant_Classification\n", + " from ({expression_query}) expression\n", + " join ({abundance_query}) abundance\n", + " on expression.case_barcode = abundance.case_submitter_id\n", + " full outer join ({mutation_query}) mutation\n", + " on expression.case_barcode = mutation.case_barcode\n", + " and expression.project_short_name = mutation.project_short_name\n", + " where fpkm_uq_unstranded is not null\n", + "\"\"\"\n", + "#print(combined_query)\n", + "query_job = client.query(combined_query)\n", + "combined_df = query_job.result().to_dataframe()\n", + "combined_df\n", + "#len(combined_df)" + ], + "metadata": { + "id": "G0ykLDdoRjFV", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 513 + }, + "outputId": "2bcbccc6-c6bd-43df-b443-9235e8d64624" + }, + "id": "G0ykLDdoRjFV", + "execution_count": 20, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " case_barcode project_short_name gene_name fpkm_uq_unstranded \\\n", + "0 TCGA-25-2409 TCGA-OV ERBB2 28.0427 \n", + "1 TCGA-25-2409 TCGA-OV ERBB2 28.0427 \n", + "2 TCGA-A8-A08G TCGA-BRCA ERBB2 47.3271 \n", + "3 TCGA-A2-A0EQ TCGA-BRCA ERBB2 31.0506 \n", + "4 TCGA-61-1910 TCGA-OV ERBB2 17.0034 \n", + ".. ... ... ... ... \n", + "243 TCGA-61-1741 TCGA-OV ERBB2 37.6675 \n", + "244 TCGA-61-1741 TCGA-OV ERBB2 37.6675 \n", + "245 TCGA-BH-A0DG TCGA-BRCA ERBB2 23.1157 \n", + "246 TCGA-24-1104 TCGA-OV ERBB2 23.0758 \n", + "247 TCGA-C8-A12P TCGA-BRCA ERBB2 279.3300 \n", + "\n", + " protein_abundance_log2ratio Variant_Classification \n", + "0 0.1545 None \n", + "1 -0.7702 None \n", + "2 -0.3948 None \n", + "3 -0.7261 None \n", + "4 -0.6604 None \n", + ".. ... ... \n", + "243 0.0739 None \n", + "244 -0.2587 None \n", + "245 -1.3320 None \n", + "246 -0.0474 None \n", + "247 -0.4585 None \n", + "\n", + "[248 rows x 6 columns]" + ], + "text/html": [ + "\n", + "
\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + " Loading ITables v2.7.3 from the internet...\n", + " (need help?)\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "combined_df", + "summary": "{\n \"name\": \"combined_df\",\n \"rows\": 248,\n \"fields\": [\n {\n \"column\": \"case_barcode\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 216,\n \"samples\": [\n \"TCGA-C8-A138\",\n \"TCGA-BH-A0DG\",\n \"TCGA-BH-A18Q\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"project_short_name\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"TCGA-BRCA\",\n \"TCGA-OV\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"gene_name\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"ERBB2\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"fpkm_uq_unstranded\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 188.9646650639303,\n \"min\": 4.3233,\n \"max\": 1767.5473,\n \"num_unique_values\": 216,\n \"samples\": [\n 59.9303\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"protein_abundance_log2ratio\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7105025341423845,\n \"min\": -2.2985,\n \"max\": 2.3151,\n \"num_unique_values\": 241,\n \"samples\": [\n -0.1246\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Variant_Classification\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Missense_Mutation\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 20 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Graphics\n", + "\n", + "With this joined data frame in hand we can begin plotting data characteristics, such as a scatter plot comparing the log of fpkm to the protein abundance ratios." + ], + "metadata": { + "id": "5BBxOhvR3GpR" + }, + "id": "5BBxOhvR3GpR" + }, + { + "cell_type": "code", + "source": [ + "import matplotlib\n", + "import numpy as np\n", + "\n", + "combined_df['log_fpkm_uq'] = np.log(combined_df['fpkm_uq_unstranded'])\n", + "\n", + "fig, ax = plt.subplots(figsize=(5, 3))\n", + "combined_df.plot(kind=\"scatter\", x='log_fpkm_uq', y='protein_abundance_log2ratio', ax=ax)\n", + "ax.set_ylabel(\"Protein Abundance log2ratio\")\n", + "ax.set_xlabel(\"log(FPKM UQ)\")\n", + "fig.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 605 + }, + "id": "8_DHaforui21", + "outputId": "74650185-6886-45be-9244-9ea0163e580b" + }, + "id": "8_DHaforui21", + "execution_count": 21, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5IAAAJMCAYAAACIMpn5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAewgAAHsIBbtB1PgAAqZBJREFUeJzs3XtcVHX6B/DPARyEUVRQC7moXUwwC0OBUinTNLt4yVY3GzUvtbntb2231i7u2m2zzTbLtdJS84ZlWqnbzcwixRJQkxK1TEXk5g1UcETGGc7vD3cIEIZzPzPD5/16+UrhnJmHgYbznOf7fR5BFEURRERERERERBIFmB0AERERERER+RYmkkRERERERCQLE0kiIiIiIiKShYkkERERERERycJEkoiIiIiIiGRhIklERERERESyMJEkIiIiIiIiWZhIEhERERERkSxMJImIiIiIiEgWJpJEREREREQkCxNJIiIiIiIikoWJJBEREREREcnCRJKIiIiIiIhkYSJJREREREREsjCRJCIiIiIiIlmYSBIREREREZEsQWYHQNo7f/48du/eDQDo0KEDgoL4bSYiIiIiao6cTidOnDgBAOjZsydatmypyeMyw/BDu3fvRlJSktlhEBERERGRF8nOzkafPn00eSwubSUiIiIiIiJZWJH0Qx06dKj5e3Z2NiIjI02MhoiIiIiIzFJSUlKzWrF2nqAWE0k/VHtPZGRkJKKjo02MhoiIiIiIvIGWvVO4tJWIiIiIiIhkYSJJREREREREsjCRJCIiIiIiIlmYSBIREREREZEsTCSJiIiIiIhIFiaSREREREREJAsTSSIiIiIiIpKFiSQRERERERHJwkSSiIiIiIiIZGEiSURERERERLIwkSQiIiIiIl1UOlw4UVGFSofL7FBIY0FmB0BERERERP7DXuXEupwipGUewb6S8pqPx0WGwZYSixEJUbAGMw3xdfwOEhERERGRJrLzyjA1bSdK7Y5LPrevpBwz1uZizsb9mG9LRFLXcBMiJK1waSsREREREamWnVcG2+KsBpPI2krtDtgWZyE7r8ygyMzh78t6WZEkIiIiIiJV7FVOTE3bCYezWtLxDmc1pqbtxJbpA/xqmWtzWtbLiiQREREREamyLqeoyUpkfaV2B9bnFOsUkfGy88qQOjsdM9bm1kkigd+W9abOTvebSiwTSSIiIiIiUiUt84jC8/I1jsQczXFZLxNJIiIiIiJSrNLhuqQCJ9XeknKf30OodFmvvcqpc2T6YiJJRERERESKnVWZEKk932zNdVkvE0kiIiIiIlKslcrmMWrPN1tzXdbLRJKIiIiIiBQLsQTi8jYtFZ0b2aYlQiyBGkdknOa8rJeJJBERERERqSOaHYA5mvOyXiaSRERERESkWKXDhaPl5xWdW3LmvE9X5Zrzsl4mkkREREREpFhzrsqFWAIRFxmm6Nz4yDCfXtbLRJKIiIiIiBRrzlU5ALClxCo8r7PGkRiLiSQRERERESnWnKtyADAiIQoRVouscyKsFgxP6KRTRMZgIklERERERKo016ocAFiDgzDflghLkLTUyhIUgAXjEmH18UosE0kiIiIiIlKluVbl3JK6hiNtcnKTr0GE1YKVU5LRp0u4QZHph4kkERERERGp0lyrcrUldQ3HlukDMGtkT8TXW+obHxmGWSN7Ysv0AX6RRAKA/3zniIiIiIjINO6q3NS0nSi1Oxo9LsJqwYJxiX6TUNVmDQ7C2ORYjE2ORaXDhbNVTrQKDvL5faANYSJJRERERESacFfl1ucUIy0zH3tLyms+Fx8ZBltKZwxP6ORXlcjGhFgC/TKBdPP/7yARERERERmmOVXlmjMmkkREREREpAt/r8o1Z2y2Q0RERERERLKYUpHcuXMnNm3ahNzcXJSVlQEAwsPDce2112LQoEFITEw0IywiIiIiIiKSwNBEcvfu3XjooYeQnZ3d6DFPP/00kpOT8fbbb6Nnz54GRkdERERERERSGLa0ddOmTUhKSkJ2djZEUYQoiggKCsJll12Gyy67DEFBQTUfz8zMRFJSEr7++mujwiMiIiIiIiKJDEkkT548id/97neoqqqCIAiYMmUKsrKyYLfbUVxcjOLiYpw7dw7Z2dl48MEHERgYiKqqKvzud79DaWmpESESERERERGRRIYkknPnzsWZM2dgsVjw2Wef4Z133kGfPn0QFPTbytrAwED07t0bb7/9Nj777DO0aNECZ86cwdy5c40IUVM7duzA888/j8GDByM6OhrBwcFo1aoVunXrhokTJ2Lr1q1mh0hERERERKSYIYnkZ599BkEQ8Kc//QlDhgxp8vjBgwfj//7v/yCKIj777DMDItROamoq+vTpg2eeeQZfffUVioqK4HA4YLfb8euvv2Lp0qXo378/JkyYAIfDYXa4REREREREshmSSObl5QEAhg0bJvkc97GHDh3SJSa9FBcXAwA6deqEadOm4cMPP0R2dja2bduGOXPmICoqCgCwfPlyPPDAAyZGSkREREREpIwhXVvPnz8PALBarZLPcR9bVVWlS0x66d69O2bNmoVRo0YhMLDu8NWUlBSMGzcOffv2xf79+/H+++/j4YcfRmpqqknREhERERERyWdIRfLyyy8HAOzatUvyOe5jL7vsMl1i0sunn36K0aNHX5JEurVv3x6vvvpqzb8//PBDo0IjIiIiIiLShCGJZP/+/SGKIv71r3+hvLy8yeMrKirw8ssvQxAE9O/f34AIjTVgwICavx88eNDESIiIiIiIiOQzJJH8wx/+AODiXsnU1FTs2LGj0WN37NiBm2++uSbBcp/rT2ov122scklEREREROStDNkj2bdvX/zxj3/EW2+9hd27dyM5ORk9evRAcnIyOnbsCEEQcOzYMWRlZWHPnj015/3xj39E3759jQjRUJs3b675e1xcnOzzCwsLPX6+pKRE9mMSERERERFJZUgiCQDz5s1DaGgo5syZg+rqauTm5tZJGgFAFEUAQEBAAB5//HH861//Mio8w1RXV9f5ukaPHi37MWJiYrQMiYiIiIiISBZDlrYCgCAImD17NnJycjB16lRcffXVEEWxzp+rr74aU6dORU5OTs0eSX/z2muvITs7GwBwzz33IDEx0eSIiIiIiIiI5BFEdxnQBA6HA6dOnQIAtGvXDhaLxaxQDLF582YMGjQITqcTHTt2xO7du9GxY0fZjyNlaWtSUhIAoKCgANHR0YriJSIiIiIi31ZYWFizolHL3MCwpa0NsVgsPjfeQ6k9e/Zg5MiRcDqdaNmyJdasWaMoiQTAxJCIiIiIiExl2NLW5iwvLw+DBw/GqVOnEBgYiFWrViE1NdXssIiIiIiIiBRhIqmz4uJiDBo0CMXFxRAEAe+++y6GDx9udlhERERERESKabq09dZbbwVwsbHO119/fcnHlaj/WL7k5MmTuO2223Do0CEAFzvXjh8/3uSoiIiIiIiI1NE0kfz2228B4JJuq99++y0EQYCcvj7u4321c+uZM2cwZMgQ7N27FwDwr3/9C4888ojJUREREREREamnaSKZmpraYOLX2Mf91blz53DnnXfihx9+AADMmDEDTzzxhMlRERERERERaUOXiqTUj/sjh8OBkSNH4rvvvgMATJs2Df/85z9NjoqIiIiIiEg7po7/8Ef33XcfNm7cCODi3tDJkycjNze30eMtFgu6detmVHhERERERESqMZHU2Mcff1zz92+++QbXXXedx+M7d+6Mw4cP6xwVERERERGRdgwZ/xEQEICgoKCaxjNSHDx4sOY8IiIiIiIi8h6GZWlyOrZqcZ5ZfC1eIiIiIiIiuQypSKrRnLq9EhERERER+QKvTSRPnjwJALBarSZHQkRERERERLUZmkhKrS7a7XbMmzcPAHDllVfqGRIRERERERHJpMseySuuuKLBjw8ePBgtWrTweG5VVRWOHz+O6upqCIKAu+++W48QiYiIiIiISCFdEsmGxlmIooiioiJZj5OSkoLp06drFBURERERERFpQZdEcsKECXX+vWzZMgiCgGHDhqFt27aNnicIAlq2bInIyEjcdNNNuPXWW9lsh4iIiIiIyMsIogHzKgICAiAIAnbv3o34+Hi9n67ZKywsRExMDACgoKAA0dHRJkdERERERERm0Cs3MGSO5DPPPAMA6NixoxFPR0RERERERDoyNJEkIiIiIqLfVDpcOFvlRKvgIIRYAs0Oh0gyQxJJIiIiIiK6yF7lxLqcIqRlHsG+kvKaj8dFhsGWEosRCVGwBvMynbybaT+hhw8fxsmTJ1FZWYmmtmmmpqYaFBURERERkX6y88owNW0nSu2OSz63r6QcM9bmYs7G/ZhvS0RS13ATIiSSxtBE8pdffsGsWbPw3//+F+Xl5U2fgIudXJ1Op86RERERERHpKzuvDLbFWXA4qz0eV2p3wLY4C2mTk5lMktcKMOqJ1q1bhxtuuAFpaWk4c+YMRFGU/IeIiIiIyJfZq5yYmrazySTSzeGsxtS0nbBXsaBC3smQRLKgoAA2mw2VlZXo1KkTXn/9dbzzzjsALlYcv/76a6xZswZPPPEEOnXqBADo168fNm3ahG+++caIEImIiIiIdLMup6jB5ayelNodWJ9TrFNEROoYsrT1P//5D86dO4fWrVsjKysLnTp1wp49e2o+P2DAAADAqFGjMHPmTEyePBkffPABFi9ejJUrVxoRIhERERGRbtIyjyg8Lx9jk2M1joZIPUMqkps2bYIgCPjjH/9YU3FsTEhICNLS0tCrVy+sWrUKH330kREhEhERERHpotLhqtOdVY69JeWodLg0johIPUMSycOHDwMAbrrpppqPCYJQ8/f6zXQCAgLw5z//GaIo4t133zUiRCIiIiIiXZxVuc9R7flEejAkkbTb7QCAmJiYmo+FhobW/P3MmTOXnNOjRw8AwI8//qhzdERERERE+mmlciak2vOJ9GBIItmmTRsAwPnz52s+FhERUfP3gwcPXnKOO7k8efKkztEREREREeknxBKIuMgwRefGR4YhxBKocURE6hmSSF5zzTUAgEOHDtV8rHXr1ujcuTMAYOPGjZec89VXXwEA2rZtq3+AREREREQ6sqUoa5hjS+mscSRE2jAkkbzxxhsBAJmZmXU+ftddd0EURbzyyitIT0+v+fjq1asxd+5cCIKAvn37GhEiEREREZFuRiREIcJqkXVOhNWC4QmeG1WaqdLhwomKKjYDaqYEURRFvZ8kPT0dAwcORKdOnZCfn4/AwIvl+SNHjiA+Ph6VlZUAgPDwcJw/fx7nzp2DKIoIDAxERkYGUlJS9A7RrxQWFtbsRy0oKEB0dLTJERERERFRdl4ZbIuz4HBWN3msJSgAK6cko0+XcAMik85e5cS6nCKkZR6p04k2LjIMtpRYjEiIgpV7Or2KXrmBIRXJW265Bc888wwmTpyIoqKimo/HxsZizZo1aNOmDURRRGlpKex2O0RRRHBwMBYuXMgkkoiIiIj8QlLXcKRNTm6yMhlhtXhlEpmdV4bU2emYsTb3knEm+0rKMWNtLlJnpyM7r8ykCMlIhlQkm1JaWooPP/wQe/bsgdPpxNVXX43Ro0cjKirK7NB8EiuSRERERN7LXuXE+pxipGXmY2+thCw+Mgy2lM4YntDJ66p6cqupaZOTkdTVuxLh5kqv3MArEknSFhNJIiIiIt9Q6XDhbJUTrYKDvLY7q73KidTZ6Si1OySfE2G1YMv0AV6XEDdHPr20ddKkSZg0aRLWrFljxNMREREREfmEEEsgOrQO9tokEgDW5RTJSiIBoNTuwPqcYp0iIm9gSCK5bNkyLFu2DGFhyubnEBERERGROdIyjyg8L1/jSMibGJJIdujQAQBw2WWXGfF0RERERESkgUqH65LGOlLtLSnnaBA/ZkgiGR8fDwDIz+ddCSIiIiIiX3G2ymnq+eS9DEkkbTYbRFHEsmXLjHg6IiIiIiLSQCuVzXLUnk/ey5BEcuLEiRg4cCDWr1+PZ599FmwUS0RERETk/UIsgYiLVNbnJD4yzKubCJE6htwiyMjIwOOPP44TJ07ghRdewAcffIAxY8bguuuuQ7t27RAY6PkHLDU11YgwiYiIiIioHltKLGaszVVwXmcdoiFvYUgiecstt0AQhJp/79+/Hy+88IKkcwVBgNPJtdVERERERGYYkRCFORv3y54jOTyhk45RkdkMWdoKAKIoKv5DRERERETmsAYHYb4tEZYgaamDJSgAC8Ylwsr9kX7NkO9uenq6EU9DREREREQ6SOoajrTJyZiattNjZTLCasGCcYno0yXcwOjIDIYkkjfffLMRT0NERERkuEqHC2ernAgUBLhEEa2Cg9hghPxSUtdwbJk+AOtzipGWmY+9teZLxkeGwZbSGcMTOrES2Uzwu0xEREQkk73KiXU5RVi+LR+/HK245PPXXNYa42/qjBEJUbyoJr9iDQ7C2ORYjE2OrbmJwpsnzRPf2YiIiIhkyM4ra3J53y/HKjBjbS7mbNyP+bZEJHXlMj9fweRIuhBLIF+jZoyJJBEREZFE2XllsC3OgsNZLen4UrsDtsVZSJuczGTSi7krzGmZR7Cv1nLNuMgw2FJifbqyzMSY9CKIOrdFzcnJwcGDBxEYGIi4uDhcc801ks47ceIE5s+fDwCYOXOmniH6ncLCQsTExAAACgoKEB0dbXJEREREvs9e5UTq7HRZIxDcIqwWbJk+wGeTEX8mpcIcYbX4VGXZnxNjkk+v3EC3RPLLL7/E//3f/+HgwYN1Pn7dddfhxRdfxB133OHx/D179qBnz54QBAEul0uPEP0WE0kiIiLtrczKVzSU3W3WyJ4YmxyrYUSklpwKsyUowCcqy/6YGJM6euUGusyRXL16Ne6++24cPHjwkpmQP/30E+6++25MnjwZlZWVejw9ERERkebSMo+oPD9fo0hIC/YqJ6am7ZS8TNnhrMbUtJ2wVzl1jkw5d2LcVNXcveQ6O6/MoMjIH2meSB47dgwPPfQQnM6L/5ONGjUKb7zxBl599VUMGzYMAQEBEEURS5cuxa233oqyMv4AExERkXerdLjqLBFUYm9JOSod5q6yqnS4cKKiyvQ4vMG6nCLZy5RL7Q6szynWKSJ1/DExJu+m+eLoBQsWoLy8HIGBgfjoo48wbNiwms/95S9/wY8//ogpU6Zg586dyM7ORmpqKr766itERkZqHQoRERGRJs5qdLF9tsppeMMT7pdrmNIKc1pmvlcuUVaTGHvj10PeT/OK5JdffglBEPDggw/WSSLdrr/+enz33XeYPHkyRFHEvn370K9fPxw+fFjrUIiIiIg00UqjREurx5EqO68MqbPTMWNt7iUV1X0l5ZixNheps9Ob3RJHNRVmb6gsN0RNYkykhOaJ5P79+wEA99xzT6PHWCwWLFy4EC+++CJEUcThw4fRv39//Pzzz1qHQ0RERKRaiCUQcZFhqh4jPjLM0Gok98s1Tm2FWasKtVb8MTEm76d5IllefvGHuEOHDk0e+9RTT2H+/PkQBAHFxcVITU1FTk6O1iERERERqWZLUbf8z5bSWaNImsb9cp6prQwbXVluir8lxuQbNE8kW7VqBQAoLS2VdPwf/vAHrFixAoGBgTh58iRuvfVWZGZmah0WERERkSojEqIQYbUoOjfCasHwhE4aR9Q4f2skozU1FWajK8tS+FtiTL5B80TyqquuAgDs2LFD8jn33XcfPvzwQwQHB+P06dMYPHgwvv76a61DIyIiIlLMGhyE+bZEWILkXT5ZggKwYFyioQ1tuF+uaUorzEZWlqXyt8SYfIPmiWTv3r0hiiI+/fRTWecNGzYMn376KaxWK+x2O/7yl79oHRoRERGRKkldw5E2OVlyZTLCasHKKcno08W4we/cLyeNkgqz0ZVlOfwpMSbfoHkiedtttwEAvvvuO/zyyy+yzh04cCC+/PJLtGnTRuuwiIiIiDSR1DUcW6YPwKyRPdH98tYNHtP9staYNbIntkwfYGgSCXC/nFRyK8xmVJbl8LfEmLyfIIqiqOUDVlZWomPHjrDb7RgzZgzef/992Y+Rk5OD22+/HcePH4cgCHC5msedMa0UFhYiJiYGAFBQUIDo6GiTIyIiIvJflQ4XzlY5ESgIcIkiWgUHmbpUsNLhQtzMDYrP3/f87c1qqWN2Xhmmpu30uKc0wmrBgnGJht8UkMvdqVdKkyVLUIDh1XIyh165gea3VEJCQvD999+jvLwcAQHKCp4JCQn4/vvvkZGRoXF0RERERNoKsQR6VeLl3i+nZHlrc9wv564wr88pRlpmPvbWet3iI8NgS+mM4QmdvLYSWZt76bW/JMbk3TSvSJL5WJEkIiJq3lZm5WPG2lzZ580a2RNjk9WNOfF17gqz2ZVlNexVTr9IjEkbPlORJCIiIiJzjUiIwpyN+2WNAOF+uYu8rcKshDU4CGOTYzE2OdYvEmPyTpo32yEiIiIic/lbIxlSLsQSiA6tg5lEkuYMebc4ckT+LCNBENCyZUu0adMGFouy4b9EREREzRX3yxGRngxJJLt27arq/OjoaKSkpOCBBx7A0KFDNYqKiIiIyL/5UyMZIvIuhjTbUdq9tTZBEABcnFP5/vvvo127dqof01+x2Q4RERE1hPvliJofn262s2TJEgDAggULkJWVhZYtW2LIkCHo3bs3OnToAAA4ceIEduzYgS+//BJVVVVISkrCQw89hPLycuTm5mL9+vU4efIkvvrqK4wYMQKbN282InQiIiIiv+EPjWQawgSZyHiGJJITJkzAww8/jOzsbAwfPhxvv/02Onbs2OCxx48fx0MPPYRPPvkEPXr0wKJFiwAA8+bNw8MPP4zly5dj69at+OCDDzBmzBgjwiciIiIiL2OvcmJdThHSMo/UmZkZFxkGW0osRiREcckukY4MWdq6bt063HPPPbjpppuQkZFRs0y1MaIool+/fsjMzMT777+P0aNHAwCqq6uRlJSEXbt2YdiwYVi7dq3eofskLm0lIiIif5adVyapidB8WyKSukpvIsTKJvkjvXIDQ8Z/vPXWWxAEAdOmTWsyiQQu7od89NFHIYoi3nnnnZqPBwQE4MEHH4QoitixY4eeIRMRERE1O5UOF05UVKHS4TI7lEZl55XBtjiryRmZpXYHbIuzkJ1X5vE4e5UTK7PyMXRuBuJmbkCfFzchbuYGDJ2bgZVZ+bBXObUMn8hvGFLv/+mnnwAAV111leRz3Mfu3r27zsevu+46AEBpaalG0RERERE1X760RNRe5cTUtJ1wOKslHe9wVmNq2k5smT6gwa/BU2VzX0k5ZqzNxZyN+2VXNuVgFZR8lSHvCuXlF9+UTpw4Ifkc97EVFRV1Ph4SEgIAaNGihUbRERERETVP3pBIybEup6jJSmR9pXYH1ucUY2xybJ2PuyubTSWl7spm2uRkzV4DX0reiRpjyNLW2NiL/+O+//77ks9ZuXJlnXPdjh8/DgA13V6JiIiISD6tl4gaIS3ziMLz8uv8W2llU4tlrtl5ZUidnY4Za3PrJJHAb8l76ux0r3i9iTwxJJEcNmwYRFHE8uXL8cYbbzR5/Lx587BixQoIgoBhw4bV+VxWVhYAoEuXLnqESkREROT3zEyklKp0uC5JvKTaW1JeZ9+nmsqmGr6YvBM1xpBE8sknn6wZ9zFt2jSkpKTgjTfewLZt23DgwAEcOHAA27ZtwxtvvIGUlBQ8+uijAC5WHZ988sk6j7Vq1SoIgoBBgwYZEToRERGR3zErkVLjrMoktvb5WlU25fDF5J3IE0MWX4eHh+Orr77C7bffjpKSEmzfvh3bt29v9HhRFHH55Zdjw4YNCA//bS36oUOHkJSUhKSkJIwaNcqI0ImIiIj8jppEqv5eQ6O0Urln0H2+FpVNJU1xtNzfSeQNDKlIAkDPnj2xd+9eTJs2DW3atIEoig3+CQsLw//93/9hz549NR1a3a644gosWbIES5YswdVXX21U6LIdP34cn376KWbOnImhQ4eiffv2EAQBgiDggQceMDs8IiIiasa0XCJqpBBLIOIiwxSdGx8ZVpP8aVnZlMOMKiiRngxtB9WmTRu89tprePnll7Fjxw7k5ubi1KlTAIB27dqhR48e6N27N4KDg40MS3OXXXaZ2SEQERERNUiLRMqsMRW2lFjMWJur4LzONX/XqrIph1lVUCI9mdJX2GKx4KabbsJNN91kxtMbKjY2Ft27d8fGjRvNDoWIiIjIlERKKyMSojBn435ZS0QjrBYMT+hU8293ZVNJYle7simHLyfvRI0xbGlrczJz5kx88sknOHr0KPLz8/H222+bHRIRERERAO2WiJrBGhyE+bZEWIKkXcJaggKwYFziJTMZbSnK9hzWrmzK4cvJO1FjTPmpvHDhAn744Qfk5uairOxiW+Pw8HBce+21uOGGG9CiRQszwtLMc889Z3YIRERERI3SYomoWZK6hiNtcjKmpu30WJmMsFqwYFwi+nQJv+RzWlQ25TCjCkqkN0MTyXPnzuGFF17AwoULa/ZG1teuXTs89NBD+Pvf/47Q0FAjwyMiIiJqFoxOpLSW1DUcW6YPwPqcYqRl5mNvrQQtPjIMtpTOGJ7Q6ZJKpJu7smlbnCVpHEdjlU05fDl5J2qIYYnkkSNHMGjQIBw8eBCiKDZ6XFlZGV5++WV89NFH+PrrrxEdHW1UiERERETNghmJlNaswUEYmxyLscmxqHS4cLbKiVbBQZKrd1pUNuXw9eSdqD5D3g0uXLiAoUOH4sCBAwCA7t27Y+LEiUhOTsbll18OADh69Ciys7OxdOlS7N27F7/++iuGDh2KXbt2ISjIe960vEFhYaHHz5eUlBgUCREREfkqoxMpPYVYAhUt/1Rb2ZTDH5J3otoE0VN5UCPz58/HI488AkEQ8PTTT+PZZ59FYGDD/7NXV1fj2WefxT//+U8IgoA333wTDz/8sN4h6urw4cPo2rUrAGDChAlYunSpqscTBEHysQUFBazqEhERUaPsVU5DEilfoKSyKVd2XplfJO/kOwoLCxETEwNA29zAkHeFNWvWQBAEjBgxAi+88ILHYwMCAvD8889jz549WLt2LdasWePziSQRERGRt1K7RNSfKK1symFkFZRIT4b8hObmXtxYPGnSJMnnTJ48GWvXrsXu3bv1CstnFRQUePx8SUkJkpKSDIqGiIiI/IURiRQxeSf/YEgieebMGQBAp07SNwtHRkYCAMrL5bdJ9ndcqkpERETkH9Qm70xEySyGJJLh4eE4fvw48vLy0KtXL0nn5OXl1ZxLRERERJdiEtE82aucWJdThLTMI3VmU8ZFhsGWEosRCVFcGku6M+Qn7IYbbsAXX3yBN998E/fcc4+kc9566y0IgiA58SQiIiJqDphENG+emvXsKynHjLW5mLNxP+bbEpHUlQUZ0k+AEU9y3333AQC+/fZbTJo0CXa7vdFjz507hylTpuCbb74BAIwdO9aIEImIiIi8XnZeGVJnp2PG2tw6SSTwWxKROjsd2XllJkVIesrOK4NtcVaTsyhL7Q7YFmfx54B0Zcjtqvvvvx8LFizA999/j2XLluHzzz/H6NGjkZycjI4dO0IQBBw7dgxZWVlYvXo1Tpw4AQDo27cv7r//fiNCJCIiIvJq7iSiqRmE7iQibXIyK1J+xF7lxNS0nZJmUAKAw1mNqWk7sWX6AFaoSReG/FQJgoBPPvkEd955JzIzM3H8+HG8+eabePPNNy851j3W8sYbb8T69euNCI+IiIjIqzGJoHU5RU1WIusrtTuwPqcYY5NjdYqKmjNDlrYCQLt27bB161bMmzcPcXFxEEWxwT9xcXF44403kJGRgXbt2hkVHhEREZHXUpNEkH9Iyzyi8Lx8jSMhusjQW1QBAQF45JFH8Mgjj6CkpAS5ubkoK7u4djs8PBzXXnttzdgPX7Z161YcOHCg5t8nT56s+fuBAwewdOnSOsc/8MADBkVGREREvkhNEsFqlO+rdLgu2RMr1d6SclQ6XOzqS5ozba1DZGSkXySNDVm0aBGWLVvW4Oe+++47fPfdd3U+xkSSiIiIGsMkgs5WOVWfz58B0pphS1uJiIiISD4tkgjyba1U7nNVez5RQ5hI6mDp0qWN7gFt6A8RERFRY5hEUIglEHGRYYrOjY8MYzWSdKHpO8vzzz+v5cPVmDlzpi6PS0RE/qPS4cLZKidaBQfxoon8ijuJULK8lUmE/7ClxGLG2lwF53XWIRoijRPJZ599FoIgaPmQAJhIEhFRw+xVTqzLKUJa5pE6F9lxkWGwpcRiREIURx+QX2ASQSMSojBn435Z3XsjrBYMT+ikY1TUnGm+tFXOkk4u/SQiIqWy88qQOjsdM9bmXlKp2VdSjhlrc5E6Ox3ZeWUmRUiknREJUYiwWmSdwyTCv1iDgzDflghLkLTLd0tQABaMS+TNNNKNpolkdXW1Ln+IiIhqy84rg21xVpN35kvtDtgWZzGZJJ/HJIIAIKlrONImJzd5UyHCasHKKcno0yXcoMioOWKzHSIi8in2Kiempu2EwyntRqPDWY2paTthZ+dK8nFMIgi4+HOwZfoAzBrZE/H1GvDER4Zh1sie2DJ9AL//pDvepiIiIp+yLqdI1h4h4GJlcn1OMQezk89zJxHrc4qRlpmPvbWWdcdHhsGW0hnDEzqxEunnrMFBGJsci7HJsWw0RqbhuwwREfmUtMwjCs/LZyJJfoFJBNUWYgnk955MwUSSiIh8RqXDpWgEAgDsLSlHpcPFCy7yK0wiiMgs3CNJRD6l0uHCiYoqVDpcZodCJjircp+j2vOJiIjoIlYkicjrcVYgubVS+X1Wez4RERFdxIokEXk1zgqk2kIsgYir16VQqvjIMC4BJCIi0ggTSSLyWpwVSA2xpShrmGNL6axxJERERM0XE0ki8kqcFShfc9k/OiIhqsk5evVFWC0YntBJp4iIiIiaH24WISKvxFmB0jTH/aPW4CDMtyXCtjhL0o0GS1AAFoxL9LvXgaghHAdCREbhb1Ui8kqcFdi07LwyTE3b2WDC7d4/Omfjfsy3JSKpa7gJEXqm5oI3qWs40iYnN/r1u0VYLVgwLhF9unjf10/NgxGJXXO8oURE5hNEURTNDoK0VVhYiJiYGABAQUEBoqOjTY6ISJ5KhwtxMzcoPn/f87f7/Z149/5RqRW5tMnJXpFMan3Ba69yYn1OMdIy87G31uPFR4bBltIZwxM68QKaDGdkYufphpJbhNXitTeUiEh/euUGhieSX3/9NZYuXYpt27bh6NGjOH/+PH766SfEx8fXHLNlyxbk5uYiLCwMNpvNyPD8AhNJ8nUnKqrQ58VNis/fPmMQOrQO1jAi72KvciJ1drqspb8RVgu2TB9galKl9wUvl/SRNzAysfPVG0qkD74HUmP0yg0Mu6I4d+4cJkyYgI8//hgA4M5fBUG45NjAwED86U9/giAISE5OxtVXX21UmETkBTgr0DNf3D8q9YLX3YFXyQVviCWQF09kKiN+zt2UNiQz+4YSaYvLmslMhnVtHT16ND7++GOIoog+ffrg8ccfb/TYvn374tprrwUAfPTRR0aFSERegrMCPVOzf9QM7MBLzYHRP+dqbiiRf+CcZTKbIYnkRx99hM8//xwA8M477yAzMxOzZ8/2eM4999wDURSxefNmI0IkIi/DWYENq3S4LrlgkGpvSbkpo0F4wUvNgdE/5752Q4m0xTnL5A0MSSSXLVsGALDZbJgyZYqkcxITEwEA+/bt0y0uIvJenBXYsLMqq3Rqz1eCF7zUHBj5c+6LN5RIO1zlQd7CkERyx44dEAQBY8aMkXxOZGQkAODEiRN6hUVEXsw9K9ASJO1tqrnMCvS1/aO84KXmwOifc1+8oUTa4SoP8haGJJKlpaUAgE6dpFcKAgIuhlZdLe1uCxH5H/eswKYqkxFWC1ZOSW4WswJ9bf8oL3ipOTD659zXbiiRtrjKg7yFIYlkmzZtAADFxdLvhOTl5QEA2rdvr0tMROQbkrqGY8v0AZg1sifi6yVQ8ZFhmDWyJ7ZMH9Askkg3X9o/ygteag6M/jn3tRtKpB2u8iBvYshv6G7dumHbtm348ccfcccdd0g6Z926dQCAXr166RgZEfkCa3AQxibHYmxybLOfk2WvcqLK6UJggABXtfQxwGbtH3Vf8Cq58OEFL/kKM37ObSmxmLE2V8F5/t2QzN9pUf3m+yppxZCK5J133glRFDFv3jycP3++yeMzMjKwatUqCIKAu+++24AIichXhFgC0aF1cLP8Rehu9f78J/tkJZFm7x/1pQoqkVJG/5yzIVnzxFUe5E0MSSQfeeQRhIeH49ixY7j33ntRVtZwC2Kn04mFCxfirrvuQnV1NWJiYvDAAw8YESIRkVeT2uq9Pm/YP8oLXmoOjP45Z0Oy5onLmsmbGJJIhoWF4YMPPkBQUBC++OILxMTE1FniOn36dAwePBgdO3bEww8/jIqKCgQHB2P16tVo0aKFESESEXktua3eASAwQMAzd8d7xf5RXvDWVelw4URFFfcq+Rkzfs7ZkKx54ioP8haCKIrS10ep9N1338FmsyE//2LXKEEQ6nzeHUpMTAxWr16N5ORko0LzK4WFhYiJiQEAFBQUIDo62uSIiLyTr+y3XJmVr2gv1KyRPTE2WdkFhx6y88owNW2nx6pqhNWCBeMS/e6C117lxLqcIqRlHqmzjy4uMgy2lFiMSIjy28S5uTHj59xe5cT6nGKkZeZjb62fr/jIMNhSOmN4Qif+fPkRe5UTqbPTZa1QibBasGX6AP4cNFN65QaGJpLAxeWrq1atwn//+1/s2LEDx48fh8vlQkREBHr16oVhw4ZhwoQJsFjkLQ+h3zCRJGqcL17QD52bobiJx+fT+usQkXLN8YJXamIx35aIpK7+lUA3V2b+nPvKDTJSx73dQcpKFUtQACvSzZzfJJKkPyaSRA3zxQv6SocLcTM3KD5/3/O3e+3FZHO44JV7sZc2OdlrfvZIG83h55zM0ZxXeZA8euUGhuyRJCIym9RmNaV2B2yLs5Cd13BTMKMZPejcSP7egVfu3laHsxpT03bC7sXfM5LP33/OyTycs0xm86/1Q0REDVB6Qe8N+0nY6t13rcspkt1lt9TuwPqcYq/a20pE3otzlslMhlQk8/LycOutt2LgwIEoKipq8viioiIMHDhQ8vFERJ6ouaA3W7UoIjBAaPrABnh7q3d/716alnlE4Xn5GkdCRM0Bq99kNENuVS9fvhzffvst+vbti6ioqCaPj4qKgtPpxNatW7FixQo8+eSTBkRJRP5KzQW92ZWhdTlFcFUr28puRKt3uXfAfbHZkRKVDpeiBkkAsLekHJUOFy8GiYjIqxny2/rrr7+GIAi45557JJ9zzz33ICMjAxs3bmQiSUSK+foFvdIkODBAUDzovClKk0FPjSH2lZRjxtpczNm436uaHSmlxd5WJpJEROTNDFnaum/fPgDADTfcIPmchIQEAMDevXv1CImImglfblajJgl2VYsIEJQtifUkO68MqbPTMWNt7iWxuZPB1NnplzQr8tVmR0pxbysREfk7QxLJM2fOAADatm0r+Rz3sadOndIhIiJqLnz5gt7bkmClyWBz7F4aYglEXL0uilJ5+95WIiIiwKBEMizs4i/T0tJSyee4jw0NDdUlJiJqHnz5gt6bkmA1yaAvNztSw5aibH+tEXtbiYiI1DIkkezSpQsA4Ntvv5V8Tnp6OgAgNpYt0IlIHV+9oPemJFhNMthcu5eOSIhChNUi65wIq0W3va1ERERaMiSRHDRoEERRxJtvvomSkpImjy8qKsKbb74JQRAwaNAgAyIkIn/myxf03pIEK00GV2w7rLrZka+yBgdhvi0RliBpv2otQQFYMC7RL7rWEhGR/zMkkZw6dSpatGiB06dPY+DAgfjpp58aPfbHH3/EoEGDcPr0aQQFBeGPf/yjESESkR/z5Qv6EQlRaB0sr7IY1jJI0yRYTdOffUcrVD23mc2OtJDUNRxpk5ObvJERYbVg5ZRk9Oni291qiYio+TDkKqlz58548cUXMX36dPzyyy+44YYbcMstt6B///6IjIwEAJSUlGDLli3YvHkzRFGEIAh47rnncOWVVxoRIhH5OfcFfWPjJ9wirBYsGJdo+gW9e2/h8m35qKgytypnZjLnD91Lk7qGY8v0Af9b5puPvbWS8vjIMNhSOmN4QievuHFBREQklWG/tR5//HFUVlbiueeeQ3V1NdLT02v2QdYmiiICAgLw3HPPcX4kEWnKrAv6SocLZ6ucaBUcJGnfoqd5i1KUn3difU4xxiZrs8dcbTJ3zeWt8YuCyqTZzY60ZA0OwtjkWIxNjpX980BEROSNDL39+Y9//AN33303Zs+ejQ0bNuD06dN1Pt+2bVvceeedePzxx3H99dcbGRoRNRNGXdC7K4ppmUfqLAuNiwyDLSUWIxKiGkxY3SM2pHZHbUxaZr5miaS76Y+S5a3xkWG4PyUWM9bmyj7X7GZHegmxBDKBJCIin2f4OpqEhAS89957EEUReXl5OHnyJACgffv26Nq1KwQdBmgTke8xomqj1wW9p4rivpJyzFibizkb92O+LRFJXX9bQit3xIYn7kY1Wn19NhXJ4PCETpizcb+sCqu3NDsiIiKihpm2IUMQBFxxxRW44oorzAqBiLyM0iqeN5FaUSy1O2BbnIW0yck1yaSSERuenK1yXpJIKk3QRyREKU4G3c2OpFZavanZEVFTuFSZiJor/pYmIq+gtIrnTeRWFB3OakxN24kt0wfAGhykeMRGY9x7G7VI0NUmg77W7IjIE3+46UVEpJYgiqJodhCkrcLCQsTExAAACgoKEB0dbXJERJ7J2RdoCQqoU8XzJiuz8hUt/5w1sidG9opC3MwNmsXSOSIUm/82QFLjngirRXKCLvXxGksG7VVOdi8ln6b1/1NERHrTKzcwNJEsLS1FWloaMjIycOjQIVRUVMDl8tzWXhAEHDx40KAI/QMTSfIl9ionUmeny14y6a7ieZOhczMUN6RZNikJfV7cpFksVksg5tsSMWX5Ds0TdK2SQS4JJF/jLze9iKh50Ss3MOwqbM2aNXjooYdQXn7xokNq/srmO0T+Tcm+wFK7Q9PxFlqodLgUJZHAxcY4gRq/19kdLlXLbGurn/Bp1fmW3UvJl6hduk5E5G8MeWfLysrC2LFjUV1dDVEU0alTJ/Tq1Qvh4eEICAgwIgQi8kKVDheWfndY0blajrfQwtkqp6rzXaKoeMRGY+wOzys+6qudoEvdA8ZkkJoLf7npRUSkFUMSyZdffhkulwshISFYuHAhxo4da8TTEpEXaixBkUvr8RZqtVJZcWgVHITf9Y7C859ol0gqkZaZj6s6tvL5xkdEWlPaDMvbbnoREWnFkHLg999/D0EQ8OSTTzKJJGrGsvPKkDo7HTPW5mpSeVNbBdRSiCUQcZFhis6NjwxDiCUQgmj+Uv69JeWwLc5qsvLiHl+SnVcm6/ErHS6cqKhCpcxqKZGZ1C5d5887EfkjQyqSp0+fBgAMGTLEiKcjIi8kp0mFVGqrgFqzpcQq6tpqS+kMAFi9s1DrkBTReg8YRyWQr1N706qhma5ERL7OkIpkZGQkADbOIWqu5DapkMJdxfMmIxKiEGG1yDonwmrB8IROqioeZnLvAWuMpyq0e5ls6ux0yZVNVjTJDFosXSci8jeGJJKDBg0CAOzcudOIpyMiL6OkSUVT3FU8b2INDsJ8WyIsQdLeWi1BAVgwLhHW4CCvWqYrV1pmfoMfd1eh1S6TtVc5sTIrH0PnZiBu5gb0eXET4mZuwNC5GViZlQ+7D7925Bu0WLpORORvDEkkH3/8cbRs2RL//ve/cfbsWSOekoi8iNImFY1xV/G8UVLXcKRNTkZYy6YrEC2DAuCehOTLFYuG9oApHZVQPynUuqJJpJQtRVnDHG+86UVEpAVDEslrrrkGK1euRHFxMQYOHIg9e/YY8bREZICmlhpqvWSzdhXPSJUOFwrKzqGg7JykZZWVF5o+pvy8s6YSp6bi4Q1Onq2q8281oxLctKpoEmlBzdJ1IiJ/ZMiV2KRJkwAA8fHx2L59O6677jr07NkT3bt3R2hoqMdzBUHA4sWLjQiTiCSS0zxFyyWbEVYLFoxLRJ8uxoycsFc5sXp7Ad7OOISjZ87X+dzlYS3x0M1dMaZ3bJ2k1l2Ju+ASJT2HuxL35aOpGJHQybR9ki0CBckxN6T/7PQ633+lVejl3x+umWPJ4e/kTdxL16U2DTPrphcRkVEEURSVXzlIFBAQUKfRjiiKkhrvuI9zudhUQY7CwkLExMQAAAoKChAdHW1yRORPsvPKGp0x6BZhtdTMGKx0uBA3c4Oq54yPDIMtpTOGJ3Qy7KIsO68MU5ZtR/l5z4lwWMsgLJrQp2ae4sqsfEWdW83kTtBnrt+jSSIbbrWgTMWe2BWTknDk1DlFr+OskT05s490JfU90MibXkREnuiVGxhyRRYbG8uOrUR+QOoID/dSw7TJyUjqGo64yDBFCUq3y1ph/SP9DG9UkZ1XhvsXZUqq0JWfd2Lsoky8NyXl4v5IjfeD6qn7Za0x/qYuNQm60vEl9alJIgFg8rIdiGzbUtG5HP5OekvqGo4t0wdgfU4x0jLzsbfWe5sZN72IiMxiyLvc4cOHjXgaItKRmqWGShOUB27qangSaa9y4mEZS1MBwOkS8fCKHdj4l5t9aoTHmKSYOknXkPjLvaKa6nBVI7/0nKJz3Y1/2CWT9GQNDsLY5FiMTY5FpcOFs1VOtAoO4s8dETUrhjTbISLfp7R5yoc7C9HvqvYI95EmFetyihRV1MrOXcBHPxTqEJF+/vnZvjoNanTf52AQXx6lQr4nxBKIDq2DmUQSUbPDdRdEJInSJZvP/Pe3Ls0CpCUrlqAAzP19L5xzuBAgCIZeoKlZmrpuV5GGkejPVS3i/kWZWPm/Zbm+PIKkNn/5OoiIiLwZf9sSUZO0GuEhJYm0WgLRvnUwbIuzaj7WUDdYPaj9OvcdrcA1l7fGL0crNIxKXxdcYp1up0r3s3oLDn/XF5dxEhGRm2mJpMvlwqlTp1BZWYmmGsfGxrJxApGZ9FgqWL862SUiFCcqqmB3uGCvtz/OPXh+zsb9Nd1g9aDF13lPryi89MXPGkRjHPf8xrHJsZo13DELh79rT864HyIiaj4Mfec/efIk5s2bh3Xr1mHv3r2orm66aYcgCHA6ud+FyEx6LBUUAYSHtsDaR/riSOk5TF6+Q3Y3WK1p8XWOuiEa72w5JHs/qdnc3U5HJERhzsb9Phc/wOHvevA06sKoGzxEROSdDGu28/333+Paa6/FP//5T+zevRsulwuiKEr6Q0TmCrEEIi4yTPPHLTt3Ad/8fByPfpAjuxusXYcqaYglENdc3lrx+fGRYWjfOhjzbYmwBPlWLzN3t1P30HVviL9LRKjkODj8XXvucT9N3VRw3+Cp3biJiIj8nyFXCqWlpRg+fDiOHz8Oq9WKRx99FM8++yyAixXHxYsX45VXXsGYMWMQEhICQRDQr18/LFmyBO+++64RIeomPz8fjz32GLp37w6r1Yrw8HD06dMHr7zyCs6dU9bensgMthR9lpi/9pX86pd7KabWsvPKkH/Srvh897LKpK7hSJucjAiZnWrN5l7a6y3xP5R6paQ4IqwWrJySzOHvGlI67kePGzxEROSdDEkk33jjDZSWliI4OBjbtm3DnDlzMGrUqJrPT5w4EY899hjef/99HDhwAKmpqfjuu++wd+9eTJgwwYgQdfHJJ5/guuuuw5w5c/DLL7/g3LlzOHXqFHbs2IHp06ejV69eOHDggNlhEkkyIiFKl8Si/LyyC8+0zHxN48jOK8N9C7fhvMQL5/rCQ1vUWVbpHlo+a2RPxOtQzdXD+QsuVDpcAC7G/+WjqabFEtYyCMMTOnl8HeMjwzBrZE9smT6ASaTGlI770eMGDxEReSdD1gB98cUXEAQBkyZNQo8ePTweGxkZic8//xzXX389/v3vf2PIkCG49dZbjQhTU7t27cKYMWNQWVmJVq1a4amnnsKAAQNQWVmJVatWYeHChdi/fz/uvPNO7NixA61bK19OR2QE95JH2+IsyVUKPWk5eN5e5cTkpdlwKfyyggIFvD2+9yXLKhsaWp5TcAoPLt+pOmY99J+dDuC3Jir9rmpvWiznLriwp7gcSV3DOfzdBErH4Lj32hIRkf8zpCLprroNGjSo5mOCINT83eVy1Tk+JCQEf/nLXyCKIhYsWGBEiJqbNm0aKisrERQUhI0bN+Lpp5/GjTfeiFtvvRXvvPMOZs+eDQDYv38/Xn31VZOjJZLGW5Y8ujXUZbXS4cKJiqqaypoUr2/aj4oq6cfXZgkU8P6DKU1WxEIsgQi1BOLJj3Yreh4juZuojHzre9NicP5vLEn9pZIc/q4/NWNw3Dd4iIjI/xmSSJaXX/yF1Lnzb23ZW7ZsWfP3iopLZ6717t0bAJCVlXXJ57xddnY2MjIyAACTJ0/GjTfeeMkxjz32GOLi4gAAc+fOxYULFwyNkUgpb1qy6e6yaq9yYmVWPobOzUDczA3o8+ImxM3cgKFzM7AyK9/jvi17lRPvfndYcQwXXCKk9gRTslzQTGV2B4SmD9MNl0qaQ+0YHD3GBRERkfcxJJFs1aoVANQZ4xEe/tvd+8OHD19yzvnz5wEAx48f1zc4Haxbt67m7xMnTmzwmICAAIwfPx4AcPr0aaSnpxsRGpEm3EsNP5/WH/uevx3bZwzCM3fHGxqDe/B8dl4ZUmenY8ba3EuqKO7KWurs9EY7Sq7ZUQBXtfLu0CKAhyU2GVG6XFCOCKsFf78jDpZAbd7eze6brfVeWGqa2jE4eowLIiIi72NIInnVVVcBAI4c+e0iqm3btrj88ssBoMEkauvWrQAAq9VqQITaqh17YmJio8fdfPPNNX//7rvvdI+LSA/upYaje8cYuuTVltJZk/EEK7PUJ3dldgdW7yjweIya5YJynK1y4p+f74ND6YZPL+ONSyWVLJ/2JWrG/bhv8BARkf8zJJFMTk4GAGzfvr3Ox2+//XaIoojZs2fj119/rfl4ZmYmXnnlFQiCgD59+hgRoqb27dsH4GICHRTU+J3Z7t27X3KOFIWFhR7/lJSUKA+eSCEj5w9GWC0YFNdR9XiCSocLvx4/q0lM//xsX4OJqnvZ7V3/ydDkeZpS5QWNkLTmDUsl1Syf9kVKx/24R+AQEZH/MySRHDJkCERRxMcff1zn43/9618RFBSE48ePo0ePHujTpw/i4+PRv39/nD59GsDFpjW+5Pz58zh58iQAIDo62uOx7dq1q6m4FhR4rmbUFhMT4/FPUlKS8i+ASAV3M57w0Ba6PYd78PxX+44pGk+wekdBTVIw7I2tmsXlqhZx/6LMOslk7WW3B1XMp2zuzF4qqXb5tC9SMu4nwmqpMwKHiIj8m2GJ5Pjx45GSkoK8vLyaj1977bWYP38+AgMD4XQ6sXPnTvz88881XVyfffZZ3H777UaEqJnajYPce0M9cSeSZ89qUxUhMltS13BkPHErItu0bPpgmWoPnle63/CFT/fixpe+xoy1uZpVI90u1Oo0KnXZLXlm9lJJLZZP+yK5KwzcN3jqj8Chpvn7Umki8l+GvOO3aNECS5cubfBzkydPRr9+/bB06VLs2bMHTqcTV199NcaNG1fTudWXuJsEAYDF0vTd3ODgYABAZWWl5OdoqnpZUlLCqqQXak7z76zBQfjTrVdhxtpc2eeOSIjC/mMV2Fur8hMfGQZbSmcMT+gEa3CQqv2G1SJQfl6/ZYjuqucb3xzwinmbvs7MpZL2Kqei5dNbpg/wi4TKvcJgatpOj4l0hNWCBeMSmxyBQ7+xVzmxLqcIaZlH6ryXuWe4jkiI8oufISLyb17xLnXNNdfgpZdeMjsMTdQea+JwNF2JqKqqAnBxdqZUTS2ZJe/RnC8WRiREYc7G/bIqchFWC14ceW1NsthY4u0Ne+Y8eWfzIVYiNWD2Ukkl41rcI0vGJivbY+ht3ON+1ucUIy0z3+MNHpImO6+s0eTcvVR6zsb9mG9LRFJXJudE5L34zq+x1q1b1/xdynJVu/3ivikpy2DJtzT3iwX30jjb4ixJFZ1AAfjXqJ4IEC5OLgyxBDZYubVXOfHZT949W7Ck/HzTB5FH3rBUUuny6bTMfL9JJIHfxv2MTY5tVisr9OBeKt3Ue6J7qXTa5GS//P1ARP7BkD2SzUnLli0REREB4GJ3VU9OnTpVk0jGxMToHhsZp7nuq6qvZ1QbvHFfL7QObvqC0yUCDy7fibiZGzDk9S0NdsJ0Nz159pO9eoVMXqBdaIuavbBmUbN82htHlmjFPe6HSaR8SpdK+1tHYCLyH5re6q09J1JLsbG+dWc3Pj4eGRkZOHDgAJxOZ6MjQH7++eeav8fFxRkVHumsue+ramw5rxy/HK24pGIr9U4+mS8wQIAAwFktyj43KEDA1iduNf3/BbXLp89WOZlsUR1cKk1E/kbT39Rdu3bV8uEAAIIgwOn0rbtx/fr1Q0ZGBux2O3bu3FkzR7O+zZs31/y9b9++RoVHOmvOFwuelvMq4a7YLhrfG3/5IIdJpI+Y3K8rik5V4rPd8mfa3nWdd+y3UztyxOyRJeR9uFSaiPyNpktbRVHU5Y+vGTFiRM3flyxZ0uAx1dXVWL58OQCgbdu2GDBggBGhkQHUXCz4Mr3GXbgrtr7UvEaP0Se+5J0th/D9gRMQZJ4nAHj6ju56hCRbiCUQcZFhis41e2QJeR8ulSYif6TpLdPGkia3t956C9u3b0eLFi0wePBgJCUl4bLLLgMAHDt2DNu3b8fGjRtx4cIF9O7dG3/84x+1DM8wSUlJ6N+/PzIyMrB48WJMmDABN954Y51jXn31Vezbtw8AMG3aNLRood8AdzKOFhcLSi9AzWyCYa9y4mEZy3llP74PXURFWC14qP8VeO7T5r2P81SlE4EBgEvGj8Rzw3ugY5j3JOG2lFhFI2zMHFlC3olLpYnIH2maSE6YMKHRz02ePBk7duzA4MGDsXjxYkRFRTV4XFFRER588EF8+eWXyMjIwKJFi7QM0TBz585F3759UVlZicGDB+Ppp5/GgAEDUFlZiVWrVuGdd94BAHTr1g2PPfaYydGSVoy+WDB7vIj7+ed9fQBlPlQx1Iu702h8ZBhe27Rf13mVvsBVDYRaAlHpcMHT2hIBF5PI8Td2MSgyaZSOsDFzZAl5Jy6VJiJ/ZMg704cffoglS5agT58++OyzzxAY2PiFclRUFD755BPceOONWLJkCQYPHozRo0cbEaamevXqhQ8++AA2mw3l5eV4+umnLzmmW7du+Oyzz+qMDCHfZuTFgtnjRbLzyvBw2k4mkP8THtoCb4/vjT5dwtllsZZzDheeGtod+0oqsCG3BOdrVa1bBgXg9msj8fQd3b2qEukmd4SNN4wsIe/kXiqtZMUKl0oTkbcyZPzH22+/DUEQ8Ne//tVjEukWGBiIxx57DKIo1lTufNHdd9+Nn376CX/5y1/QrVs3hIaGom3btujduzdefvll7Nq1C1dddZXZYZKGjNpXZfZ4key8Mty/KJNJZC1rH+lbM65iXU5Rs69G1rY+pxiv/z4BP/9zKH74+23YMK0/fvj7bfj5n0Px+u8TvDKJdEvqGo60ycmIsFo8HhdhtZg+soS8my1FWcMcLpUmIm9lSCL5008/AbhYgZPKfezu3bt1ickonTt3xpw5c/DLL7/Abrfj1KlT2L59O6ZPn47Q0FCzwyMd6H2xYPYsMnuVE1OWbccFl+81wtJTx9a/JUNKGy55g+6XtW4yaZKrdrOQ8FYWdI8MQ3grbZ9DT0ldw7Fl+gDMGtkT8fVuFMVHhmHWyJ7YMn0Ak0jyaERClOz/t7hUmoi8mSHrbyoqKgAAx48fl3yO+1j3uUS+Qu99VWaPF1m9vYDVtnoCAwTsLjqDpK7hqhoueYPxN3XBVR1baT6z09ebhViDgzA2ORZjk2NNbWxFvotLpYnI3xhSkezc+WKlxT3uQgr3sbGxnJ1EvsV9sWAJkva/l9yLBbPHi7ydcUiTx5HL6sUX7K5qsWYJsdqGS2Zy39CQupxTDn9qFhJiCUSH1sFMIkk2LpUmIn9iSCI5fPhwiKKIVatWYfbs2U0e/+9//xvvv/8+BEHAyJEjDYiQSFt6XSyYPYus0uHC0TPnVT2GEuFWi6zk3AwOZzUeTtspe3ait6h/Q8PTck652CyE6DdcKk1E/kIQRVH3jU6nT59Gjx49cPToUQDAddddhwkTJqBPnz7o2LEjBEGomSO5YsUK5OTkQBRFREZGYs+ePWjbtq3eIfqVwsJCxMTEAAAKCgoQHR1tckTNl73KifU5xUjLzMfeWglgfGQYbCmdMTyhk6xlSycqqtDnxU2K49k+YxA6tA5WfH5B2Tn0n52u+HylFo7vjdviL/PYqVauCKsFlqAAlGicGD/U/wpkHDjpc8tb0yYno9/V7Rv9/NLv8vDsJ8pmY84a2VOTZdVE/ohLpYlIb3rlBoasNWrbti02bdqEIUOGoLCwED/99JPH2YmiKCI6OhobNmxgEkk+Tet9VWbOIqt0uEzr0trvqosJjvtOfkPJedzlrdH/6g74cGcBys5daPSx2oW2wOzfXYfj5VVYvi1f80RyYcYhTLips88lktdc7nkM0Qc7ChU/9rJthyFC1H2uKZEvCrEEMoEkIp9k2G/0uLg47NmzB88//zzeffddnDp1qsHj2rVrh4kTJ2LmzJkIC1O3nIrIm2hxsWD0LDJ7lRPrcoqQlnnEtMSoftzW4CAMT+gEESKWb8vHL0cvNuTad7QCEAT8361XAwKwZkdhg1Xg6HYh+MsHOZpUNRsiAvgg2/e6tnq6yaC2gdAvRyt0n2tKRERExjL01nDr1q3xyiuvYNasWdi5cyd2796NsrKL8+3atWuHnj17IjExERaL77SFJzKaLSUWM9bmKjhP3iwyLZeRqlE/bk9x7Sspx3Of7kXE//ZU9oxqU6cK7J6/qWU30oZUOn1rNEpTNxm0aiDknmuaNjmZySQREZGPM2WNUYsWLZCSkoKUlBQznp7Ip+k9XgSAYQlXU+rHLTWuhhIWe5UTD6/YYfrX5I2ausmgZcdV91zTLdMHcJkrERGRD/PeFohE1CD3eJEWgdL6g7YIFGSNF7FXOTE1bafpCVf9LqJy43InLPb/VdNe37Tf497J5krKTQb3kmqtuOeaEhERke9iIknko6QunhQByOnNvC6nyPTlrA2NRVESlzthyc4rw6KMPK3DNI3UmwhNqZ+sVzpcOFFR1eCYGFuKtl1XtZprSkREROYwfF3Rjz/+iIyMDBw6dAgVFRVwuTzPtRMEAYsXLzYoOiLv567MOV3SskOnS5S1lPCdLYfUhqjKiIQovDjy2ktiTctU1sBm+feHcfxsleTE29tFWC2Y+/sE2BZnq36cBeMSER8ZhpVZ+Zc0VIqLDIMtJbam06qSJdWeuOeaslslERGRbzIskfzll18wadIkZGZmSj5HFEUmkkT1qKnMNTXLL2P/CeSXnlMTHoCLzVtOnXMoGq2x/1jFJUmkmq6hPx+rUHSet3F3nR0U1xFf7TuG4KAAVClYftwyKAAz7+6B4QmdsKe4HKmz0xttXFS/0+p8W6Kme2fPVjmZSBIREfkoQxLJoqIipKam4uTJkxD/t8auVatWaNeuHQICuLqWSA6llbm0zHyPiaS9yok/r9qlNCwAwIZp/dE5wgoAiJu5QdFjNFSp0qprqC96amh3jL+xS03X2aFzM1RVBWfe3QNjk2MVNy5Km5ysWTdfLZv4EBERkbEM+S3+4osv4sSJExAEAVOmTMHjjz+Obt26GfHURH5FTWWuqaWE63KKcEplM5rOEVaEWAJxoqJK1ePUr1Q114QjwmqBLaWzZqNL3I11lDYu2jJ9AJK6hmPL9AGYu+lXLP4uD65qZYuGlcw1JSIiIu9hSDlww4YNEAQB48ePxzvvvMMkkkghtZU5T+crrXS61U4M1CZ+9c/XumuoL6jdCEeLTrq1H0/N8mgA2FNcjqXbDitOIgH5c02JiIjIuxiSSBYXX7z4GD9+vBFPR+S3tE7Q3NRUOt1qJwZqEr/GKlVadw31ZvW71qrtpFv/8dQsj9YiqZU717QpnrrNEhERkT4MWS/Wrl07HD9+HG3btjXi6Yj8ljtBU5L0eVpKqLbS2S60xSWJgS0lFjPW5sp+rMYqVUq6hkZYLWjfOhi/HPWuhjtPDe2O1i1bIC0zH3trfS/dDXWGJ3Sq03BIaeJXu7FO7REfapZHr95RoCqprT9yRCl7lRPrcoqa7DbrzSodLpytcqJVcBCX+RIRkc8x5Lds79698fnnn2P//v3o1auXEU9J5Le0TtAA9ZXOeffdcMlFu9LEr7FKlTU4SFbXUHfCsnHPUa9KJN37Hq3BQRibHNtkMqEm8TvvrMbIXlGaNi56L0v5Emj3yJHa80GVyM4ra7ThT0PdZr2JPyTAREREgEFLW//85z9DFEW88847RjwdkV8bkRCFCKtF1jlNLSVUsxS1S0Qo+l3d/pKPuxM/S5C0txkplSp319Cmvn73Uk5RBJZt857B9w19jSGWQHRoHaxbtbj++WpvGvx6/Kzic798NFWTJNK2OKvJGxTubrPZeWWqnk9L2XllSJ2djhlrcy+5OeBOgFNnp3tVzERERI0xJJG87bbb8MQTTyA9PR1Tp07FhQvqOkMSNWd6JGiA8j2ID6Ve2ejnpCZ+ABDZpiX2H6uAvYnEyd01dNbInoivl/zGR4Zh1sie2DJ9AOIjw1Tv5dNS/X2KUnlT46Jul7VSFYvy1jwXKe0229TPlBF8OQEmIiJqiCC6BzvqaPny5QCAd955B9u2bUNkZCTuvfdedO/eHaGhoU2ezyY98hQWFiImJgYAUFBQgOjoaJMjIj14Wt7nJmcpob3K2ehwek+Pv2X6gCaTVHuVE+tzivH2loPILz3X5GPKWZLY2NLQlVn5ipYA1xYfGYZSexWOlSsfZ9LYvkc5hs7NULwv9vNp/S/5uNLX5rlhPfDMf/fIPs9t3/O3q9oLqDTuWSN7epyhKoeSfY16/r9FRETUFL1yA0N+Qz3wwAMQBKHm3yUlJZg3b56kc91jQ4ioLndlbn1OseSmLZ4o3YMo5fGtwUG4qmMrlJw53+Sx7opM2uRkSclkiCWwwQt6pQ1q4i5vjeWTk2sSBaXJS6AgYOnEPujfrYOiOGrzlsZF9yZGY9X2As2bPUmlptusmkRS7b5GNeNWtEqAiRrDpk9EpJQhFcmAAOUraAVBgMvFlu5ysCLZPGl1MaB1pRNQVpGxWgKR/vgt6BjWUvI5bpUOF+JmbpB9nlvtypmS2N20qirpUdFyL7WUetPAvSzXrKqglt9TOaT+/+Cpiq51RZlILTZ9ImpefLoimZeXZ8TTEDVrjVXm5NK60gkoq8jYHS4M+Pe3WDIxSXbnTS0a1LhfS3elduzCTDir5d1306qqpEe12L1/Ve5NA6278Uql5fdUKqnJtqcqutpxK5UOF6tEzYzeFUJf7npMRN7FkESyc+fGxw4QNRe+tnxIhHhJcxTxfx+XS+mSRLvDJWuZq5vWDWqSuoYjql1Ik/s7G6J2WWXtGJQkfk09ptybBnougfZE6+9pU5Q29qlfBTYjASbfY1SFUIubI0REbly3QKQjX1w+pPXdajUVGaDxC3RPdhedQWCAAJfMCiLQ8F6+SodLURIJaFtV0qNa7J5nKWWmZe04tE5qG1I/nrjIMMP2Z2q1r9HoBJh8j1EVQq1ujhARufGdgUgnvrh8SI+71WorMu7nk7pE1P01KEkigYYb1HhTVUlJ4ieVnOXReiS1gOebL90ua6UokWys6ZAnWjX2MToBJt9iZIWQTZ+ISGtMJIl04IvLh/S6W61VRUXKElG5X0N9je3l89aqklb7YpXSOqlt6ubLvpJyCJA3j1LJ/kyt9zVq3XWX/IPRFUKzuh4Tkf8yJJG84oorFJ8rCAIOHjyoYTRE+vLV5UN63a1WU5GpTcoSUSVfg5unvXz+VlXSY7+u2qRW6s0XOUmk0v2ZWlegzWpQRN7NyAohmz4RkR4MuWo9fPiw5GMFQUDtiSS1508S+QJfXT6k591qpRWZ+ppaIqr0awgMEGrGWzTG16tK3rxfV0kluanKpJr9mVpXoN0Niu5flIkLrqZT4RaBgiYNisi7GVkh9Kbl+UTkPwz5LTVhwoQmj7Hb7di/fz9++uknCIKAXr16oWfPngZER6QtX1w+pPfd6iHxl2uSSHq6wFfzNbiqRVzbqY3HY3y5quTt+3WV3HwRcfF7sv9YhWb7M930qkBLraaKAPSf8ExmMrpC6K3L84nItxnyzrBkyRLJx+7ZsweTJ0/G7t278fTTT+Oee+7RMTIibfnq8iG971ZrcU3c1BJRvb6G2stAzRh74SkeKT8rvrBfV+nNl/3HKvD5tP6odLhw8mwVAKB9q2BN/h/SsgLtrrg6JVQjAcDpEr1iuTvpx+gKob8tzyci7+B1v6F69OiBTZs2oVevXhg/fjzi4+PRvXt3s8MiksRXlw/pfbdai7vZTS0R1fJr8LQMdMKNXfDRzgKUnbvQ6GOpHXtRn9Jlqb6wX1ftzZel3+Xhgx2Fmi/X1bIC7avL3Uk/ZlQIfX15PhF5nwCzA2hIq1at8Ne//hXnzp3DK6+8YnY4RJL56vIh991qJaTcrVbz+IC0JaJafQ3ZeWVInZ2OGWtzL0lw9pWUY2HGIUAQ8GD/KxBf7/niI8Mwa2RPbJk+QLMksql4ZqzNRersdGTnlV1yrpoExihqb748+8le2a+LFO59jZYgab8mPVWg1Sx3J/+k93tuQ0YkRCHCapF1jrcszyci7+SViSQA9O7dGwDw9ddfmxwJkXRmXBxoxZairPIh9W716MRoRY8fFCC98Yjar8G9DLSp5KvM7sCybYfx7LAe2Pf87dg+YxD2PX87Pp/WH2OTYzWr5kmNx70stX7S5AsJjJ43Txp7XaRK6hqOtMnJTV58R1gtjTZr0mK5O/knvd9z69Py5ggREeDFiaS7c+uxY8dMjoRIHqMvDrSi593q7LwyzPvmV9kxCQDefaCP5Oqemq9B6TLQalFEh9ba7MurTUk8D6fthP1/FT5fSWDUVqub4n5d8kvtir6mpK7h2DJ9AGaN7KmoAq3FcnfyT2ZUCLW4OUJE5Oa1ieSXX34JAGjTxnMnRSJv46vLh/S6W+2uqnnaU9iQwAAByyYnIbVbB8nnqPka9FgGWulw4URFlaIERkk8ZXYH5m66mLD7UgKj9OaLVGV2B25+5VvEzdyAoXMzsDIrvybhlsIaHISxybH4fFp/2RVoX13uTvozq0Ko9uYIEZGbV/6GWrVqFV566SUIgoB+/fqZHQ6RLO6LA7O7e8pRu5mLlJilNpNRMh8QAMKtFrytsFmN+457Y+Mu3Op/DVqNbdFqXqPSeBZmHMKg+MvQM0rdTTgjExgljW2UUjvuJMQSaFi3zMAAAbuLzpgykoWMofT9Si33zZGxybGyO0ETEbkJoqj/tKpJkyY1eUx1dTVOnTqFH374AcXFxRBFEUFBQfj+++9r9kuSNIWFhYiJiQEAFBQUIDpa2d40UsfT7D43rS8OlJASp5vcGX0rs/IVdQl85u54TOzbVfZ5tdmrnFifU4y0zPwm5wxWOlyIm7lB8XPte/52hFgCJX/Pm0pg1MYTHtoCGU/cinsXbFPc7v/zaf0VP78SUseUaMkSFGDIuBOl/x8AxsVI5pLzfkVEJJdeuYEhiWRAQAAEQZB0rDucsLAwLFq0CPfee6+eofklJpLew9svDuRcvLcIFLBySoqsC9qhczO8IpEpO+vA8Yrz6Ni6JcJbXbrs+ERFFfq8uEnx42+fMQh5J+2yqtCekgO18QDArJE9IUJUlMDMGtnTlLETcm5qaCXCatF93Im9yonU2emKvy4jYiTvwQohEWlNr9zAkN9KsbGxTSaSAQEBaN26Nbp27Yqbb74ZNpsN7du3NyI88gL++ovTm5cPyV12ekHmkHQtmr2oeZ3kLDFVu4xTADSd16jFstK0zHysefhGzWYhGsG9d6uhmy96MWJeo9zl7vVxpmTzInf5NBGRWQxJJA8fPmzE05CP0Wovma/wtosDvYeka9HsRenr5amy1dAeOTX72OIjw/Dl3qOavpZq4nHbW1KOAEHwuf269W++DHtjK349flbX56y/z1UP7r1w9y3MhKta/kIgI2IkIiKSw2u7tpJ/UzNknbSh94xBs7pVKp29OLq3smUetpTOuryWWnQyPVvl9Pl2/3onkYBx4056RrVRlEQCnClJRETeh4kkGU7tkHVSz4gZg2rmA8ZHhimqRiqZvThxSTaGvL4Fz32yV/bzRVgtGBx/mS6v5YiEKITLHCNTnzsZ99V2/0aOIDHiuXxpJAsREVFTTFu/JIoiDh06hLKyi0lCeHg4rrjiCslNecg3KR36zkYT2jJq2aktJVZRsxdbSmclYSlarmt3uPDL0QrZz+VeBqq2W1ljr6U1OAgLbIkY8/Y2Rc9RPxn35v26jTFyBIkRz8WZkkRE5E8Mr0hu2LABw4YNQ5s2bdCtWzekpKQgJSUF3bp1Q1hYGO6++2588cUXRodFBtFj6DvJZ9QF7YiEqCaXVNanptmL0iWmctVeBqrna5nUNRxT+isbg+IpGQ+xBKJD62CEWAJR6XDhREVVTWW0/r/NpKaqLYfSCrhcZlTpiYiI9GLY7c1z585h3LhxWLduHYDfxnzUZrfb8fnnn+Pzzz/HsGHDkJaWBqvValSIZACthr6TOmqby0i9oJXbrVJNsxc1y3Wlamhsi96v5aODuuGjnYUoO3dB8uM2lYw31ugqOCgAVbW+T97Q+EppVVvecyirgCt7LmOr9ERERHoxpCJZXV2NO+64A+vWrYMoiggKCsKdd96J5557DgsWLMCCBQvw3HPP4a677kKLFi0giiL++9//4o477mgw4STfZMS+PJJOaTMXuRe07mYv4aEtPB4XHtpCVbMXvfePPTesBz6f1h9jk2MvSar0fC2twUFYMK43LEHS3q6bSsY9NbqqqpfsG9n4qrFKqJKqthxWSyAGxXWUHI9aRlfpiYiI9GLILea3334bW7ZsgSAIGDJkCBYtWoSoqKgGjy0qKsKDDz6IDRs2YOvWrViwYAGmTp1qRJikMzPHQdClRiREGTtjsKn9z4IANfeN9N4/9sH2Aky4qUuDn9P7tXQn442NNKn9mAvGJTaajLsbXcmdZehufJU2ORlJXbVryCN1BJCcqnaLQAEiAKdL2g+T3eHC0LkZmG9LRI9OYbqPJDKySk9ERKQnQTSg5JeSkoLs7GwkJSXh+++/R0CA5zvrLpcLffv2rTknMzNT7xD9SmFhIWJiYgAABQUFiI5WNtZAa5UOF+JmblB8/r7nb2ciqTE5iYUlKEBRxVDuc6hJVobOzdB1eaunn0EjXkt7lRPrc4qRlpmPvbW+ztpLbgMEocFGOvYqJ1Jnp8veo1xbhNWiSeOrSocLGb+ewJMf70ZZE4mxe9anp9mgtY9fMC4Roogmj60vKFBAaItAlJ9v/IZX7XjUkvP1eFs3XSIi8i165QaGJJJt2rTB2bNn8d5772HMmDGSzlm9ejV+//vfo3Xr1jhz5ozOEfoXb00kAeUX+vGRYfh8Wn8dIiI9L2iVJC9qkpWVWfm67qfbPmMQOrQObvTzRiYHtTuvVotik5W0dTlFmrw2s0b2VLRfubHqY1Nq31yQkki7f26Ol5/HgH9/C7vGS1PV3uyoTc7X4+YrHXeJiMh7+HQi2bZtW1RUVGDHjh3o1auXpHN27dqFxMREhIWF4fTp0/oG6Ge8OZFUeqGv9OKVpFFyQSuF0d9vLapunkipiuv1WjZGavLaqmUQ8kvPqX4+JTd1pMToSUM3F5pKqPS8qaBVZbY2T1+P1CXAREREDdErNzDkN8+VV16JnJwcHD9+XPI57mOvvPJKvcIiExi+L48k0WvGoNIuve9sOagokZS7/0wOqd1qjZzXKHU5bandoVly7W58JfXrUbovszb3CKDaPxMhlkCPMeg5CqaheNRq7OvxlIS7myHN2bhfsyW3REREUhnStfW+++6DKIpYvny55HOWL18OQRAkL4Ul3+C+0NeqAyVpr/aMQTXUdOk9XHoOJyuqFJ3rbkyjdadPJeMXtHotG2KvcmJq2k7NE2YppDbO0jLGtMx8yccaMQpGTjxKuZPwpm4CuJsh6d1Zl4iIqDZDEsk///nPuOGGG7Bq1SrMnj27yeNfeeUVvP/+++jVqxceffRR/QMkQ0m90K899N3fedMQeK2o7dL70Q+Fis9N6hqOLdMHYNbInoivNwC++2WtYZWZ2HljVXxdTpFuS3ibIrVDrpYxyhkBpPcoGED/kURyk3CHsxpT03bCbsDXTkREBGi8tPXIkcaXEi1atAh/+MMf8NRTT+H999/HhAkT0KdPH3Ts2BGCIODYsWPYvn07VqxYgZycHPTp0wfvvPMOjh49ithY7o3zN+4LfSP3knkbf9/3pHYcx9pdRfjDzcqXtntaYiq3w6qcqriS5axKztFz6aYnUpf4AtrHKHUEkN6jYNz0HEmkJAnXY8ktERFRYzT9bdu1a1dJx/3000947LHHPB6zY8cO3HDDDRAEAU4n77D6IyP3knmb5rDvKcQSiO6Xt8bPRysUnf/z0QpZe/GaiqX242g1l9FNyU0BNTcSjFi62RipS3z1iFFqghhiCURcZJjur5GeCavSJDwtM5+JJBERGULTpa2iKOryh/yfnnvJvE1z2vc0sleUqvP1XKLoaflrfGQYZo3siS3TBzSZRGbnlSF1djpmrM29JHFx3xTo9/I3yNh/QtY5qbPTG/3eG7F0syFylvgerziv6XPLqYQCgC1F32RKbjxyqEnC9V5yS0RE5Kbp7dQlS5Zo+XDkR5pbxbExSvc9aT1qwCijbojGS1/8rPh8vZcoqq2KS10ie+rcBYx7NxudI0IxOP5yLP0+Dxdcnm+SuW8kNDSz0Kilm7XJWeKbnVeGh9N2avr8cpsdKekQrWc8jWno507tjQI9l9wSERG5aXo1MmHCBC0fjnycv+8BVKK57Xtq3zoYnSNCFc0v1LPi05CmxknUp6QjaX7pOSzMOCT5+MZuJKhZutk5IhRnzztlj+CRssQX0GbcR0PPL7fZkZ6jYNQ2X2rqvXFI/OWq4jPjRgMRETU/hnRtpeZH7dI9f6Vm35Oveij1CkXnaVXx0YtRXVPdNxLqU7p08w+pVza6pLdlvbE8cpb4AvqMJFEzAkhqh+iwlkFoESjoHg8g7b1xyOtb0DkiVNHjG30DhoiImi+vvW3pdDrxySefYPny5Vi7dq3Z4ZAMcoakN7Z0zx9pse/JFy8QlSwx9MZxG/UZ2TW1oQYqal5XT0t61SxD1yO5djirMXP9HsWrGKR2iN5TXK5Z86XGyHlvPF15QdFzePsNGCIi8h9el0hmZWVh+fLl+OCDD3Dq1CmzwyGZmtseQDma674nuUsM1VZ8jGB019SGbiRo9brWX9Ird4lvbXol12o7GUvZC6v3SCK5742uahECADnt5nzhBgwREfkPr7hSO3LkCFasWIEVK1bg119/BYCabq2CIG25EXmH5rYHUA61+5Z8ed+T1uM2zGZG19SMX09gcI+6e+e86XU1IrnWYhWDp0RZz5FESt4bRQBBAQKc1U2nk75wA4aIiPyLab9xzp49izVr1mD58uXIyMioM+pDEAQkJSXh3nvvxahRo8wKkRTg7LPGqWmQ4g/7nvSu+BjJjKT+yY93o+9V7S95fbzldTUquTZqFYOaymxDlL43RrULabI5kq/cgCEiIv9i6NWQKIr48ssvsXz5cvz3v/9FZWVlzccBoFevXhg/fjxGjRqF6OhoI0MjDTTXPYBy2FJiMWNtroLz/GPfk54VHyMZNfC+tjIPlXtveF2NTK59bRWDmvfG/NJz2DFjEDbuPebzN2CIiMi/GPKb56effsLy5cvx3nvv4dixYwB+Sx7j4uKwb98+CIKAJ554AqNHjzYiJNJBc90DKIe/Np5RQuuKj9GU3hRQQ0rl3qzX1ejk2pdWMah9bxQB028UEBER1afb+I9jx45hzpw56NWrF3r16oXXXnsNR48ehSiKuOyyy/Doo49ix44d2LNnj14hkMGa8x5AqdwNUixB0v7X474n81U6XDhRUYVKh6vOx0ckRDU5VkJr7sq9Wo19TWopHUmihFavhRG0fG8MsQSiQ+tgJpFERGQ6za9OV61aheXLl2PTpk1wuVw1lUer1YoRI0bAZrPhtttuQ0AAR1j6m+a+B1Aqb2qQQg1rbGD8NZe3xj29ojDqhmi0bx2s28B7T5RW7hv7muIiwxSP1qhPScVdDV9ZxcD3RiIi8keaJ5Jjx46FIAgQRRGBgYEYOHAgxo0bh5EjRyI0VNmAZV9z9uxZ/PDDD8jOzkZ2dja2b9+Ow4cPAwA6d+5c83d/1Nz3AErlLQ1S9OaLy/Cy88oaTfJ/OVqBl774GS998TM6R4TiodQrsGh8b/zlgxzDkicl1S1PX5Pa0Rq1KRlJoiYJ/7mkHB1ad1B8vpH43khERP5Gt6vU1q1b47XXXsOECRMQGOgbF5Baufvuu/Htt9+aHYYpuAdQOm9okKKF+rEbUfnSi9SB8cDFJigz1uYiwmrBa2MSUHiqEm9vOYj80nO6xaekOiX1a5IyWkPKz6ncivvM9XsU76t89IMcn5lBy/dGIiLyN4LoXnuqEfeSVff8x/bt22PMmDG4//77kZyc3Og5giDg/fff94tmO7fccgs2b94MAAgPD0fv3r3x/fff4+zZs4ZUJAsLCxETEwMAKCgoMLwDrpyLcUtQAFZOSebyTR/TWLLYOSIUJyuqYPewdy3CalFd+dKDvcqJ1NnpiiqLlsAALJ7QG/27dUDG/hP486pdOHXuQqPHWy2BHl+jxswa2VNWgxklX1OE1VInOVN6Y8Be5ZRUcV+Zla+qadFzw3pgwk1dFJ9vJL43EhGRGfTKDTRPJPPz87Fs2TKkpaXhwIEDF5/kf0nllVdeCZvNhvvvvx9XXnllzTn+lki+8847aN26Nfr06YOrrroKANClSxfk5+c3i0QS8LyUzo17AH2TlO9tUyxBAaqGyutBbUIDANdc1hrjb+qM2+Iuw6Z9xxtNogbFdcTQuRmqEjwplH5N7oRV6v/HTd0Y8FTJVJPAu/lCtduN741ERGQ0n0kka9u2bRuWLVuGNWvW4NSpUxef8H9JZVJSEsaNG4cxY8agQ4cOfpVINqS5JZKA9IoE+Q45FZWmKEmM9DR0boZmoytqJ1eNJVFGVKeUfk0x4SF49XcJsuJTc2MgY/8JjHs3W9G5tXlrtbs+vjcSEZGRfDKRdHM4HPjkk0+wfPlybNiwARcuXFzyJQgCgoKCcOHCBQiCgJUrV+L3v/+93uGYojkmkrX58h5AukiLylF9cpdq6qXS4ULczA2aPqaU5ErP6pTarylQEOCS8evB042Bpv7/P1FRhT4vblIca23eWO32hO+NRESkN71yA0NmcFgsFowaNQrr169HUVERXn/9dSQmJkIUxZokEgAmTZqE4cOHY8WKFThz5owRoZFBOPvM963LKdK8M2laZr6mj6eU2oHxDXE4qzE1bSfsHh7b3b131sieiI8Mq/O5+MgwzBrZE1umD1C0xDHj1xOyz6lNThIJXGzWsz6nuObf9ionVmblY+jcDMTN3IA+L25C3MwNGDo3Ayuz8uu8LlrOkJXyunsTvjcSEZGvMqQi2Zi9e/di2bJleO+991BUVHQxoP8llS1atMCtt96Ke++9F5MmTTIrRM1oWZEsLCz0+PmSkhIkJSUB8J6KJPk+LZd+1rbv+dtNv4jWoyLpJqfqWnbWgeMV59GxdUuEt7Iofk57lRP9Z6ejzKCRJG7xkWH4fFp/RXsrtf758pZqNxERkdl8emlrU0RRxNdff43ly5dj7dq1sNvtNZ8LCAiA0+kbd5Y90TKRdCfbUjCRJC3omWhtnzEIHVoH6/LYcuiVKLuTq8boMS5Fi8ZBSq2YlITJy3fI3lu5ZGsenvt0r2ZxNPW6ExERNRc+vbS1KYIgYNCgQVi+fDmOHj2KpUuX4tZbb0VAQAC8IM8lavb0WPrppuWyRqUqHS6M0Gle396SclQ2MuojO68MqbPTMWNt7iVJ7L6ScsxYm4vU2enIziuT9ZxpmUcUx6vWn1ftktyMyb0Mdcv+E5j3za+axuHpdSciIiL1zL+Cq8dqtWL8+PEYP348CgoKsHLlSrND8joFBQUeP197aSuRFvRK9uIjw0xb1tpYJVAPZ6ucl3ydUru2ltodsC3OktxAptLh0v3r8cTT/MyGlNodmLh0O1zV2t80bOh1Nwqb6BARkb/zukSytpiYGDz55JO6PLac5aGNWbJkCR544AH1wcjEpapktBBLIOIiwzRPUGwpnTV9PKm0mIUpR/1E3F7lxNS0nfIrdxLGpehZPW5KcFAAqhSMhtEjiQSMr3brsUyZiIjIW3nF0lYi8n62FG0bl0RYLRiu03JST9yVQKOSyMAAAbuL6nahVtIBt35X1MaYuVRYSRKpF6Or3XotUyYiIvJWzfbW6L59+1Q/RmRkpAaREPmGEQlRmLNxvyYJmCUoAAvGJRpenZFbCdSCq1q8ZGmq0j2MaZn5TXYi1at63JR2oS1kL2vVk5HVbr2WKRMREXmzZptIdu/e3ewQiHyKNTgI822Jki6YPYmwWrBgXKKi2YhqKZ2FeXuPy3Ho5FnsP3ZW0fPWXpoaIAiKkzx3A5mmKm22lFhDu7ZaggIw774bYFucZdhzemJktVvPZcpERETejEtbiUiypK7hSJucjAir5xmHVksgukSE1vlYfGQYZo3siS3TB5iSRALKK4FHys5h419uxopJSWgRqGx/tXtpqto9jFLOH5EQ1eT3SCsRVgtWTklGv6vbIy4yzJDn9MToareey5SJiIi8GW+HEpEsSV3DsWX6AKzPKUZaZj721qquxUeGwZbSGcMTOsEaHORVnSvVdDN1VwL7d+uAlVNScN/CTEUNYtIy8zGyV5SiGNx+LilHh9YdPB6jVfW4tsAAoc7XXP97DRhfCa3PjGq3nsuUiYiIvBkTSSKSzRochLHJsRibHOsxWQyxBEpOIPVOOrWoBIZYAtEzqo3iLqPupLtzRCjyS88peozJy3dI2mPnrh5r0Z3WEhSAlVOScW2nNh6/R1ruo/WkZVAAztdKkBtKao2gxc0Js2+wEBERKcVEUgcHDhzA1q1b63zs7NmzNf9dunRpnc/dfvvtuPzyy40Kj0hTcpLF+owcl6C2m6n7fLUJ6fGK8zhZUaX4fDl77GpXj5/7ZI+irqqBAQJWTkmuqfJ5+l7rUQltyMy7e2BkryjTq91a3ZwgIiLyRUwkdbB161ZMnDixwc+VlpZe8rn09HQmktTsZOeV4eG0nShroHrlHpfw6sb9WGBL1KTDpZpuprVHSahNSL/5+TjsDpeqxyi1O/DhzkLc0TOyyUTKGhyEkb2i8PTa3Yqey1Ut4tpObSQfr2UltCHuRjpqbmBoRaubE0RERL6IzXaIyHDZeWW4f1Fmg0lkbWV2B+5flKnZ7D2lszBrj5JwJ6RKxEeGYfWOQkXn1vfMf/egz4ubEDdzA4bOzcDKrHzYG6mQaVFFlcNdCZ01sifiNWzAY9bYmMao/VkwOxEmIiJSg4mkDh544AGIoij5zy233GJ2yESGsVc5MWXZdlxwSdtneMElYsqy7Y0mSXIo6Wba0CgJpQnpmD4xusx3bGrgvbI+s7/59pcTss9x76P9fFp//PD321RG8Ft3WLM6/jZGi5sTREREvsjQRLK0tBRz587FvffeixtuuAFXX301rrjiCo9/rrzySiNDJCKdrd5egPLz8pLC8vNOrN5RoPq53Xv4LEHS3voaq4ApTUhvucZzt1W13APvayeT2XllGPL6FlWP+8F2da+9S1TWnMjtqaHdTR0b44lWNyeIiIh8jWHrg9asWYOHHnoI5eUX78aLEi8sBEHtvXQi8iZvZxxSdN47Ww5hYt+uqp9f6h4+T6Mk5DaVcSekHVu3VBW7FLWb8ewpLtek8Y3aDqNq9wKOv7GL1y4DVfqz4C3Lc4mIiJQy5DdZVlYWxo4di+rqaoiiiE6dOqFXr14IDw9HQABX11Lz403zFY1U6XDh6Bl5++3cSs6c12xcgpxZmJ4eQ0lCqrThjxyldgdW7yjAG98c0Kx7qpoOo1o1OvJWWtycICIi8jWGJJIvv/wyXC4XQkJCsHDhQowdO9aIpyXyKkaOuvBWJ88qH3vhPj8mPFSTWKTOwvRESUJqS4nFjLW5mnwNnryz+ZCmXVPVVhWVft2+spdQi5sTREREvsSQ32jff/89BEHAk08+ySSSmqXsvLJGqxXuRilzNu7HfI1GXZA8akZJyE1IRyREYc7G/bqMxqitpFxZ5bchWlQFlXzdvraXUIubE0RERL7CkHWlp0+fBgAMGTLEiKcj8irZeWWwLc5q8gK6oUYp/qZ9q2BTz9dbiCUQHVoHNznXUU7DH2+gRVVQq0ZHvkLKzwIREZEvM+RKJjIyEgAb51DzY69yYmraTsn71NyNUrQYdeGNQiyBuDxMWcOZyDYt/eai3L2nTm63T7MMjr9Mk8eR+nV766gPIiIi+o0hieSgQYMAADt37jTi6Yi8xrqcItlLGEvtDqzPKdYpIvM9dLOyzqsPpV6hcSTqVTpcOFFRhUqHS/a57j11s0b2RHy9ofbBgd51003d8I66PH3d8ZFhmDWyp2mjPuR+P4tOVWLbgZMoOlWpc2RERETeRxClzuFQ4ZdffsENN9yAyMhI5OTkoFWrVno/ZbNWWFiImJgYAEBBQQGio6NNjqj5Gjo3Q3Gnys+n9dchIvMdLz+P5Flfy0pOBABZTw9ER4XVTC011jSp++WtMe7GzoqbJtXeU3e2yok+L25SFWdkm5YoUdght759z9+uWzXY7L2EcptgHT55FtNW5eCnwjN1foYFANdFt8Hc3yegS3v+jiMiIu+hV25gSEXymmuuwcqVK1FcXIyBAwdiz549RjwtkakqHS7FYx7cc/v80Vf7jsmucIkANu07rkc4smTnlSF1djpmrM295Hv789EKzFibi6QXN2HL/hMeH6ehylftPXVqO6SGh7bAQ/21qeAKAHYXndHksRpi5l5CT99PdxOs1NnpNfuWn/9kD27592b8WC+JBC7+jP5YeAa3/Hsznv+Ev+OIiMj/GdLFYNKkSQCA+Ph4bN++Hddddx169uyJ7t27IzTUcyt/QRCwePFiI8Ik0tRZlfsc1cztM5unKlNa5hFFj5mWmY+xybFahKeIu2lSU/td7Q4Xxr+bjeeG9cCEm7r89nEZlS81cxcFAG+P7434yDC8kX5AdXdYEcDUtJ3YMn2Azza+aYjU76e7Cdag7h3xee5RSY/97neHAQAz7+6hNkwiIiKvZcjS1oCAgDqNdkRRlNR4x32cy+WflRm9cGmrd6h0uBA3c4Pi8/VcTqgHKYlSgCD45Gtir3IidXa67KRs+aQkpHbr4HH8i1uE1VJn/MvKrHxFcxcfSr0CT98RB0B6siTFrJE9TU3ktaT0+ynXt4/fzGWuRERkOr1yA0NuL8fGxrJjKzU7aqpKWsztM5LUOZkv3dNT1fOYVaVV0jQJuFjJm29LxJTlOyRXvtImJyOpa7iiuYvhVgumDby65t/uLqlNJbFSmF0R1pLS76dcj676Eev+1Ff35yEiIjKDIYnk4cOHjXgaIq9jS4lVVFXSYm6fUeQsEXzkvR9UPZfavYNuchu8KF2Oa3e4FI1/cS8jnW9LlFxRtAQF4O0G5i66u6SuzynGim2Hse9ohaKvxb1v15ducDRG6fdTrh8LTxvyPERERGbwnYnYRD5oREKU7FmBEVYLhid00ikibcmdk3nBJSIwQNnqBLVVWnuVEyuz8jF0bgbiZm5Anxc3IW7mBgydm4GVWfmNzu5U0zQJuJhMylF7/ItWcxetwUEYmxyL5ZOTZcVSn9p9v95A7fdTDhHgaBAiIvJbTCSJdOSuKlmCpP2vZgkKwIIGqkreSskSQVe1sm3Zaqq0crtz1mZG8pSWmV/zdy3nLqqt6GpVETaT0d/PI6V2Q5+PiIjIKL5/VUDk5aTuU4uwWrBgXKIpg9iVUrpEMDBAkJVQqqnSyu3O6d6j6GZG8lR/Gam7ojg2OVbV3MXmtG+3MUZ/P2MjrIY+HxERkVFYkSQygJZVJW+hZomgq1o0pEord+mte49i7WWuIZZAdL+8teznVquxypnauYu2FGUNc3xp364n7mTaCAKAqHYhhjwXERGR0TS9NRsYePHCRhAEOJ3OSz6uRP3HIvJVWlWVvIXaJYJv3NcLT328W9cqrZKlt+49irU7lI67sbOipklq6FU5U9IN1pf27UqhtAmWXNdHt9X9OYiIiMyiaUVSFMWaP419XMkfIn+jtqrkDdQmOv2v7qB7lVbp0tvaexQBIKZdqOIYlNBzGam/79uVQkkTLCVe//31uj8HERGRWTS9MnjmmWdkfZyIfJdW++30qtKqWXpbe49idl4ZpizfoehxrJZA2V1bAf2Xkfrzvl0plIxWGRTXEZ/vPir5OSb364Iu7VupCZOIiMirMZEkIsW0nJMZYgnUtAqndunt2SonqkVR1h7L2ixBAZg/LhF/WZXjlctIa8+XTMvMx95aSXd8ZBhsKZ0xPKGTX1Uia1OSTD//yR68+93hJh97cr8u+MddPTSMloiIyPv45xUCERnCm/fbaTHq4uNdhbL3WAIXK5FLJyWhT5dw2ZUvI5eR+tu+XbnkJtMz7+6B8Td2xqOrfsSPhadRe+OFgIt7Il///fWsRBIRUbPARJKIFFOyRNCoREnN0tvOEaEIsQQq3mMZ1S6kZjmorywj1boi7CvkJtNd2rfCuj/1BQAUnarEkVI7YiOs7M5KRETNjinjPyorK7F161Z8+OGHWL58OcrLle1jIiLzuROlppqXRFgtWDkl2dBESemoi6JTlcjYf0LxHsv9x85iyOtbsDIrH/Yqp1+Of/FHcptgRbULwY1XtWcSSUREzZIgGtgWtaCgAE8//TTWrFmDCxcu1Hx89+7diI+Pr/n34sWL8fbbb6NNmzbYuHEjBEEwKkS/UFhYiJiYGAAXX/Po6GiTI6LmwF7l9Lr9dvYqJ1JnpytantoutAVOnbvQ9IFNiLBaMN+WiKSuvyWJzXEZKREREZlDr9zAsEQyKysLd955J06dOlVnpIcgCJckksePH0dsbCwuXLiAzz//HEOGDDEiRL/BRJLM5k2JUnZeGe5bmAlXtXmjhCxBAUibnFwnmSQiIiIygl65gSFLW0+fPo3hw4ejrKwMl19+Od566y3s3r270eM7duyIoUOHAgA+++wzI0IkIg1505zMpK7hiFa49DBY4qzFpjic1ZiathN2lZ1kvUGlw4UTFVWoVDDWhIiIiPyHIevM/vOf/+D48eNo3749tm3bhtjYpvctDRo0COvXr0d2drYBERKRv6p0uJBfek7RuVUKxn40ptTuwPqcYoxNVrZv00z2KifW5RQhLfNInX2jcZFhsKXEYkRClN+OCSEiIqKGGVKR/OSTTyAIAv76179KSiIBoEePizO4Dh48qGdoROTnMn49oer8dqEtNIoESMvM1+yxjJKdV4bU2emYsTb3kuZD+0rKMWNtLlJnpyM7r8ykCImIiMgMhiSSBw4cAACkpqZKPqddu3YAwI6uRKRYdl4Z/vT+LlWP8Z/f94JFoyWue0vKfWpJaHZeGWyLs5psVlRqd8C2OIvJJBERUTNiSCJ5/vx5AECLFtLv7NvtdgBASAjbqhORfPYqJ6am7ZQ037Ix8ZFh6N+tg6TxJlKd9ZF9knJfP3/aB0pERERNMySR7NixIwAgLy9P8jk5OTkAgE6dOukREhH5uXU5RYrGftRmS+kMAHXmQMZd3lrVY7bykb2ESl4/9z5QIiIi8n+GJJLJyckAgC+++ELS8aIoYuHChRAEAf3799czNCLyU2mZR1SdH2G1YHjCbzeyrMFBGJsciy8eTcU1CpPJ+Mgwr+hkK4XS188X94ESERGRfIYkkvfffz9EUcTKlStrKo2ePPbYY/jxxx8BABMmTNA5OiLyN5UO1yWNYeRoEShgwbjERjuRjr+xs6LHdVc4vZ2a18/X9oESERGRMoYkksOHD8eAAQPgdDoxcOBAzJ8/H8ePH6/5vNPpRHFxMdasWYP+/ftj7ty5EAQB99xzD2666SYjQiSShbP0vJvafYhv3X8D+nQJb/TzIxKiENZS3hLV+hVOb6b29fOVfaBERESknGGbdT766CMMHDgQu3btwp/+9Cf86U9/giAIAIBevXrVOVYURaSkpGDp0qVGhUfUJM7S8x1q9yH2u6qDx8/vKS5H5QXpNxGCmqhwehu1r5+v7AMlIiIi5QypSAJA27ZtsW3bNjz11FMICwuDKIoN/gkJCcH06dPx7bffwmq1GhUekUecpedbQiyBiIsMU3RuU/sY3d1ML7hEyY8Z2iIQ8QrjMYOerx8RERH5B0NvG1ssFrz44ot4+umnsXnzZuzYsQPHjx+Hy+VCREQEevXqhUGDBqFNmzZGhkXkkXuWXlNjENyz9NImJyOpa+PLIskYtpRYzFibq+A8z/sYlXQzLT/vxPqcYoxNjpUdj1n0ev2IiIjIP5iy/shqteKOO+7AHXfcYcbTE0mmdJbelukDfGYZo78akRCFORv3y0r6pOxjVNPN1JcSSb1ePyIiIvIPhixt3bJlC7Zs2YLKykrJ55w/f77mPCKzcJae77IGB2G+LRGWIGlvc5aggCb3MTanbqZ6vH5ERETkPwxJJG+55RbceuutyMvLk3xOUVFRzXlEZuEsPd+W1DUcaZOTEWG1eDwuwmrByinJHju1As2vm6nWrx8RERH5D8NuHYui9MYUWpxHpJYW1Sc2HTFfUtdwbJk+AOtzipGWmY+9tb6n8ZFhsKV0xvCETpIqac2xm6mWrx8RERH5D6/9zV9dfXFPWmAgL8TJHFpUn5hIegdrcBDGJsdibHIsKh0unK1yolVwkOzvj7ubqZIbDL7czVSr14+IiIj8h2HjP+TKz7+4NJAdXMkszbH61ByEWALRoXWw4iTIlqKsYY6/dDNV+/oRERGRf9DlSvfIkYb3lZWUlKBVq1Yez62qqsLBgwfxj3/8A4IgoEePHnqESNSk5lp9Is/YzZSIiIhIp0Sya9eul3xMFEUMHjxY9mONHz9ei5CIFOEsParP3c1UymxRgN1MiYiIyD/psrRVFMU6fxr7uKc/wcHB+Nvf/oZJkybpESKRJCMSoprsWFkfq0/+j91MiYiIqLnT5Rb5kiVL6vx74sSJEAQBL7zwAqKioho9TxAEtGzZEpGRkejVq1eTy2CJ9MbqEzWG3UyJiIioORNEA+ZrBAQEQBAE7N69G/Hx8Xo/XbNXWFiImJgYAEBBQQGio6NNjsj3ZeeVYWraTo/74iKsFiwYl8jqUzPFbqZERETkjfTKDQy5VZ6eng6g4b2TRL6A1SdqSoglkAkkERERNRuGXPXefPPNRjwNka44S4+IiIiI6CJTyicXLlzADz/8gNzcXJSVlQEAwsPDce211+KGG25AixYtzAiLSDJWn4iIiIioOTM0kTx37hxeeOEFLFy4EKdOnWrwmHbt2uGhhx7C3//+d4SGhhoZHhEREREREUmgy/iPhhw5cgQJCQmYPXs2ysrKGh37UVZWhpdffhm9evVCYWGhUeERERERERGRRIZUJC9cuIChQ4fiwIEDAIDu3btj4sSJSE5OxuWXXw4AOHr0KLKzs7F06VLs3bsXv/76K4YOHYpdu3YhKIgNTIiIiIiIiLyFIRXJRYsWYd++fRAEATNmzMDu3bvxt7/9DampqejWrRu6deuG1NRUPP744/jpp5/w97//HQCwd+9eLFq0yIgQiYiIiIiISCJDEsk1a9ZAEASMGDECL7zwAgIDG29SEhAQgOeffx4jR46EKIpYs2aNESESERERERGRRIYkkrm5uQCASZMmST5n8uTJAIDdu3frEhMREREREREpY0gieebMGQBAp06dJJ8TGRkJACgvL2/iSCIiIiIiIjKSIYlkeHg4ACAvL0/yOe5j3ecSERERERGRdzAkkbzhhhsgiiLefPNNyee89dZbEAQBvXr10jEyIiIiIiIiksuQRPK+++4DAHz77beYNGkS7HZ7o8eeO3cOU6ZMwTfffAMAGDt2rBEhEhERERERkUSCKIqi3k8iiiL69++P77//HoIgoEOHDhg9ejSSk5PRsWNHCIKAY8eOISsrC6tXr8aJEycgiiL69euHLVu26B2e3yksLERMTAwAoKCgANHR0SZHREREREREZtArNzAkkQSAU6dO4c4770RmZubFJxaEBo9zh3PjjTfi008/Rbt27YwIz68wkSQiIiIiIkC/3MCQpa0A0K5dO2zduhXz5s1DXFwcRFFs8E9cXBzeeOMNZGRkMIkkIiIiIiLyQkFGPllAQAAeeeQRPPLIIygpKUFubi7KysoAXOzOeu2119aM/SAiIiIiIiLvZEgiOWnSJADA0KFD8bvf/Q7AxTmRTBqJiIiIiIh8jyGJ5LJlywAAY8aMMeLpiIiIiIiISEeG7JHs0KEDAOCyyy4z4ulMd/jwYcybNw+jRo3C1VdfjdDQULRs2RLR0dEYMWIEVq1aBafTaXaYREREREREihiSSMbHxwMA8vPzjXg6U/3jH//AFVdcgT//+c/4+OOPceDAAVRWVqKqqgpFRUVYv3497rvvPtx00004cuSI2eESERERERHJZkgiabPZIIpizRJXf1ZSUgJRFGG1WmGz2bBkyRJs3boVO3bswIoVK9CnTx8AwPbt2zFo0CCcPXvW5IiJiIiIiIjkMSSRnDhxIgYOHIj169fj2WefhUGjK00RERGBl19+GSUlJVixYgUeeOAB9O3bF4mJibDZbNi2bRtGjx4NAPj1118xZ84ckyMmIiIiIiKSRxANyOq2bNmCyspKPPHEE9i9eze6deuGMWPG4LrrrkO7du0QGBjo8fzU1FS9QzRUaWkpOnXqBIfDgZ49e+Knn37S9PH1GjpKRERERES+Ra/cwJBEMiAgAIIgKDpXEAS/bEzTp08f7NixA6GhobDb7Zo+NhNJIiIiIiIC9MsNDBn/AcCvl7MqUVVVBQBNVmOJiIiIiIi8jSGJZHp6uhFP4zOOHz+Offv2AQDi4uJkn19YWOjx8yUlJYriIiIiIiIiksKQRPLmm2824ml8xiuvvFKzXNfdeEcOd2maiIiIiIjIDIZ0baXfZGVl4fXXXwcAREdHY+rUqeYGREREREREJJOuFcnPPvsMGzZsQH5+PlwuFzp16oRbbrkFo0ePRosWLfR8aq907Ngx3HvvvXA6nRAEAcuWLUNoaKjsxykoKPD4+ZKSEiQlJSkNk4iIiIiIyCNdEsljx45hxIgRyM7OvuRz7777LmbOnIl169ahZ8+eejy9JEq7yNa2ZMkSPPDAA5KOraiowJ133lmzv/Ff//oXbr31VkXPyy6sRERERERkJs2XtrpcLgwbNgxZWVkQRbHBP3l5eRgyZAhOnjyp9dN7pfPnz2P48OHYuXMnAODxxx/H9OnTTY6KiIiIiIhIGc0rkqtXr8b27dshCAKuvPJKPPXUU0hKSkKLFi2we/duvPrqq8jMzMSxY8fw6quv4qWXXtI6BEncXVPViIyMbPIYp9OJ0aNH13SunTJlCl555RXVz01ERERERGQWXRJJAOjSpQuys7PRtm3bms9169YNI0aMwKBBg7B582asWbPGtESye/fuuj9HdXU1xo0bh08++QQAMGbMGLz99tu6Py8REREREZGeNF/aumvXLgiCgMcee6xOEukWGBiI5557DgCQl5eHiooKrUPwGn/4wx+watUqAMDdd9+NtLQ0BASwUS4REREREfk2zbOaEydOAAB69+7d6DG1P+ev+yT/+te/YtGiRQCAgQMHYs2aNQgKMmRsJxERERERka40TyQrKysBAK1atWr0mNojL86fP691CKZ79tln8dprrwEAbrrpJqxfvx7BwcEmR0VERERERKQN00tkoiiaHYKm5s2bV7N0NyoqCrNnz0ZeXp7Hc6655ppmOVeTiIiIiIh8k+mJpL/56KOPav5eVFSEfv36NXlOXl4eunTpomNURERERERE2tEtkXzrrbfQsWNHTY6bOXOmVmERERERERGRSoKo8drSgIAACIKg5UPC5XJp+nj+rrCwEDExMQCAgoICREdHmxwRERERERGZQa/cQJeKpJa5qdZJKREREREREamjeSKZnp6u9UMSERERERGRF9E8kbz55pu1fkgiIiIiIiLyIprPkSQiIiIiIiL/xkSSiIiIiIiIZGEiSURERERERLIwkSQiMkClw4UTFVWodHCcEREREfk+XcZ/EBERYK9yYl1OEdIyj2BfSXnNx+Miw2BLicWIhChYg/k2TERERL6HVzBERDrIzivD1LSdKLU7LvncvpJyzFibizkb92O+LRFJXcNNiJCIiIhIOS5tJSLSWHZeGWyLsxpMImsrtTtgW5yF7LwygyIjIiIi0gYTSSIiDdmrnJiathMOZ7Wk4x3OakxN2wl7lVPnyIiIiIi0w0SSiEhD63KKmqxE1ldqd2B9TrFOERERERFpj4kkEZGG0jKPKDwvX+NIiIiIiPTDRJKISCOVDled7qxy7C0p52gQIiIi8hlMJImINHJW5T5HtecTERERGYWJJBGRRlqpnAmp9nwiIiIiozCRJCLSSIglEHGRYYrOjY8MQ4glUOOIiIiIiPTBRJKISEO2lFiF53XWOBIiIiIi/TCRJCLS0IiEKERYLbLOibBaMDyhk04REREREWmPiSQRkYaswUGYb0uEJUja26slKAALxiXCyv2RRERE5EOYSBIRaSypazjSJic3WZmMsFqwckoy+nQJNygyIiIiIm3wFjgRkQ6SuoZjy/QBWJ9TjLTMfOytNV8yPjIMtpTOGJ7QiZVIIiIi8km8giEi0ok1OAhjk2MxNjkWlQ4XzlY50So4iN1ZiYiIyOcxkSQiMkCIJZAJJBEREfkN7pEkIiIiIiIiWZhIEhERERERkSxMJImIiIiIiEgWJpJEREREREQkCxNJIiIiIiIikoWJJBEREREREcnCRJKIiIiIiIhkYSJJREREREREsjCRJCIiIiIiIlmCzA6AtOd0Omv+XlJSYmIkRERERERkptr5QO08QS0mkn7oxIkTNX9PSkoyMRIiIiIiIvIWJ06cQJcuXTR5LC5tJSIiIiIiIlkEURRFs4MgbZ0/fx67d+8GAHTo0AFBQSw8m6GkpKSmIpydnY3IyEiTIyIt8Pvqf/g99T/8nvoffk/9D7+nxnE6nTUrFnv27ImWLVtq8rjMMPxQy5Yt0adPH7PDoFoiIyMRHR1tdhikMX5f/Q+/p/6H31P/w++p/+H3VH9aLWetjUtbiYiIiIiISBYmkkRERERERCQLE0kiIiIiIiKShYkkERERERERycJEkoiIiIiIiGRhIklERERERESyMJEkIiIiIiIiWQRRFEWzgyAiIiIiIiLfwYokERERERERycJEkoiIiIiIiGRhIklERERERESyMJEkIiIiIiIiWZhIEhERERERkSxMJImIiIiIiEgWJpJEREREREQkCxNJIiIiIiIikoWJJBEREREREcnCRJKIiIiIiIhkYSJJpKEdO3bg+eefx+DBgxEdHY3g4GC0atUK3bp1w8SJE7F161azQyQZysvLsWrVKjz22GO4+eabcdVVV6FNmzawWCzo2LEjbrnlFsyePRulpaVmh0oaeOKJJyAIQs2fb7/91uyQSKLa3zdPf2655RazQyWFjhw5gmeeeQa9e/dGhw4d0LJl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JiUlxWl8QEAAABs3bnTbtz3G3sYbvfXWWyQkJHD27FkApkyZwsaNGzlw4ADFxcVkZmYaf5vTp08zZcoUVq5c6bJP+2fivffe43//+99NzV9ExJv43uoEREREvNmf//xnAEaMGMHAgQPdxoeEhBAREdHu67XWPioqCovFwvDhwykrK6OkpITt27czefLkNve7c+dOEhMTqaurw9/fn61btxIXF+eyzZQpU8jOzmb37t189dVX9OnTp9W4iooKdu3aBcDUqVP54IMP2pxXR9mxYwdPP/00AMHBwWzbto0xY8Y0i7G/z5988gmJiYlUVlYyd+5cBg4cyNixY1vtd+zYsYSEhFBRUcGqVatYtGjRzb4VERGvoBFJERERJyorK9m2bRsAFovllubSs2dPXnzxRePnjz76qM1t8/PziY+Pp66ujq5du5KXl+e2iAQYP348ffr0obGxkc2bNzuN27x5M1arlT59+jBu3Lg259VRLl++zJNPPgmAj48P+fn5LYpIR7GxsXz44Yf4+Phgs9mYMWMGtbW1rcaazWYeffRRANatW9eukWIRkduRCkkREfFKFy5cYOHChURGRnLHHXcQEBBA//79mT59Ovv27WtTH/v27SMpKYk+ffoQEBBAeHg4s2fPpqysDPj/RV2cLdCSl5dHfX09AElJSTfkvq7H8OHDjeMzZ860qU1OTg5JSUk0NDQQGBjI9u3bmTBhQpvams1mHn/8ccD19Nb3338fgCeeeAKz2dymvjvSe++9x4ULFwCYNWsWo0aNcttm9OjRzJw5E4D//ve/Lu/f/tk4e/Ys+/fvvwEZi4h4PxWSIiLidXbt2sXAgQP5wx/+wLFjx6isrKS+vp4zZ86QmZnJqFGjmD9/Pk1NTU77WLp0KaNHjyYnJ4fz589TX1/PF198wapVqxg6dKgxFdOVgoICAPr168fdd999w+6vvfz8/IzjxsZGt/EffPABjz76KFeuXCEoKIiPPvqI2NhYj645ffp0AI4ePcrx48dbnD9x4gR///vfm8V6mw0bNhjH9umtbeEYu3btWqdxDz74oFFA79y5sx0ZiojcflRIioiIVzl27BiTJ0+mqqoKPz8/nn32WQoKCigpKWHVqlUMGDAAgHfeeafZVE9H2dnZLFiwAJvNRq9evVi6dCkHDhzgwIEDLF26FF9fXx577DG3i6Ps3bsXuFoo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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "And finally we can generate a boxplot of RNA expression value split by mutation type present in the gene." + ], + "metadata": { + "id": "depEVF2z3TdD" + }, + "id": "depEVF2z3TdD" + }, + { + "cell_type": "code", + "source": [ + "mutated = combined_df[combined_df['Variant_Classification'] == 'Missense_Mutation']['log_fpkm_uq']\n", + "wildtype = combined_df[combined_df['Variant_Classification'] != 'Missense_Mutation']['log_fpkm_uq']\n", + "fig, ax1 = plt.subplots(figsize=(5, 3))\n", + "bp = ax1.boxplot(x=[mutated, wildtype], tick_labels=['Missense', 'Wild Type'], )\n", + "ax1.set(ylabel=\"log(FPKM UQ)\")\n", + "fig.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 566 + }, + "id": "cocx-LMGv1Zy", + "outputId": "b7b14cbb-8aff-46ed-cb85-255279859927" + }, + "id": "cocx-LMGv1Zy", + "execution_count": 22, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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9a3x97+7u7tGjRql5cuXq6SkRKmpqXxeAHXQZBPOmjVrJJ3/w3PMmDGW17Ozs3Xy5Em1atVK/v7+jioPaBJq+3AHADiH3Nxcy2M/P78G9VH+8yInJ+eiawKagia76siuXbskSe3bt5ePj48++ugj9erVS61atVLXrl3VqlUrdevWTS+++KIKCwsdXC0AAEDj5e3tbXl85syZBvVhNpstj318fC66JqApaJL37JWWlqpZs2YqLS1V3759de211+q1116rtv3AgQP16aefqmXLlnW+RkpKSo3H09LS1K9fP0ncswcAAJxbbffs1ab8PXtubm46efIkM0PgVNhU3YrOnDmj0tJSSdL+/fv12muvKTAwUB988IGys7N19uxZxcfHa8CAAZKknTt36o9//GO9rhESElLjT1nQAwAAcHa+vr6KioqSdH6bhZiYmHqdv379esvWPFFRUQQ9oI6aZNgrv3l6QUGBWrRoodjYWN1yyy267LLL1Lx5c0VERGjbtm3q3bu3JCkmJkbffvuto0oGAABo1O6++27L4wULFqigoKBO5+Xn5+v555+vsh8ANWuSYc/T07PC8z//+c/q1q1bpXbNmzfXv/71L8vzVatW1fkaycnJNf7s3r274W8AAACgkYmMjFRoaKgkKTExUdOmTas18BUUFGj69OlKTEyUdH4P1iFDhti8VsBZNMnVOC+8qXfkyJHVth02bJjc3NxUXFysPXv21Pka3IMHAADwPyaTScuWLVNERITy8vK0ceNGDRw4UHPmzFFUVFSFe/iKioq0fv16Pf/885ag5+XlpaVLl7IHK1APTTLseXh4qHXr1srKypIky82QVfH09NTll1+u9PR0S3sAAADUX3h4uGJiYhQVFaW8vDzLCF+bNm00cuRI+fr6ymw2a/PmzZZ79KTzQS8mJkbh4eEOrB5ofJpk2JOk0NBQxcXFSZJlk8/qlB1n43UAAICLM2LECG3fvl0zZ85UUlKSpPOLtixfvrzK9j179tTSpUsJekADNMl79iQpIiLC8vjIkSPVtjObzTpx4oQkKSgoyOZ1AQAAOLvw8HDt379fsbGxio6Olqura4Xjbm5umjx5smJjY7Vv3z6CHtBATXaoatKkSfrHP/4h6fxKm5MmTaqyXUxMjMq2Ihw8eLDd6gMAAHBmJpNJkZGRioyMlNlsVmpqqnJycuTj46OgoCC2VwCsoEluql7mxhtv1Oeffy4XFxdt2bJFw4YNq3A8PT1dffv2VUpKitzd3XXkyBGrje7ZauNEAAAAAI0Lm6rbwCuvvKKWLVuqtLRUY8aM0bx587Rjxw7t3btXixcvtgQ9SZo/fz7TOAEAAAA0Gk16ZE+SvvrqK0VHRysjI6PK4yaTSY899pjmz59v1esysgcAAABAsl02aLL37JUZNGiQkpKStGjRIm3YsEFHjx5VUVGRAgMDFRkZqfvuu09hYWGOLhMAAAAA6qXJj+w5CiN7AAAAACTu2QMAAAAA1EOTn8YJAAAAxzKbzUpJSVFubq68vb0VHBzM1guAFTCyBwAAALszDMOyqbq/v79CQ0PVv39/hYaGyt/f37KpOnccAQ3nkJG9jIwMpaenKy8vT82aNVPLli0VEhIiT09PR5QDAAAAO0pISNDMmTOVlJRU5fGSkhKtXbtWa9euVWhoqJYtW6bw8HA7Vwk0fnYJezt37tTnn3+u+Ph4JSYm6uzZs1W269Chg/r376+RI0dqzJgxatWqlT3KAwAAgJ1s3bpVUVFRysvLq1P7pKQkRUREKCYmRiNGjLBxdYBzsdlqnBkZGfr3v/+t999/X7///rvl9douZzKZJElubm664YYbdPfdd2vUqFG2KNGhWI0TAAA0NQkJCYqIiKhz0CvPy8tL27dvZ4QPTslW2cDqYe/48eN65pln9O6776qoqMgS7lxdXRUaGqprrrlGAQEB8vf312WXXab8/HxlZ2fr1KlT+vnnn7V3716dOHHifwWaTOrRo4eefPJJRUdHW7NUhyLsAQCApsQwDPXq1avKqZsBAQEaMGCAPDw8VFhYqF27dikzM7NSu549e2rfvn2WwQHAWTSKTdWffvppvfjiizp79qwMw1BAQICmTp2qSZMmqW/fvmrevHmd+jl69Ki+/PJLffTRR9q+fbuSkpI0depU9e/fX2+//bZ69uxpzbIBAABgY3FxcZWCXufOndWqVSvt2bNHmzZtsrzu4uKi/v376+TJk/rll18srx84cEDx8fGKjIy0V9lAo2bVkT0Xl/OLe44YMUIPP/ywhg8fbnmtoY4fP6733ntPr7zyirKzs/XUU0/piSeesEa5DsXIHgAAaEqio6O1bt06y3MfHx/l5OTUet6F7aKjo7VmzRqb1Ag4SqOYxjlmzBg9/vjj6t+/v7W6tMjLy9Mbb7whHx8f/fWvf7V6//ZG2AMAAE2F2WzWZZddptLSUknnBwjKHktSmzZtNHLkSPn5+enMmTPasmWLMjIyLMfLt3dxcdGpU6fYhw9OpVFM4/zkk0+s2V0FXl5eeuSRR2zWPwAAAGwjJSWlQrgrexwWFqa5c+dq6NChyszMtGyqvnDhQn355ZdasGCBEhMTK52bmppK2APqgE3VAQAAYFPp6emVXhs/fryeffZZrV69Wm3btq2wqXrbtm21du1aPfvssxo3blylc9PS0uxRNtDoOWRTdQAAADQdubm5FZ5369ZNhw8f1g033FBl+/Kbqvfo0UPdunXToUOHLMer27MZQEV2DXsFBQXav3+/Tpw4odOnT8vDw0OXX365unfvrtatW9uzFAAAANiJj49PhefHjh1TYWGh5Xnr1q01YMAAeXp6qqCgQLt27VJWVpYk6eDBg/Lw8KhwvpeXl+2LBpyAzcNeYWGhli9frvfee0/fffediouLq2zXpUsXTZkyRffcc4/atGlj67IAAABgJxeGs7KgV7b1wt69e/Xxxx9bjru6ulbYeqF8MJQkb29v2xcNOAGb3rO3bds2de7cWXfeeae+/fZbnTt3ToZhVPlz+PBh/etf/1LHjh318ssvV9tncnKyLUsGAACAHfj4+OiXX37Rt99+q5KSkgrHSkpK9O233+qXX36pNCoIoO5sNrL373//W/fcc48lzElS165dFR4erjZt2sjb21u5ubnKyMhQQkKCfv75Z0lSfn6+/va3v+n777/X0qVLK/T54IMP6rLLLnOKffYAAACasvJ759W09UJVe/FZcecwwKnZJOx99tlnuueee1RaWioXFxfdeeedmj17trp161btOT///LNeffVVvf322yopKdEHH3yg9u3b6+mnn9a5c+c0Y8YMrVmzRk8++aQtSgYAAICNVDftsnnz5rrjjjv0z3/+s0Kb3NxcPfbYY3rnnXeUn59f6TxG+4C6sXrYKyws1L333qvS0lK1bNlSGzdu1ODBg2s9r2vXrnrjjTd08803a+zYsTp9+rSeffZZjR49Wn//+9+1bds2mUwmubmxgCgAAEBjUt2eePn5+Xr11Ve1cuVKjRw5Ur6+vjKbzdq8ebMyMzOr7Y+wB9SN1ZPTypUrdezYMZlMJq1fv75OQa+86667TuvXr9ewYcNUUlKiiIgI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p06KjIy0Y9VA43ZJhL2CggKlp6fru+++00cffaQNGzbIMAwFBwdr1qxZNrmmyWSqU7shQ4YoLi7OJjUAAAA0FSaTSWvWrNF1112ngoKCCsdOnDihTZs21Xi+p6enVq9eXee/4QDYIOxdOAzfEIZhqHnz5lqzZo08PDysUBUAAAAcLTw8XJs2bdK4ceMqBb6aeHp6atOmTQoPD7dhdYDzsXrYs8Yqmtdee63efvttuyyr+9e//lV33313tce9vLxsXgMAAEBTMWLECH399deaMWOGDh48WGv70NBQLVu2jKAHNIDVw15ERES9htdNJpOaN28uf39/XXXVVRo2bJhd/2MOCAhQz5497XY9AACApi48PFwHDhxQfHy83njjDa1fv16lpaWW466urpo4caLuvvtuDRkyhKmbQANZPexxfxsAAABqYzKZFBkZqcjISJnNZqWmplo2VQ8KCmJ7BcAKLokFWgAAANB0+fr6Eu4AG7hk99kDAAAAADRckw97a9asUY8ePdSiRQv5+PioS5cumjVrlmJjYx1dGgAAAAA0WJOfxnnhKlC//PKLfvnlFy1btkwTJkzQkiVL5OfnV+9+U1JSajyelpZW7z4BAAAAoK6abNhr0aKFxo0bp2HDhunKK6+Ut7e3srKyFB8fr7feeksnT57Uhg0bNH78eG3dulXNmjWrV/8hISE2qhwAAAAAamcyrLExXiN0+vRptWzZsspjGRkZGj16tBITEyVJr776qu6///569V+fJYKTk5MVHBxcr/4BAAAAOIeUlBTLYJE1s0GTDXu1OXLkiK688kqdO3dOnTt31uHDh+t1fl2mcfbr108SYQ8AAABoymwV9prsNM7adOzYUSNGjNBnn32mX375RcePH1e7du3qfD7hDQAAAIAjNfnVOGvSo0cPy+PU1FQHVgIAAAAA9UPYq0F97rsDAAAAgEsJYa8G5bdlqM8UTgAAAABwNMJeNY4ePaqtW7dKkjp16qSgoCAHVwQAAAAAdWf1BVq2b99u7S4VERFh1f4+/vhjjR49Wm5uVb/9jIwMTZo0SUVFRZKku+++26rXBwAAAABbs3rYi4yMtOq9biaTScXFxVbrT5Luu+8+nTt3TpMmTdK1116r9u3bq3nz5jpx4oTi4uL073//WydOnJAkDRo0SPfcc49Vrw8AAAAAtmazrRcu9e37jh8/rkWLFmnRokXVtpk0aZL+85//yMPDw46VAQAAAMDFs1nYa968ucaPH68RI0bIxeXSujVw6dKlio+P1zfffKMjR47oxIkTMpvN8vb2VkhIiAYOHKhZs2bp2muvdXSpAAAAANAgJsPKQ3B+fn7Kyck537nJpLZt2+rmm2/WjBkzdNVVV1nzUo1aSkqKQkJCJEnJyclswg4AAAA0UbbKBlYfcsvIyNCKFSt04403ytXVVWlpaVq4cKHCwsJ09dVXa+HChUpLS7P2ZQEAAAAA5Vg97Hl6emrq1Kn65JNPlJqaqpdffllhYWEyDEP79u3T//t//09/+MMfdMMNN+ijjz5Sfn6+tUsAAAAAgCbPpjfTtW7dWrNnz9bevXuVlJSkOXPmKDg4WCUlJdqyZYtmzJihNm3a6LbbbtOXX35py1IAAAAAoEmx28op3bt317PPPqvffvtN27Zt02233SZvb2/l5uZq2bJlGjlypEJCQvTYY4/ZqyQAAAAAcFoOWSYzMjJS7733njIyMvTRRx9p9OjRcnV1tUz7BAAAAABcHIfuiWAymeTi4iKTyWTVjdgBAAAAoKmz2T57NYmPj9fy5cu1bt06mc1mSec3YQ8MDNSMGTMcURIAAAAAOBW7hb0ff/xRy5cv10cffaTk5GRJ5wNeixYtFBUVpZkzZ2rYsGGX3AbsAAAAANAY2TTsZWZmasWKFVq+fLkSExMlnQ94Li4uuv766zVz5kxNnDhRXl5etiwDAAAAAJocq4e9goICbdiwQcuXL9fWrVtVUlIiwzAkSaGhoZo5c6ZuueUWtWvXztqXBgAAAAD8H6uHvYCAAOXl5Uk6P4rXtm1bTZ8+XTNmzNDVV19t7csBAAAAAKpg9bCXm5srk8kkT09PjRs3TiNHjpSrq6v27dunffv2NajPmTNnWrlKAAAAAHBuJqNsjqWVlG2lYC0mk0nFxcVW6+9SkZKSopCQEElScnKygoODHVwRAADAxenTp4/S09MbdG5mZqZKSkrk6uqqgICAep/ftm1b7d27t0HXBhzNVtnAJgu0WDk/AgAAoBFIT09XamrqRfVRWlp60X0AOM/qYS82NtbaXQIAAKARaNu2bYPPTUtLU2lpqVxcXBQYGGjXawPOyuphb8iQIdbuEgAAAI3AxUyjDA4OVmpqqgIDA5WSkmLFqoCm65LfwfzQoUOOLgEAAAAAGh2rh72PPvrIan398MMPjBQCAAAAQANYPezddtttWrdu3UX3s3fvXg0dOlRZWVlWqAoAAAAAmharh73i4mLdfPPN2rRpU4P72LFjh4YPH65Tp05ZsTIAAAAAaDqsHva8vb117tw5TZkyRZ9//nm9z//iiy904403ymw2S5L+/ve/W7tEAAAAAHB6Vg97n332mby8vFRUVKRJkybpiy++qPO5n3zyicaNG6e8vDxJ0jPPPKOnn37a2iUCAAAAgNOzetgbNGiQPv74YzVv3lwFBQWaMGGC4uPjaz1vzZo1io6OVkFBgSTp5Zdf1ty5c61dHgAAAAA0CTbZeiEyMlIbN26Up6enzp49qzFjxmjnzp3Vtl++fLluueUWFRUVyWQy6a233tLs2bNtURoAAAAANAk222dv+PDhWrdundzd3ZWXl6fRo0dr9+7dldr9+9//1u23367i4mK5urpqyZIluuOOO2xVFgAAAAA0CTbdVH306NFas2aNmjVrppycHI0aNUoJCQmW46+88oruvvtulZaWqlmzZlqxYoVmzJhhy5IAAAAAoEmwadiTpLFjx2rFihVyc3PTmTNnNGrUKP3www965pln9PDDD8swDHl6emrdunWKjo62dTkAAAAA0CS42eMiEydO1PLly3XrrbcqOztb1113nfLz82UYhlq0aKENGzZo+PDh9igFAAAAAJoEu4Q9SZo6daqKi4s1a9YsnT17VpLk6+urTz75RIMGDbJXGQAAAADQJFg97G3fvr3aYyEhIZo1a5bef/99ubi46NFHH1VpaWmN50hSRESEtcsEAAAAAKdm9bAXGRkpk8lUYxuTySTDMDRv3rxa+zOZTCouLrZWeQAAAADQJNhkGqdhGLboFgAAAABQR1YPe08++aS1uwQAAAAA1BNhDwAAAACckM332QMAAAAA2B9hDwAAAACckE332fv000/13//+V7/99ptKSkrUrl07RUZGasqUKWrWrJktLw0AAAAATZpNwl5GRoYmTJig3bt3Vzr23nvv6YknntCGDRvUq1cvW1weAAAAAJo8q0/jLCkp0bhx4/Ttt9/KMIwqf44ePapRo0bpxIkT1r48AAAAAEA2CHurV6/Wnj17ZDKZ1LlzZ7377rvav3+/fvrpJ61Zs0YDBgyQdH7076WXXrL25QEAAAAAslHYk6T27dtr9+7duv322xUaGqqu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3G7dumny5MmSpJUrV2rhwoU19nP06FGtWLGixjYNkZ2drY8//rjGoFbde2jZsqXuvfdeSedX8nzwwQerXACmTEZGhv7zn/9YoWoAzqpdu3bq1KmTJCk2NtYy86G6fUB9fX0tC5I8//zzltdtFfbuvPNOyxd1d9xxR5X7hn744Yf67LPPbHL9urr++ust/45/+ctfZDabJdVvS4j58+fr0KFDlV7/8ccf9a9//UvS+ZWYy9/LLUmzZ8+27D94++23KykpqcbrfPrpp9q3b1+d6wLqinv2AEg6P7J2yy236KabbtLQoUPVvXt3+fn56dSpU9q7d68WLVpkWdb7rrvuspz3+++/6/rrr1ePHj0UFRWlPn36WPb8S05O1qpVqyzTPq+++mrLxuZl3nzzTe3du1dHjhzRww8/rI0bN2rmzJkKDQ2Vh4eHTp48qR9++EH//e9/tW3bNkVFRWn69OlWfe9ms1njxo1T+/btNXHiRPXv319XXHGF3NzclJaWpo8//tgS0IKCgipsAyFJ//jHPxQfH69vv/1Wr776quLi4vSXv/xFV199tby8vHTq1CklJSXpiy++0Oeff65evXpZvnEGgKoMHjxYv/76q1JTUyWd349twIAB1bYfNGiQvv/+e8s+oi4uLtWOBF6s3r1765577tHrr7+uvXv3qk+fPpozZ4569eqlM2fOaM2aNXr77bfVp08fh07RN5lM+uMf/6jHHnvMsq1B586d6xyCO3furKysLA0YMEBz5sxRZGSkJCkuLk7PPfecZQR10aJFlRZXadOmjZYuXaro6GilpaWpT58+uu222zR69GgFBwfr3LlzSklJ0e7du7V27VodOXJEH3/8sa666irr/QMAIuwBKOfs2bNas2aN1qxZU+VxFxcXPf3005owYUKlYwcPHtTBgwer7fvKK6/U+vXrK61u5u/vr6+//lpTpkzRjh07KkxZqoqvr2/d3kwDHDt2rMbRxcDAQG3cuNHybW0ZDw8Pbd26VbfddpvWr1+vH374wTLaVxVbvgcAziEiIkJLliyxPA8LC6txe5lBgwbp9ddftzzv1atXhcVUrG3hwoU6fvy41q9fr59++km33357heMdOnTQqlWrLCNrjnLbbbfpiSeesKyQeWGdNQkKCtIrr7yiKVOmaN68eZWOu7i46Pnnn9ekSZOqPH/ixInauHGjbrvtNmVnZ+utt97SW2+9VWVbFxcXq99fCUiEPQD/Z8WKFfrkk08UFxengwcPKj09XSdOnJCnp6euuOIKRURE6K677qr0rePgwYMVFxenzZs3a9euXUpOTlZGRoYKCgrk7++v3r17a+LEibrtttvk4eFR5bXbtm2r7du369NPP9WKFSv0zTffKD09XefOnVPLli3VpUsXXXvttRo3bpxNpiVdccUV2r17tz777DPt3LlTv/32mzIyMpSbm6uWLVuqR48eGjt2rO64445qg5qPj4/WrVunr776SkuXLtWOHTt0/Phx5efny9fXV506dVK/fv100003aeTIkVZ/DwCcy4W/62obpbtwiqctt1yQzq/0uW7dOn3wwQd6++23tW/fPp07d05XXHGFoqKi9Le//U2XXXaZTWuoi7KFzLZs2SJXV1fNmjWrXuffdNNN2rt3r1544QVt27ZNaWlpatmypQYPHqyHH3641tVOx44dq6NHj+qdd97RZ599pqSkJGVnZ8vNzU1t27ZVaGiohg4dqujoaIWEhFzMWwWqZDJYTQAAAABOqLS0VFdccYVSUlI0evToOt1HGBkZqfj4eA0ZMkRxcXG2LxKwIRZoAQAAgFPaunWrUlJSJEl/+tOfHFwNYH+EPQAAADilBQsWSKp6xUygKeCePQAAADiFnJwcZWRkyGw267333lNsbKwk6f/9v/8nNzf+7EXTw//XAwAAwCmsW7eu0oqbYWFhNa6QDDgzpnECAADAqbi4uOiKK67Qvffeq61bt6pZs2aOLglwCFbjBAAAAAAnxMgeAAAAADghwh4AAAAAOCHCHgAAAAA4IcIeAAAAADghwh4AAAAAOCHCHgAAAAA4IcIeAAAAADghwh4AAAAAOCHCHgAAAAA4IcIeAAAAADghwh4AAAAAOCHCHgAAAAA4IcIeAAAAADghwh4AAAAAOCHCHgAAAAA4IcIeAAAAADghwh4AAAAAOCHCHgAAAAA4IcIeAAAAADih/w/HEMFsF58JawAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.18" + }, + "colab": { + "provenance": [] + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file From 6babe6b1463a1e5e3fe9c0eddc86d8fe1d8697e4 Mon Sep 17 00:00:00 2001 From: Amanda Charbonneau Date: Tue, 28 Apr 2026 11:03:53 -0400 Subject: [PATCH 2/2] Update mkdocs.yml --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index 81914456..39be387b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -121,6 +121,7 @@ nav: - View the cancer types for subjects over 50 at diagnosis: documentation/cdapython/vignettes/004_over50.ipynb - Find subjects with data at multiple data centers: documentation/cdapython/vignettes/009_multidcsubject.ipynb - Find subjects using a file as search input: documentation/cdapython/vignettes/008_multidc-from-file.ipynb + - Multi-omics Cohort Analysis: documentation/cdapython/vignettes/010_isbcgc.ipynb - Helpdesk: - helpdesk/index.md