{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from pathlib import Path\n", "from collections import namedtuple\n", "import math\n", "import numpy as np\n", "import scipy.stats as stats\n", "import matplotlib.pyplot as plt\n", "from matplotlib.gridspec import GridSpec\n", "import sliding1d as sliding\n", "\n", "import datareader as dr\n", "import saccades as sc\n", "import trial_envelope as envelope\n", "import ROC" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "trials = dr.load_trials(\"../01_data/04_formatted\")\n", "\n", "# representative session\n", "subject = \"MLA007518\"\n", "session = \"session2019-09-30-001\"\n", "\n", "in_session = [trial for trial in trials if (trial.subject == subject and trial.session == session)]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "figroot = Path(\"../05_figures/prediction/ROC\")\n", "saved = False\n", "\n", "labelsize = 12\n", "\n", "def savefig(fig, basepath, root=None, dpi=600, as_png=True, as_svg=True):\n", " if saved == False:\n", " return\n", " if root is None:\n", " root = figroot\n", " base = root / Path(basepath)\n", " if not base.parent.exists():\n", " base.parent.mkdir(parents=True)\n", " is_saved = False\n", " if as_png == True:\n", " fig.savefig(str(base) + \".png\", dpi=dpi)\n", " is_saved = True\n", " if as_svg == True:\n", " fig.savefig(str(base) + \".svg\")\n", " is_saved = True\n", " if saved == True:\n", " print(f\"--> saved to: {base}\")\n", " else:\n", " print(f\"--> ***not saved: {base}\")\n", "\n", "def psign(p):\n", " if p < 0.001:\n", " return \"***\"\n", " elif p < 0.01:\n", " return \"**\"\n", " elif p < 0.05:\n", " return \"*\"\n", " else:\n", " return \", NS\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Extraction of set points" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# def interpolate(vec, min_size=10):\n", "# valid = ~np.isnan(vec)\n", "# if np.count_nonzero(valid) < min_size:\n", "# return np.empty(vec.size) * np.nan\n", "# t = np.arange(vec.size)\n", "# return np.interp(t, t[valid], vec[valid])\n", "\n", "# def baseline(vec, timerange):\n", "# return np.nanmedian(vec[timerange])\n", "\n", "# class Envelope(namedtuple(\"_Envelope\", (\"time\", \"raw\", \"bottom\", \"top\"))):\n", "# @classmethod\n", "# def whisker(cls, trial, side=\"left\", radius_sample=10, smooth=True):\n", "# vec = interpolate(trial.tracking[f\"{side}_whisker_angle_deg\"])\n", "# time = np.array(trial.tracking[\"time\"])\n", "# return cls.compute(time, vec, radius_sample=radius_sample, smooth=smooth)\n", " \n", "# @classmethod\n", "# def compute(cls, time, vec, radius_sample=10, smooth=True):\n", "# bottom = sliding.nanmin(vec, radius_sample)\n", "# top = sliding.nanmax(vec, radius_sample)\n", "# if smooth == True:\n", "# bottom = sliding.nanmean(bottom, radius_sample)\n", "# top = sliding.nanmean(top, radius_sample)\n", "# return cls(time, vec, bottom, top)\n", " \n", "# @property\n", "# def amplitude(self):\n", "# return self.top - self.bottom\n", " \n", "# def with_range(self, rng):\n", "# return self.__class__(self.time[rng],\n", "# self.raw[rng],\n", "# self.bottom[rng],\n", "# self.top[rng])" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "whisker = envelope.whisker(in_session[0], \"right\")\n", "plt.plot(whisker.time, whisker.raw, \"k-\", lw=1)\n", "plt.plot(whisker.time, whisker.bottom, \"m-\", lw=1.5)\n", "plt.fill_between(whisker.time, whisker.bottom, whisker.top, color=\"c\", linewidth=0, alpha=0.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Collecting data for prediction" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "class TimeRange(namedtuple(\"_TimeRange\", (\"fromFrame\", \"toFrame\"))):\n", " @classmethod\n", " def from_range(cls, timerange):\n", " return cls(*[int(v) for v in timerange])\n", " \n", " @classmethod\n", " def from_row(cls, trial_row):\n", " return cls(int(trial_row.FromFrame), int(trial_row.ToFrame))\n", " \n", " def as_slice(self):\n", " return slice(self.fromFrame - 1, self.toFrame)\n", "\n", "def time_normalized(vec, num=100):\n", " size = vec.size\n", " origtime = np.linspace(0, 1, size, endpoint=True)\n", " desttime = np.linspace(0, 1, num, endpoint=True)\n", " return np.interp(desttime, origtime, vec)\n", "\n", "def before_start(trial):\n", " \"\"\"return the time range tuple corresponding to the initial AtEnd phase.\"\"\"\n", " return TimeRange.from_row(trial.states[trial.states.State == \"AtEnd\"].iloc[0])\n", "\n", "def baseline(vec, timerange):\n", " return np.nanmedian(vec[timerange])\n", "\n", "def count_epochs(trial,\n", " pattern=\"AtEnd Left\",\n", " **kwargs):\n", " return [[1] for rng in trial.get_timeranges(pattern)]\n", "\n", "def setpoint_asymmetry_from_trial(trial,\n", " pattern=\"AtEnd Left\",\n", " radius_sample=10):\n", " ranges = [TimeRange.from_range(rng) for rng in trial.get_timeranges(pattern)]\n", " if len(ranges) == 0:\n", " return []\n", " else:\n", " sides = (\"left\", \"right\")\n", " envelopes = dict((side, envelope.whisker(trial, side=side, radius_sample=radius_sample)) \\\n", " for side in sides)\n", " base_range = before_start(trial)\n", " baselines = dict((side, baseline(envelopes[side].raw, base_range.as_slice())) \\\n", " for side in sides)\n", " subtracted = dict((side, envelopes[side].bottom - baselines[side]) \\\n", " for side in sides)\n", " asymmetry = subtracted[\"right\"] - subtracted[\"left\"]\n", " return [asymmetry[rng.as_slice()] for rng in ranges]\n", "\n", "def eye_position_from_trial(trial,\n", " pattern=\"AtEnd Left\",\n", " radius_sample=10):\n", " ranges = [TimeRange.from_range(rng) for rng in trial.get_timeranges(pattern)]\n", " if len(ranges) == 0:\n", " return []\n", " else:\n", " sides = (\"left\", \"right\")\n", " raw = dict((side, envelope.interpolate(trial.tracking[f\"{side}_pupil_normalized_position\"])) \\\n", " for side in sides)\n", " if all(np.isnan(raw[\"left\"])):\n", " return []\n", " smo = dict((side, sliding.nanmean(raw[side], rad=radius_sample)) \\\n", " for side in sides)\n", " avg = (smo[\"left\"] + smo[\"right\"]) / 2\n", " return [avg[rng.as_slice()] for rng in ranges]\n", "\n", "class NoEpochFoundError(ValueError):\n", " def __init__(self, msg):\n", " super().__init__(msg)\n", "\n", "def collect(trials, fun, concat=False, **kwargs):\n", " values = sum([fun(trial, **kwargs) for trial in trials], [])\n", " if len(values) == 0:\n", " raise NoEpochFoundError(f\"no epoch found from {len(trials)} trials ({fun.__name__}, {kwargs.get('pattern', '(no pattern info)')})\")\n", " if concat == True:\n", " values = np.concatenate(values, axis=0)\n", " return values\n", "\n", "def get_weights(vec):\n", " return np.ones(vec.size) / vec.size\n", "\n", "def in_camel(txt):\n", " return txt[0].upper() + txt[1:]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "points = dict(asym={}, eye={})\n", "\n", "for direction in (\"Left\", \"Right\"):\n", " pattern = f\"AtEnd {direction}\"\n", " points[\"asym\"][direction.lower()] = collect(in_session, setpoint_asymmetry_from_trial, \n", " pattern=pattern)\n", "\n", " points[\"eye\"][direction.lower()] = collect(in_session, eye_position_from_trial, \n", " pattern=pattern)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bin each epoch trace" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def bin_trace(trace, nbin=5):\n", " \"\"\"bin single-trial traces based on time, and return the list of split traces.\"\"\"\n", " t = np.linspace(0, 1, num=trace.size, endpoint=False)\n", " borders = np.linspace(0, 1, num=nbin+1, endpoint=True)\n", " return [trace[np.logical_and(t>=start, t" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOUAAACzCAYAAAB2Htv8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAkYUlEQVR4nO2deZzVVf3/n68ZUDYREVFDdjEFMxSNcstyT1q+FeKCW25lZblkarlki1pW/kxKzQ3FLZKwUMtSr7KJSIgKhQqCgCyhIjIsMsP798c5Fz5z5965n8/MnbnLnOfj8Xlw7/mczznve7nvOdt7kZkRCARKh6piCxAIBOoTlDIQKDGCUgYCJUZQykCgxAhKGQiUGEEpA4ESo00ppSSTtGeOe6dKeipGG/dK+lnhpQsEHGWrlJKukPRERtkbOcpOyteemT1gZscUWs62jKRFko4qthzlRtkqJfA8cIikagBJuwHtgQMyyvb0dUuKtIxtGUntii1DKVLOSjkTp4RD/fvDgWeB+RllC8zsnchzR/nR831JYyQJQNKZkqb415L0W0mrJH0g6RVJ+2YKIGkHSc9KusU/s7ekf0p6T9J8SSdG6t4r6Q+SnpBUA3wuS3tnSfqPpA8lLZR0fuReD0mTJK3x7U+WVCXpB5IezWjnd5Ju9q9Tkn4maZqkdZL+JmlnSQ9IWitppqR+kWdN0gX+O/pQ0k8lDZQ03df/k6TtIvVHSHrZyzVN0n6+/H6gD/A33+9lkvr59s+W9DbwjKTHJX03Q/5XJH0l8/tpM5hZ2V44JbzIv74V+Abw84yyuyP1DZgEdMP9YP4HHOfvnQlM8a+PBWb5egL2AXb39+4FfgbsDLwI/MyXdwaWAGcB7YADgNXAkMhzHwCH4P4YdsjyeU4ABvo+PwusBw7w964HbsP9IWoPHObr7Q7UAN18vXbAKmCYf58C3vTt7gjMA14HjvJ17wPuyfiO/gp0BYYAm4CngQGR58/wdQ/wfQ0HqoEzgEXA9v7+IuCoSNv9fPv3+e+rI3AiMCNS55PAu8B2xf59Fesq55ES4DncaAjuRzrZX9Gy5zKeucHM1pjZ2zilHpql3c3ADsDegMzsP2a2PHL/Y77d8Wb2Y182AlhkZveYWa2Z/Rt4FPh65LnHzGyqmW0xs42ZnZrZ42a2wBzPAU/5z5CWaXegr5ltNrPJvt5y3PR8pK93HLDazGZFmr7Ht/sB8CRu9vAvM6sFxgP7Z4hyo5mtNbO5wGvAU2a2MPJ8uv65wO1mNsPM6sxsLE6JP53lO41yrZnVmNkG4DFgkKRB/t5pwCNm9lGeNiqWclfK54FDJe0E7GJmbwDTgIN92b40XE+uiLxeD3TJbNTMnsGNsmOAlZLukNQ1UuUE3F/52yJlfYHhfhq3RtIa4FRgt0idJY19GEnHS3rBT0/XAF8Aevjbv8KNeE/5qe3lkUfHAqP969HA/RlNr4y83pDlfeZ3ELd+X+CSjM/cG/dHqzG2fg9mtgn4EzBaUhVwchb52xTlrpTTcVOq84CpAGa2FnjHl71jZm81pWEzu8XMhuGmcHsBP4jc/iPwd+AJSZ192RLgOTPrFrm6mNm3os3m6k/S9riR9SZgVzPrBjyBm6JiZh+a2SVmNgD4InCxpCP94xOB/fy6dwTwQFM+cxNYAvw84zN3MrOH/P1cnzezfCzuD9iRwHozm95C8pYFZa2UfvrzEnAxbtqaZoova9Kuq6SDJA2X1B63XtsI1GVU+w5uU2mSpI64tepekk6T1N5fB0naJ2a32wHb49a5tZKOB7Ye0fgNlT39xtRaL08dgJ8K/xl4EHjRT81bgz8C3/TflSR1lnSCpB38/ZW4tWijeCXcAvyaNj5KQpkrpec5oCdOEdNM9mVNPQrpivvBvQ8sxm083BStYGaGG42X4NZFm3FKdBJupF4B3IhTtLyY2YfAhbip3PvAKbgNlzSDgH8B63AzhN+bWSpyfyzwCVrxR21mL+HWlbfiZH4Tt2GW5nrgx35qe2me5u7DyT+uBUQtK+R+W4FyR1If4L/Abn4KX1ZIOh04z8wOLbYsxaYSRso2j98guRh4uEwVshNwAXBHsWUpBYJSljl+o2ktcDRwTZHFSYykY3Hr6JW4NXFL9/cdSS9J2iTp3pburymU5PRV0ndwa5NPAA+Z2ZlFFShQMUj6Km5T6VigYyn+tkrV9vAdnNXMsbjzwECgIJjZBABJBwJ7FFmcrJSkUpbDFxdoPbRdldEhxk91fS3U1bNkusPMym6dWpJK2RSqO29n7XbqUGwxAgmxj+pQdRUfrVi32sx2yVqpQzsY3jN/YzNWYWs/OrDAIrY6Za2Uks7DnRWyXa8d2ON7w4ssUSAJm1evZ9mYmex6+n4s/8OsxcWWp1Qo691XM7vDzA40s7L/69jW2PJRHe127kivbx9Ex/47FVuckqKslTJQnmxY8B5Lfz0d27yF9j06tWrfktpJ6oBzNauW1EEl5mxdUsKk8V9SOyJfHFDrXY1iseAH/yyILNfP+kWDsiuGXdnk9hate6NBWb8uzmvpH0v/1uDesXt8scl9lSKpVIqRvxzJPyc8yRFHHLG1XJeptUT4MfXPc0cDPwGubS0B8lGqI+WPcS5Cl+O+tA2+rNWo2VzDI2880ip9barbxKzVM1qlr2JSW1vLRRddxPjx4+spZGtiZteamTKua4siTA5KcqT0X9K1xZRh0qJJLFy7oFX6eu39l1m9cVWr9FUsXn75ZQYPHszMmTNp164kf3YlQ6mOlEWlZnNNToWsboF4V+9tXJ21vKpC/ntSqRRHH3008+bNCwoZg/ANeWo21zBp0SQWf7iIOst0ndxG3x36FaS/2i21rFi/nPW167EcvsDdO/TIWl5OpFIpRo4cyfjx4xk6dGixxWlxvP/s13HeOt+WtDcu3tArcdtoU0oZV/FyMaDrQEb0G1EQWVasX05NbU3O+z069GTfnYYWpK9iMm3atKKuIVsTSSNxIWQm4Pxhv40LnXIDLlBZLNqUUjZnnTig60BGDRpVMFnW167Pea+KKob1KG9DiFQqBcCVVzZ9p7oMuQ44xsxelpT+sczBReiLTcUqZbajjOZQqBES3NQ115QVyn/aGp2ytjF64pQQtsUhMhqJzZSNythJaCGqVc2ArgO5cL/v0bl95/wPxGTF+uVZy6uoKvtp6/PPP79VIdvClDWDWbgQmVFOwsUHjk3FjpRNpVrV9N2hHyP6jSioIqap3VKbdS1ZRRVH73FCwftrbXr16sWjjz7K4Ycfnr9y5XEhLgTo2UBnSf/ARUJMlKOmTStlodeJjbGpblOj55GVMGUdN24cd955JwMHDiy2OEXBzP7rd1tH4KIbLgEmmdm6JO20SaWMjoatRT4DgXKesrbhNWQDzGw9LiJhk6lYpWyOfWqh2VS3qVGF7NGhJ9tXx4pEWXIsXLiwLa8h6+EjCl6DS+tQL+q8me0Vt52KVcpS4rX3X270frmOkuvWraN///7MmDGDAQPyxlxuC4zHhfm8Gmev3STC7msrkMuMrnO7zgzsumdZjpKpVIohQ4ZQU1NTVgopqbukv0iqkbRY0ik56smnEFwmlw4xJWlInub3Bs4ys0lm9nT0SiJjUMpWYAtbGpR1bteZPbr0pl1V+U1W0mvIsWPH0qVLg/xIpc4Y4CNgV1z+kj/kULaRuNSKhwHdcVHp80Wf/xsuhWGzKL9fRIWwW6fdiy1Ck6itreXSSy8tyzWkj5H7NWBfvyM6RdJfcWeLl2dU74/LV7rQPzsOuChPFxcC0yQtoH6mMszsG3HlDEpZJMpxhJw9ezaDBw/mhRdeaFVvj+137MAexw7OW2/pf/MGh98LqDOz1yNlc8g+uj0MjJK0F/AWLiHu3/O0fw8u6dJ/aMaasvx+GWVE+myyEkhPWZ966in23z8zx2xpULduM5JeihRlhpjsgsumHeUDXILgTJbjEkXNxynaEuDzeUT4PPAxn6ypyQSlbEEqxXk5eg5ZqgoJUN2lPZvf39BYELV1uIxqUboC2ZToGuAgXBLcFbgIGM9IGuLPIrPxCrBzjvZiE5SyBchnvSNaLR5NQXjhhRfKcg2ZhdeBdpIG+azf4Dw45map+0lcmvel/v29km4GBuNyombjGZyZ3T00XFPeHVfIoJQtQL4RslO71o3g1lRSqRSbN2/m8ssz90DKEzOrkTQBuE7SOcBQ4MvAwVmqzwRGSnoYl4DoVKA9LgdnLg4FltHQ1tWAoJTFJNe5JLijkHLYea1g07kLcAqyCpcM+FtmNtdb48wDBvtM2DfiXLFeBjrjlPFrZrYmV8Nm9rlCCBhbKSXtlySkQVsm27kkOHO6nTt0b2VpklPJ7ldm9h7wlSzlbxMxjfMp67/tr5xIks/qnc4Tmqvf7D+KLCQxHnha0hxJl0oq/T/1JUY5+Un27t2bRx99tOIUsoWI7ubWApszrnRZbJIo5e44m77hwBuSnpI02mfhDeRhWI/hJW9Ol0qlOOuss+jfv39b9YdsClFroP7AgIwrXRab2EppZrVm9piZjQR64dxTLgNWSrpP0iFJOq5EyjmocnoNecYZZxRblLLCzJZE3o40s8WZF86KKDaJbV8ldcHNyU/C5Y58GHgDeEDSmKTtVRLlei65aNGiil1DtjJX5yhPFN0/yUbPCTgbweOBqcCdwES/IMYr5NvkWRhXMuUYVPnDDz+kX79+zJw5k379+hVbnLJEUtrSp1rS56DeQfQAEhoTJDkSuQEYC1xkZg0iP5nZe5K+n6TzSiPXrmuphvpIpVKcfvrpzJ07Nyhk87jL/9uB+ueRhrMG+m6SxpIo5U/NrEGYA0lfN7M/A5jZnUk6bwuU6q5r9Bxyhx2ymX4G4mJm/QEk3Wdmpze3vSTzqlwKV3Y55VuTUtx1raur47LLLgtryAJTCIWEGCOlpPR2bpWk/jScL28shCCB1mHWrFkMGTKE6dOnU11d+GRFgeYTZ6R8E7e72glY4N+nr/sooWSbxWRT3aZii5CXVCrFcccdx9y5c4NCljB5R0ozqwKQ9JyZNTvUQaWSz2+ybkstqzetbLROSxJdQw4bNqxocgTyE3ujJyhk42Q7DokehazetJINdbmT+rQ0s2bNCmvIFqAxe9coSWxfG1VKSX83s+P868nkSFRiZm3eJivbcUj0KGRDXa7oEC3rW5lKpdi4cSOXXHJJi/bThqklXgKf2OuFfCPlfZHX4bgjIfWPQrL/v3Ws7thi/Vew+1WTkdQdd654DLAauMLMHsxRdwBwCy6GzybgbjO7LKNa/8jrE3AJY68HFgN9gR8CjyaRsVGlzBB2nFkTMq22YfIdhXSs7kSP7Xdtkb4nT54cTOeyEw0xORR4XNIcM6sXfUDSdsA/ff1RuDg9DaKce9vW9DMXAwdGfC5f9zGDXgL+EFfAJOeUKyT9Phie16c5Rui7duxFdQtFtevTpw8TJkwIChkhEmLyKjNbZ2ZTgHSIyUzOBN4xs9+YWY2ZbYzhT7wj7pQiSidfHpskv4hjgJOBhyRtAR4CHjSzV5N0WGmUmhF6KpXirrvu4v7776dv377FFqcgdOvcif/7TP6AXbffNCNfNLskISY/DSyS9CQugNZrwHfz/N7HAv/ysXyW4IJuXejLY5Nk93U2MBu4TNJncQr6tKQVZrZfkk4riVIyQm/ra8hO3TqydsUHjUWzSxJicg/gc8CXgKeB7wGPSdrbzD7K0f5luPP7UcDHcGEqbwX+GPtD0PQYPfNxAWeXAIOa2EZFUCpG6IsXL+bEE08Ma8jGSRJicgMuQvqTAJJuwrlg7cO2FOr18Mcet/mrycT+cy6pm6SzJT2Ns+w5gm3BhQIRWtsIfe3atfTt25eZM2cGhWycrSEmI2W5Qky+Qryjjq34pEDnSnpa0iu+7HBJJyZpJ8kc6x3clPVBXBTo/zOzP6X9KQPbaE0j9HT2q7RiBnJjZjVAOsRkZ79p+WWyJ+4ZB3xa0lGSqoHv445Q/tNIF9cBZ+Omq3182VLcsUhskkxfB2bzowwUj+gasmvXzFlZIAexQkya2XxJo3FT0Z7Av4EvNbKeBLdju7+ZrZaUPgJ5i4QxevJZ9BxuZs/7t/tI2idbPTN7JkmngeZTV1fHFVdcEdaQCYkbYtKXTcCNrHGpxq1bYdvUt0ukLBb5RsrfA/v613flqGMk/EtQKRTLM+Sll15iyJAhTJkyJXh7lBZPAL+RdBG4NSbwU1zeytg0uqY0s30jr/vnuGIpZIIMumdKqpO0LnIdkeRDtRbFyKiVSqU4/vjjg/tVaXIx7ijkA5zBwDqcqV2ivA9JAmc9ZmZfzlI+wcy+GqOJWOZNnulmdmhc2YpFPs+QQhNdQx54YGPHcYFiYGZrga9I6olTxiVmtiJpO0l+QbnyJByR78GE5k0lT9q0Lp9nSKGZPXt2WEOWMJLulnSsma0ys5lphZT0+yTtxAkHcp1/uV3kdZoBOGv4fCQxbwLYX9Jq4D3cdvX1ZlYbo59WoTHTupY4n0ylUqxbt46LLsqX3TtQZEYDx0i62cxuyii/IG4jcUbK3v6qirzujTNDWgKMjNFGEvOm53GbSz1xo+vJwA+yNSrpPEkvZdg7tjiNmdYV+nwyPWXt0qVL/sqBYrMRZzN7kqT7vacJJHSajRMO5CwASdPMLJENX4TY5k1mtjDy9lU/Ov8A56OWWfcOfDS97ffomsj6ojm0lmldcL8qP8xsqaTDcKcVUyV9hYSWQfnOKfuZ2SL/9ulIZLtMQRZmK4+QJINug+Zpaff8AtASpnX9+/dnwoQJHHbYYQVtN9BiCMDMNgCnSLoceBFINH3KN1K+yrYp5ptkVxAjT6iDJBl0JR0P/NvMVkraG7gKKHm3h2E9hhesrVQqxR133MGDDz7IHnvsUbB2Ay1OvT0XM7tB0hwgke1rvsgDO0ReN3evP24G3SNx+eW74PLGjwN+0cy+y4a27n5VzpjZr7KUPQk8maSdJru9+6lsXTQcQmMkyKB7KXBpU+UqZ5YsWRLcr8qMlggul8R44CHgd2Y2TdJZOBO8LZIuNLNcJniBmKxZs4bevXsza9YsevfuXWxxAvEpeHC5JCPlkUA6o+jFwFHAGmAiue1iAzFIpVKMHj2a1157LShkmRENLmdmicJ+5CKJUm5nZh9J6gV0N7OpAJJaJhxbGyG6huzWrVuxxal4koSYjDzzDM6irX2mEYukb8Tp18zuzl/LkUQpX5Z0Bc6m73EvUC9gbYI2AhG2bNnCj370o7CGbF2S2GAj6VQa15M4pqJG/byVjZJEKc/GuaFsZpuFzWeABxK0EfDMmfUKPQ/qxeTJk6mqKt1Mz6XATtvvyFf3PD5vvUnbT2z0fsQGe18zWwdMkZS2wW7gySFpR+Aa4HRgerY2zSyXTXiTif1rMLMFZnaKmZ1hZqt82Z/NLFGog3KmOTFeo7wweQbf+Nq5zJ07NyhkAXn/vQ9Im13667yMKrlssIfkaPIXuCDKiT09fLyeqvSV5NlERyKSjsEN+Zke2lcnaadcKUSM1xcmz+Dbp13ImPtv4aCDDiqQZAGAnbrvyIolKwoSYlLSgcAhuNCSsSw4/HLuVuBwoFvG7YLlEol2eCvOMuFZoHjpo4pIIWK8zp/3OmPuv4VPH1Y4C6BAbGLZYPuR7ffA98ys1gUQiMVtON04EngOp5zX4iISxCbJSHkyMNTMliTpoJJojiH6C5NnsPaDDznj/LJ0Ia0U4tpgdwUOBB7xCpke5ZZKGmlmk3O0fzDQx5uVmpnNkXQ2MI0EAZmTzHXfxZ1LBiLEMUR/+pmn+fZpF9J1x2yeaoHWIkGIyQ9wYT2G+usLvnwY0NimQh0uNR7AGkm7ADVAryRyJhkpfw08IOl6nE3qVmJ4iVQs+QzRp0yZwomjTgxT1tIhrg321s0dSR38y5V5nO1n4BT4L8A/gEdwkdYT+fsmUcp0HMsRGeV5vUTaMgMGDOC2B8Zw0MGZKc1L3hutIkkSYjJybxHx/sNOY9vs8/s4G+4uwM1JZEyS4Cfs3ScglUoxZswYxo8fz0FdMxWyZZPFBopDJC9l2qfyp01pJ7GXiKTeQC8ze6EpHbYF4rhftVSy2EDxkNQOtyG6Pw2PDTPPTHOS5EikDy4n5VDclLWLpK8Dx5nZOXHbqXSWLVu21f3qsMMPZeWGZVnrtVSy2EBRGQd8Auc/uTJP3Zwk+WXcjrN5PQy3QAaXfvrXTe280lizZg29evVi9uzZ9OrVi5UblrGhrk0e6bZVjgN6m1m21HqxSbJO/BRwg8/BZwBmlo4E3eZJZ79KKybAhroNOWqHTZ4KZR7QvbmNJBkpVwJ74g5gAZA0GHi7uUKUOpvqNjWaoiCb+1XdllpyBTELmzwVy2jgTklP0fDY8L7sjzQkiVLeBEzy55TtJJ0MXAnckKCNsqQxm9ctW7Zw1VVX1XO/qttSy5L1b2Wt37G6U9jkqVzOxC3vdsKdT6Yx6kcoaJQkRyJ3S3oPOA8XhPl04Mdm9ljcNsqRTXWbcirk67PfYND2bzL28buoqhKL1r2Rtd42xK4dExl3BMqL7+HyUzaWWDYvedeUkoZJ2hfAzCbi/hrMwZkOfcFHnatYck1b50x/lavPvI5X5r5CVVW8NWKYtlY8KynAci7OSHkz8BPgNf/+Dpxd4O24M5lfkiBPQilRt6WW1ZtW+g2Z7Ou/dzf+r0HZnOmv8otv/pIx9/0/hh74ydj9hWlrxfNbnCnqDTgzvq0kMUWNo5T7AJMBJHUDTgCGmNnr3mt7GiWolPmnkvGwLMq6cuEqbht3ayJb1t6d+oezycpnjP/3SxnliUxR4/xK2uFimoBLXrI87bltZku8olYUtVtqWbF+Oetr658xzpn+KuvWrONb3zqfdrEUTHSs7kiP7XcNClnh+KzNg4DFzc0QF+ecci7bMmudBPwrIkgvGnpylyW1W2pZum4Jr6+Zz4K1b1JTW1NvlHRT1hvp0q1LToXsWN2Jfl0GRa492bVjr6CQJUSCjOJnSJolaa2kpZJ+6c3osmJmBrwCOZxuExBHKX8I3O53Xk8AbozcGwVMba4QpcCK9csbKGKauTPn8Ytv3siVt/2QoZ/ZL8vTCkcd5UM0mt2pwB8kZYvR0wnn6dEDGI6LJpAvcv9sXBygZhEnFd4Ub/e6F/B6hgnR48DDzRWiGESnqNkUMY2ZsXvf3bn6zisZctBgdu6wC/26DGpFSQOFIkk0OzP7Q+TtMkkPkDubeZoU8HdJ9+KODbf+sAoe99Ur4qws5fPjdtTaZCpO2irnvY2rc4b1yGTO9Ff56z2T+PHtl9Oj585079CjRTI1BxqnU/vO7N/jU7Hq5SFpRvEoh5M/deMhwFtZ2muxuK9lxT+W/q1Zz6fXkDfefT2f+9ixBc/QHCg8//vfajKyet/hEwunSZJRfCs+d86BQKPeUIWKAVuxStkc3l3xLjdccBMTH30sRC4vI3bZpQdvL367sRCTsTOKp/GZmG8AjjKz7OEM69ffCfgizrhmGfA3M3s/33NRQjSBDNa9X8PH++3DrH/PCgpZeWyNZhcpy5lRXNJxuCh0XzSzV/M1LukzwALgm8B+wPnAAl8emzavlFVU0aNDT47Y/Ri2e6ML3z32YvpXDaJ/7/7FFi1QYBJEs0PS53EpOb5mZi/G7OJm4AIzO9jMTjazQ4BvAbckkbPNTV+rqNq6YRNdJz777LNbIwZ0795sl7hA6RI3mt1VOF/hJyLBmCebWWNJTfYC/pRR9mdckObYVLRS9ujQM28ISHDuV9ddd13IftUGSJBRvCmbNm/gDGyiqfVG4qa0salYpYwTJBlgxowZDB48mGeeeYYE4ekDgWx8H+dzfCGwGOiHM73LDMvaKBW7phzWY3jeY4xUKsWIESOYN29eUMhAszGzacBAXJKfWcDvgD19eWwqdqTMRzSEx/DhIXJ5oDD4449xzWmjzSrl/PnzwxoyUBAkPUsuh1yHmdmRcdtrc0qZSqVYtWoV559/frFFCVQOuUbGXsCFOOP22LQppYwTuTwQSIqZ3RV9L2ln4ArgXFySn+uStFexGz2ZTJ06datChilroCWQ1FXST4E3ca5hB5jZeWa2NEk7bWKkNDMGDRrExIkTOeSQQ4otTqDCkNQRdxxyCc5961Azy+dRkpOKV8pUKsXNN9/MX/7yF3r27FlscQKVyVu4GDy/xOWi3FVSPY93M3smbmMVrZTRNWQ4hwy0IBtxu6/fynHfgAFxG6tYpVyxYgWjRo0Ka8hAi2Nm/QrZXklu9MQNbpSLupqP2G233ZgzZ05QyEDZUZJKSfzgRg3YsOA9lv7mBd5991122223lpQxEGgRSk4pI8GNrjKzdWY2BUgHN2qUDQveY+W4V+l5yr7svPPOLS1qoAxp7iysNSjFNWWTgxu9//Rb7Dr6E3QcGPwhAzmJzsKGAo9LmtOcI4xCU3IjJQmCG0k6T9JL6WBJu597QFDIQE6aMwtrTeQCO5cOkvYHpppZp0jZJcARZvbFRp77H1AD5A1uVKb0oLI/W2cz2yXbTf9/uzhGOx8HomFP60Wz87+taWbWMVJ2KfDZxn5brU0pTl+3Bjcys3SWnpzBjdKY2S6SXjKzxqKZlS1t4LP1y3U/l7I2gSaFmGxtSm76miS4USCQkMQhJotBySml5wKgIy640UP44EbFFSlQASQKMVksSnH6mjO4UQzuyF+lbAmfrZmYWY2k9CzsHNzu65eBg1uj/7iU3EZPINCSSOqOCzF5NC7E5OVm9mDjT7UuQSkDgRKjVNeUgUCbpSKUshxMp+KQIMvwmZLqJK2LXEe0rrTNR9J3vPHHJp/TMUCJbvQ0gZI3nYpJks8x3cwObU3hWoB3gJ8Bx+J22wNUwEhZLqZT+aiUz5EEM5tgZhNxGy4BT9krJbkN2GO5epUQST/H/pJWS3pd0lWSKmXW0+aphP/IsjCdikGSz/E8sC/OHnQILoxhLXB9SwoYaB0qYaQsC9OpGMT+HGa20MzeMrMtPpnpdcDXW0HGQCtQCUpZFqZTMWjO5zAgRAarEMpeKSvFgD1hluHj0yEMJe2NS3D6WGvKWwgktZPUAReesVpSh7A2xgUqLvcL6A5MxPlTvg2cUmyZCvk5gD646W0f//4mYKWvtxA3fW1fbPmb8HmvxY3y0evaYstV7CuY2QUCJUbZT18DgUojKGUgUGIEpQwESoyglIFAiRGUMhAoMYJSBgIlRlDKCkXS3LSPpRz3SHpf0ouSDpM0v/EWQNKpkp5qaVkD9WnT55SSFuH8+AaYs6jBB1QabWZHFFG0giLpMFxUwI+nP2cT2zFgkJm9WTDhAg0II6XzlPlesYVoYfoCi5qjkIHWIygl/Aq4VFK3zBuSDpY0U9IH/t+DI/dSkn4qaaqkDyU9JalHrk58CI+Fvu5bkk6NlE+V9Dvfz38lHRl5bkdJd0laLmmZpJ9Jqo7cP1fSf3y78yQd4MsXSTpK0tnAncBnfNiQn0g6QtLSSBu9JU2Q9D9J70q6NSLbFP/6eV99jm9nlKTXJH0x0k577+M5NNl/QSBKUEqXoz4FXBot9KEIHwduAXYGfoMLzxHNsXcKcBbQE9gus41IW519O8eb2Q64OKMvR6oMx9mw9gCuASb4/gHG4nwl9wT2B44BzvHtjsTZj56Oc/P6Ehle/GZ2F/BNXPiQLmZ2TYZs1cAknG9mP6AX8HDmZzCzw/3LT/p2HgHuA0ZHqn0BWG5mL2c+H4hPUErH1cB3JUVzVpwAvGFm95tZrZk9BPwXiCaCucfMXjezDcCfcHF1crEF2FdSRzNbbvXj7qwCbjazzf7HPh84wXuCHA9838xqzGwV8FvgJP/cOcAvzWymOd40sziJcKJ8CvgY8APfx0ZzoUjiMA74gqS0H+hplJl3TikSlBIws9dwo8XlkeKP0TDT02LcSJJmReT1elz0ACTdFokyd6Vfy43CjVjLJT3uXa7SLLP6O26Lff99gfb+mTWS1gC340ZmgN7AgsQfuD69gcVmVpv0QTN7B5gKfM1P/48HHmimPG2eoJTbuAY4l21K9w5OKaL0AZbla8jMvumneF3M7Be+7B9mdjSwO27E/WPkkV6Sok7KfXz/S4BNQA8z6+avrmaWjtuzBBiY6FM2ZAnQpxl+jGNxU9iRuCly3u8n0DhBKT1+m/8R4EJf9ASwl6RTvDPuKGAwbkRNhKRdJX3Jry034Xwj6yJVegIX+o2SkcA+wBNmthx4Cvi1pK6SqiQNlJTOan0nbpNqmD+L3FNS5h+SfLwILAdu8M7VHbyDdTZWAgMyyiYCB+B2sO9L2HcgC0Ep63Md0BnAzN4FRgCX4DZPLgNGmFlTErdW+XbeAd7DpYq/IHJ/BjAIlxT258DXff/gNnG2A+YB7wN/xo22mNl4X/9BXCyfiThH6diYWR1unbwnzrF6KW6qnY1rgbF+Kn2if34D8CjQHxc5IdBM2rTxQCkg6UzgHCvjwMqSrgb2MrPReSsH8hLioQSahT+6OZsKDhrd2oTpa6DJSDoXt1H0pJk9n69+IB5h+hoIlBhhpAwESoyglIFAiRGUMhAoMYJSBgIlRlDKQKDECEoZCJQY/x9DXIkN5WWK0gAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "titles = dict(asym=\"Whisker asymmetry\",\n", " eye=\"Eye position\")\n", "ranges = dict(asym=dict(vmin=-20, vmax=20),\n", " eye=dict(vmin=-0.0005, vmax=0.0005))\n", "units = dict(asym=\"deg\", eye=\"frac\")\n", "cmaps = dict(asym=plt.get_cmap(\"Greens\"),\n", " eye=plt.get_cmap(\"Reds\"))\n", "\n", "for datatype in (\"asym\", \"eye\"):\n", " fig = plt.figure(figsize=(12,2))\n", " grid = GridSpec(1, 25)\n", " for time_bin in range(nbin):\n", " ax = fig.add_subplot(grid[:,time_bin*5:(time_bin+1)*5-2])\n", " roc = rocs[datatype][time_bin]\n", " roc.plot(ax, **ranges[datatype])\n", " ax.plot((0, 1), (0, 1), \"k--\", lw=1)\n", " ax.set_xlim(-0.01, 1.01)\n", " ax.set_ylim(-0.01, 1.01)\n", " ax.set_xticks((0, 0.5, 1))\n", " ax.set_xticklabels((\"0\", \"0.5\", \"1\"))\n", " ax.set_yticks((0, 0.5, 1))\n", " ax.set_yticklabels((\"0\", \"0.5\", \"1\"))\n", " ax.set_aspect(1.0)\n", " ax.set_xlabel(\"Non-specificity\", fontsize=labelsize)\n", " ax.set_ylabel(\"Sensitivity\", fontsize=labelsize)\n", " ax.set_title(f\"{titles[datatype]}\\nBin #{time_bin+1}\\nAUC={roc.AUC:.3f}\")\n", " ax.tick_params(labelsize=labelsize)\n", " cb = fig.add_subplot(grid[:,24])\n", " bounds = (ranges[datatype][\"vmin\"], ranges[datatype][\"vmax\"])\n", " bar = np.linspace(*bounds,\n", " num=100, endpoint=True).reshape((-1,1))\n", " cb.imshow(bar, extent=(0, 1,)+bounds, \n", " aspect=\"auto\", interpolation=\"none\", **ranges[datatype])\n", " cb.yaxis.set_label_position(\"right\")\n", " cb.yaxis.tick_right()\n", " cb.set_ylabel(f\"Threshold ({units[datatype]})\")\n", " plt.subplots_adjust(wspace=1)\n", " plt.show()\n", "\n", " fig = plt.figure(figsize=(3, 2.5))\n", " grid = GridSpec(20, 25)\n", " ax = fig.add_subplot(grid[:,:20])\n", " for time_bin in range(nbin):\n", " roc = rocs[datatype][time_bin]\n", " ax.plot(roc.nonspecific, roc.sensitivity, \"-\", lw=5, \n", " color=cmaps[datatype](0.15+0.15*time_bin)[:3])\n", " ax.plot((0, 1), (0, 1), \"k--\", lw=1)\n", " ax.set_xlim(-0.01, 1.01)\n", " ax.set_ylim(-0.01, 1.01)\n", " ax.set_xticks((0, 0.5, 1))\n", " ax.set_xticklabels((\"0\", \"0.5\", \"1\"))\n", " ax.set_yticks((0, 0.5, 1))\n", " ax.set_yticklabels((\"0\", \"0.5\", \"1\"))\n", " ax.set_aspect(1.0)\n", " ax.set_xlabel(\"Non-specificity\", fontsize=labelsize)\n", " ax.set_ylabel(\"Sensitivity\", fontsize=labelsize)\n", " ax.set_title(titles[datatype])\n", " ax.tick_params(labelsize=labelsize)\n", " \n", " cb = fig.add_subplot(grid[1:19,21:23])\n", " bar = np.arange(nbin)[::-1].reshape((-1,1))*0.15 + 0.15\n", " cb.imshow(bar, extent=(0, 1, 0, 1), \n", " aspect=\"auto\", interpolation=\"none\",\n", " cmap=cmaps[datatype])\n", " cb.yaxis.set_label_position(\"right\")\n", " cb.yaxis.tick_right()\n", " cb.set_yticks((0, 0.2, 0.4, 0.6, 0.8, 1))\n", " cb.set_yticklabels((\"0\", \"0.2\", \"0.4\", \"0.6\", \"0.8\", \"1\"))\n", " cb.set_ylabel(\"Normalized time\", fontsize=labelsize)\n", " cb.tick_params(bottom=False, labelbottom=False, labelsize=labelsize)\n", " plt.subplots_adjust(left=.2, bottom=.2, right=.85, top=.9)\n", " savefig(fig, f\"ROC-curves/{datatype}-individual\")\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generalize for all sessions" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "class TurnBasedData(namedtuple(\"_TurnBased\", (\"left\", \"right\", \"metadata\"))):\n", " @classmethod\n", " def from_dict(cls, D, metadata={}):\n", " return cls(D[\"left\"], D[\"right\"], metadata)\n", "\n", "class SessionData(namedtuple(\"_SessionData\", (\"subject\", \"session\", \"asym\", \"eye\"))):\n", " datatypes_ = (\"asym\", \"eye\")\n", " directions_ = (\"left\", \"right\")\n", " \n", " @classmethod\n", " def from_dict(cls, subject, session, D):\n", " return cls(subject, session, D[\"asym\"], D[\"eye\"])\n", "\n", "class BinnedDataPoints(SessionData):\n", " \"\"\"data points being binned based on its normalized time points.\"\"\"\n", " @classmethod\n", " def load(cls, trials, subject, session,\n", " nbin=5, pattern=\"AtEnd {direction}\"):\n", " \n", " in_session = [trial for trial in trials if (trial.subject == subject and trial.session == session)]\n", " if len(in_session) == 0:\n", " raise ValueError(f\"no matched trials found for: {subject}, {session}\")\n", " \n", " # get traces during Backward\n", " points = dict(asym={}, eye={}, saccade={})\n", " for direction in cls.directions_:\n", " _pattern = pattern.format(direction=in_camel(direction.lower()))\n", " points[\"asym\"][direction.lower()] = collect(in_session, setpoint_asymmetry_from_trial, \n", " pattern=_pattern)\n", " points[\"eye\"][direction.lower()] = collect(in_session, eye_position_from_trial, \n", " pattern=_pattern)\n", " \n", " # bin epoch time to `nbin`\n", " points_tbinned = dict()\n", " for datatype, directions in points.items():\n", " points_tbinned[datatype] = []\n", " for i in range(nbin):\n", " points_tbinned[datatype].append({})\n", " for direction, traces in directions.items():\n", " for i, values in enumerate(bin_traces(traces, nbin=nbin, concat=True)):\n", " points_tbinned[datatype][i][direction] = values\n", " \n", " # format to TurnBasedData\n", " for datatype in cls.datatypes_:\n", " for i, time_bin in enumerate(points_tbinned[datatype]):\n", " points_tbinned[datatype][i] = TurnBasedData.from_dict(time_bin)\n", " \n", " return cls.from_dict(subject, session, points_tbinned)\n", "\n", " def shuffled(self):\n", " ret = {}\n", " for datatype in self.datatypes_:\n", " ret[datatype] = []\n", " # shuffle values for each bin\n", " for binned in getattr(self, datatype):\n", " nleft = binned.left.size\n", " merged = np.concatenate([binned.left, binned.right], axis=0)\n", " np.random.shuffle(merged)\n", " ret[datatype].append(TurnBasedData.from_dict(dict(left=merged[:nleft], right=merged[nleft:])))\n", " return self.from_dict(self.subject, self.session, ret)\n", " \n", " @property\n", " def ROC(self):\n", " ret = {}\n", " for datatype in self.datatypes_:\n", " ret[datatype] = []\n", " for time_bin in getattr(self, datatype):\n", " ret[datatype].append(ROC.compute(time_bin.left, time_bin.right))\n", " return SessionData.from_dict(self.subject, self.session, ret)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "***in MLA005757, session2019-07-18-001: no epoch found from 5 trials (eye_position_from_trial, AtEnd Left)\n", "***in MLA005757, session2019-07-16-001: no epoch found from 5 trials (setpoint_asymmetry_from_trial, AtEnd Right)\n", "***in MLA007519, session2019-10-01-001: no epoch found from 5 trials (eye_position_from_trial, AtEnd Left)\n", "***in MLA007519, session2019-10-02-001: no epoch found from 4 trials (eye_position_from_trial, AtEnd Left)\n", "***in MLA007519, session2019-09-29-001: no epoch found from 3 trials (eye_position_from_trial, AtEnd Left)\n", "***in MLA007518, session2019-10-07-001: no epoch found from 4 trials (setpoint_asymmetry_from_trial, AtEnd Right)\n", "***in MLA007519, session2019-09-30-001: no epoch found from 3 trials (setpoint_asymmetry_from_trial, AtEnd Right)\n", "***in MLA007518, session2019-10-04-001: no epoch found from 5 trials (eye_position_from_trial, AtEnd Left)\n" ] } ], "source": [ "points = []\n", "points_rand = []\n", "aucs = dict(asym=[], eye=[])\n", "aucs_rand = dict(asym=[], eye=[])\n", "np.random.seed(539167)\n", "\n", "for subject, session in set((trial.subject, trial.session) for trial in trials):\n", " try:\n", " _P = BinnedDataPoints.load(trials, subject, session)\n", " _Pr = _P.shuffled()\n", " _R = _P.ROC\n", " _Rr = _Pr.ROC\n", " \n", " for fld in SessionData.datatypes_:\n", " aucs[fld].append(np.array([roc.AUC for roc in getattr(_R, fld)]))\n", " aucs_rand[fld].append(np.array([roc.AUC for roc in getattr(_Rr, fld)]))\n", " \n", " points.append(_P)\n", " points_rand.append(_Pr)\n", " except NoEpochFoundError as e:\n", " print(f\"***in {subject}, {session}: {e}\")\n", "for key in aucs.keys():\n", " aucs[key] = np.stack(aucs[key], axis=-1)\n", " aucs_rand[key] = np.stack(aucs_rand[key], axis=-1)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "titles = dict(asym=\"Whisker asymmetry\",\n", " eye=\"Eye position\")\n", "linecolors = dict(asym=\"g\",\n", " eye=\"firebrick\")\n", "x = np.arange(nbin)*0.2 + 0.1\n", "xticks = (0, 0.2, 0.4, 0.6, 0.8, 1)\n", "xticklabels = (\"0\", \"\", \"\", \"\", \"\", \"1\")\n", "marker = 12\n", "\n", "for datatype in SessionData.datatypes_:\n", " fig = plt.figure(figsize=(3, 2.5))\n", " plt.plot(x, aucs[datatype], \"-\", color=linecolors[datatype], lw=.5, alpha=.3)\n", " plt.plot(x, np.median(aucs[datatype], -1), \".-\", color=linecolors[datatype], lw=1.5, alpha=.95, \n", " ms=marker, mec='none')\n", " plt.plot(x, aucs_rand[datatype], \"-\", color=\"gray\", lw=.5, alpha=.3)\n", " plt.plot(x, np.median(aucs_rand[datatype],-1), \".-\", color=\"gray\", lw=1.5, alpha=.95, \n", " ms=marker, mec='none')\n", " plt.hlines(0.5, 0, 1, color=\"k\", linestyle=\"--\", linewidth=1)\n", "\n", " plt.xlim(0, 1)\n", " plt.ylim(0, 1.1)\n", " plt.xticks(xticks, xticklabels)\n", " plt.yticks((0, 0.5, 1), (\"0\", \"0.5\", \"1\"))\n", " for side in (\"top\", \"right\"):\n", " plt.gca().spines[side].set_visible(False)\n", " plt.xlabel(\"Normalized time\", fontsize=labelsize)\n", " plt.ylabel(\"Area under curve\", fontsize=labelsize)\n", " plt.title(titles[datatype], fontsize=labelsize)\n", " plt.subplots_adjust(left=.22, right=.98, bottom=.22)\n", " savefig(fig, f\"AUC-values/{datatype}-allsessions\")\n", " plt.show()\n", " \n", "# merged\n", "fig = plt.figure(figsize=(3, 2.5))\n", "for datatype in SessionData.datatypes_:\n", " plt.plot(x, aucs[datatype], \"-\", color=linecolors[datatype], lw=.5, alpha=.3)\n", " plt.plot(x, np.median(aucs[datatype], -1), \".-\", color=linecolors[datatype], lw=1.5, alpha=.95,\n", " ms=marker, mec='none')\n", "plt.hlines(0.5, 0, 1, color=\"k\", linestyle=\"--\", linewidth=1)\n", "\n", "plt.xlim(0, 1)\n", "plt.ylim(0, 1.1)\n", "plt.xticks(xticks, xticklabels)\n", "plt.yticks((0, 0.5, 1), (\"0\", \"0.5\", \"1\"))\n", "for side in (\"top\", \"right\"):\n", " plt.gca().spines[side].set_visible(False)\n", "plt.xlabel(\"Normalized time\", fontsize=labelsize)\n", "plt.ylabel(\"Area under curve\", fontsize=labelsize)\n", "plt.title(\"Merged\", fontsize=labelsize)\n", "plt.subplots_adjust(left=.22, right=.98, bottom=.22)\n", "savefig(fig, f\"AUC-values/merged-allsessions\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# p-values\n", "\n", "## Whisker asymmetry, AUC\n", "\n", "### data vs per-bin shuffled\n", "\n", "- bin#1: p=0.006568801831243719**\n", "- bin#2: p=0.002916591157675532**\n", "- bin#3: p=3.259192282860724e-05***\n", "- bin#4: p=1.0881572934871498e-05***\n", "- bin#5: p=4.151388909112204e-06***\n", "\n", "### paired comparison\n", "\n", "- bin#1 vs bin#2: p=1.0562961656964394, NS\n", "- bin#1 vs bin#3: p=0.903667986647609, NS\n", "- bin#1 vs bin#4: p=0.00067239544019378***\n", "- bin#1 vs bin#5: p=0.00015256330144079188***\n", "- bin#2 vs bin#3: p=8.773141934901375, NS\n", "- bin#2 vs bin#4: p=0.038716557807790625*\n", "- bin#2 vs bin#5: p=0.0015965699992383435**\n", "- bin#3 vs bin#4: p=0.013761755251058645*\n", "- bin#3 vs bin#5: p=0.0005138917930562222***\n", "- bin#4 vs bin#5: p=0.3734909329710342, NS\n", "\n", "## Eye position, AUC\n", "\n", "### data vs per-bin shuffled\n", "\n", "- bin#1: p=0.6444123337698114, NS\n", "- bin#2: p=0.11183133142870988, NS\n", "- bin#3: p=0.002916591157675532**\n", "- bin#4: p=1.5427428853582637e-05***\n", "- bin#5: p=5.757321672787589e-06***\n", "\n", "### paired comparison\n", "\n", "- bin#1 vs bin#2: p=1.0610789881370306, NS\n", "- bin#1 vs bin#3: p=0.23948484723587574, NS\n", "- bin#1 vs bin#4: p=0.003156817662154144**\n", "- bin#1 vs bin#5: p=7.425181706177757e-05***\n", "- bin#2 vs bin#3: p=2.168309913991769, NS\n", "- bin#2 vs bin#4: p=0.031626852304110456*\n", "- bin#2 vs bin#5: p=0.0009367728787391525***\n", "- bin#3 vs bin#4: p=0.4514141345686296, NS\n", "- bin#3 vs bin#5: p=0.0032693325414296205**\n", "- bin#4 vs bin#5: p=0.0453270538269953*\n", "\n", "## AUC, whisker asymmetry vs eye position\n", "\n", "- bin#1: p=0.02926785284019982*\n", "- bin#2: p=0.026917922326807286*\n", "- bin#3: p=0.2798644670249715, NS\n", "- bin#4: p=0.0275010263360169*\n", "- bin#5: p=0.3559671197337311, NS\n", "\n" ] } ], "source": [ "combis = ((0,1),(0,2),(0,3),(0,4),(1,2),(1,3),(1,4),(2,3),(2,4),(3,4))\n", "test = stats.mannwhitneyu\n", "\n", "print(\"# p-values\\n\")\n", "for statstype, data_used, rand_used in ((\"AUC\", aucs, aucs_rand),):\n", " for datatype in SessionData.datatypes_:\n", " print(f\"## {titles[datatype]}, {statstype}\")\n", " print(\"\")\n", " print(\"### data vs per-bin shuffled\")\n", " print(\"\")\n", " pvals = [test(data_used[datatype][i], rand_used[datatype][i]).pvalue for i in range(5)]\n", " for i, pval in enumerate(pvals):\n", " print(f\"- bin#{i+1}: p={pval}{psign(pval)}\")\n", " print(\"\")\n", " print(\"### paired comparison\")\n", " print(\"\")\n", " for p1, p2 in combis:\n", " pval = test(data_used[datatype][p1], data_used[datatype][p2]).pvalue * len(combis)\n", " print(f\"- bin#{p1+1} vs bin#{p2+1}: p={pval}{psign(pval)}\")\n", " print(\"\")\n", " \n", " print(f\"## {statstype}, whisker asymmetry vs eye position\")\n", " print(\"\")\n", " pvals = [test(data_used[\"asym\"][i], data_used[\"eye\"][i]).pvalue for i in range(5)]\n", " for i, pval in enumerate(pvals):\n", " print(f\"- bin#{i+1}: p={pval}{psign(pval)}\")\n", " print(\"\")" ] }, { "cell_type": "code", "execution_count": null, "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.10.5" } }, "nbformat": 4, "nbformat_minor": 2 }