diff --git a/GetPhenopackets.ipynb b/GetPhenopackets.ipynb index c438eaf8..2a4bc784 100644 --- a/GetPhenopackets.ipynb +++ b/GetPhenopackets.ipynb @@ -628,7 +628,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "We found 390 cohorts\n", + "We found 391 cohorts\n", "Wrote phenopacket collection MarkDown file to docs/collections.md\n" ] } diff --git a/docs/collections.md b/docs/collections.md index 873f6e87..a267695b 100644 --- a/docs/collections.md +++ b/docs/collections.md @@ -251,6 +251,7 @@ Phenopacket store is a repository of [GA4GH phenopackets](https://pubmed.ncbi.nl |[WFS1](notebooks/WFS1/WFS1_Wolfram_syndrome_1_individuals.ipynb){:target="_blank"}|10 Phenopackets;[Wolfram syndrome 1](https://omim.org/entry/222300){:target="_blank"}| |[COL11A1](notebooks/COL11A1/COL11A1_STL2_individuals.ipynb){:target="_blank"}|2 Phenopackets;[Stickler syndrome, type II](https://omim.org/entry/604841){:target="_blank"}| |[SP7](notebooks/SP7/SP7_OI12_individuals.ipynb){:target="_blank"}|1 Phenopackets;[Osteogenesis imperfecta, type XII](https://omim.org/entry/613849){:target="_blank"}| +|[DOCK11](notebooks/DOCK11/DOCK11_ADMIDX_individuals.ipynb){:target="_blank"}|12 Phenopackets;[Autoinflammatory disease, multisystem, with immune dysregulation, X-linked](https://omim.org/entry/301109){:target="_blank"}| |[TBX1](notebooks/TBX1/TBX1_Yagi_2003.ipynb){:target="_blank"}|5 Phenopackets;[DiGeorge syndrome](https://omim.org/entry/188400){:target="_blank"}| |[KCNT1](notebooks/KCNT1/KCNT1_DEE14_individuals.ipynb){:target="_blank"}|8 Phenopackets;[Developmental and epileptic encephalopathy 14](https://omim.org/entry/614959){:target="_blank"}| |[SKIC3](notebooks/SKIC3/SKIC3_THES1_individuals.ipynb){:target="_blank"}|2 Phenopackets;[Trichohepatoenteric syndrome 1](https://omim.org/entry/222470){:target="_blank"}| diff --git a/ppktstore_stats.ipynb b/ppktstore_stats.ipynb index c7a3bdc2..d6c55587 100644 --- a/ppktstore_stats.ipynb +++ b/ppktstore_stats.ipynb @@ -30,15 +30,10 @@ "metadata": {}, "outputs": [ { - "ename": "FileNotFoundError", - "evalue": "Not a file: all_phenopackets.zip", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[2], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m stats \u001b[38;5;241m=\u001b[39m \u001b[43mPPKtStoreStats\u001b[49m\u001b[43m(\u001b[49m\u001b[43minput_zipfile\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mall_phenopackets.zip\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/GIT/phenopacket-store/src/ppktstore/stats/_ppkt_store_stats.py:31\u001b[0m, in \u001b[0;36mPPKtStoreStats.__init__\u001b[0;34m(self, input_zipfile)\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"input a dataframe with the data about the release\u001b[39;00m\n\u001b[1;32m 21\u001b[0m \u001b[38;5;124;03mIn a typical use case this class would be used to check the release prior to uploading the file to GitHub.\u001b[39;00m\n\u001b[1;32m 22\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 28\u001b[0m \u001b[38;5;124;03m ValueError: if the file does not end with the suffix \".zip\"\u001b[39;00m\n\u001b[1;32m 29\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 30\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39misfile(input_zipfile):\n\u001b[0;32m---> 31\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mFileNotFoundError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNot a file: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00minput_zipfile\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 32\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m input_zipfile\u001b[38;5;241m.\u001b[39mendswith(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.zip\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[1;32m 33\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m`input_zipfile` must point to a ZIP archive with suffix .zip, but was \u001b[39m\u001b[38;5;130;01m\\\"\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00minput_zipfile\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;130;01m\\\"\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n", - "\u001b[0;31mFileNotFoundError\u001b[0m: Not a file: all_phenopackets.zip" + "name": "stdout", + "output_type": "stream", + "text": [ + "Extracted 5522 phenopackets in 391 cohorts.\n" ] } ], @@ -48,9 +43,93 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "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", + "
diseasedisease_idpatient_idgeneallele_1allele_2PMIDcohortfilename
0Neurodevelopmental disorder with intracranial hemorrhage, seizures, and spasticityOMIM:620371Individual KCHYD24-1ESAMNM_138961.3:c.605T>GNM_138961.3:c.605T>GPMID:36996813ESAMPMID_36996813_IndividualKCHYD24-1.json
1Neurodevelopmental disorder with intracranial hemorrhage, seizures, and spasticityOMIM:620371Individual 1ESAMNM_138961.3:c.115delNM_138961.3:c.115delPMID:36996813ESAMPMID_36996813_Individual1.json
\n", + "
" + ], + "text/plain": [ + " disease \\\n", + "0 Neurodevelopmental disorder with intracranial hemorrhage, seizures, and spasticity \n", + "1 Neurodevelopmental disorder with intracranial hemorrhage, seizures, and spasticity \n", + "\n", + " disease_id patient_id gene allele_1 \\\n", + "0 OMIM:620371 Individual KCHYD24-1 ESAM NM_138961.3:c.605T>G \n", + "1 OMIM:620371 Individual 1 ESAM NM_138961.3:c.115del \n", + "\n", + " allele_2 PMID cohort \\\n", + "0 NM_138961.3:c.605T>G PMID:36996813 ESAM \n", + "1 NM_138961.3:c.115del PMID:36996813 ESAM \n", + "\n", + " filename \n", + "0 PMID_36996813_IndividualKCHYD24-1.json \n", + "1 PMID_36996813_Individual1.json " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df = stats.get_df()\n", "df.head(2)" @@ -58,9 +137,145 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Got 3109 unique HPOs\n" + ] + }, + { + "data": { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
itemvalue
0version0.1.15
1phenopackets5522
2diseases438
3genes392
4alleles3321
5PMIDs798
6individuals per disease (max)463
7individuals per disease (min)1
8individuals per disease (mean)12.607306
9individuals per disease (median)4.0
10genes associated with a single disease363
11genes associated with two diseases21
12genes associated with multiple diseases8
13gene with maximum number of diseasesSCO2 with 7 associated diseases
14total HPO terms used3109
\n", + "
" + ], + "text/plain": [ + " item value\n", + "0 version 0.1.15\n", + "1 phenopackets 5522\n", + "2 diseases 438\n", + "3 genes 392\n", + "4 alleles 3321\n", + "5 PMIDs 798\n", + "6 individuals per disease (max) 463\n", + "7 individuals per disease (min) 1\n", + "8 individuals per disease (mean) 12.607306\n", + "9 individuals per disease (median) 4.0\n", + "10 genes associated with a single disease 363\n", + "11 genes associated with two diseases 21\n", + "12 genes associated with multiple diseases 8\n", + "13 gene with maximum number of diseases SCO2 with 7 associated diseases\n", + "14 total HPO terms used 3109" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "stats_d = stats.get_descriptive_stats()\n", "items = list()\n", @@ -79,9 +294,60 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
diseasecount
0OMIM:62037114
1OMIM:6072593
\n", + "
" + ], + "text/plain": [ + " disease count\n", + "0 OMIM:620371 14\n", + "1 OMIM:607259 3" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "counts_per_disease = stats.get_counts_per_disease_df()\n", "counts_per_disease.head(2)" @@ -89,7 +355,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -127,9 +393,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAByQAAARZCAYAAACLyLcXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAC4jAAAuIwF4pT92AADhJUlEQVR4nOzdeZyXZb0//vcHmGEbFhEBFUFERHFDRVBUVEQpTTCTTL/myVBJq5Me17Iy7Jh7ZqZmpra5lGia2zFXUElRA1wgZBOUfY9B1pn79wc/PvEZmGGGmZvPB+b5fDzmce7rnmt53zHnH1+P67oySZIkAQAAAAAAAJCCBvkuAAAAAAAAANhxCSQBAAAAAACA1AgkAQAAAAAAgNQIJAEAAAAAAIDUCCQBAAAAAACA1AgkAQAAAAAAgNQIJAEAAAAAAIDUCCQBAAAAAACA1AgkAQAAAAAAgNQIJAEAAAAAAIDUCCQBAAAAAACA1AgkAQAAAAAAgNQIJAEAAAAAAIDUCCQBAAAAAACA1AgkAQAAAAAAgNQIJAEAAAAAAIDUCCQBAAAAAACA1AgkAQAAAAAAgNQIJAEAAAAAAIDUCCQBAAAAAACA1AgkAQAAAAAAgNQIJAEAAAAAAIDUCCQBAAAAAACA1AgkAQAAAAAAgNQIJAEAAAAAAIDUCCQBAAAAAACA1DTKdwGwJUuXLo2RI0dm23vssUc0btw4jxUBAAAAAABsP1avXh2ffvpptn3sscdG69att9n6AkkK3siRI+O0007LdxkAAAAAAAA7hCeffDIGDx68zdZzZCsAAAAAAACQGoEkAAAAAAAAkBpHtlLw9thjj5z2k08+GXvvvXeeqgEAAAAAANi+TJkyJed6vIrZS9oEkhS8xo0b57T33nvv2H///fNUDQAAAAAAwPatYvaSNke2AgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKkRSAIAAAAAAACpEUgCAAAAAAAAqRFIAgAAAAAAAKlplO8CgLq159XP5ruEWvnkxlPyXQIAAAAAAFCH7JAEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABSI5AEAAAAAAAAUiOQBAAAAAAAAFIjkAQAAAAAAABS0yjfBfAfq1evjrFjx8bEiRNjyZIlsXLlymjZsmW0a9cuDj300Nh7770jk8nUep1169bF22+/HR9++GEsWrQoGjZsGLvuumscdthhsf/++9fBlwAAAAAAAMB6AskC8N5778Xtt98eI0aMiNWrV1fab/fdd4+hQ4fG9773vWjTpk2N1yktLY0bb7wx7rnnnli8ePFm+3Tv3j2uuuqq+MY3vlEn4ScAAAAAAAD1myNb86i8vDyuvvrq6N27dzz00ENVhpEREbNmzYrrrrsuevToEf/3f/9Xo7U++OCDOOigg+L666+vNIyMiJg0aVJ885vfjC9+8YuxbNmyGq0BAAAAAAAAFQkk82jYsGFx0003RXl5ec77Zs2axYEHHhi9e/eOrl27brJTcd68eTF48OB4/vnnq7XOpEmTon///jF9+vSc9yUlJXHQQQdFt27doqioKOd3L7zwQnzxi1+MVatWbcWXAQAAAAAAwHoCyTwZMWJE/Pa3v81516NHj3j22Wdj2bJl8f7778fbb78dU6ZMiXnz5sXw4cOjuLg423fNmjXxX//1X7FkyZIq11m3bl0MGTIkFi5cmH3Xpk2b+P3vfx+LFy+O8ePHx8cffxxz586Na665Jho0+M+fxD/+8Y+48sor6+iLAQAAAAAAqI8EknkyfPjwnHavXr1izJgxcfLJJ0ejRrlXe+6yyy7x4x//OJ5//vmc3y1YsCB+/etfV7nOAw88EB988EG2vdNOO8Xrr78e5557bs6uyDZt2sT//u//xh//+Mec8ffcc09Mnjy5xt8HAAAAAAAAEQLJvJg2bVp8+OGHOe/uvvvuaN68eZXj+vfvH0OHDs159/TTT1faf82aNfG///u/Oe9uvfXW6NGjR6Vjzj777DjnnHOy7XXr1sVPfvKTKusCAAAAAACAyggk82DSpEk57Y4dO8bhhx9erbFf+cpXctpTpkyptO8LL7wQn376aba95557xnnnnbfFNX7yk5/k3Fv52GOPxbJly6pVHwAAAAAAAGxMIJkHixcvzmnvscce1R7bqVOnnPbSpUsr7fvUU0/ltM8777ycoLEyXbt2jWOPPTbbXrt2bTz33HPVrhEAAAAAAAA2EEjmQatWrXLaK1eurPbYin3btm1bad9nn302p33SSSdVe50TTzwxp/3MM89UeywAAAAAAABsIJDMg549e+a0J06cGCtWrKjW2DFjxuS0e/fuvdl+8+bNi7lz52bbjRs3jkMPPbTaNR511FE57XHjxlV7LAAAAAAAAGwgkMyDjh07Rt++fbPt1atXxy9/+cstjlu9enX84he/yHk3dOjQzfadOHFiTnvvvfeO4uLiatfYo0ePnPaUKVNi3bp11R4PAAAAAAAAEQLJvLnpppuiQYP//M//4x//OH7/+99X2n/p0qVxxhln5ASNp556apx66qmb7T9p0qScdk3uqYyI2GWXXaJJkybZ9po1a2L69Ok1mgMAAAAAAAAa5buA+uroo4+OX/3qV/Htb387kiSJdevWxTe+8Y2466674vTTT4/u3btH06ZNY+HChfH222/Hww8/HIsXL86OP/HEE+ORRx6pdP758+fntDt27FjjGnfbbbeYNm1azpzdunWr8TwV61qwYEGNxkyZMiWnXVpaGv/+979rVceOrEPTJN8l1Ip/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NQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAg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06fH4sWLqz3+vffey2lXPJ41IqJFixbRr1+/nHcvvvhiteZPkiReeumlnHennnpqtesDAAAAAACADRrlu4CqfPOb39yqcStXrox58+bF+++/H0uWLIkkSSKTyWT/73XXXVfHldZMu3bt4qijjorXX389++6JJ56I888/f4tj161bF3/9619z3h133HGb7Tto0KB4+eWXs+37778/zj333C2u8eqrr8b06dOz7fbt20efPn22OA4AAAAAAAAqKuhA8ne/+112V+PW2HA868ZzXHDBBfH1r3+91rXV1rBhw3ICyVtuuSW+/vWvR+PGjascd99998XcuXOz7ZYtW8bAgQM32/drX/ta/OAHP4gVK1ZERMSoUaPilVdeif79+1c6f5IkMXz48Jx35513Xs6OTgAAAAAAAKiuHTpl2hBEJkkSTZs2jVtvvTXuueeePFe13llnnRUHHnhgtv3xxx/HsGHDory8vNIxb7/9dlx55ZU57y6++OJo1arVZvu3a9cuvvOd7+S8O//882P27NmVrnHDDTfEqFGjsu1WrVrFFVdcUeW3AAAAAAAAQGUKPpBMkmSrf9q2bRsDBw6MO+64I2bOnBn/8z//U6sdl3WpQYMGcfvtt+fU8/vf/z4GDhy4yR2Ry5Yti5///OcxYMCAKC0tzb7fZ5994gc/+EGV61x55ZXRoUOHbHv69OnRt2/f+Nvf/pbdQRoR8dlnn8W3vvWtuOaaa3LGX3PNNdGmTZut+kYAAAAAAAAo6CNbN77HsLoymUw0adIkWrZsGU2aNEmhqrpzwgknxA033BBXX3119t1LL70UvXr1ig4dOkTHjh1jxYoVMXXq1FizZk3O2J133jlGjBgRLVq0qHKNNm3axJ///OcYOHBgrFq1KiIiZsyYEYMHD47WrVtHly5dYunSpTFz5swoKyvLGTt48OC4/PLL6+hrAQAAAAAAqI8KOpDs3LlzvktI3VVXXRXNmjWLyy67LNauXZt9P3fu3Jy7IjfWvXv3ePrpp6Nbt27VWqNfv37x7LPPxpAhQ2Lx4sXZ90uXLo2xY8dudszZZ58dDzzwQMHsKAUAAAAAAGD7VPBHttYH3/3ud+P999+PM888M4qKiirt16VLl7jjjjvi/fffr3YYuUH//v1jwoQJcdFFF0WzZs0q7XfIIYfE448/Hg899FA0bty4RmsAAAAAAABARQW9Q7I+2XfffePRRx+Nf//73zF69OiYPHlyLFu2LEpKSqJ9+/Zx6KGHRvfu3Wu1Rvv27ePuu++O2267LUaPHh0TJ06MpUuXRnFxcey+++7Rp0+f2HvvvevoiwAAAAAAAEAgWXBatmwZX/jCF+ILX/hCams0bdo0TjjhhDjhhBNSWwMAAAAAAAAidpAjW0tLS2POnDlRWlqa71IAAAAAAACAjWx3OySXL18eDz/8cIwaNSreeuut+PTTT6OsrCz7+4YNG0anTp3iiCOOiGOPPTbOOuusKCkpyWPFAAAAAAAAUH9tN4Hk559/Hj/84Q/jt7/9baxYsSIiIpIk2aTfunXrYtq0aTF9+vR45JFH4vLLL48LLrggfvrTn0bTpk23ddkAAAAAAABQr20XR7aOHz8+evbsGXfccUeUlpZmg8hMJlPpT8T6wHL58uVx++23R8+ePWP8+PH5/AwAAAAAAACodwp+h+SkSZNiwIABsWjRoohYH0ImSZINJVu0aBE777xzNG/ePFasWBGLFi2K5cuXZ8dv6D958uQ48cQT480334xu3brl5VsAAAAAAACgvinoHZJr166NQYMGxaJFi7I7H5MkiSOOOCJ+85vfxNSpU2PZsmUxbdq0+OCDD2LatGmxbNmymDp1atx3331x5JFHRpIk2bELFy6MQYMGxbp16/L9aQAAAAAAAFAvFHQgedddd8XkyZOzQWSLFi3i0UcfjdGjR8f5558fXbp02ey4Ll26xNChQ+PNN9+Mv/zlL9GyZcvs7z7++OO46667ttUnAAAAAAAAQL1W0IHk3XffnQ0jmzVrFq+88kp89atfrdEcZ5xxRrz66qvRtGnT7FwCSQAAAAAAANg2CjaQnDx5ckyZMiUi1t8DOXz48Dj00EO3aq6ePXvGT37yk+y9k1OnTo3JkyfXWa0AAAAAAADA5hVsIDl27NiIiEiSJIqKimLo0KG1mu/888+PoqKibHvcuHG1mg8AAAAAAADYsoINJOfPnx8R63dHdunSJVq3bl2r+Vq3bh177bVXtj1v3rxazQcAAAAAAABsWcEGkqWlpdnnli1b1smcLVq0yD6vWLGiTuYEAAAAAAAAKlewgWTbtm0jYv2RrbNmzaqTOWfPnp193nnnnetkTgAAAAAAAKByBRtI7rbbbtnnOXPmxIcfflir+T766KOcQHLj+QEAAAAAAIB0FGwgedRRR0WjRo0ik8lERMRPfvKTWs238fhGjRrF0UcfXav5AAAAAAAAgC0r2ECyVatWccwxx0SSJJEkSfz1r3+N6667bqvmuv766+Pxxx+PTCYTmUwm+vXrV2f3UgIAAAAAAACVK9hAMiLi2muvjYiITCYTSZLE8OHD47TTToupU6dWa/y0adPi9NNPjx//+MfZOSIifvzjH6dWMwAAAAAAAPAfjfJdQFX69esX55xzTvzpT3/KBopPP/10PPPMM3H00UdH//7946CDDoq2bdtG8+bNY8WKFbFo0aIYP358vPLKK/HGG29kd1hu2B15zjnnxDHHHJPvTwMAAAAAAIB6oaADyYiI+++/P+bMmRMvv/xy9j7J8vLyeP311+P111+vcuzGQWSSJHHiiSfG/fffvy3KBgAAAAAAAKLAj2yNiCgqKopnn302Lr300oj4T8i44bmyn4j/HPWayWTisssui6effjoaNSr4DBYAAAAAAAB2GAUfSEZEFBcXx2233RZvv/12fO1rX4uioqJs6FiZJEmiqKgozj777Hj77bfjlltuieLi4m1UMQAAAAAAABCxHRzZurFevXrFww8/HMuWLYt//OMf8fbbb8eMGTNiyZIlUVpaGiUlJbHTTjtF586d44gjjogjjjgiWrVqle+yAQAAAAAAoN7argLJDVq1ahVf+MIX4gtf+EK+SwEAAAAAAACqsF0c2QoAAAAAAABsnwSSAAAAAAAAQGoEkgAAAAAAAEBqCvoOyZUrV8Zjjz2WbR955JHRrVu3Gs/z8ccfx1tvvZVtn3XWWVFUVFQnNQIAAAAAAACVK+hA8uGHH44LL7wwIiKKi4tj2rRpWzVPSUlJXHjhhbF27dqIiCgqKoqzzjqrzuoEAAAAAAAANq+gA8nf/e53kSRJZDKZOOOMM2LXXXfdqnl22223OP300+PRRx/NziuQhB3Dnlc/m+8SttonN56S7xIAAAAAACB1BXuH5LJly+Ktt96KTCYTERFf/epXazXf1772tezzqFGjYuXKlbWaDwAAAAAAANiygg0kx40bF2VlZZEkSURE9OvXr1bzHXvssdlwc82aNTFu3LjalggAAAAAAABsQcEGkh9//HH2uVOnTtGqVatazdeqVavYY489su1JkybVaj4AAAAAAABgywo2kFy6dGlERGQymWjbtm2dzLnLLrtknxcvXlwncwIAAAAAAACVK9hAsry8PPu84djW2tp4ntWrV9fJnAAAAAAAAEDlCjaQ3LArMkmSmDt3bp3MOW/evOzzTjvtVCdzAgAAAAAAAJUr2ECyXbt22ec5c+bEzJkzazXfzJkzY9asWZHJZDaZHwAAAAAAAEhHwQaSffr0iUwmkw0QH3rooVrN96c//Ski/nNs6+GHH167AgEAAAAAAIAtKthAsl27dnHggQdGxPoQ8eabb47Zs2dv1VyzZs2KW265JRtudu/ePfbYY486qxUAAAAAAADYvIINJCMiLrzwwkiSJDKZTCxbtiy+8IUvxPz582s0x7x58+ILX/hCLFu2LDvXhRdemFLFAAAAAAAAwMYKOpC84IILolOnThERkclk4sMPP4wDDjggfv/738fatWurHLt27dr43e9+FwceeGBMmDAhuzuyY8eOcfHFF6deOwAAAAAAABDRKN8FVKWoqCgeeeSR6N+/f6xZsyYymUwsXLgwvvnNb8YVV1wR/fv3j169ekW7du2ipKQkSktLY/78+fHuu+/GK6+8EosWLcruikySJJo0aRKPPPJIFBcX5/vTAAAAAAAAoF4o6EAyIuLII4+MBx98ML7xjW/E2rVrs+HiwoUL47HHHovHHntss+OSJImIyPZv3Lhx/P73v4++fftuy/IBAAAAAACgXivoI1s3+NrXvhavv/56dOrUKbvjccMRrEmSbPITEdk+SZJE165d480334whQ4bk8zMAAAAAAACg3tkuAsmIiMMPPzwmTZoUv/71r2PffffNCR8r2vC7Aw44IH7729/GhAkT4tBDD93GFQMAAAAAAAAFf2TrxoqLi+PCCy+MCy+8MGbNmhWvv/56TJ06NRYvXhzLly+PFi1aRJs2baJbt25xzDHHxK677prvkgEAAAAAAKBe264CyY3tvvvu8bWvfS3fZQAAAAAAAABV2G6ObAUAAAAAAAC2PwJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNQJJAAAAAAAAIDUCSQAAAAAAACA1AkkAAAAAAAAgNY3yXcDWWLBgQbz++usxceLEWLx4cSxbtizKy8vjyiuvjH333Tff5QEAAAAAAAD/v+0qkHzqqafitttuizfffHOzvz/nnHM2G0heffXVMWbMmIiI6Ny5czz44IOp1gkAAAAAAACst10EkosWLYpvfOMb8dxzz0VERJIkERGRyWRynitzxBFHxM0335ztd/nll8f++++fctUAAAAAAABAwd8huXDhwjjyyCPjueeey4aPGyRJUmUQucHgwYNjjz32yLYffvjhOq8TAAAAAAAA2FRBB5JJksSgQYNiypQp2XclJSVx6aWXxvPPPx8ffvjhJiHl5mQymfjKV76Sbb/wwgup1AsAAAAAAADkKugjW//whz/EW2+9ld0F2bdv33j88cejffv2Of2qs0vylFNOiV/84heRJEmMGzculi9fHi1atEilbgAAAAAAAGC9gt4hueHexyRJomvXrvHcc89tEkZW12GHHZZ9TpIkJkyYUCc1AgAAAAAAAJUr2EDyk08+iYkTJ0Ymk4lMJhM/+9nPomXLlls9X+vWrWPXXXfNtj/++OO6KBMAAAAAAACoQsEGkmPGjImI9bsZmzRpEoMGDar1nG3atMk+L1mypNbzAQAAAAAAAFUr2EBy/vz5EbH+fsi99toriouLaz1nSUlJ9nnFihW1ng8AAAAAAACoWsEGkqWlpdnnjYPE2li+fHn2uXnz5nUyJwAAAAAAAFC5gg0kd9555+zz4sWL62TOWbNmZZ/btm1bJ3MCAAAAAAAAlSvYQLJDhw4Rsf4OyenTp8fnn39eq/nef//9WLZsWbbdpUuXWs0HAAAAAAAAbFnBBpJHHHFEZDKZyGQyUVZWFs8++2yt5nvwwQezz82bN4/evXvXtkQAAAAAAABgCwo2kNxll13isMMOiyRJIiLiZz/7WZSVlW3VXJMmTYr77rsvG3D2798/GjZsWJflAgAAAAAAAJtRsIFkRMR3vvOd7PP7778f3/3ud2s8x2effRannXZafP7559lw84orrqizGgEAAAAAAIDKFXQg+fWvfz0OOuigiFh/l+S9994bp556akyePHmLY9esWRP33ntv9OrVKz7++OPs7siBAwfGUUcdlXbpAAAAAAAAQEQ0yncBVclkMvHYY4/FUUcdFYsWLYqIiOeeey6ee+656N27d/Tq1Ssi1oeVmUwmHnjggXjiiSdiypQpMXr06FixYkX2d0mSRKdOneKP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GH369Im99tor3+UBAAAAAACwgynoQDIi4i9/+Uv06dMnZsyYERHrdzyedNJJ0aFDh+w9kBt2Pv7sZz+Ln//85zFlypSYPHlyzu+SJIkDDzwwfv3rX+ftW2rqrLPOikcffTTnXefOneOTTz6p8VwLFiyI4cOHx+9+97tYsWLFZvscdthh8aMf/SgGDx68NeUCAAAAAADAJgr6yNaIiF122SVeeOGF6N69e064OGfOnHjuueey/ZIkiVdffTWef/75+Pjjj7N3T27of8ghh8Szzz4bTZs2zePXVN/TTz+9SRi5tV577bXo0aNH3HXXXZWGkRER7733Xpx22mnxX//1X7FmzZo6WRsAAAAAAID6reADyYiIbt26xXvvvRfDhg2Lhg0bRsT641c3/N8NPxts3G7YsGEMGzYs3nzzzdh99923ffFbYdmyZXHRRRfVyVxvvPFGnHzyybFw4cKc961bt45DDjkk9txzz+z/phv84Q9/iLPOOiuSJKmTGgAAAAAAAKi/totAMiKiadOmcc8998S0adPiyiuvzN4DuWEnZMWfrl27xne+852YNGlS3HPPPdGkSZM8f0H1XXHFFTFr1qyIiGjevPlWz7NkyZI488wzY+XKldl3nTt3jieffDIWL14c//znP2P69OnxySefxLBhw3LGPvHEE3H77bdv9doAAAAAAAAQsR3cIVlRx44d48Ybb4wbb7wxli5dGpMmTYpFixbF0qVLo1mzZtG2bdvo0qXLdrMbsqLXXnstfvvb30ZERIMGDeLaa6+NK6+8cqvmuuWWW2L27NnZdpcuXeKNN96I3XbbLadfx44d49e//nV06tQprrnmmuz76667Ls4777zYaaedtmp9AAAAAAAA2O4CyY21bt06+vTpk+8y6szKlSvj/PPPzx6V+t3vfjcOP/zwrZprwYIFceedd+a8u++++zYJIzf2/e9/P1544YUYNWpURKw/OvbWW2+N66+/fqtqAAAAAAAAgO3myNb64Ec/+lFMnTo1IiI6deoU//u//7vVcz366KNRWlqabffr1y9OOOGEKsdkMpm49tprc9498MAD7pIEAAAAAABgqwkkC8Q777wTv/jFL7Ltu+66K0pKSrZ6vqeeeiqnPXTo0GqNO/7446NLly7Z9ty5c+Ott97a6joAAAAAAACo33bIQLK0tDRefvnl+POf/xx///vfY/78+fkuqUpr166NoUOHRllZWUREDBkyJL70pS9t9XylpaXZY1c3OOmkk6o1NpPJxIABA3LePfPMM1tdCwAAAAAAAPVbQd8huXr16pg1a1a23aFDh2jWrFml/VetWhWXX355/Pa3v421a9dm3zdo0CAGDRoUv/zlL2P33XdPteatccMNN8QHH3wQEevvxfzlL39Zq/k++uijnO/v0qVLdOjQodrjjzrqqLjvvvuy7XHjxtWqHgAAAAAAAOqvgt4hedddd0W3bt2iW7dusd9++8WSJUsq7btu3bo48cQT45577ok1a9ZEkiTZn7KysnjyySejV69e2TsaC8WECRPi+uuvz7ZvuummGoWHmzNx4sScdo8ePWo0vmL/ivMBAAAAAABAdRV0IPn4449nQ8VBgwZVubvx+uuvjzfffDMi1h87urFMJhNJksS8efNi8ODB2aNR8628vDyGDh0aa9asiYiIY445Ji644IJazztp0qSc9h577FGj8RX7z5gxI1atWlXrugAAAAAAAKh/CjaQXL16dbz33nuRyWQik8nE4MGDK+27bNmy+PnPf54NHpMkiaOPPjquuuqqGDp0aLRs2TIbUk6cODHuvffebfUZVfrlL38Zb731VkREFBcXx29+85tNwtStUfHOzI4dO9ZofPv27aNRo/+c5lteXh6LFi2qdV0AAAAAAADUPwV7h+RHH32U3TmYyWTi+OOPr7TviBEjYvny5dnw8pprronrrrsu+/trrrkm+vbtG/PmzYskSeK+++6Liy++OPVvqMr06dPjhz/8Ybb9/e9/P/bdd986mbu0tDSn3bx58xqNz2Qy0bRp01i+fHmlc26t+fPnx4IFC2o0ZsqUKTnt0tLS+Pe//10n9eyIOjRN8l1CrdT033Z7/l5/xwAAAABAIfHfW3dcdZXzbK2CDSSnTZuWfW7dunWVx7U+8cQTERGRJEnsvvvuce211+b8fs8994yf/vSn2eNQ33///ZgzZ07suuuuKVRePRdeeGGsWLEiIiL23Xff+MEPflBnc1f8o2rSpEmN50grkLz77rtj+PDhtZpjzJgxMXfu3DqpZ0f0/Z75rqB2Xn311Rr1356/t6bfCgAAAACQJv+9dcc1c+bMvK5fsEe2zpkzJyLW79bbbbfdKu23bt26eP3117O7I88+++xo2LDhJv2++tWv5rwfN25cnddc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e179bL5LqJVPbjylRv3r2/cCAAAAAOyoCjaQnDx5ctx7773x5JNPxvTp06s9bu+9947TTz89Lrjggthrr71SrBAAAAAAAADYkoI7snXevHlx7rnnxn777Re33357TJs2LZIkqfbP5MmT4+abb47u3bvH+eefHwsXLsz3JwEAAAAAAEC9VVCB5Ouvvx4HH3xwPPTQQ1FeXh5JkkQmk9nsT0RU+rskSaKsrCwefPDB6NmzZ7z11lt5/jIAAAAAAAConwrmyNaRI0fGKaecEp9//nlERDZ0TJIk26ekpCR23nnnaN26dZSUlMTy5ctj2bJlsXDhwlixYkW238ZjZ8+eHSeeeGL8/e9/jyOPPHIbfhEAAAAAAABQEIHk7NmzY8iQIfH555/nhIkNGjSIQYMGxemnnx59+vSJffbZp9I5/vWvf8WYMWNixIgR8dxzz0V5eXl2rhUrVsQZZ5wRY8eOjXbt2m2TbwIAAAAAAAAK5MjWSy65JBYuXJgTRn75y1+OyZMnx1//+tf4+te/XmUYGRGx7777xrnnnht/+9vf4uOPP47TTjstZ3fl3Llz43/+539S/Q4AAAAAAAAgV94DyfHjx8eIESOydz9GRPz85z+Pxx9/PLp06bJVc+61117xxBNPxG233Za9hzJJknjkkUdiwoQJdVk+AAAAAAAAUIW8B5J33nlnREQ2OLz00kvjkksuqZO5L7300rj00kuzc2+8HgAAAAAAAJC+vAaS69atiyeeeCIbFu63335x88031+kaN998c+y3334RsT70HDFiRJSVldXpGgAAAAAAAMDm5TWQHDNmTCxdujQiIjKZTFxyySXRoEHdltSwYcO45JJLssfBLl68ON555506XQMAAAAAAADYvLwGkm+++WZErN+52LRp0/j617+eyjrnnntuNGvWLLsTc8O6AAAAAAAAQLryGkh+9NFHEbF+d2SvXr2icePGqazTuHHj6NWrV3aX5IcffpjKOgAAAAAAAECuvAaSkydPzj4feeSRqa51xBFHbHZdAAAAAAAAID15DSTnzp2bfe7cuXOqa+25556bXRcAAAAAAABIT14DyUWLFmWfW7dunepaG+ZPkiRnXQAAAAAAACA9eQ0kV69enX3eaaedUl1r48Bz1apVqa4FAAAAAAAArJf3QDKTyURERFFRUaprbTz/mjVrUl0LAAAAAAAA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tmDLXHfv3q25eCizv7X5tSAp8ujisOXLl9suqUzYIt8333wzw1yGDBmiYmNj0x23fft2VaRIEc3y1atX161oZ+/PqSeffNIhn0+P6ZXvvn37VJ06dbLcjwcOHKgOHDhgk21awhb5hoWFKXd3d816pkyZkuW4mzdvquLFi5v9DgoVKpSNTKyTk3MSpu/jn3/+adW24+LizHLW+3uG3udgclNB0p7nm3755Rez99LeF7HaOl9LCpJVq1ZVixYtUnFxcTbOJmu2yPfnn382jjUYDGrnzp0ZLuuofTssLEzNnTtXPffcc6pQoUJZvicuLi423X5O9+22bdsqLy8v1a1bN/X999+r/fv3q9u3b6vExEQVHR2tLl++rJYsWaK6dOlidoG8iKgvv/zSpvnkBxQkAVjE2Ys22TVmzBizPzbLli1zdFg5ZklB8vHPU089pS5evOjokK2S9mplg8GQYaFKKefftydOnKgMBoNq1aqV+vzzz9WWLVtUWFiYiouLUwkJCSo8PFytX79ejRw5Unl5eZm9v126dHGaOyVDQ0PT3UddXV2zPBmSkpKiOnXqpBlXs2ZNh1wlaWsDBw7U5JUX7v6cPXu2KlOmjMWfUyKiihUrphYsWODo0C128eJF5eLiosnh6aefVjExMRmO+emnnzIs0H766ad2jD5jtvhMffrppzXryM77WqFCBc069uzZY/U6skJBspKu27t8+bIqUaKEZpuNGjWyy50ZSjn+DkkRUYULF1bffPON7n+rbJVrfHy8ql69unE9HTp0yHT5vFKQLFGihBoyZIhasmSJOnnypIqMjFRJSUkqKipKnThxQn333Xfp3kHg4eGhdu3aZbvEMmCLfIcNG5buPtqtW7cs989du3aZ/b1bunRpNrPJnD0/py5dumT2+7Dnna9K2T7fK1euqOeeey7dE66Z/QQFBdnlLitb5Wt67Ozh4ZHpnYORkZGqRYsWGX4P0VtOzklUqVJFM27btm1WbTslJcVs29evX89OGhbT+xxMbipI2ut808GDB5W3t7fZ/1t7fxe2db6W3iEpIqpkyZLq559/tmE2Wctpvrdu3dJcCDF8+PBMl88N+/bDhw/V5s2b1ejRo1XRokUzfD9sxRb79u+//27xhRZ79uxR5cqV02zPYDA47cxyjkJBEoBFnL1okx0zZsww+6P53nvvOTosXcTFxanr16+rP/74Qw0fPtzsD3qRIkXU4cOHHR2mRW7cuKG5Evull17KdHln37f37dunzp8/b9Gy169fV61btzbbr51les/bt2+nezA7cuRIi8ZfvnzZ7ISYo6foyano6GjN1MQiotatW+fosLItMTFRvfDCC5p8ihUrpiZMmKAOHTqkoqKiVGJiorpx44Zat26d6tGjh9lJM2eaNiW9ux0rVaqkZs+era5evaoePnyoIiMj1datW1WvXr00X3p8fX0147Izrakecusdknr8DaMgWUm3bUVERKgaNWpotle6dGl15coV3bZpyl75pqSkqMjISPXPP/+omTNnqvr165t9LgwcOFDXKaltlet7771nXIe3t7e6dOlSpsvnhYLkkiVLMpyFw9QPP/ygmeZU5NHd8fHx8dneviVska/pXf0iotzc3Cy+y2PIkCGasW3btrU6BkvY83Pqo48+0myrSZMmum0rI7bMd/v27WZTwrdv314tX75chYaGqocPH6r79++r48ePq6+++srshGyZMmV0n7rVVvmGhYWpkiVLmp1QHjRokNq1a5eKiopSCQkJ6tKlS2rGjBmai+RM7/j19fW1aY6mcnpOQo87JDOahtsW7HEOJjcUbZSy3/mmixcvmh0X16pVS929e9fm28qMPfJNTk5Wd+/eVX///bf68ssvzQryIqL++9//2nSbGbFFvmkfY1G6dGkVGRmZ6fKO3rdjY2PV+vXr1ahRo5S/v79Z/ml/bMFR+/bFixfNLprs2rWrrtvMayhIArCIsxdtrLV06VKzk9xDhgzJE3dTWeLixYuqUaNGZidM7DV1WE706NHDGLOfn1+WMee3fTs+Pl61bNlSk3OpUqUynGorN0nvC7GIdVMxmt4l+fHHH+sYsf4WLlyoycfezy6yteHDh2vyCQgIUDdv3sx0zO+//2529+/ChQvtFHHOJCcnq27dumX6ZS29n08++UQ1bdpU0+eoIpWp3PoMyeDgYKvXkRUKkpV02c6DBw9Us2bNzE742vvKY0cdH6SmpqpvvvnG7Dj066+/1m2btsj16NGjmju4LZm+Ki8UJK21atUqs4uj9J5y2xb5pi02Z+fk2/79+zVjvby8LC7kWsNe721qaqrZyVZHXOBnq3zPnTunucDNxcVFzZs3L9Mx9+/fV88++6xm+zVr1tS1wG7rAqzpRX1Z/ZQrV87sGZR6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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plot_with_max(\n", " disease_counts=counts_per_disease[\"count\"],\n", @@ -148,9 +425,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No problems found.\n" + ] + } + ], "source": [ "df = stats.check_disease_id()" ] @@ -165,9 +450,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No candidate duplicates found for ERI1\n" + ] + } + ], "source": [ "input_zipfile=\"all_phenopackets.zip\"\n", "df = stats.show_possible_duplicates_by_variant(\"ERI1\")" @@ -183,27 +476,127 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "All phenopackets had at least one variant\n" + ] + } + ], "source": [ "df = stats.find_phenopackets_with_no_variants()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No candidate duplicates found for ARPC5\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: []\n", + "Index: []" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "stats.show_possible_duplicates_by_variant( \"ARPC5\")" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "All phenopackets had a disease diagnosis\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: []\n", + "Index: []" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "stats.find_phenopackets_with_no_disease()" ] diff --git a/src/ppktstore/stats/_ppkt_store_stats.py b/src/ppktstore/stats/_ppkt_store_stats.py index 72d1abec..aba21464 100644 --- a/src/ppktstore/stats/_ppkt_store_stats.py +++ b/src/ppktstore/stats/_ppkt_store_stats.py @@ -41,6 +41,7 @@ def get_cohort_to_phenopacket_d(self): def _extract_all_phenopackets_df(self) -> pd.DataFrame: all_ppkt = None + column_names = ['disease', 'disease_id', 'patient_id', 'gene', 'allele_1', 'allele_2', 'PMID', 'cohort', 'filename'] for info in self._archive.infolist(): if info.is_dir(): continue @@ -58,11 +59,11 @@ def _extract_all_phenopackets_df(self) -> pd.DataFrame: continue L = line.decode("utf-8") fields = L.strip().split("\t") - if len(fields) != 8: + if len(fields) != len(column_names): raise ValueError(f"Malformed line with {len(fields)} fields: {L}") list_of_lists.append(fields) - columns = ['disease', 'disease_id', 'patient_id', 'gene', 'allele_1', 'allele_2', 'PMID','filename'] - return pd.DataFrame(data=list_of_lists, columns=columns) + + return pd.DataFrame(data=list_of_lists, columns=column_names) def _extract_all_cohort_phenopackets(self) -> typing.Dict: cohort_to_ppkt_d = defaultdict(list)