{ "cells": [ { "cell_type": "markdown", "id": "b73f6a17-b1f5-4f8f-9493-0a0363095b09", "metadata": {}, "source": [ "# Making the Dataset Figures" ] }, { "cell_type": "code", "execution_count": 7, "id": "f58fac67-18d9-414d-94ea-73549d5acbd7", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "id": "a446e28e-acee-4159-82e6-8bcbc7e14bf6", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "e2d8d17687c24dd08017894671c9e692", "version_major": 2, "version_minor": 0 }, "text/plain": [ "README.md: 0%| | 0.00/2.82k [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "bars = ['Splits', 'Disease Categories']\n", "split_subcategories = ['Train', 'Test', 'Validation']\n", "disease_subcategories = ['Neurodegenerative', 'Cancer', 'Metabolic', 'Other']\n", "\n", "# Create data arrays\n", "split_counts = np.array([len(ds['train']), len(ds['test']), len(ds['val'])])\n", "disease_counts = np.array([41.3, 28.2, 12.7, 17.8])\n", "\n", "# Convert to percentage\n", "split_perc = split_counts / split_counts.sum() * 100\n", "disease_perc = disease_counts / disease_counts.sum() * 100\n", "\n", "fig, ax = plt.subplots()\n", "bar_height = 0.35\n", "y = np.arange(len(bars)) # [0, 1]\n", "\n", "# Plot \"Splits\" as a horizontal stacked bar\n", "left = 0\n", "for i, val in enumerate(split_perc):\n", " ax.barh(y[0], val, left=left, height=bar_height, label=split_subcategories[i])\n", " left += val\n", "\n", "# Plot \"Disease Categories\" as a horizontal stacked bar\n", "left = 0\n", "for i, val in enumerate(disease_perc):\n", " ax.barh(y[1], val, left=left, height=bar_height, label=disease_subcategories[i])\n", " left += val\n", "\n", "# Labels and legend\n", "ax.set_yticks(y)\n", "ax.set_yticklabels(bars)\n", "ax.set_xlabel('Percentage')\n", "ax.set_title('Percent Stacked Bar Graph (Horizontal)')\n", "ax.legend(loc='lower right', bbox_to_anchor=(1.05, 0))\n", "\n", "plt.tight_layout()\n", "plt.savefig(\"stacked_bar_graph.svg\", format=\"svg\") # Save as SVG\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "4fc5111e-22c0-4a4f-a1cb-b8bb206fbb94", "metadata": {}, "source": [ "# Task 2 and 5 Disease Distribution" ] }, { "cell_type": "code", "execution_count": 37, "id": "b4505210-a97b-4f94-a5cd-48d05df1bc32", "metadata": {}, "outputs": [], "source": [ "from datasets import load_dataset\n", "\n", "ds = load_dataset(\"wanglab/bioR_tasks\", 'variant_effect_coding')" ] }, { "cell_type": "code", "execution_count": 38, "id": "7a9f4934-0ac8-4114-b8a1-7dc20826151e", "metadata": {}, "outputs": [], "source": [ "disease = (ds['train']['answer'] + ds['test']['answer'])" ] }, { "cell_type": "code", "execution_count": 39, "id": "5da68fbb-9f0f-4c09-99ab-793ad2940706", "metadata": {}, "outputs": [], "source": [ "from collections import Counter\n", "\n", "# Count occurrences of each disease name\n", "disease_counts = Counter(ds['train']['answer'] + ds['test']['answer'])\n", "\n", "# Write to TSV file\n", "with open(\"VEP_1_labels.tsv\", \"w\") as f:\n", " f.write(\"Disease\\tCount\\n\") # Header\n", " for disease, count in disease_counts.most_common(): # sorted by count\n", " f.write(f\"{disease}\\t{count}\\n\")" ] }, { "cell_type": "code", "execution_count": 59, "id": "0414a333-64df-40d8-9b3d-a0fff5bfcb1e", "metadata": {}, "outputs": [], "source": [ "from datasets import load_dataset\n", "\n", "ds = load_dataset(\"wanglab/bioR_tasks\", 'task5_variant_effect_non_snv')" ] }, { "cell_type": "code", "execution_count": 60, "id": "880652b7-4986-4fb8-8c20-5bcb57547ca2", "metadata": {}, "outputs": [], "source": [ "answer = (ds['train']['answer'] + ds['test']['answer'])" ] }, { "cell_type": "code", "execution_count": 42, "id": "254bb39e-8bb7-43bc-b5f9-d82ad10b2093", "metadata": {}, "outputs": [], "source": [ "from collections import Counter\n", "\n", "# Count occurrences of each disease name\n", "disease_counts = Counter(ds['train']['answer'] + ds['test']['answer'])\n", "\n", "# Write to TSV file\n", "with open(\"VEP_Non_SNV_labels.tsv\", \"w\") as f:\n", " f.write(\"Disease\\tCount\\n\") # Header\n", " for disease, count in disease_counts.most_common(): # sorted by count\n", " f.write(f\"{disease}\\t{count}\\n\")" ] }, { "cell_type": "code", "execution_count": 63, "id": "89f19d13-93a0-46e2-98e2-55e25f4ee399", "metadata": {}, "outputs": [], "source": [ "from datasets import load_dataset\n", "\n", "ds = load_dataset(\"wanglab/bioR_tasks\", 'kegg_variant_2k')" ] }, { "cell_type": "code", "execution_count": 44, "id": "b7fbb940-ac12-4d29-9d33-acdf46307008", "metadata": {}, "outputs": [], "source": [ "from collections import Counter\n", "\n", "# Count occurrences of each disease name\n", "disease_counts = Counter(ds['train']['answer'])\n", "\n", "# Write to TSV file\n", "with open(\"KEGG_disease_labels.tsv\", \"w\") as f:\n", " f.write(\"Disease\\tCount\\n\") # Header\n", " for disease, count in disease_counts.most_common(): # sorted by count\n", " f.write(f\"{disease}\\t{count}\\n\")" ] }, { "cell_type": "code", "execution_count": null, "id": "9a22e4fa-f1d0-42c8-b31b-96259dfacb11", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "1b62117f-c833-4f54-b334-18a199a6a40d", "metadata": {}, "source": [ "ChatGPT classified these answer into the 8 categories. Now I am creating the stacked bar plots" ] }, { "cell_type": "markdown", "id": "6a634362-7681-4302-887d-771c30a2b7d0", "metadata": {}, "source": [ "Keyword Classifier" ] }, { "cell_type": "code", "execution_count": null, "id": "020b6f57-7147-4a28-9f46-bf54b35c68c9", "metadata": {}, "outputs": [], "source": [ "# Reuse the improved keyword-based classification function from earlier\n", "\n", "def keyword_based_classify(disease):\n", " disease_lower = disease.lower()\n", "\n", " if any(keyword in disease_lower for keyword in [\n", " \"alzheimer\", \"parkinson\", \"neuro\", \"ataxia\", \"epilepsy\", \"intellectual\", \"cerebellar\",\n", " \"brain\", \"dystonia\", \"charcot\", \"myasthenic\", \"autism\", \"spinocerebellar\",\n", " \"als\", \"developmental\", \"leuko\", \"hypotonia\", \"encephalopathy\", \"seizure\",\n", " \"microcephaly\", \"prion\", \"huntington\", \"myopathy\", \"spinal\", \"sma\"]):\n", " return \"Neurological & Neurodevelopmental\"\n", "\n", " elif any(keyword in disease_lower for keyword in [\n", " \"cancer\", \"leukemia\", \"lymphoma\", \"tumor\", \"carcinoma\", \"adenocarcinoma\",\n", " \"sarcoma\", \"neoplasm\", \"pheochromocytoma\", \"adenoma\", \"glioblastoma\", \"melanoma\"]):\n", " return \"Oncological / Cancer\"\n", "\n", " elif any(keyword in disease_lower for keyword in [\n", " \"metabolic\", \"glycogen\", \"storage\", \"diabetes\", \"hypercholesterolemia\",\n", " \"hypophosphatasia\", \"acyl\", \"cobalamin\", \"lipodystrophy\", \"maple syrup\",\n", " \"homocystinuria\", \"porphyria\", \"gaucher\", \"phgdh\", \"thyroid\", \"adrenal\",\n", " \"lipoprotein\", \"hypomagnesemia\", \"coenzyme\", \"desmosterolosis\", \"biogenesis\",\n", " \"hemochromatosis\", \"mitochondrial\", \"pyruvate\", \"oxidative\", \"ketosis\",\n", " \"aldosteronism\", \"cushing\", \"lesch\", \"dyshormonogenesis\"]):\n", " return \"Metabolic / Mitochondrial\"\n", "\n", " elif any(keyword in disease_lower for keyword in [\n", " \"cardio\", \"heart\", \"aortic\", \"arrhythmia\", \"ventricular\", \"artery\", \"hypertension\",\n", " \"thrombocythemia\", \"fibrillation\", \"cardiomyopathy\", \"vascular\", \"anemia\",\n", " \"thrombocytopenia\", \"myelofibrosis\", \"blood\", \"hypotension\", \"fanconi\"]):\n", " return \"Cardiovascular & Hematological\"\n", "\n", " elif any(keyword in disease_lower for keyword in [\n", " \"immunodeficiency\", \"scid\", \"autoimmune\", \"inflammation\", \"inflammatory\",\n", " \"neutropenia\", \"immune\", \"lymphoproliferation\", \"cytokine\", \"common_variable\",\n", " \"deficiency\", \"immunologic\"]):\n", " return \"Immunological & Hematopoietic\"\n", "\n", " elif any(keyword in disease_lower for keyword in [\n", " \"ehlers\", \"dysplasia\", \"dystrophy\", \"muscular\", \"osteogenesis\", \"fibrochondrogenesis\",\n", " \"connective\", \"skeletal\", \"bone\", \"myopathy\", \"chondrodysplasia\", \"hypochondroplasia\",\n", " \"marfan\"]):\n", " return \"Musculoskeletal & Connective Tissue\"\n", "\n", " elif any(keyword in disease_lower for keyword in [\n", " \"deafness\", \"hearing\", \"retinitis\", \"macular\", \"amaurosis\", \"dystrophy\",\n", " \"cone-rod\", \"stargardt\", \"vision\", \"optic\", \"blindness\", \"retina\", \"eye\",\n", " \"corneal\", \"cataract\"]):\n", " return \"Sensory Disorders\"\n", "\n", " elif disease_lower == \"benign\":\n", " return \"Benign\"\n", "\n", " else:\n", " return \"Other / Multisystem / Syndromic\"\n", "\n", "# Reclassify the diseases in the dataframe\n", "disease_df[\"Keyword_Category\"] = disease_df[\"Disease\"].apply(keyword_based_classify)\n", "\n", "# Save to file\n", "keyword_classified_path = \"/mnt/data/VEP_Non_SNV_labels_keyword_classified.tsv\"\n", "disease_df.to_csv(keyword_classified_path, sep=\"\\t\", index=False)\n", "\n", "tools.display_dataframe_to_user(name=\"Keyword Classified VEP Non-SNV\", dataframe=disease_df)" ] }, { "cell_type": "code", "execution_count": null, "id": "787f83ea-3a0a-4066-b1b8-2f98eeaf38cd", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "1e6faccd-40f3-45c5-8400-7d9b77ea3a96", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 78, "id": "d3ea9b94-c604-46e1-8b6f-cb2e867f23f3", "metadata": {}, "outputs": [ { "data": { "image/png": "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3L17VwgMDBSMjIwERUVFoVKlSkKHDh2Ef//9VxCE/5+V+sNrVYGVK1eK1yxtbW3B19dX+Pvvv8X1//77rxAQECDY2dkJ6urqgoaGhlCjRg1h3rx5Qm5uriAIgnDq1Cmhbdu2QpUqVQRlZWVBX19fcHV1FXbs2FHsfhT4mO/hzp07xX/HTExMhOHDh4uzV7//lISnT58Kfn5+go6OjiCRSKS+R2U5Z8u6X2X9t7W487+s1xEi+rFIBKEM03wSERERldH69evRtWtXnDx5Ei4uLt86HCIiolIxMSYiIqKPtmHDBty/fx+Ojo6Qk5PD6dOnMWvWLNSqVUt8nBMREdH3jvcYExER0UfT1NREdHQ0pkyZgqysLBgbGyMgIKDEZ2wTERF9b9hjTERERERERDKNj2siIiIiIiIimcbEmIiIiIiIiGQaE2MiIiIiIiKSaZx86z8sPz8fDx48gKamJiQSybcOh4iIiIgIgiDg5cuXqFSpEuTk2A9H/w1MjP/DHjx4AFNT028dBhERERFRIXfv3kXlypW/dRhEZcLE+D9MU1MTwLuLjpaW1jeOhoiIiIgIePHiBUxNTcW/VYn+C5gY/4cVDJ/W0tJiYkxERERE3xXe6kf/JRz0T0RERERERDKNiTERERERERHJNCbGREREREREJNOYGBMREREREZFMY2JMREREREREMo2JMREREREREck0JsZEREREREQk05gYExERERERkUxjYkxEREREREQyjYkxERERERERyTQmxkRERERERCTTmBgTERERERGRTGNiTERERERERDKNiTERERERERHJNCbGREREREREJNOYGBMREREREZFMU/jWAdCncwjdDzlltW8dxjeTqtLlm7XtaGH2UdttCsv9zJEU77Dbkq/WVllkP5v7rUP4LnW0GPGtQyD6Ya1UOfStQyD6LjVusvaL1JuVlf9F6iX6kthjTERERERERDKNiTERERERERHJNCbGREREREREJNOYGBMREREREZFMY2JMREREREREMo2JMREREREREck0JsZEREREREQk05gYExERERERkUxjYkxEREREREQyjYkxERERERERyTQmxkRERERERCTTmBgTERERERGRTGNiTERERERERDKNiTERERERERHJNCbGREREREREJNOYGBMREREREZFMY2JMREREREREMo2JMREREREREck0JsZEREREREQk05gYExERERERkUxjYkxEREREREQyjYkxERERERERyTQmxkRERERERCTTmBgTERERERGRTGNiTERERERERDKNiTERERERERHJNCbGREREREREJNOYGBMREREREZFMY2JMREREREREMo2JMREREREREck0JsZEREREREQk08qcGPv4+KBZs2ZFrjt16hQkEgnOnz+P1NRUSCSSIl+nT58GAERGRkotNzY2RocOHZCSklJs+xMmTIBEIkGfPn2klicmJkIikSA1NbWsu/LRYmNj4e7uDj09PaipqcHGxgb+/v7Izc0FABw5cgQSiQQODg7Iy8uT2lZHRweRkZF4+/YtKlSogClTphTZRlhYGCpUqIC3b99+8f0hIiIiIiKiciTGQUFBOHz4MG7fvl1o3erVq+Hk5ITatWuLyw4ePIi0tDSpV506dcT1WlpaSEtLw4MHD7B+/XokJiaidevWhRLK96moqGDVqlW4ceNGWcP+bP7++2+0bNkSdevWxbFjx3D58mUsWrQIioqKyM/PlyqbnJyMNWvWFFmPkpISunXrhsjISAiCUGh9REQEunfvDiUlpS+yH0RERERERCStzIlxq1atYGBggMjISKnlr169wsaNGxEUFCS1XF9fH0ZGRlIvRUVFcb1EIoGRkRGMjY3h7u6O0NBQXLlyBbdu3So2hqpVq8Ld3R1jx44tMdajR4+iXr16UFZWhrGxMUaOHCn26gKAm5sbBg4ciJCQEOjp6cHIyAgTJkwosc4DBw7A2NgYM2fOhIODA6ysrNCiRQusXLmyUBI7YMAAhIaGIjs7u8i6goKCkJycjGPHjkktP378OG7evFnoWBIREREREdGXU+bEWEFBAT169CjU07l582a8ffsWXbt2/aRAVFVVAQA5OTkllps+fTq2bt2K+Pj4Itffv38fXl5eqFu3Li5evIjw8HCsWrWq0NDlqKgoqKur48yZM5g5cyYmTZqEAwcOFNuukZER0tLSCiWzRRk8eDByc3OxePHiItc7Ojqibt26iIiIkFq+evVq1KtXDw4ODqW2QURERERERJ9HuSbfCgwMRGpqKo4cOSIuW716NX755Rfo6upKlXVxcYGGhobUq7hh0vfu3cOsWbNQuXJl2NralhhD7dq10aFDB4wcObLI9UuXLoWpqSkWL14MOzs7tGnTBhMnTsScOXOkhjzXqFEDoaGhsLGxQY8ePeDs7IxDhw4V22779u3RuXNnuLq6wtjYGG3btsXixYvx4sWLQmXV1NQQGhqKsLAwZGRkFFlfYGAgtmzZgszMTABAZmYmNm/eXGJv8Zs3b/DixQupFxEREREREX2aciXGdnZ2cHFxwerVqwG8u5f2+PHjCAwMLFR248aNSExMlHrJy8uL6zMyMqChoQF1dXWYmpri7du32LZtW5nurZ0yZQqOHz+Ov/76q9C6pKQkNGjQABKJRFzWsGFDZGZm4t69e+KyGjVqSG1nbGyMR48eAQD69OkjldADgLy8PCIiInDv3j3MnDkTlSpVwtSpU1G9enWkpaUViiMoKAgVKlTAjBkzityHzp07Iz8/Hxs3bhSPlyAI6NSpU7H7HRYWBm1tbfFlampabFkiIiIiIiIqm3I/rikoKAhbt27FixcvEBERgSpVqsDDw6NQOVNTU1hbW0u93qepqYnExERcvnwZmZmZOHfuHOrWrVumGKysrNCrVy+MHDmy0ARWgiBIJcUFywBILX//fueCdQU9ypMmTZJK6N9nYmKC7t27Y8mSJbh69Sqys7OxbNmyQjEqKChgypQpWLBgAR48eFBovba2Nvz8/MTh1BEREfDz84OWllax+z1q1ChkZGSIr7t37xZbloiIiIiIiMqm3Ilxhw4dIC8vj/Xr1yMqKgo9e/YslIiWqWE5OVhbW8PS0hLq6url3n78+PG4ceMGoqOjpZZXq1YNcXFxUglzXFwcNDU1YWJiUqa6DQwMik3o36erqwtjY2NkZWUVub59+/aoXr06Jk6cWOT6oKAgnDx5Ert27cLJkydLnXRLWVkZWlpaUi8iIiIiIiL6NArl3UBDQwMdO3bE6NGjkZGRgYCAgCLLpaen4+HDh1LLdHR0oKKi8lGBfsjQ0BBDhw7FrFmzpJb37dsX8+fPx4ABA9C/f39cv34doaGhGDp0KOTkyv07gGj58uVITExE27ZtYWVlhezsbKxZswZ///03Fi1aVOx206dPh6enZ5HrXF1dYW1tjR49esDa2hpNmjT56PiIiIiIiIjo43xUphgUFIRnz56hWbNmMDMzK7JMs2bNYGxsLPWKiYn5lFgLGT58uHgPcAETExPs2bMHZ8+eRc2aNdGnTx8EBQWV+oin0tSrVw+ZmZno06cPqlevDldXV5w+fRoxMTFwdXUtdrumTZuiadOmUo+Lel9gYCCePXtW5H3aRERERERE9OVJhA9v0qX/jBcvXrybhGvwJsgpq33rcL6ZVJUu36xtR4uifxgqzaawon8o+RIOuy35am2VRfazud86hO9SR4sR3zoEoh/WSpXinzpBJMsaN1n7RerNysqHb+tUZGRk8NY/+s/4+LHFRERERERERD8AJsZEREREREQk05gYExERERERkUxjYkxEREREREQyjYkxERERERERyTQmxkRERERERCTTmBgTERERERGRTGNiTERERERERDKNiTERERERERHJNCbGREREREREJNOYGBMREREREZFMY2JMREREREREMo2JMREREREREck0JsZEREREREQk05gYExERERERkUxjYkxEREREREQyjYkxERERERERyTQmxkRERERERCTTmBgTERERERGRTGNiTERERERERDKNiTERERERERHJNCbGREREREREJNOYGBMREREREZFMY2JMREREREREMo2JMREREREREck0JsZEREREREQk05gYExERERERkUxjYkxEREREREQyjYkxERERERERyTQmxkRERERERCTTmBgTERERERGRTJMIgiB86yDo47x48QLa2trIyMiAlpbWtw6HiIiIiIh/o9J/EnuMiYiIiIiISKYxMSYiIiIiIiKZxsSYiIiIiIiIZBoTYyIiIiIiIpJpTIyJiIiIiIhIpjExJiIiIiIiIpnGxJiIiIiIiIhkGhNjIiIiIiIikmlMjImIiIiIiEimMTEmIiIiIiIimcbEmIiIiIiIiGQaE2MiIiIiIiKSaUyMiYiIiIiISKYxMSYiIiIiIiKZxsSYiIiIiIiIZBoTYyIiIiIiIpJpTIyJiIiIiIhIpjExJiIiIiIiIpnGxJiIiIiIiIhkGhNjIiIiIiIikmlMjImIiIiIiEimMTEmIiIiIiIimcbEmIiIiIiIiGQaE2MiIiIiIiKSaUyMiYiIiIiISKYxMSYiIiIiIiKZxsSYiIiIiIiIZBoTYyIiIiIiIpJpTIyJiIiIiIhIpjExJiIiIiIiIpnGxJiIiIiIiIhkGhNjIiIiIiIikmlMjImIiIiIiEimMTEmIiIiIiIimcbEmIiIiIiIiGQaE2MiIiIiIiKSaUyMiYiIiIiISKYxMSYiIiIiIiKZxsSYiIiIiIiIZBoTYyIiIiIiIpJpTIyJiIiIiIhIpjExJiIiIiIiIpnGxJiIiIiIiIhkGhNjIiIiIiIikmlMjImIiIiIiEimMTEmIiIiIiIimcbEmIiIiIiIiGQaE2MiIiIiIiKSaUyMiYiIiIiISKYxMSYiIiIiIiKZxsSYiIiIiIiIZBoTYyIiIiIiIpJpTIyJiIiIiIhIpjExJiIiIiIiIpnGxJiIiIiIiIhkGhNjIiIiIiIikmlMjImIiIiIiEimMTEmIiIiIiIimcbEmIiIiIiIiGQaE2MiIiIiIiKSaUyMiYiIiIiISKYxMSYiIiIiIiKZxsSYiIiIiIiIZBoTYyIiIiIiIpJpTIyJiIiIiIhIpjExJiIiIiIiIpnGxJiIiIiIiIhkGhNjIiIiIiIikmlMjImIiIiIiEimMTEmIiIiIiIimcbEmIiIiIiIiGQaE2MiIiIiIiKSaUyMiYiIiIiISKYpfOsA6NM5hO6HnLLatw6DiMogVaXLZ6/T0cLss9f5oU1huV+8DQA47Lbkq7TzMbKfzf3WIfwndbQY8cl1rFQ59BkiIaKyaNxk7SfXkZWV/xkiIfq62GNMREREREREMo2JMREREREREck0JsZEREREREQk05gYExERERERkUxjYkxEREREREQyjYkxERERERERyTQmxkRERERERCTTmBgTERERERGRTGNiTERERERERDKNiTERERERERHJNCbGREREREREJNOYGBMREREREZFMY2JMREREREREMo2JMREREREREck0JsZEREREREQk05gYExERERERkUxjYkxEREREREQyjYkxERERERERyTQmxkRERERERCTTmBgTERERERGRTGNiTERERERERDKNiTERERERERHJNCbGREREREREJNOYGBMREREREZFMY2JMREREREREMo2JMREREREREck0JsZEREREREQk05gYExERERERkUxjYkxEREREREQyjYkxERERERERyTQmxh8hMjISOjo64vsJEybAycnpm8VDREREREREH++LJcY+Pj5o1qxZketOnToFiUSC8+fPIzU1FRKJpMjX6dOnAbxLRN9fbmxsjA4dOiAlJaXEGF68eIExY8bAzs4OKioqMDIyQrNmzbBt2zYIgvDZ9nXYsGE4dOjQZ6uPiIiIiIiIvh6FL1VxUFAQfvnlF9y+fRtVqlSRWrd69Wo4OTmhdu3aSE1NBQAc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WbNo3rw5GzZsoH79+lSpUoWBAwdy7949tc7WrVtp1qwZlSpVolq1aoSEhPDgwQMAcnJymDNnDl5eXjg7O9O8eXOio6PVc3/77Tfs7e3ZvHkznTp1wsXFhVWrVuHu7s7WrVu17mnXrl24urpqXftZBgYGWFtbY2trS40aNRg6dChfffUVe/fuZf369Wq9p6dSP378mAkTJuDp6YmLiwv169fniy++UOumpKTQu3dv3NzccHd3p3///ly/fj3PM1q7di0+Pj44OzujKArJycn069cPU1NTqlatyu7du/PEm5KSQkhICKVLl8bKyoqgoCAuX76sloeFhREcHMyMGTOws7OjcuXKACxcuBA3NzeMjIwoX748nTp1KvCZCPEiJDEWQgghhBBvDFNTU0xNTdmxYwePHj3Kt46iKPTs2ZO0tDS+/vprtm/fTo0aNQgJCeHWrVtqvStXrrBz505WrlzJypUrOXToEPPnzwfgzz//ZNCgQYSEhBATE8OGDRt46623UBQFgOXLl7NkyRIiIiLYvXs3/v7+9O7dm0uXLmnFMn36dMLDw4mJiaFVq1YEBQWxbt06rTrr16+nTZs2mJmZvdCzaNy4MVWrVmX79u35ln/11Vfs2rWLxYsXs2/fPr744gsqVqyoPqPw8HBu377Nd999x5o1a7hy5QoDBw7UauPy5cts2bKFZcuWsWvXLnJycujbty86OjocPHiQxYsXM3bsWK1zHjx4QEBAAGZmZuzbt48DBw5gZmZGq1atePz4sVpvz549JCYmsnv3brZu3crRo0cZOnQoU6ZM4dy5c+zYsQNfX98XeiZCFESmUgshhBBCiDeGnp4ec+bMYcyYMXzzzTdUr16dBg0aEBQURNWqVQE4ePAgZ8+e5fjx4xgaGgIQERHBzp07+fHHH+nRowfwf6O+uQlpx44dOXDgAABpaWlkZWXRunVrKlSoAICHh4cax5IlS3jvvfcICgoCYMKECcTFxbF8+XKmT5+u1nv33Xdp3bq1+rlbt24EBQWRmpqKjY0Nf/31Fz/99BNr1qz5W8/D1dWVxMTEfMtSUlJwdnamXr16aDQa9T4A9u/fT2JiIj///DP29vYAzJs3j4CAABISEqhduzbwZPr0vHnzsLKyAiA2NpaLFy+yadMmateuja6uLtOnT+ett95S2167di06OjosX74cjUYDQFRUFJaW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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# Disease categories\n", "categories = [\n", " \"Benign\",\n", " \"Cardiovascular & Hematological\",\n", " \"Immunological & Hematopoietic\",\n", " \"Metabolic / Mitochondrial\",\n", " \"Musculoskeletal & Connective Tissue\",\n", " \"Neurological & Neurodevelopmental\",\n", " \"Oncological / Cancer\",\n", " \"Other / Multisystem / Syndromic\",\n", " \"Sensory Disorders\"\n", "]\n", "\n", "# Raw counts per dataset\n", "kegg_counts = [0, 0, 17, 121, 0, 764, 316, 231, 0]\n", "vep_coding_counts = [17398, 1550, 1876, 1863, 2887, 5715, 1254, 16199, 1341]\n", "vep_non_snv_counts = [6559, 3145, 1439, 2781, 3605, 7147, 21932, 20197, 2320]\n", "\n", "datasets = [kegg_counts, vep_coding_counts, vep_non_snv_counts]\n", "dataset_labels = ['KEGG', 'VEP Coding', 'VEP Non-SNV']\n", "\n", "# Convert counts to percentages\n", "datasets_perc = []\n", "for data in datasets:\n", " total = sum(data)\n", " perc = [val / total * 100 if total > 0 else 0 for val in data]\n", " datasets_perc.append(perc)\n", "\n", "# Plotting\n", "fig, ax = plt.subplots(figsize=(10, 5))\n", "y = np.arange(len(datasets_perc))\n", "bar_height = 0.5\n", "\n", "for i, category in enumerate(categories):\n", " values = [d[i] for d in datasets_perc]\n", " left = np.sum([d[:i] for d in datasets_perc], axis=1) if i > 0 else np.zeros(len(datasets_perc))\n", " ax.barh(y, values, left=left, height=bar_height, label=category)\n", "\n", "# Axes and formatting\n", "ax.set_yticks(y)\n", "ax.set_yticklabels(dataset_labels)\n", "ax.set_xlabel(\"Percentage of Variants\")\n", "ax.set_title(\"Percent Stacked Bar Plot of Disease Categories Across Datasets\")\n", "ax.legend(loc='lower right', bbox_to_anchor=(1.25, 0))\n", "\n", "plt.tight_layout()\n", "plt.savefig(\"three_stacked_bar_plots_percent.svg\", format=\"svg\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "9ac53b01-53dc-4889-bed8-b254053f0d65", "metadata": {}, "outputs": [], "source": [] } ], "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.12.9" } }, "nbformat": 4, "nbformat_minor": 5 }