Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
WDeversion_theory
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
krishna
WDeversion_theory
Commits
1cd1d896
Commit
1cd1d896
authored
1 year ago
by
Abhijeet Krishna
Browse files
Options
Downloads
Patches
Plain Diff
Visualize pathlengths
parent
b7c568e6
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
Experiments/notebooks/visualize_lambdas.ipynb
+69
-0
69 additions, 0 deletions
Experiments/notebooks/visualize_lambdas.ipynb
with
69 additions
and
0 deletions
Experiments/notebooks/visualize_lambdas.ipynb
+
69
−
0
View file @
1cd1d896
...
...
@@ -207,6 +207,75 @@
" ax.set_xlim(0,1.05) \n",
" plt.savefig(dataout + genotype + prop + roi + '_' + '_std_lamdavsP_cumulative_wFit_eversion.pdf',dpi = 600,bbox_inches = 'tight')\n"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# Plot pathlengths"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAUUAAAEvCAYAAADSG9NhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCGUlEQVR4nO3dd1xV9R/H8ddlb3AiCIioKA6c4cAcmZWjMjVzpVm/stSyorSyMs1cWZYjpawsR45ypZSmOVLBgRsFRDYo4kAZF+7l3vP7A7lCoIkC9yqf5+PR49EZ9/A5Xnn7Ped8z/erUhRFQQghBABmxi5ACCFMiYSiEEIUIaEohBBFSCgKIUQREopCCFGEhKIQQhQhoSiEEEVIKN4FtVpNREQEarXa2KUIIcqZhOJdiI2NpX///sTGxhq7FCFEOZNQFEKIIiQUhRCiCAlFIYQoQkJRCCGKkFAUQogiJBSFEKIICUUhhChCQlEIIYqQUBRCiCIkFIUQoggJRSGEKEJCUQghipBQFEKIIiQUhRCiCAlFIYQoQkJRCCGKkFAUQpi8PWcv0PntKawNj6/wnyWhKIQweZMWLsTq6B6++Wgcz32/s0J/loSiEMKkfbZhF5bH9wOgWFrxXJvGFfrzJBSFECYrIzOLv35aaFjO7TqS/q3dK/RnSigKIUzW6C8WY5ZxBYDc1u35fmD3Cv+ZEopCCJO0M/wY6bv/AECxtcW64UCaeTlV+M+1qPCfIIQQZZSXl8dnn39hWL782EhCBlTsvcRC0lIUQpicad//jD4tFYD8ps3wtWiCh6t9pfxsaSkKIUxKZHQ0e39bgwpQLC2Jbz6KNc82qLSfLy1FIYTJ0Ol0vD/rC1R6PQBZ/YbSJ09PnZp2lVaDtBSFECZj6eo1XIuNAUBXvz4x6W0IeaPyWokgLUUhhIlITk5m5U8/A6CYmXHhyfG8UkNNrWq2lVqHhKIQwuj0ej2ffP4likYDQN7Tz5C65RoTn29R6bVIKAohjG5LyB/EnjgOgL5OHc7VGsDb7Wyo7mxT6bVIKAohjOrSpUssWBxsWM4Y9SbqVQd5e7i/UeoxuQctjRv/dwfNZ555hpkzZxqWBw0axPHjx0vdt1u3bgQHBxdbd+TIERYsWEBERARarZYWLVowduxYAgIC7q14IUSZKIrCnK/noc3OBkDz+GOcC6/F+09b4OxgZZSaTC4Ux40bV+p6RVFYunQp2dnZdOjQwbBer9cTHR2Nh4cH/fr1K/E5b2/vYsu7d+9mzJgxODk58eSTT6LT6di8eTMjR45k/vz5PProo+V5OkKI29izZw8H9+4DQF/NhfOdX8Fy2jZe/+0Zo9VkcqH4+uuvl7r+hx9+IDs7m+eee65Y+MXFxaFWqwkMDLzlZwtpNBomTZqEg4MD69atw83NDYBRo0bx7LPP8sknnxAYGIitbeU+7RKiKsrMzOTLr+cblnNefZ3En2OZPrQJjvbGaSXCfXJP8ezZs3z55Zd4enry/vvvF9sWFRUF3Nlld0hICOnp6QwePNgQiABeXl4MGzaM9PR0tm/fXr7FCyFKFfztd2RevQqAtlMn4nMCqJ4YydhBzYxa130RijNmzECr1fLRRx+VaMWdOXMGgCZNmvzncQ4cOABQ7PK7UMeOHQEICwu713KFEP8hKiqKkC0hACh2dlwd+gbp3+9l0gstsbMx7gWsyYfi7t272bdvH4GBgXTt2rXE9sJQPH36NIMGDaJ169a0b9+et956i7i4uGL7Fi7Xq1evxHE8PT0BiI2NLe9TEEIUodfr+eLr+aAoAOSOHEF8SD7N7a/z2sCmRq7uPgjFJUuWADBmzJhSt0dGRgIwd+5cfHx8GDx4ML6+voSEhDBw4EBOnDhh2DcjIwMAZ2fnEsdxcHAACu5zlEaj0ZCVlUVWVhY5OTl3fT5CVHVbt24j5kZjRlfPi1Svp8netItvP3gYSwvjR5LJPWgp6vTp0xw8eJB27drRrl27EttzcnKoXbs2NWrUYNGiRbi73xymfNWqVUyePJl3332XkJAQzM3N0Wq1AFhZlbyJW7guLy+v1FqCg4NZsGBBeZyWEFVWVlYW33z33c3ll18n5buTvPJEXTr6uxqxspuMH8u3sW7dOgCGDRtW6nY7OzvWrVvHxo0biwUiwODBg2ndujXx8fGG1qKNTUHv+MJwLEpz4/UiO7vSR+MYPXo04eHhhIeHs3z58rs7ISGquCVLfyL7agYA2q5diIvzpVrSGWaMM50+wiYdijt27MDOzo7u3e9uXgZ//4Ie8YmJicDNy+bSLpGzsrIAcHR0LPVYVlZWODg44ODgcMvgFELcWlxcHL+v3wCAYm3Npd6vcnXZTr4cH2CU1/luxWRDMTIyktTUVLp3737LfoNXr14lPDy8xAOVQmq1GrjZQvTx8QFuhmRRhesaNKjcYYqEqAoURWHWvPkoN8ZJzB0ylLgNarp5w/DejYxb3L+YbCgeOXIEoNR7iYVCQ0MZOnRosVf+Cun1eo4cOYJKpaJFi4KRNgpf4yut201oaCgAbdu2vefahRDF/b1zF9HHbgz44O5GQu3+6PbuY9H7D6NSqYxcXXEmG4qnTp0CoHnz5rfcp0uXLjg6OrJnzx727dtXbNvChQuJiYmhZ8+ehvuNPXr0wMXFheXLl5OUlGTYNzExkZUrV1KrVi0ef/zxCjgbIaoutVrNV4sWG5avPT+WC0uP8N4QX5p4uxivsFsw2afPhZezrq63fiLl4ODA1KlTeeedd3j55Zfp2bMnbm5uHD16lGPHjuHj48Mnn3xi2N/e3p7JkycTFBTEgAED6NOnDwBbtmwhKyuL+fPnY21tXaHnJURV893yFWRfugSAtn17Ys42oX7eNj4YNcDIlZXOZEPxypWCCbBv9eCjUO/evXF3d2fx4sWEhoaSk5ODu7s7r7zyCqNHjzb0Pyy6v7OzM4sWLWLDhg1YWlri5+cno+QIUQGSkpLYuGYtUDAJ1flHXiNr1t/8Oq0TtkZ+c+VWVIpyo1u5uGMRERH079+fdevW0ayZcd/TFMJUKYrCq++9z9mDhwBQDxrCoVOBDHRKYdUM0x2NymTvKQoh7m+794caAlFfqxYxzs9idyacL9/uaOTKbs80269CiPuaRqNhzoJvDMsZA1/l0vLDzB/dCvdalTOp/d2SlqIQotwtWrWanAvnAdC2akVkZGPaupjGgA//RUJRCFGuzl9IY+OKlUDBVKXJHceg2fkPwe93xtzc9CPH9CsUQtxXPl60CG6MJaDu9QwJW67xeh8P2vrVMnJld0ZCUQhRbjbv3sO5Pf8ABXOuRNkMwPViJJ++eus300yNPGgRQpSLC2lpfDXnC8Py5d6vkPFbOGuCOuBkpJn57oa0FIUQ90yn0zFx+gz0N0abygvswpmTPjzlZ87AHvWNXF3ZSCgKIe7ZkuUrSDpxEgC9a22iGozF9tQhvnmvs8kN+PBfJBSFEPfkxIkTrP55GVDwtPnisElcXn+MOWNaUbe2afdJLI2EohDirmVmZvLxZzPgxjiJ6qEjOLvXmYfrqHn5GT8jV3d3JBSFEHdFURRmzvmC6xcvApDv789Zx0GYHdzLkkkPY2Z2f102F5JQFELclS2btxBa2P3GyZGLQz/gyuqDTBnph289F+MWdw8kFIUQZRYXF8+8BQsNyznj3yF2i46W1hcJGu5vxMrunYSiEKJM8vLymDptGvk33lrRPPUUsdc7otu7hx8+7moSczffi/u7eiFEpVu8OJiE2ILJ4nTe3lzs9SqXfznMO/3q0aZJTSNXd+8kFIUQd2zfvv1s3LARAMXKiqz3PyTh12waaOL55JUHY9I3CUUhxB1JT09n9uzZhuXcsWNIOlsPzd87WTLpYZOdXqCsJBSFEP9Jp9MxY/oMMq9nAqB9uDNX/PuSvuo4L/eoRbd27kausPxIKAoh/tMvv6ziWOG8zbVqkTM+iITVmdS5HMnsN9obubryJaEohLitiIgIlv64FCh4jU/9wfskhzuRt2MXiyZ0xMXxwZoWWEJRCHFLWVlZTPv0M/Q3XuPTDB/G9ZotubjqNANb29Kvm7dxC6wAEopCiFv6+qt5pKWlAZDfvDnqoc8TvyYHl6RjzH830MjVVYwH43GREKLc7dm9hx07dgCg2NujnvQB5/eZk7tjD9+83pY6Ne2MXGHFkJaiEKKEq1evMnfuV4bl3PGvk6V35cKaszzuo+eFJ32NV1wFk1AUQhSjKApz537FtWvXgILuN3ndHiV+rRqHs4f4blKX+27g2LKQy2chRDE7tu9g7z97AdA7O5P71puc36Mid/tevh3XGs86DkausGJJS1EIYXDp0iXmzZtvWM59azxZOdW48Os5HvXU8L9+TYxYXeWQUBRCAAWXzXPmfEHWjcmntI88giawK/Frc7GLPsiSjx7sy+ZCcvkshADgj5A/OHjgIAD66tVRj3+d1J2Q+/deFr3WknpujkausHJIS1EIwYULaXzzzSLDcu47QWRddyJtXRzd3HN5pf/9Od/K3ZBQFKKK0+v1fD77c3JycgDQ9HoCzUMdiF+bh210GD981OW+nW/lbsjlsxBV3MaNmzh69CgA+tq1yR3zGql/Q96ufSwY7U/9uk5GrrBySUtRiCosOTmZ7779zrCsnvAOWVcdSNuQQBfXbF4b2NSI1RmHhKIQVZROp2PWzNnk5uYCoHn6KbT+bYn/VYNN5H5++LhrlbpsLiSXz0JUUb/++hsREREA6N3dyR39Cil/Q96e/Xz9SgsaeFSty+ZC0lIUogqKj4/nh+9/AEBRqVC/N4HMi7Zc/D2JwBrXGTeomZErNB4JRSGqmPz8fGbNnI1WqwVAM3AA2iYtSPhNg/XpffxYRS+bC8nlsxBVzIoVK4mKigJA5+VF3ksvkrwd8vaG8eVLTWnk5WzkCo1LWopCVCHHj59g2c/LgBtTC7w3kczz1qSHJNPB5SpvDG5u5AqNT0JRiCoiIyODadOmGaYWyBvxPNoGTYj/TYPNmX38NLkr5uYSCXL5LEQVoNfrmTlzFpcvXQYgv3UrNMOHkRwCmn/2EzzGH996LsYt0kTIPwtCVAFr1/56c7AHFxfUkz7g2jlzLoXE86RPHi8/8+APCXanpKUoxAPuzOkzLPluiWFZ/cH7aG1rEP+bmlpJh/h+Wd8qMSTYnZKWohAPsMzMTKZO/RSdTgdA3tAh6B5qR8IWyN+7h6XvtadWNVsjV2laJBSFeEApisKcz78oNkVp3oujuHwCMv6MYkwXe3p39jJylaZHQlGIB9TGDRv5559/ANA7OaL+aBKabHOS1mXS8HoEn4/vYOQKTZOEohAPoLNnz7Jo0WLDcu7ECSi1axO/EZQDu1k19WHsbOSRQmlM8k/ll19+4ZNPPrnl9tDQUKpXrw4UzE+7cOFCdu7cSXp6Ou7u7gwYMIBRo0ZhYVHy9I4cOcKCBQuIiIhAq9XSokULxo4dS0BAQEWdjhCVKicnh6lTPjW8xpc3cAD5nTpx8RBk/nWCGc950NavlpGrNF0mGYpnzpwB4IUXXsDBoeR0ira2BTeGr1+/zvPPP09MTAyPPfYYXl5e7Nu3jzlz5nDy5EnmzZtX7HO7d+9mzJgxODk58eSTT6LT6di8eTMjR45k/vz5PProoxV/ckJUIEVR+PKLuaSkpACga9yYvFdeJvcypKy/SifrRN59vreRqzRxigl69tlnFX9/f0Wn0912v+nTpyu+vr7KihUrDOvy8/OVcePGKb6+vsrWrVsN6/Py8pTAwEAlICBASU1NNaxPSEhQAgIClMDAQCUnJ+eO6jt16pTi6+urnDp1qoxnJkTF2rJ5i9K92yNK926PKN36PKm0S05R2ugUxf5bnWLfZ6MSl3Ld2CWaPJO7p6jX64mOjqZRo0aYmd26vNzcXNasWYObmxuDBw82rDc3N2fChAkArFq1yrA+JCSE9PR0Bg8ejJubm2G9l5cXw4YNIz09ne3bt1fAGQlROeLi4pg/f4FhWR30Nkpddy7sg+y/j7B4jB/e7lVjRr57YXKhGB8fj1qtpkmT2/ewP3HiBDk5OQQEBJQIT09PTzw8PDh06JChf9aBAwcA6NCh5BO3jh07AhAWFlYepyBEpcvNzWXqlE/Jy8sDQPPUk+R370bOBTi/4SLPel9jWK+Gxi3yPmFyoRgZGQmASqXirbfe4uGHH8bf35+BAweyefNmw37x8fFAQUuvNJ6enmg0GpKTk4GCf0UB6tWrV+q+ALGxseV2HkJUpgXzF5CQkACAzseH3DGvoc+H+N/yqR0fRvD7neWtlTtksqG4Zs0aLl++zFNPPUXPnj05d+4cQUFBfPnll0DBiB8ALi4upR7H0bHgMuH69evF9nd2LjlWXOHDnMzMzFvWpdFoyMrKIisryzAVpBCmYNeu3YSE/FGwYGODevJHYG1N6k5Q7zrAL++3o5qTtXGLvI+Y3NNnRVGoW7cur7/+Os8884xhfVJSEkOGDCE4OJguXbqg0WgAsLKyKvU4hesLLycKuyeUtv+/9y1NcHAwCxYsuOV2IYzh8uXLfDV3rmFZ/eZ49F5eZCZA2qZkggLN6d7O3YgV3n9MrqUYFBTE33//XSwQoeAS94033gBg06ZN2NjYADfD7t8KQ9Pe3h7gtvsX7mtnZ3fLukaPHk14eDjh4eEsX768LKckRIVQFIXPP5/D9esFVzjarl3RPtaT/ByIW51L8+snmD72ISNXef8xuVC8HX9/fwASExMNl8GFl8f/VngpXHhpXLh/aZfIWVlZwM1L7tJYWVnh4OCAg4PDbcNTiMqy+ffNN4cDq16d3LfGg0pF3AYwC9vLb1M7YWVpbtwi70MmFYp6vZ5Tp05x8ODBUrcX3suzsbHBx8cHKAjI0iQmJmJnZ4e7e8Glw+32L1zXoEGDezsBISpJSkpK8df4JryD4uzMhX1w/a8IFo/ylEFj75JJhSLA888/z4gRI7h8+XKJbYcPHwagRYsWNG/eHHt7ew4ePGgYXr1QUlISKSkptGrVCnPzgn8pC1/jK63bTWhoKABt27Yt13MRoiLodDpmzph1cxL7J/uS3749WUmQsvEKA90uMrKvr5GrvH/dcSju37+/IusAwMzMjCeeeOLGvZLPi4VdZGQkwcHB2NnZMXDgQKytrenbty/Jycn8/PPPhv10Oh2zZ88GYNiwYYb1PXr0wMXFheXLl5OUlGRYn5iYyMqVK6lVqxaPP/54hZ+jEPdq9eo1xSexf+1V8tUQuyYf94QDLPkgULrf3IM7fvo8b948OnXqVJG1APDOO+8QHh7O+vXriYqKon379qSlpbF9+3b0ej1z587F1dUVgDfffJO9e/cyY8YMwsLCaNiwIfv37yciIoJevXrRo0cPw3Ht7e2ZPHkyQUFBDBgwgD59+gCwZcsWsrKymD9/PtbW0m1BmLaYmBiW/rgUuDkbH7a2xP8C+QcO8uuHbXB2KL1HhrgzdxyKp06dIjo6Gl/fim2W16hRg7Vr17Jo0SL++usvli9fjr29PV27duXVV1+lefObUzBWr16dVatW8fXXX7Nr1y7279+Ph4cH7777LiNGjCjxr2Xv3r1xdnZm0aJFbNiwAUtLS/z8/GSUHHFf0Gg0zJg+k/z8/ILlwc+ha9GcC/vh2j+JfPqYDR39XY1c5f1PpSiKcic7NmnShObNm+Pu7k7Tpk1p3749/v7+hnt2VUlERAT9+/dn3bp1NGvWzNjliCoieHEwq1evAUDXoAHZixaSdcGSqMU5dLryD3sW9JQpSsvBHbcUGzVqxK+//oper+f06dMcOHCApUuXAtCsWTM6dOhA8+bNbzuIgxDi7hw/foI1a9YCoFhaov7gPfLzLYn7DRyi9rF6YaAEYjm541B87bXXgIKHIc2bNzdcxup0OiIiIggLC2PJkiWYmZnRokUL2rdvT7NmzeSGrxD3KCcnh1kzZ1F4UZf34ij0Pj7E/wKaIydYM64RHq4lxx0Vd+eOQ7F379IHpjQ3N8ff3x9/f3/27dvHDz/8wJw5cwDw9fVl48aN5VOpEFXUNwu/4cKFCwDk+7dA8+xA0kLh2qFLvOKXydPd/I1c4YPlnt99VqvVrF+/nhUrVhAbG4uiKPj7+zNixAieeOKJ8qhRiCpr//79hsEeFFtb1BMnkH3enJRt+TS8eJivpsto8eXtrkMxKSmJ5cuXs27dOrKysjA3N6dPnz6MGDHC8DqeEOLuZWRk8MWcLwzLuWNfQ1vNndhgMI8IY/30AGxl8qlyV+Y/0X379rFs2TL27NmDXq+nRo0avPbaawwZMoRatWQyHCHKg3JjzuarVzMA0HbsgLZ3b+JXgyYyjgUDq9G8YXXjFvmAuuNQ/OWXX1i2bBlxcXEoikLTpk0ZMWIEvXv3vuXwXUKIu7N+/QbDW2R6Jydy3wki7YCKa8ey6GUfx5hnuxu5wgfXHYfilClTsLCwoFevXgwfPpw2bdpUZF1CVFkxMTEELw42LOe+N5EsdXVStulxjd/P8uAu0qujAt1xxyZbW1v8/Pxwc3MjKysLtVpdkXUJUSWp1Wo+nTqt2JzNua07EPsrqE4f5PePWlHd2cbIVT7Y7ril2LJlS5YuXUp0dDQHDhxg/fr15Obm0rhxYzp06ECbNm1KXEZ/+umnfPTRR+VetBAPqnnz5hsGLNE1akTey/8jYQNozsQxr58DDzWrbdwCq4A7DsXCy2VfX198fX15/vnngYLRaw4cOMDq1avR6XQ0adKEDh064O3tzdatWyUUhbhDO7bvYOufW4Eb3W8+/pCLx6zIOHyNfi7xjHuum3ELrCLuOBQLpwL4tyZNmtCkSRNGjhyJoiiGkJwyZUqpYyIKIUpKSUlh7tyvDMu5b40ny9yD5D/z8UoO46dvu8t9xEpSrp2cVCoVfn5++Pn5MXDgQLp161aehxfigaTVapn26WeGkeU1j/Ukt0tPYr8F81OhbJrWDicZDqzSVFjPTwcHB/z8/Crq8EI8MJYs+Z6oqCgAdB51yX1zPAm/Q96xKL4bUouWvjWMXGHVUqHDasiUoELc3oEDB1hbdPSbjz8i/bQtV0MvM8wzjZf6NTZyhVVPhYZiaRPPCyEKXL58mVkzZxuW80a/QpZTI5J+19Aw7SDBEzvKfUQjkAHYhDACnU7H9M9mkJGRAYC2U0fUfZ8hdi1YndzLpk87YG9radwiqyh5m1wII1j1yyqOHj0KgL5mTXInvEtiiIq8QydZ8bIXfvWrGbnCqktaikJUslOnIvix6ORTkz4gPdaZK7vTeLnxNYY+0dC4BVZxEopCVKLMzEymTZtmmL5X8/xwstxbkrQxl+YZR5gX1MHIFQoJRSEqiaIozJo5m4tpF4GCUbTVg4cT+yvYnPiHjdMCsbGWO1rGJt+AEJVk9eo1xYYDU0/6gMSt5uTuO8L6Nxrh4+Fk5AoFSEtRiEpx/PgJlny3BABFpUI96X3S4mtz+a9k3uuYT79u3sYtUBhIKApRwa5cucKnnxa5jzh8GBm1AkjakEV3s0imvdbOyBWKouTyWYgKpNPp+GzadK7cGBwlv00brj89gnNLdLjF7efXxV1kvmYTI9+GEBXop59+LtIfsQZZEz/g3FpzzI4e4I8pbWXAWBMkLUUhKsiBAwdYvmw5cKM/4scfEbe7GurwsywfWVsGejBR0lIUogKkpaUxbfoMw3LeKy+TfLUFGWFXGNv4MsN6SQdtUyWhKEQ502q1TP5kKtnXMwuWAztxseWzpG7X8JD6GHPfDDByheJ25PJZiHK2aFEw0ZGRAOjd3Lj6v4nE/aKiemwYv3/dAUsLaYuYMvl2hChHu3buYsP69UDB+IiZH3xMzO8OEH2SP95rgmsNOyNXKP6LtBSFKCeJiUnM/HyOYVk9bhwxx3zJi7nAoqcsCWguM/HdD6SlKEQ5yM7O5v2PJ6O5MR+6puejxNv04frpHIbViufVZ5oYuUJxpyQUhbhHer2eydNncD4hAQBdvXqcf+xN0vYr+F05wvcTHjJyhaIs5PJZiHv07Q8/cmR/KACKoyOXxn1K3FZbHOMP89fs1lhbmRu5QlEW0lIU4h7s+Hsna1asBAo6aF9760Oid9aFhLOEjPegbm17I1coykpaikLcpejoaGbM/tywnPPyq5w53Y781HTmP6ajc+s6RqxO3C1pKQpxF65cuULQhx+jz8sDQPP4E5zJ7U9uipqhNWIZN1AerNyvJBSFKCONRsNbH39Cdno6APnNmhLVaDyZcQrNrobzwwQZCux+JqEoRBkoisKUr74mKSICAH2tWsT3nsKlU1Y4JYTz16dt5MHKfU5CUYgy+HndekL/+BMAxcqKCy9MJelQdcySo/nzbS/casobK/c7CUUh7tD+8HB++maRYTnjpXeJPuoLVy/yTW+Fjv6uRqxOlBcJRSHuQGJKCpOnfAo3phTI6T+EUwmPoGTnMKJOPKOfaWzkCkV5kVAU4j9kZ2czbtJH6DILhgLTBHTguOpF8rP0+F87wndBbY1coShP0k9RiNvQ6XSM/Ww6WYWv8Hl5carhB+SmmuGSeJBtc9pgZSkPVh4k0lIU4hYUReHtOV+SGBpWsOzoyNlHpnEt1R6z5Ci2BnnLUGAPIAlFIW5h6rffcfLPG0+aLS1J7j+Z8/F14fJ5vu9nLkOBPaAkFIUoxfzVa9i9ajVQMHl92pD3iUloDVkZfNzyEi/0kTlWHlQmeU8xOzub4OBgtm3bRkpKCpaWljRt2pSRI0fSs2fPYvsOGjSI48ePl3qcbt26ERwcXGzdkSNHWLBgAREREWi1Wlq0aMHYsWMJCJB5M0SBX/78k/WLb/69uTpkPGeSukJuDs9XP8snL8obKw8ykwvFrKwshg4dSlRUFM2aNWPo0KFkZmaybds2xo0bx9tvv83o0aOBgnHsoqOj8fDwoF+/fiWO5e3tXWx59+7djBkzBicnJ5588kl0Oh2bN29m5MiRzJ8/n0cffbQSzlCYsj/37ee7z78wLF/vP4oTF58ErZZu+hP8OCEAlUplxApFhVNMzJdffqn4+voqH3/8saLX6w3rL1y4oAQGBip+fn5KfHy8oiiKEhMTo/j6+iofffTRfx43Ly9PCQwMVAICApTU1FTD+oSEBCUgIEAJDAxUcnJy7qjGU6dOKb6+vsqpU6fKeHbClIUdO650f+wJpXu3R5Tu3R5R2s+ar5jP0CtM1ilNxoQqOWqtsUsUlcDk7in+8ccfqFQqgoKCiv2L7OrqypAhQ9DpdOzevRuAqKgoABo3/u+OsyEhIaSnpzN48GDc3NwM6728vBg2bBjp6els3769nM9G3C8iY84xadKHoNEAkNvlEY5YjEGXp8I15Qh7P2uFrY3JXViJCmByoThy5EjefPNNnJycSmyzsrICCu45Apw5cwaAJk3+e5imAwcOANChQ4cS2zp27AhAWFjY3RUt7mvJKamMnzAR/Y2/V5q2D3Gs5gS0mWbYJ58kbEpjarjYGLlKUVlM7p++YcOGlbpeURS2bdsG3GwZFobi6dOnmTVrFmfPnsXKyopOnTrxxhtvUL9+fcPn4+LiAKhXr16JY3t6egIQGxtbfici7guXLl/m1QkT0F69CkB+06acaDQZ9QVLLM6fY8/bbni7Oxq5SlGZTK6leCsrV67kxIkTeHp68vDDDwMQeWPC8blz5+Lj48PgwYPx9fUlJCSEgQMHcuLECcPnMzIyAHB2di5xbAcHBwAyb7zGVRqNRkNWVhZZWVnk5OSU12kJI8rKymL0xPfJST0PgM7bm4h2n5F5wRbVpVQ2jrCmjV9NI1cpKpvJtRRLExISwmeffYaFhQUzZ87E0tKSnJwcateuTY0aNVi0aBHu7u6G/VetWsXkyZN59913CQkJwdzcHK1WC9y8BC+qcF3ejVGUSxMcHMyCBQvK+cyEseTl5fHapA+5eu4cAHrX2kT1nMmVs05w/QoLe+TQu5P0RayKTL6luHLlSoKCggCYNWsW7doV9BGzs7Nj3bp1bNy4sVggAgwePJjWrVsTHx9vaC3a2BTcEyoMx6I0N26u29nd+pWt0aNHEx4eTnh4OMuXL7/3ExNGo9VqGffJFFJOnARA7+xM3IDZpJ2tBepsJjRJ5bV+EohVlcmGol6vZ+bMmUyZMgULCwu++uor+vbte8ef9/f3ByAxMRG4edlc2iVyVlYWAI6Ot753ZGVlhYODAw4ODrcNT2HadDod46fP5FxYwYM3xdaWlBEzSDztCVoNg5yjmfm/ZkauUhiTSYaiRqNh/Pjx/Pjjj7i4uPDjjz/y2GOPFdvn6tWrhIeHGx6g/JtarQZuthB9fHyAmyFZVOG6Bg0alNs5CNOj1+sJ+uJLInftAgpGzk594TNiTjYGXT69rU7zy8RW0jm7ijO5UNTpdIwfP55t27bh4eHBL7/8YrhkLio0NJShQ4cyc+bMEtv0ej1HjhxBpVLRokULAMNrfKV1uwkNLZjIvG1bGRfvQaUoChMXfsOJwqkELCy48PwnRJ9pCYqeHhaR/P5hS8zMJBCrOpMLxW+//Za///4bd3d3Vq5caWjh/VuXLl1wdHRkz5497Nu3r9i2hQsXEhMTQ8+ePQ33G3v06IGLiwvLly8nKSnJsG9iYiIrV66kVq1aPP744xV3YsKoPvpxKeHr1gMFk9anDfmAyHPtAeisimbbh80kEAUAKkVRFGMXUSgjI4Pu3buTk5NDjx498PPzK3W/du3a0bFjR0JCQnjnnXcA6NmzJ25ubhw9epRjx47h4+PD8uXLqVGjhuFzISEhBAUF4ejoSJ8+fQDYsmULWVlZzJ8/nx49etxRnREREfTv359169bRrJncfzJ1n65azc7gbw3LFwe9Q8TFXgA8xDnCPvKRQBQGJtUl5/Dhw4Y+gDt27GDHjh2l7vfqq6/SsWNHevfujbu7O4sXLyY0NJScnBzc3d155ZVXGD16tKH/YaHevXvj7OzMokWL2LBhA5aWlvj5+ckoOQ+w2Zt+LxaIl54eawhEfxIkEEUJJtVSvF9IS/H+MPev7WyaMRPVjb/il594gRO5zwPgSyqnP3TD3FwCURRncvcUhSgP3+zdx6aZswyBeLXbIE6ohwPgzUVOTZJAFKWTUBQPnO/Cw1k79VNUN6YjvdaxL8eUV0Clwp0rRLxXE0sLCURROpO6pyjEvVoUfoQ1H36M6sabS5ltenDEajyoVNRUrnN6ogt21tIWELcmoSgeCAowbe9e/p46zRCI2c07Ee4wEVRmOCvZRAQ54GwrgShuT0JR3Pf0wDtbt3F09ueGS+Ysvw4crv4Ripk5LuRwfLwttR0lEMV/k1AU9zUtMHrdeuLnL6DwLmFG8x4cqz4RxcwcN8scjr5hi6uD3EMUd0ZCUdy3shSFF39exqWlPxnWXWr5FCddXgeVGQ3s1RweZ4cMmi3KQkJR3JfS9XpeXLSY7F9/M6w733oYkU6jQKWiZbVc9r5qi0PJ4TOFuC0JRXHfidfpeGXOF+T/udWwLrHNaM45DQLgYbc8tr1og8wzJe6G/LUR95XjGg1vTZsO//wDgKIy41ybt0hy7A1An/pa1g+zxtLcmFWK+5mEorhv7FGr+fjjyZgdDgdAMbcgstUHXHDsCsCwpvn8NMASc3nILO6BhKK4L6y7fp2vP5iEecRpAPRW1kS0mMIlx4cAGNtOz/zeFsj4sOJeSSgKk6YAC1JS+fX9DzC/MQ6m3saOY81ncs2hYDCOSZ0VPn3ETAJRlAsJRWGy8oEPIyIIm/QR5teuFaxzcOGI32yy7Qumjpj1qMKEQEnDqiJfp8eigu+PSCgKk6QGxuzeTfz0mZjdmG0xr4YnRxrOJNe2DpZmepY9Y8ZzzSUQHzRqtZrk5GTCI2L541QCienn0V5Pw+JSKgHD3mb24C4V+vMlFIXJuawo/G/1Gq4Ff2t4SyWzbiuOeU8h39KBGjZ6tgwzo72HUcsU90BRlBIThM1a+DPb/tiIkp1RbL0KKOxueiQltcJrk1AUJiVOp+PVefPRbvrdsO5Sg56cqhuEYmZJ0xp6QoabUc/FeDWKstFoNMTHxRMTE0NMzDmOnzlLYkIcL89bxqBGLob9zl7MLRGIRelr1kJXCTeOJRSFyTiUk8PEqZ/CgYOGdUnNXiCm5nBQqejdUGHVQDMcrY1YpLgtrVZLREQEUVHRnI6K4WRkDBkXkkDRl9h3UVQcgxq1Nix3bupNzIlq6D3rovfwQFOtLoqNK7UdatPLpy4vNquGXSWMgymhKEzCpvR0vnx/EmbnzgEFfRCj/d8h1bknAG+2hzmPqaQPoglRq9Wo1WqqV69uWJeXl8fbbwX952f1rrXJ1mcXW/fc093ZVLc9vi5WvFDPhiaOxrlfLKEojO6bmHOsef8DzC5dAkBv58CJZlO5at8Sc5XCgt4qXi059beoRBkZGZyNiWXfqVgOR8VwIS4a3cUk8jr1ZOfUCRSO2+vg4IC2mhuWV88DoJibo/f2RtewAfoGDcj3aUCuYz2scq1p9a/Ms7WxZF1n50o+s5IkFIXRaIH3/9lL+IyZmKnVBeuq1+Fooxlk23rhZKXw6yAVPRsYt86qaP/RU/y49R8S42PJS43DLPNqiX1UgGVqNKHXoFu1m+uVVr1Rt6tGbp0G5Fu64pSj0ESlp1dtS/p42mNr4s19CUVhFClaLWOCvyXzt3WGJ8xqjyaEe01Da1WN+i4KW4aq8Ktl1DIfWFqtluTkFPZGJhAaFU+Pp/szoL6jYfuy3/dzbuevQOkTOSnm5ujr10fX1I8Dmfl0q3YzSoJf7IuFlTm+texKPGG+H0goikr3x4U0Pp8yFSIjDesyGnfjeO0J6M2t6eYNa59VUdPOeDU+KDQaDcnJKeyPiicsOp7Y+HhyziegupSKSqcz7BfZqBUD6rc0LD/UyJuonQX/r3dyLLj09ayP2sULnZ07Lva1aW5tTi9XS55wLx6bzTycKuXcKoqEoqg0OmBqaCh7ZsxClZkJgGJhSXyr14i3fwpUKiYGwrRHwMK0r7BMjqIoaDQarK1vPppXq9X0frIfKl1+sX1L+6PNvpwE3AzFx7u3Y+75IBzc6+Fr50DPWuZ0qe+Cp6v9fdn6KwsJRVEp0vPzGfP9D1xetdpwuZxfsw4nGk3mmrUvTlYKy/rDU42NWuZ9IS8vjyOR8Ww9eY7jZ2O4mhIHF+LQPNSJPR9PoLDXiq2tLTrH6lhkXCz2ecXSEr2nJ/keXuS5eKK1daVRTd9i+9StU52Tb/eurFMyKRKKosLtTk9n6qfTUE6eMqzLbBzIsZoTyLd0oKWrwm+DVDSofpuDVGF7jkSwaGsoaSnx6C4mYnbpPKoi/f4KW36WqXEcyoSORa5e9V6tyWupJdelLlobN2xsa9HQwYXuNSzo4u1EAw8nLKRZXoyEoqgwCjD70GH+/Gw6qhsDOijm5iS1Gc05u/6gUjGqFSzsrcLW0qilGlVeXh7n4pPZdzqZ0OhzPPnsIJ7xcTBsX7JuN2n7CqZduNXYufoaNdDVqMnp7Hw6Ot38tV48/mUszFQ0lPC7YxKKokJc0+kY89PPpC5fgUpRAMivXotTfh9z1bIpVuYK3/SGl9oYudBKoigKFy9eJC4hiUORyYTHxJOSmoz2cgqqa+mGPyOAhf4BPOPT3LDcsVE91u67cRxra/ReXmjc6pHn4oWFvRt1XerQtbYTj3rZ09S1eGw296mGKBsJRVHuQpKT+WLGTJTTZwz3D7N823O09kTyLZzxdlb47TkVbdyMWmaFuXbtGhqNhlq1bvYnUqvVDBk8tMS+pbXdMi8nATdDsdcjAfx4aTzV63jQwbUGvTzsaVnfBRtr+fWtCPKnKsqNWlGYsOl3Ti0ORpWbC4BiZkZqu5eIth0EKjOe9FX4qZ+KarZGLrYcKIrCpUuXOHUmhu2HIjlxNpqs87Gorl8ip0sf9n/yNmY3/lWws7Mj37EGFpmXix/D3r7goUddDzTObujtXWlWt0mxfbw9a3Ew6KnKOq0qT0JRlIt9ly4x5fM55B88ZGgdamvX5UzjiVw2b4adhZ45j8HodipDUNyPtu05yE+b93DhYgr5lxIxL2WYKwDrizEcy4I2N/tDo/PthM7Hhjxnd/TWNXG0rYmfvT09aljQxcMJ1wfhX4oHgISiuCda4JNdu9k/dy6q65mG9ZdbPckpx9HozW15zEfhu6fM8DL+a623lZ+fT2rqeRITEzgTnUDYyVj+N/4tOnrffOjx45+HSDv0B1D6Qw/Fzg5dw4bomjXliFpPG8ebF8hLg17C3tYSdxebij4VcQ8kFMVdO5mVxcSv55G7fYehhaRzrk5U83dIs2yPk5Weeb1gREuVSc2fotPpSEpKIj4+gbjYeMJPxRCbkIg64zwqva7YvlMiB/Cnd1PDcocGnmwMLfh/vZMTet9G5Ps0RFPTGwsXLzwda9DVyZxede1o4Fz8jmEjN0eE6ZNQFGWmA74IP8Ifs2ajSk83rL/etCvHq48n38KZp30VFj9pRh2HWx+nomk0GlJSUrC0tMTD4+Yw3VlZ2bw46qUS+5eW21evJAM3Q7Fvj/asspuKs5cXbVwceaauDa1dbOQX6QEi36UokyPZ2UxZ8j2ZGzYaQkRvZ09syzdIsupBdRuFxU/CwKaV1zrUaDQkJSWRkJBAfHwCZ8/GcvZcPFcuXQBFT75/T3Z//Z6hXmdnJ/IdqmGRdXPkF8XCAr2nJ3ovL/Te9dB5eJLv7I6HY/FH5A28XQn1dq2cExNGIaEo7shFYMrevUR8Pd8w7iFAjk9rjrtNINeyNkOa6Znf24walTSQw8qVq9m48XfS0y9AkX5+JejPcyYbmtrfXKVt+gj5zRzRe3uT7+6FmVUtXDUqAmxV9HW1pomFCnnsUTVJKIrbUgOL09PZMG8B5nv3GvrVKdY2JPm/yDm7Z6hjr7Dkaejje+9vTGi1Ws6fP09SYhJJSQX/JSYmkZScwrLly3B0uJm4m8NTSb94vtTjKJaWBa2+evXQ+TVha4aepvY36/vq7VHE2VvRycEcD0rvLyiqJglFUSo9sEWvZ/6mTWi/+x7znBzDtkyfACJcx6PY1uKzrvB2J3Ns7vJv0rVr19iyeQtnz8Zw7tw5UlNT0etLzucB8L9diazue7MPX+tG9Qg5ZYW+nhc6b2/09eoV/OddD51rHcwyVdTK1tHGxpwnXYrHXntXW9rfXcniASehKEoIB2bHxXH+iy+xiDh9c1QbBxfONhhHmktXRvgrzHrMHNc7eJCiKAoXLlzg7NkY6ri64tv45ogs+VodS5Z8/5/H0NeoQbwqq9i6wf0eZVmfPli6WmGdocdbB+3tzOjqoKKJOdhUB6rf6m1hIUonoSgMkoCv8vIIW7Ycq1WrsSgyCGmad2+i675MQD07tj5lhn8pzxp0Oh0XLqSRmJhAQkIiCQkJJMQnEJ+QQO6N6QbqNu3GsoUfGT5To2Z18u2rYZF9FcXKquCS19MDvacnOg8P9F6e6D08wN4e/fXi9w096zixE3ABzGtL+InyIaEoSAJ+0OnY9td2LJf+hHVammGb2smTSJ+3cKzbjPVPWdCnERSMf1P80fLiRYtZv34jWq3mtj8rXkknJgcaFnkYk/3oaMyfboTeyxPMb4ab2XU9dfJUNM1VEWgG7Z1KPs6ucRfnK8TtSChWYfHAEkVhx959WH3/A9YJCYZtejMLEryGcMn7OYIC1HQw2825v6IYPz+K5ORkVq9ZjaXlzb8+YZHXbxmIeldXdPW90TdqhM7Pj78yFBra3Qy41/oE8lM1W7wyVLSygIftobkFODjJ4w9R+SQUq6AY4Htg55GjWC35HtszZ4ptv1wjgHjvF2lokYLvkZfYsyuNPf86xmd/RfNJ75udmhs3bkDcVS/03l43nvp6oatXD72nJ9je7NyiUivoik/3y/8a2fG/8j1FIe6ahGIVEgksAfZERWOz5HvsDh8utv2aSzPi3AfjdD2SlseCsNBloy3lOHo3N/7U5/BJkXXPD3icFf37YVOn4PJX0StYZ4Fbtoqmagi0g3Y2UMNWhUo6AAoTJqH4gFOA48CPikJoQgLWPy3DYdeuYvtkOdTnQr1hvPr0Q4R8MRKrvAzDNn3Nmuga+6Jr0gSdry/6xr4ozs7kXynebcbD1YFRl8DyGnSxhyYWKmzu70ndRBUlofiAStdo+OnSJbZZWnL9xEmsNv2Ow4kTxfZR29ThguezvP5sF958tDpmKti4vTtKY3t0TRqja9wYpUbxRxnmWQq1L4GfyqzE45agmhV/XkJUNAnFB4iegj6Gc2LiiDU3w2rrn1j+uRW7G/OjFNJYVSOh2mNY2WuZNOUp/ud284FG575D2P1wDchXsM8Gr0vgbwmdbzz8cHRQgREHeRCiokko3ofUajXRUdEcPX6KQ+En6T9mLElNPFmn1XJx/36sft+MY/iREp/LtvXgovNDKJ39qf1CO1T2dhxPLH4ZPK1zDVIU8LZQYWHi4x8KUREkFE2cTqcjNjaWQ+EnCTt0grOx58i9dh4cHMgPeAhN/z4c0l7DMvgPLLf9hd2VK8U+rzezJN2lHZktu+D0v0642dnhqVPRQquicz608ire7cVWBQ0r8wSFMDFVNhQ3bNjAzz//TFxcHDY2NgQGBvLWW29Rt25dY5dm0G9kEBmpkZjl56IAem9vtE90QdPmIcxzrmMZdgDbr7/CLCOjxGfVNm5cqvsw9fs9xhtd6tPZARqZgVWln4UQ95cqGYpz585l8eLFNGzYkKFDh3L+/HlCQkLYu3cva9euxdPTs1LqyNPoCDsWz+adR4jPyWPJh8NxLjL/cbq5DvPWLcjt2AmtbxOszkVhsX8/jr/9hkpbsrOMXmVOdvW2dOryKDNe6Yrd3Y7SIEQVVuV+ayIjI1m8eDFt27Zl6dKlWFkVtJ169erFuHHj+Oyzz1i8eHGF/fzjZ1JZtGE/J+Kj4XI0NpeTgIKh7VddGYK3i8K2SzkcTU5C17c7qrNRWG9cj11CYqnH05lbk1vNn4ZN2xA0vBttGtWusNqFqAqqXCj+/PPPAIwdO9YQiAA9e/bkoYceYteuXaSlpeHqWj6jK1/JyGbKhlCOnolAl3oGq5RzqBQ9VhaWaHwac+XhHui862NtnsvPG3/A/PQZzKOiUOXmcquxWjU2NTBzbUO3zh0IGtIRZ3vrcqlVCFEFQzEsLAwLCwseeuihEts6dOjAoUOHCAsL4+mnny6Xn7dpzyl2njiFyt4a8wYtyK/fAIvca5hnXsXqchrWvy9DpdPd9hiKmTm5jj7Uqt+aEU8/TP8ufpjdz/OECmHCqlQoajQaUlNTqVu3brFWYqHCe4mxsbGlflajKRjw4OrVgrk9zp07958/08FBj9OB30qs19/4rzT5dtUxc/bE3a0eHVs3pEtLb+xsCutVOHPm9H/+XCEE+Pj4YGtbtvdKq1QoXrt2DUVRcHYuvQOeo2PBFJSZmZkltgUHB7NgwYJi6959993yLxIomBElkssn4eQ2+LaCfooQD7p169bRrFmzMn2mSoWi9sYT29JaiUXX5+Xlldg2evRoRo0aBRS0FA8dOoS3tzfW1re/n5eTk8Pw4cNZvnw5dnaVNKOTKDP5nkzf3XxHPj4+Zf45VSoUbWxsgJvh+G+Fl8el/YFbWVkZQtPBweGOu+1kZRUMoe/n54eDg7wfZ6rkezJ9lfUdValRPB0cHDAzMyv18hhuXjYXXkYLIaqeKhWKVlZWeHp6kpqaWmprMSmpoM9gw4bl96KblZUV48aNu+UluzAN8j2Zvsr6jqpUKAIEBASg1Wo5cqTkgAmhoaGoVCratGlTbj/PysqK119/XX7ZTJx8T6avsr6jKheKAwYMAApe9cvNzTWs/+uvvzh8+DCPPPIIderUMVZ5QggjUymKovz3bg+WqVOnsmLFCry9venRowdpaWn88ccfVKtWjVWrVlXau89CCNNTJUNRURRWrFjB6tWriY+Px8XFhfbt2zN+/HgJRCGquCoZikIIcStVqp9iebrX8RhTU1OZN28eoaGhZGRk4O3tzbBhwxg0aFAFV1613Ov3FBgYyKVLl0rdNmzYMD7++OPyLLfKe/PNNzly5Ah79vx7Ut1bu3r1KgsXLmTnzp2kp6fj7u7OgAEDGDVqFBYWZY84aSnehaLjMXbr1o3z58/z559/4uTkdEfjMaakpDB48GCuXr1K7969qVmzJtu3bychIYFRo0bx3nvvVdKZPNju9XtKT0+nc+fONG3alEceeaTEdn9/f7p27VpR5Vc5CxYsYP78+bi6ut5xKF6/fp2hQ4cSExPDY489hpeXF/v27eP06dM8/vjjzJs3r+yFKKJMzpw5o/j6+ipDhgxR8vLyDOu3bdum+Pr6KqNHj/7PY4wdO1bx9fVVdu3aZVinVquVQYMGKY0bN1ZOnjxZIbVXJeXxPe3evVvx9fVVFi9eXJGlVnm5ubnKpEmTFF9fX8XX11d5+OGH7/iz06dPV3x9fZUVK1YY1uXn5yvjxo1TfH19la1bt5a5nirXJede3el4jLeSkpLC9u3bad26dbFWho2NDW+99RaKorB69eqKO4Eq4l6/JygYkBigSZMmFVdoFff333/Tq1cv1q5dW+ZWd25uLmvWrMHNzY3Bgwcb1pubmzNhwgQAVq1aVeaaJBTL6L/GY1QUhbCwsFt+/uDBgyiKQseOHUtsa9u2LZaWlrf9vLgz9/o9gYRiZfj111/Jzs5m8uTJBAcHl+mzJ06cICcnh4CAAMzMikeZp6cnHh4eHDp0CN1/jFf6bxKKZVA4HmOdOnXKPB5jofj4eADq1atXYpulpSVubm4kJycbBqcQZVce3xPAmTNnsLOzY+vWrTz99NO0atWKzp078+GHH3Lx4sUKqb2qGTlyJDt27GDo0KGoVGUbOLnwd8nLy6vU7Z6enmg0GpKTk8t0XAnFMriX8RgLFQ5Qe7tj6PV6w4ggouzK43vKzc0lISGBnJwcvvnmG1q2bMmgQYNwdXVl7dq1DBgwoMy/bKKk9u3b3/WINxk3ZrF0cXEpdXvh93z9+vUyHVe65JTBvYzHWNZjSEvx7pXH95Senk7Dhg1xcnJiwYIFhl88RVGYO3cuwcHBfPjhhyxdurRcaxd3rvB35F6+59JIKJbBvYzHWJ7HELdXHn/Gnp6ebNq0qcR6lUrFG2+8we+//05oaCgXL16kdm2ZQdEY7vR7tre3L9Nx5fK5DMpjPMbCS7pbNekzMzNRqVQy0Ok9qOhxMy0sLGjatCkAiYmlTz0rKt6d/C4BZf5dklAsg/IYj7FwePTSfpm0Wi3nz5+nfv36JZ6miTtXHt9TWloahw4d4vz586VuV6vVwM3Wiqh8t/tdKlxvZ2eHu7t7mY4rv3lldK/jMQYEBKBSqThw4ECJbYcPH0ar1dK2bdtyrbkqutfvadOmTQwfPpzvvvuuxLbs7GwiIiKwtbWlUaNG5Vq3uHPNmzfH3t6egwcPotcXnxszKSmJlJQUWrVqhbm5eZmOK6FYRvc6HmOdOnUIDAzk4MGDbN++3bA+NzeXr776Cih4p1bcm3v9nh5//HEsLCxYt24dUVFRhvX5+flMnz6djIwMBg8e/J8Tl4mKY21tTd++fUlOTjZ01gfQ6XTMnj0buLvfJXn3+S7c6XiMBw4c4ODBg/j5+fHoo48aPh8XF8fgwYPJzMykV69euLq6smPHDuLj43nppZcMvfHFvbnX7+mHH35g1qxZ2NjY8MQTT+Dk5ERYWBjR0dG0bduW77//vsxzCovba9y4canvPp85c4bt27dTt25d+vfvb1h/5coVBg4cSEpKCt27d6dhw4bs37+fiIgIevXqxdy5c8vc/1Hefb4Ler1eWbZsmdK3b1+lefPmSufOnZWgoCAlMTGx2H7z5s1TfH19lYkTJ5Y4RlxcnDJ+/HglICBAadmypfL0008ra9asUfR6fWWdxgOvPL6nXbt2KSNGjFBat26tNG/eXOnTp48SHBxc7H1qUX5u9e7zb7/9pvj6+irDhw8vsS0tLU354IMPlE6dOiktWrRQevXqpXz33Xd3/R1JS1EIIYqQe4pCCFGEhKIQQhQhoSiEEEVIKAohRBESikIIUYSEohBCFCGhKIQQRUgoCiFEERKKQghRhISiEEIUIaEohBBFSCgKIUQRMkeLEBSMtL1q1Spyc3PRarWMGjWKunXrGrssYQTSUhRVXmhoKK+99hr9+vVj4sSJPPTQQwwePLjMU2OKB4OEoqjSzp07x7hx45gyZQr16tUDoGvXrly8eJGNGzcauTphDBKKokqbPn06rVq1okWLFoZ1hfMEx8XFGassYUQSiqLKio+PZ+/evfTp06fY+rNnzwLg5ORkjLKEkUkoiipr165dAHTr1q3Y+rCwMADat29fyRUJUyChKKqsgwcP0qBBA6pXr15s/ebNm2nQoAEdOnQwUmXCmKRLjqiS9Ho9hw8fLjHH9qZNm0hKSuKnn34q+yxw4oEgLUVRJUVGRnLt2jVSU1OJjY0FIDo6mq+++orPP/+cdu3aGblCYSzSUhRV0oEDB1CpVCxatIh169aRlZWFSqVi6dKleHl5Gbs8YUQyxamokl599VVSU1PZtGmTsUsRJkYun0WVo9PpOHz4MB07djR2KcIESSiKKuf06dNkZmbSqVMnY5ciTJCEoqhyLCws6Nu3r3S5EaWSe4pCCFGEtBSFEKIICUUhhChCQlEIIYqQUBRCiCIkFIUQoggJRSGEKEJCUQghipBQFEKIIiQUhRCiCAlFIYQo4v+nBwcHuroidwAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 300x300 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"nbcols = 1\n",
"nbrows = 1\n",
"devstages = ['0hAPF', '2hAPF', '4hAPF']\n",
"\n",
"fig,ax = plt.subplots(nbrows, nbcols,\n",
" figsize = (3, 3)\n",
" )\n",
"for i in [0,1]:\n",
" roi = rois[i] \n",
" if roi == 'DV':\n",
" linestyle = '--'\n",
" elif roi == 'outDV':\n",
" linestyle = '-'\n",
" for j in range(len(devstages)): \n",
" devstage = devstages[j]\n",
"\n",
" query_str = '(devstage_final == \"' + devstage + '\") & (region == \"' + roi + '\")'\n",
" \n",
" ax.set_ylim(0,900)\n",
" # ax.set_xlim(0,220)\n",
" ax.set_yticks(np.arange(0,910,250))\n",
"\n",
"\n",
" data = df_comparison.query(query_str)\n",
"\n",
" x_col_mean = 'pathlength_scaled'\n",
" y_col_mean = 'cumcount_mean'\n",
"\n",
" #ax.fill_between(stat_df[y_col_mean], stat_df[x_col_mean] - yerr, stat_df[x_col_mean] + yerr, color = colors[devstage], alpha = 0.2) \n",
"\n",
" ax.plot(data[x_col_mean], data[y_col_mean], color = colors[devstage], lw = 2, label = devstage, linestyle = linestyle)\n",
" \n",
" query_str = '(devstage_init == \"' + 'wL3' + '\") & (region == \"' + roi + '\")'\n",
" data = df_comparison.query(query_str)\n",
" #this will give us three sets of wL3 data, one for each devstage_final, hence we choose the first one\n",
" query_str = 'devstage_final == \"0hAPF\"'\n",
" data = data.query(query_str) \n",
" ax.plot(data['ref_pathlength_scaled'], data['cumcount_mean'], linestyle = linestyle, color = colors[\"wL3\"], linewidth = 2, label = 'wL3')\n",
"\n",
"ax.set_xlabel(r'$\\rho$')\n",
"ax.set_ylabel(r'$N$')\n",
"plt.savefig(dataout +'/' + genotype + '_rho_vs_N-noIncreaselimits.pdf',dpi = 600,bbox_inches='tight')"
]
}
],
"metadata": {
...
...
%% Cell type:markdown id: tags:
# Visualize lambdas
In this notebook we will visualize lambdas with normal 2D plots and circular plots
To run this notebook you must have the following files:
-
"../analyzed_output/stages_comparison_df_ecadGFPnbG4.csv"
%% Cell type:code id: tags:
```
python
%
load_ext
autoreload
%
autoreload
2
import
matplotlib.pyplot
as
plt
import
pandas
as
pd
import
numpy
as
np
import
os
codeRepo
=
"
/Users/krishna/PhD/WDeversion_theory/
"
dataout
=
codeRepo
+
"
/Experiments/analyzed_output/plots/
"
os
.
makedirs
(
dataout
,
exist_ok
=
True
)
plt
.
style
.
use
(
codeRepo
+
'
src/WDeversion_theory_methods/seaborn-custom-whitegrid.mplstyle
'
)
```
%% Cell type:code id: tags:
```
python
genotype
=
"
ecadGFPnbG4
"
#genotype = 'ecadGFPnbG4myoVI'
df_comparison
=
pd
.
read_csv
(
codeRepo
+
'
Experiments/analyzed_output/stages_comparison_df_
'
+
genotype
+
'
.csv
'
)
df_comparison
[
'
roi
'
]
=
df_comparison
[
'
region
'
]
```
%% Cell type:code id: tags:
```
python
C96hAEL
=
'
#F9F06C
'
C120hAEL
=
'
#EBA434
'
Cupcrawling
=
'
#414042
'
CwhitePupa
=
'
#003399
'
C2hAPF
=
'
#0080FF
'
C4hAPF
=
'
#33FFFF
'
C6hAPF
=
'
#71C382
'
CecadGFPnbG4
=
'
#404040
'
CecadGFPnbG4myoVI
=
'
#0099CC
'
colors
=
{
'
ecadGFPnbG4
'
:
CecadGFPnbG4
,
'
ecadGFPnbG4myoVI
'
:
CecadGFPnbG4myoVI
,
'
96hAEL
'
:
C96hAEL
,
'
120hAEL
'
:
C120hAEL
,
'
wL3
'
:
Cupcrawling
,
'
0hAPF
'
:
CwhitePupa
,
'
2hAPF
'
:
C2hAPF
,
'
4hAPF
'
:
C4hAPF
,
'
6hAPF
'
:
C6hAPF
}
devstage_combinations
=
pd
.
DataFrame
({
'
devstage_init
'
:[
'
wL3
'
,
'
wL3
'
,
'
wL3
'
,],
'
devstage_final
'
:[
'
0hAPF
'
,
'
2hAPF
'
,
'
4hAPF
'
,],}
)
rois
=
[
"
DV
"
,
"
outDV
"
]
regions
=
rois
```
%% Cell type:code id: tags:
```
python
x_col
=
'
ref_pathlength_scaled
'
props
=
[
'
lambda_isotropic
'
,
'
lambda_Q
'
,
'
lambda_rearrangement
'
,
'
lambda_anisotropic
'
]
ylabels
=
[
r
'
$\lambda^*$
'
,
r
'
$\tilde{\lambda}^*_{Q}$
'
,
r
'
$\tilde{\lambda}^*_{R}$
'
,
r
'
$\tilde{\lambda}^*$
'
]
prop
=
props
[
0
]
ylabel
=
ylabels
[
0
]
for
prop
,
ylabel
in
zip
(
props
,
ylabels
):
for
i
in
range
(
len
(
rois
)):
fig
,
ax
=
plt
.
subplots
(
figsize
=
(
2.5
,
2.5
)
)
roi
=
rois
[
i
]
if
roi
==
'
DV
'
:
#style = '--'
xlabel
=
r
'
$l$
'
title
=
'
DVB
'
else
:
#style = '-'
xlabel
=
r
'
$r$
'
title
=
'
outDVB
'
style
=
'
-
'
ax
.
axhline
(
1
,
linestyle
=
'
-
'
,
color
=
'
grey
'
)
for
j
in
range
(
len
(
devstage_combinations
)):
devstage_init
=
devstage_combinations
.
loc
[
j
,
'
devstage_init
'
]
devstage_final
=
devstage_combinations
.
loc
[
j
,
'
devstage_final
'
]
ax
.
set_yticks
(
np
.
arange
(
0.7
,
2
,
0.3
))
ax
.
set_xticks
([
0.0
,
0.5
,
1.0
])
query_str
=
'
(devstage_init ==
"'
+
devstage_init
+
'"
) & (devstage_final ==
"'
+
devstage_final
+
'"
) & (roi ==
"'
+
roi
+
'"
)
'
data
=
df_comparison
.
query
(
query_str
)
ax
.
fill_between
(
x
=
data
[
x_col
],
y1
=
data
[
prop
+
'
_mean
'
]
-
data
[
prop
+
'
_std
'
],
y2
=
data
[
prop
+
'
_mean
'
]
+
data
[
prop
+
'
_std
'
],
color
=
colors
[
devstage_final
],
alpha
=
0.2
,
linewidth
=
0
)
ax
.
plot
(
data
[
x_col
],
data
[
'
fit_
'
+
prop
+
'
_mean
'
],
color
=
colors
[
devstage_final
],
linestyle
=
style
,
linewidth
=
2
)
ax
.
tick_params
(
axis
=
'
both
'
,
which
=
'
major
'
,
labelsize
=
15
)
ax
.
set_xlabel
(
xlabel
,
rotation
=
'
horizontal
'
)
ax
.
set_ylabel
(
ylabel
,
rotation
=
'
horizontal
'
)
ax
.
set_title
(
title
,
loc
=
'
center
'
)
ax
.
set_ylim
(
0.7
,
1.6
)
ax
.
set_xlim
(
0
,
1.05
)
plt
.
savefig
(
dataout
+
genotype
+
prop
+
roi
+
'
_
'
+
'
_std_lamdavsP_cumulative_wFit_eversion.pdf
'
,
dpi
=
600
,
bbox_inches
=
'
tight
'
)
```
%% Output
%% Cell type:markdown id: tags:
# Plot pathlengths
%% Cell type:code id: tags:
```
python
nbcols
=
1
nbrows
=
1
devstages
=
[
'
0hAPF
'
,
'
2hAPF
'
,
'
4hAPF
'
]
fig
,
ax
=
plt
.
subplots
(
nbrows
,
nbcols
,
figsize
=
(
3
,
3
)
)
for
i
in
[
0
,
1
]:
roi
=
rois
[
i
]
if
roi
==
'
DV
'
:
linestyle
=
'
--
'
elif
roi
==
'
outDV
'
:
linestyle
=
'
-
'
for
j
in
range
(
len
(
devstages
)):
devstage
=
devstages
[
j
]
query_str
=
'
(devstage_final ==
"'
+
devstage
+
'"
) & (region ==
"'
+
roi
+
'"
)
'
ax
.
set_ylim
(
0
,
900
)
# ax.set_xlim(0,220)
ax
.
set_yticks
(
np
.
arange
(
0
,
910
,
250
))
data
=
df_comparison
.
query
(
query_str
)
x_col_mean
=
'
pathlength_scaled
'
y_col_mean
=
'
cumcount_mean
'
#ax.fill_between(stat_df[y_col_mean], stat_df[x_col_mean] - yerr, stat_df[x_col_mean] + yerr, color = colors[devstage], alpha = 0.2)
ax
.
plot
(
data
[
x_col_mean
],
data
[
y_col_mean
],
color
=
colors
[
devstage
],
lw
=
2
,
label
=
devstage
,
linestyle
=
linestyle
)
query_str
=
'
(devstage_init ==
"'
+
'
wL3
'
+
'"
) & (region ==
"'
+
roi
+
'"
)
'
data
=
df_comparison
.
query
(
query_str
)
#this will give us three sets of wL3 data, one for each devstage_final, hence we choose the first one
query_str
=
'
devstage_final ==
"
0hAPF
"'
data
=
data
.
query
(
query_str
)
ax
.
plot
(
data
[
'
ref_pathlength_scaled
'
],
data
[
'
cumcount_mean
'
],
linestyle
=
linestyle
,
color
=
colors
[
"
wL3
"
],
linewidth
=
2
,
label
=
'
wL3
'
)
ax
.
set_xlabel
(
r
'
$\rho$
'
)
ax
.
set_ylabel
(
r
'
$N$
'
)
plt
.
savefig
(
dataout
+
'
/
'
+
genotype
+
'
_rho_vs_N-noIncreaselimits.pdf
'
,
dpi
=
600
,
bbox_inches
=
'
tight
'
)
```
%% Output
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment