{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "f5eacb1b",
   "metadata": {},
   "source": [
    "# Joining the same patients across two NCI repositories\n",
    "\n",
    "**Level:** advanced &nbsp;·&nbsp; **Language:** Python &nbsp;·&nbsp; **Runtime:** about two minutes\n",
    "&nbsp;·&nbsp; **Access:** none required\n",
    "\n",
    "TCGA-BRCA is one cohort of 1,098 patients. Its molecular data live in the Genomic Data\n",
    "Commons and its radiology and pathology imaging live in the Imaging Data Commons, and\n",
    "neither portal tells you about the other. The result is that a large amount of\n",
    "multimodal research that is already possible simply does not happen.\n",
    "\n",
    "This workbook builds the join, quantifies how many patients actually carry both, and\n",
    "then does the same sweep across every TCGA project to produce a map of where\n",
    "imaging-plus-molecular analysis is possible today."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d3025e65",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-21T00:42:56.805380Z",
     "iopub.status.busy": "2026-09-21T00:42:56.805238Z",
     "iopub.status.idle": "2026-09-21T00:42:57.302735Z",
     "shell.execute_reply": "2026-09-21T00:42:57.302339Z"
    }
   },
   "outputs": [],
   "source": [
    "import json\n",
    "from urllib.parse import urlencode\n",
    "from urllib.request import Request, urlopen\n",
    "\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "\n",
    "GDC = \"https://api.gdc.cancer.gov\"\n",
    "IDC = \"https://api.imaging.datacommons.cancer.gov/v3\"\n",
    "\n",
    "\n",
    "def get_json(url: str, params: dict | None = None, timeout: int = 180):\n",
    "    full = f\"{url}?{urlencode(params)}\" if params else url\n",
    "    with urlopen(full, timeout=timeout) as r:  # noqa: S310 - fixed, trusted hosts\n",
    "        return json.loads(r.read().decode())\n",
    "\n",
    "\n",
    "def idc_sql(sql: str, timeout: int = 180) -> list[dict]:\n",
    "    \"\"\"Run SQL against IDC's public endpoint. Note the body field is `sql`, not `query`.\"\"\"\n",
    "    req = Request(\n",
    "        f\"{IDC}/sql\",\n",
    "        data=json.dumps({\"sql\": sql}).encode(),\n",
    "        headers={\"Content-Type\": \"application/json\"},\n",
    "    )\n",
    "    with urlopen(req, timeout=timeout) as r:  # noqa: S310 - fixed, trusted host\n",
    "        return json.loads(r.read().decode()).get(\"rows\", [])\n",
    "\n",
    "\n",
    "PROJECT_ID = \"TCGA-BRCA\"\n",
    "IDC_COLLECTION = PROJECT_ID.lower().replace(\"-\", \"_\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "306d1fb9",
   "metadata": {},
   "source": [
    "## 1. What each repository holds for this cohort"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "943b438a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-21T00:42:57.303854Z",
     "iopub.status.busy": "2026-09-21T00:42:57.303763Z",
     "iopub.status.idle": "2026-09-21T00:42:57.691302Z",
     "shell.execute_reply": "2026-09-21T00:42:57.690438Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "GDC  TCGA-BRCA\n",
      "  cases : 1,098\n",
      "  files : 71,423\n",
      "\n",
      "IDC  tcga_brca\n",
      "  patients : 1,098\n",
      "  series   : 10,463\n",
      "  modalities      : ['ANN', 'MG', 'MR', 'SEG', 'SM', 'SR']\n",
      "  supporting data : Clinical, Genomics, Image Analyses, Histopathology\n"
     ]
    }
   ],
   "source": [
    "proj = get_json(\n",
    "    f\"{GDC}/projects/{PROJECT_ID}\",\n",
    "    {\"expand\": \"summary,summary.experimental_strategies\", \"format\": \"json\"},\n",
    ")[\"data\"]\n",
    "n_gdc_cases = proj[\"summary\"][\"case_count\"]\n",
    "\n",
    "coll = get_json(f\"{IDC}/collections/{IDC_COLLECTION}\")\n",
    "if isinstance(coll, list):\n",
    "    coll = coll[0]\n",
    "\n",
    "print(f\"GDC  {PROJECT_ID}\")\n",
    "print(f\"  cases : {n_gdc_cases:,}\")\n",
    "print(f\"  files : {proj['summary']['file_count']:,}\")\n",
    "print(f\"\\nIDC  {IDC_COLLECTION}\")\n",
    "print(f\"  patients : {coll.get('patients') or coll.get('subjects'):,}\")\n",
    "print(f\"  series   : {coll.get('series'):,}\")\n",
    "print(f\"  modalities      : {coll.get('modalities')}\")\n",
    "print(f\"  supporting data : {coll.get('supporting_data')}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b25cd0d1",
   "metadata": {},
   "source": [
    "## 2. Build the patient-level join\n",
    "\n",
    "Both repositories key on the TCGA barcode, which is what makes this join possible at\n",
    "all. We pull the identifier list from each side and intersect."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "93274896",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-21T00:42:57.693961Z",
     "iopub.status.busy": "2026-09-21T00:42:57.693781Z",
     "iopub.status.idle": "2026-09-21T00:43:00.469893Z",
     "shell.execute_reply": "2026-09-21T00:43:00.468918Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "GDC patient identifiers: 1,098\n",
      "IDC patient identifiers: 1,098\n",
      "\n",
      "patients in BOTH repositories: 1,098\n",
      "  = 100.0% of the GDC cohort\n",
      "\n",
      "example joined identifiers: ['TCGA-3C-AAAU', 'TCGA-3C-AALI', 'TCGA-3C-AALJ', 'TCGA-3C-AALK', 'TCGA-4H-AAAK']\n",
      "molecular only (no imaging): 0\n",
      "imaging only (no molecular): 0\n"
     ]
    }
   ],
   "source": [
    "filters = json.dumps(\n",
    "    {\"op\": \"in\", \"content\": {\"field\": \"project.project_id\", \"value\": [PROJECT_ID]}},\n",
    "    sort_keys=True,\n",
    ")\n",
    "gdc_cases = get_json(\n",
    "    f\"{GDC}/cases\",\n",
    "    {\"filters\": filters, \"fields\": \"submitter_id\", \"size\": \"5000\", \"format\": \"json\"},\n",
    ")[\"data\"][\"hits\"]\n",
    "gdc_ids = {h[\"submitter_id\"] for h in gdc_cases if h.get(\"submitter_id\")}\n",
    "print(f\"GDC patient identifiers: {len(gdc_ids):,}\")\n",
    "\n",
    "# IDC exposes patient identifiers through a public SQL endpoint.\n",
    "try:\n",
    "    rows = idc_sql(\n",
    "        \"SELECT DISTINCT PatientID FROM index \"\n",
    "        f\"WHERE collection_id = '{IDC_COLLECTION}'\"\n",
    "    )\n",
    "    idc_ids = {r[\"PatientID\"] for r in rows if r.get(\"PatientID\")}\n",
    "except Exception as exc:  # noqa: BLE001 - fall back rather than fail the workbook\n",
    "    print(f\"  SQL endpoint unavailable ({type(exc).__name__}); falling back to counts only\")\n",
    "    idc_ids = set()\n",
    "\n",
    "if idc_ids:\n",
    "    overlap = gdc_ids & idc_ids\n",
    "    print(f\"IDC patient identifiers: {len(idc_ids):,}\")\n",
    "    print(f\"\\npatients in BOTH repositories: {len(overlap):,}\")\n",
    "    print(f\"  = {100 * len(overlap) / max(len(gdc_ids), 1):.1f}% of the GDC cohort\")\n",
    "    print(f\"\\nexample joined identifiers: {sorted(overlap)[:5]}\")\n",
    "    only_gdc = gdc_ids - idc_ids\n",
    "    only_idc = idc_ids - gdc_ids\n",
    "    print(f\"molecular only (no imaging): {len(only_gdc):,}\")\n",
    "    print(f\"imaging only (no molecular): {len(only_idc):,}\")\n",
    "else:\n",
    "    n_idc = coll.get(\"patients\") or coll.get(\"subjects\") or 0\n",
    "    print(f\"\\nIDC reports {n_idc:,} patients against {len(gdc_ids):,} in GDC\")\n",
    "    print(\"  upper bound on the joinable cohort:\", min(n_idc, len(gdc_ids)))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1e428efc",
   "metadata": {},
   "source": [
    "## 3. Where else is this possible?\n",
    "\n",
    "The same join works for every TCGA project. Mapping it produces something neither\n",
    "portal provides: a list of cohorts where imaging and molecular data already coexist."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c03a102d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-21T00:43:00.471867Z",
     "iopub.status.busy": "2026-09-21T00:43:00.471721Z",
     "iopub.status.idle": "2026-09-21T00:43:00.974075Z",
     "shell.execute_reply": "2026-09-21T00:43:00.973222Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "39 cohorts exist in BOTH the GDC and the IDC\n",
      "\n",
      "   project  gdc_cases  idc_patients modalities                             supporting\n",
      "  CCDI-MCI       3076          4407                                                  \n",
      " TCGA-BRCA       1098          1098            Clinical, Genomics, Image Analyses, Hi\n",
      " HCMI-CMDC        805           382                                                  \n",
      "  TCGA-GBM        617           607            Clinical, Genomics, Image Analyses, Hi\n",
      "   TCGA-OV        608           591            Clinical, Genomics, Image Analyses, Hi\n",
      " TCGA-LUAD        585           560            Clinical, Genomics, Histopathology, Im\n",
      " TCGA-UCEC        560           560                Clinical, Genomics, Histopathology\n",
      " TCGA-KIRC        537           537            Clinical, Genomics, Image Analyses, Hi\n",
      " TCGA-HNSC        528           523                Clinical, Genomics, Histopathology\n",
      "  TCGA-LGG        516           516            Clinical, Genomics, Histopathology, Im\n",
      " TCGA-THCA        507           507                Clinical, Genomics, Histopathology\n",
      " TCGA-LUSC        504           504                Clinical, Genomics, Histopathology\n",
      " TCGA-PRAD        500           500                Clinical, Genomics, Histopathology\n",
      " TCGA-SKCM        470           470                                                  \n",
      " TCGA-COAD        461           464                Clinical, Genomics, Histopathology\n",
      " TCGA-STAD        443           443                Clinical, Genomics, Histopathology\n",
      " TCGA-BLCA        412           412                Clinical, Genomics, Histopathology\n",
      " TCGA-LIHC        377           377            Clinical, Genomics, Histopathology, Im\n",
      "CGCI-BLGSP        324           388                                                  \n",
      " TCGA-CESC        307           307                Clinical, Genomics, Histopathology\n",
      "\n",
      "total patients in linkable cohorts: 15,761\n"
     ]
    }
   ],
   "source": [
    "projects = get_json(\n",
    "    f\"{GDC}/projects\",\n",
    "    {\"size\": \"1000\", \"expand\": \"summary\", \"format\": \"json\"},\n",
    ")[\"data\"][\"hits\"]\n",
    "gdc_projects = {\n",
    "    p[\"project_id\"]: (p.get(\"summary\") or {}).get(\"case_count\") or 0\n",
    "    for p in projects\n",
    "    if p.get(\"project_id\")\n",
    "}\n",
    "\n",
    "collections = get_json(f\"{IDC}/collections\")\n",
    "idc_by_key = {}\n",
    "for c in collections:\n",
    "    key = (c.get(\"collection_id\") or \"\").upper().replace(\"_\", \"-\")\n",
    "    idc_by_key[key] = c\n",
    "\n",
    "matches = []\n",
    "for pid, n_cases in gdc_projects.items():\n",
    "    c = idc_by_key.get(pid.upper())\n",
    "    if not c:\n",
    "        continue\n",
    "    matches.append(\n",
    "        {\n",
    "            \"project\": pid,\n",
    "            \"gdc_cases\": n_cases,\n",
    "            \"idc_patients\": c.get(\"patients\") or c.get(\"subjects\") or 0,\n",
    "            \"modalities\": (c.get(\"modalities\") or \"\")[:38],\n",
    "            \"supporting\": (c.get(\"supporting_data\") or \"\")[:38],\n",
    "        }\n",
    "    )\n",
    "\n",
    "link_map = pd.DataFrame(matches).sort_values(\"gdc_cases\", ascending=False)\n",
    "print(f\"{len(link_map)} cohorts exist in BOTH the GDC and the IDC\\n\")\n",
    "print(link_map.head(20).to_string(index=False))\n",
    "print(f\"\\ntotal patients in linkable cohorts: {link_map['gdc_cases'].sum():,}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "86139f9a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-21T00:43:00.975355Z",
     "iopub.status.busy": "2026-09-21T00:43:00.975259Z",
     "iopub.status.idle": "2026-09-21T00:43:00.977872Z",
     "shell.execute_reply": "2026-09-21T00:43:00.977516Z"
    }
   },
   "outputs": [],
   "source": [
    "# One house style for every figure below: a single accent, one contrast colour for the\n",
    "# thing the reader must not miss, and nothing else. Defined here rather than imported so\n",
    "# the downloaded notebook runs on its own.\n",
    "INK, ACCENT, WARN, MUTED = \"#1f2430\", \"#2f6f6b\", \"#b4762a\", \"#9aa3b2\"\n",
    "mpl.rcParams.update(\n",
    "    {\n",
    "        \"figure.dpi\": 120,\n",
    "        \"savefig.dpi\": 120,\n",
    "        \"font.size\": 9.5,\n",
    "        \"axes.titlesize\": 11,\n",
    "        \"axes.titleweight\": \"semibold\",\n",
    "        \"axes.labelcolor\": INK,\n",
    "        \"axes.titlecolor\": INK,\n",
    "        \"text.color\": INK,\n",
    "        \"axes.edgecolor\": MUTED,\n",
    "        \"xtick.color\": MUTED,\n",
    "        \"ytick.color\": MUTED,\n",
    "        \"axes.grid\": True,\n",
    "        \"grid.color\": \"#e6e9ef\",\n",
    "        \"grid.linewidth\": 0.8,\n",
    "        \"axes.axisbelow\": True,\n",
    "    }\n",
    ")\n",
    "\n",
    "\n",
    "def finish(ax, title):\n",
    "    ax.set_title(title, loc=\"left\")\n",
    "    for side in (\"top\", \"right\"):\n",
    "        ax.spines[side].set_visible(False)\n",
    "    ax.figure.tight_layout()\n",
    "    return ax"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a7559ca7",
   "metadata": {},
   "source": [
    "### The map, drawn\n",
    "\n",
    "Every pair of bars is a cohort whose molecular and imaging data are already public and\n",
    "already joinable. Where the two bars differ, the shorter one is the real ceiling on a\n",
    "multimodal study of that cohort."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "cdb685ee",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-21T00:43:00.978756Z",
     "iopub.status.busy": "2026-09-21T00:43:00.978689Z",
     "iopub.status.idle": "2026-09-21T00:43:01.081376Z",
     "shell.execute_reply": "2026-09-21T00:43:01.080943Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "findfont: Failed to find font weight semibold for DejaVu Sans, now using 700.\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1056x1056 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "top = link_map.head(14).iloc[::-1]\n",
    "pos = range(len(top))\n",
    "fig, ax = plt.subplots(figsize=(8.8, 0.5 * len(top) + 1.8))\n",
    "ax.barh([i + 0.19 for i in pos], top[\"gdc_cases\"], height=0.36, color=ACCENT,\n",
    "        label=\"GDC cases (molecular)\")\n",
    "ax.barh([i - 0.19 for i in pos], top[\"idc_patients\"], height=0.36, color=MUTED,\n",
    "        label=\"IDC patients (imaging)\")\n",
    "ax.set_yticks(list(pos))\n",
    "ax.set_yticklabels(top[\"project\"])\n",
    "ax.set_xlabel(\"patients\")\n",
    "ax.legend(frameon=False, loc=\"lower right\", fontsize=8.5)\n",
    "ax.grid(axis=\"y\", visible=False)\n",
    "finish(ax, \"Cohorts carrying both molecular and imaging data today\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "28acba09",
   "metadata": {},
   "source": [
    "## 4. Why this matters\n",
    "\n",
    "Every row above is a cohort where a researcher could, today and with no data access\n",
    "request, pair radiology or pathology imaging with matched molecular profiles on the\n",
    "same patients. The data are public, harmonized and openly licensed.\n",
    "\n",
    "The reason it rarely happens is not technical difficulty - the join above is a set\n",
    "intersection on a shared barcode. It is that no catalog lists these cohorts as\n",
    "multimodal, because each repository describes only its own holdings. Making the\n",
    "linkage visible is most of the work.\n",
    "\n",
    "**Next steps for a real analysis:**\n",
    "\n",
    "- Use `idc-index` (`pip install idc-index`) to pull DICOM for the joined patients.\n",
    "- Pull matched expression from the GDC open tier, as in workbook 2.\n",
    "- Check that imaging coverage is not biased by collection site or era before treating\n",
    "  the joined cohort as representative of the whole."
   ]
  }
 ],
 "metadata": {
  "cds": {
   "built_at": "2026-09-21T00:42:56.317976+00:00",
   "source": "workbooks/python/05_cross_repository_linkage.py"
  },
  "kernelspec": {
   "display_name": "Python 3",
   "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.12.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
