Skip to content
Snippets Groups Projects
plots_fig3.ipynb 72.9 KiB
Newer Older
{
 "cells": [
  {
   "cell_type": "markdown",
   "source": [
    "# Create plots for panels used in figure 3"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
Felix Reichel's avatar
Felix Reichel committed
    "import matplotlib.patches as patches\n",
    "import seaborn as sns\n",
    "from scipy.optimize import curve_fit\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "outputs": [],
   "source": [
    "# folder to save all panels for figure\n",
    "savefolder = r\"plots\\fig3\"\n",
    "\n",
    "# file containing the data for the controls\n",
    "results_ctrl_file = r\"data\\shape_analysis\\histograms_HealthyControl_deformed_undeformed.txt\""
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "outputs": [],
   "source": [
    "#define a color seed for each patient\n",
    "color_dict = {'VS': 'C0', 'VL': 'C1', 'RS': 'C2',\n",
    "              'KM': 'C3', 'LM': 'C4'}"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "outputs": [],
   "source": [
Felix Reichel's avatar
Felix Reichel committed
    "def asymptotic_exponential_growth(x, lambda_):\n",
    "    \"\"\"(Inverted) exponential growth function with maximum at 1 for x->infinity:\n",
    "    f(x) = 1 - exp(-lambda * x)\"\"\"\n",
    "    return 1 - np.exp(-lambda_ * x)\n",
    "\n",
    "def deformed_probability_curve(df, v_min=0, v_max=3, binsize=.25):\n",
    "    \"\"\"Compute the values for the shape probability diagram to find a cell\n",
    "    in a deformed state for velocities between v_min and v_max in the DataFrame df\n",
    "\n",
    "    returns: *tuple* (deformed_bins, deformed_hist_normal)\n",
    "        - deformed_bins: *array* limits for the bin ranges of the histogram\n",
    "        - normalized counts for each velocity range\n",
    "    \"\"\"\n",
    "\n",
    "    bins = int(v_max/binsize)   #number of Bins in histogram\n",
    "    #find index of cells in a deformed state. Class definitions are:\n",
    "    #1-parachute, 2-slipper, 3-asym. parachute, 5-multilobe, 7-undefined deformed\n",
    "    #4-discocyte/undeformed, 6-tumbler\n",
    "    deformed_index = ((df['shape'] == 1)\n",
    "                      | (df['shape'] == 2)\n",
    "                      | (df['shape'] == 3)\n",
    "                      | (df['shape'] == 5)\n",
    "                      | (df['shape'] == 7))\n",
    "\n",
    "    #create new column in df that is True for deformed state\n",
    "    df['deformed'] = False\n",
    "    df['deformed'][deformed_index] = True\n",
    "\n",
    "    df_deformed = df[deformed_index]\n",
    "\n",
    "    deformed_hist, deformed_bins = np.histogram(np.array(df_deformed['velocity']),\n",
    "                                                range = (v_min,v_max),\n",
    "                                                bins = bins)\n",
    "    #get the counts for all events to use for normalization\n",
    "    all_hist, all_bins = np.histogram(np.array(df['velocity']),\n",
    "                                      range = (v_min,v_max),\n",
    "                                      bins = bins)\n",
    "\n",
    "    #normalize the deformed histogram\n",
    "    deformed_hist_normal = deformed_hist/all_hist\n",
    "\n",
    "    return deformed_bins, deformed_hist_normal"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [],
   "source": [
    "#define dict to store fit values\n",
    "dict_fitvalues = {}\n",
    "\n",
    "def dict_fit_values_patient(patient, dict_fitvalues):\n",
    "    result_summary_folder = r\"data\\shape_analysis\\result_summaries\"\n",
    "\n",
    "    v_min = 0.\n",
    "    v_max = 3.\n",
    "    binsize = 0.25\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "    # bounds of the parameters in the exponential growth function\n",
    "    fit_bounds=(0, np.inf)\n",
    "\n",
    "    result_file = os.path.join(result_summary_folder, patient + \"_results_MCFM.tsv\")\n",
    "    df_results = pd.read_csv(result_file, sep='\\t')\n",
    "\n",
    "    dates = np.unique(df_results['date'])\n",
    "    dates = np.sort(dates)\n",
    "    day0 = pd.to_datetime(dates[0])\n",
    "\n",
    "    #create dataframes to save fit parameters\n",
    "    df_fit_all = pd.DataFrame()\n",
    "    df_fit_healthy = pd.DataFrame()\n",
    "    df_fit_unhealthy = pd.DataFrame()\n",
    "\n",
    "    for num, date in enumerate(dates):\n",
    "        df_date = df_results[df_results['date']==date]\n",
    "        #create new Dataframe to work with, leave out skipped cells\n",
    "        df = df_date[df_date['shape'] != 0]\n",
    "\n",
    "        healthy_index = df['health'] == 0\n",
    "        df_healthy = df[healthy_index]\n",
    "        unhealthy_index = df['health'] == 1\n",
    "        df_unhealthy = df[unhealthy_index]\n",
    "\n",
    "        #calculate percentage of healthy cells in sample\n",
    "        percentage_healthy = len(df_healthy)/len(df)\n",
    "\n",
    "        bins, deformed_curve = deformed_probability_curve(df, v_min=v_min, v_max=v_max, binsize=binsize)\n",
    "        bins_healthy, deformed_curve_healthy =  deformed_probability_curve(df_healthy,\n",
    "                                                                           v_min=v_min, v_max=v_max, binsize=binsize)\n",
    "        bins_unhealthy, deformed_curve_unhealthy =  deformed_probability_curve(df_unhealthy,\n",
Felix Reichel's avatar
Felix Reichel committed
    "                                                                               v_min=v_min, v_max=v_max, binsize=binsize)\n",
    "\n",
    "        bins_plot = bins[:-1]+binsize/2\n",
    "\n",
    "        #exclude nan values before fitting\n",
    "        ind_nonnan_all = ~np.isnan(deformed_curve)\n",
    "        ind_nonnan_healthy = ~np.isnan(deformed_curve_healthy)\n",
    "        ind_nonnan_unhealthy = ~np.isnan(deformed_curve_unhealthy)\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "        x_all = bins_plot[ind_nonnan_all]\n",
    "        y_all = deformed_curve[ind_nonnan_all]\n",
    "        x_healthy = bins_plot[ind_nonnan_healthy]\n",
    "        y_healthy = deformed_curve_healthy[ind_nonnan_healthy]\n",
    "        x_unhealthy = bins_plot[ind_nonnan_unhealthy]\n",
    "        y_unhealthy = deformed_curve_unhealthy[ind_nonnan_unhealthy]\n",
    "\n",
    "        popt_all_exp, pcov_all_exp = curve_fit(asymptotic_exponential_growth,\n",
    "                                               x_all, y_all,\n",
    "                                               bounds=fit_bounds\n",
    "                                               )\n",
    "        popt_healthy_exp, pcov_healthy_exp = curve_fit(asymptotic_exponential_growth,\n",
    "                                                       x_healthy, y_healthy,\n",
    "                                                       bounds=fit_bounds\n",
    "                                                       )\n",
    "        popt_unhealthy_exp, pcov_unhealthy_exp = curve_fit(asymptotic_exponential_growth,\n",
    "                                                           x_unhealthy, y_unhealthy,\n",
    "                                                           bounds=fit_bounds\n",
    "                                                           )\n",
    "        #days since treatment start\n",
    "        treatment_days = (pd.to_datetime(date) - day0).days\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "        df_fit_all = df_fit_all.append({'lambda': popt_all_exp[0], 'lambda_err': np.sqrt(pcov_all_exp[0,0]),\n",
    "                                        'days': treatment_days,\n",
    "                                        'percent healthy': percentage_healthy\n",
    "                                        },\n",
    "                                       ignore_index=True)\n",
Felix Reichel's avatar
Felix Reichel committed
    "        df_fit_healthy = df_fit_healthy.append({'lambda': popt_healthy_exp[0], 'lambda_err': np.sqrt(pcov_healthy_exp[0,0]),\n",
    "                                                'days': treatment_days\n",
    "                                                },\n",
    "                                               ignore_index=True)\n",
    "        df_fit_unhealthy = df_fit_unhealthy.append({'lambda': popt_unhealthy_exp[0], 'lambda_err': np.sqrt(pcov_unhealthy_exp[0,0]),\n",
    "                                                    'days': treatment_days\n",
    "                                                    },\n",
    "                                                   ignore_index=True)\n",
    "\n",
    "    dict_fitvalues[patient] = {'all': df_fit_all, 'healthy': df_fit_healthy, 'unhealthy': df_fit_unhealthy}\n",
    "\n",
    "    return dict_fitvalues"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Fill dictionary with patient data"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [],
   "source": [
    "patients = ['LM', 'KM']\n",
    "labels = [\"P4\", \"P5\"]\n",
    "\n",
    "for patient in patients:\n",
    "    dict_fitvalues = dict_fit_values_patient(patient, dict_fitvalues)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
Felix Reichel's avatar
Felix Reichel committed
   "execution_count": 9,
   "outputs": [
    {
     "data": {
Felix Reichel's avatar
Felix Reichel committed
      "text/plain": "<Figure size 792x432 with 2 Axes>",
      "image/png": "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VxEVFYU2bdrYrPf4449j/vz5WLt2LV555RXIZLJyPadGjx6NdevW4dVXX0X//v0RFBSE+Ph47Nq1Cw899JDFBm6OKOvZVl6O/F2prGc3n9t1E5MFqja++eYbXL16FZ9++qlplZ+SoqOjAcC0Y3FVGTt2LH7++WckJSVZPf7WW2+hRYsWWLZsGdavXw+dToeGDRvitddewzPPPFPmqkeVrbzxDR8+HM2aNcOiRYtw4MABbN++Hb6+voiOjsawYcOs3mPIkCH49NNPIZfLLT6lLOmzzz7DzJkz8e+//+L333+HKIoICQkx/UF99NFHERMTg8WLF2P//v34999/oVQqERQUhP79++Ohhx4yXeuNN97Av//+i9OnT+Pvv/+Gm5sb6tevjzfffBOjRo0yWz2FiO6oDs/e4l4FW8+UYuHh4ejevTt2796Nv/76Cw888AAA+59TMTExWLJkCb7++mv8/fff0Ol0iImJwZw5c+Dt7e2UZAEo+9lWXo78XamsZzef23UPd3AmIqfbv38/xo4di0ceecRmLwwREVUvfHaTNZyzQEROt2DBAgDAE088UcWREBGRvfjsJms4DImInOL8+fPYuXMnTp8+jX/++Qe9evVC27ZtqzosIiIqBZ/dVBYmC0TkFKdPn8ZXX30FLy8vPPjgg/jwww+rOiQiIioDn91UFs5ZICIiIiIiq9izcJvBYIBe73jeJJUKFTq/pmA7a5e60k6qXuRyqd11+Wy2T11oZ11oI1B32knVj61nM5OF2/R6EVlZBQ6f7+urrND5NQXbWbvUlXZS9RIY6G13XT6b7VMX2lkX2gjUnXZS9WPr2czVkIiIiIiIyComC0REREREZBWTBSIiIiIisorJAhERERERWcVkgYiIiIiIrGKyQEREREREVjFZICIiIiIiq5gsEBERERGRVUwWiIiIiIjIKiYLRERERERkFZMFIiIiIiKyiskCERERERFZJavqAMh5zp8/Y1EWHd2iCiIhIiIiotqAyUItcu3aVYsyJgtERERE5CgOQyIiIiIiIquYLBARERERkVVMFoiIiIiIyComC0REREREZBWTBSIiIiIisqparYa0efNm/P777zh16hTS09MRGhqKfv364YUXXoCXl1ep50ZHR1stX79+PZo3b14Z4RIRERER1WrVKllYtGgRQkNDMXnyZISEhODMmTOYM2cO9u/fj19++QUSSekdIUOHDsWIESPMyiIiIioxYiIiIiKi2qtaJQvz58+Hv7+/6fvY2Fj4+vri7bffxv79+9GtW7dSzw8KCkK7du0qOUoiIiIiorrBrmRhzpw5FbrJ4MGDER4eXma9kolCsdatWwMAkpOTKxQDERERERGVj93JgiAIEEWx3DcQBAEdO3a0K1mw5sCBAwCAJk2alFn3l19+wcKFCyGVStG2bVtMmjQJnTp1cui+RERERER1nd3DkN5991306dOnXBfPzs7G0KFDyx1UseTkZMyaNQvdu3c39TDY8sgjj6BXr14ICgpCUlISFi5ciKeeegqLFi1Cly5dyryXVCrA11fpcKxSqaRC5zuDQmH5cjo7purQTldgO4mqh9rwbHaFutDOutBGoO60k2oOu5MFPz8/hIWFleviSqXjv+z5+fl46aWXIJVKMXPmzDLrf/7556Z/d+rUCX369MGgQYPw9ddfY8WKFWWer9eLyMoqcDheX19lhc53Bo1GZ1Hm7JiqQztdge0kqjyBgd52160Nz2ZXqAvtrAttBOpOO6n6sfVstitZWLlyJRo2bFjum6pUKqxcudKuIUQlqdVqvPjii0hMTMTSpUsREhJS7nt7eXmhZ8+eWLNmTbnPJSIiIiIiO5OFtm3bOnTx4rkD5aHVajFp0iScOnUKixcvtrl/gr0EQajQ+UREREREdVW1WjrVYDDgzTffxL59+/Ddd99VaBnUvLw87Ny5E23atHFegEREREREdUi1ShY++ugjbN68GS+++CI8PDxw7Ngx07GQkBCEhIQgKSkJDzzwACZMmICJEycCABYuXIgrV66gS5cuCAoKwo0bN7Bo0SKkpaXhiy++qKLWEBERERHVbA4nCxqNBg899BC2b9/utGB27doFwLg52/z5882OTZw4Ea+88gpEUYRerzdbxjUyMhJbt27F1q1bkZeXBy8vL7Rv3x7Tp09nzwIRERERkYMq1LOQlJTkrDgAADt27CizTnh4OM6fP29W1rt3b/Tu3dupsRARERER1XWlJgul7asgiiInD1cT53ffwokt1+EW6QGP8EJTeWGiB1Z/cBBt+jdA9D3lX1GKiIiIiOq2UpOFjIwMvP766wgNDbU4ptVq8frrr1daYGSf87tv4fjm6wAA9WVPAIBHeCEKEz1M3xcfZ8JAREREROVRarLQvHlz1KtX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\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
Felix Reichel's avatar
Felix Reichel committed
    "# plot variables\n",
    "fontsize = 18\n",
    "linewidth = 5\n",
    "markersize = 12\n",
    "errbar_width = 5\n",
    "xlabel = 'Day since treatment start'\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "# color for the control interval\n",
    "ctrl_clr = 'darkslategray'\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "# compute control fit values\n",
    "results_ctrl = np.loadtxt(results_ctrl_file)\n",
Felix Reichel's avatar
Felix Reichel committed
    "\n",
    "v_ctrl = results_ctrl[:,0]\n",
    "probs_ctrl = results_ctrl[:,3]\n",
    "probs_ctrl_err = results_ctrl[:,4]\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "v_min = 0.\n",
    "v_max = 3.\n",
    "binsize = 0.25\n",
    "bins = int(v_max / binsize)\n",
    "\n",
    "ind_vmax = v_ctrl <= v_max\n",
    "v_ctrl = v_ctrl[ind_vmax]\n",
    "probs_ctrl = probs_ctrl[ind_vmax]\n",
    "probs_ctrl_err = probs_ctrl_err[ind_vmax]\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "fit_bounds = [0, np.inf]\n",
    "popt_ctrl, pcov_ctrl = curve_fit(asymptotic_exponential_growth, v_ctrl, probs_ctrl,\n",
    "                                 sigma = probs_ctrl_err, absolute_sigma=False,\n",
Felix Reichel's avatar
Felix Reichel committed
    "                                 bounds=fit_bounds\n",
    "                                 )\n",
    "perr_ctrl = np.sqrt(np.diag(pcov_ctrl))\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "# limits of the 95% confidence interval\n",
    "ci_lower = float(popt_ctrl - perr_ctrl)\n",
    "ci_upper = float(popt_ctrl + perr_ctrl)\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "with sns.axes_style('darkgrid'):\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "    fig = plt.figure(0,(11,6))\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "    params = ['lambda']\n",
    "    plot_titles = ['Normocytes', 'Acanthocytes']\n",
Felix Reichel's avatar
Felix Reichel committed
    "    ylim = [0, 2.7]\n",
    "\n",
    "    for jj, patient in enumerate(patients):\n",
    "        data = dict_fitvalues[patient]\n",
    "        color = color_dict[patient]\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "        para = 'lambda'\n",
    "        para_label = r'$\\lambda$'\n",
    "\n",
    "        for n, health in enumerate(['healthy', 'unhealthy']):\n",
    "            ax=plt.subplot(1,2,n+1)\n",
    "\n",
    "            df_plot = data[health]\n",
    "            xdata = df_plot['days']\n",
    "            ydata = df_plot[para]\n",
    "            yerr = df_plot[para + \"_err\"]\n",
    "\n",
    "            if patient=='LM':\n",
    "                # plot data on treatment\n",
    "                plt.errorbar(xdata[:-2], ydata[:-2], yerr=yerr[:-2],\n",
    "                             c=color, label=labels[jj],\n",
    "                             ls='-', lw=linewidth, marker='X', markersize=markersize,\n",
    "                             ecolor='gray', elinewidth=errbar_width)\n",
    "                # plot data off treatment\n",
    "                plt.errorbar(xdata[-3:], ydata[-3:], yerr=yerr[-3:],\n",
    "                             c=color, #label=labels[jj],\n",
    "                             ls='--', lw=linewidth, marker='X', markersize=markersize,\n",
    "                             ecolor='gray', elinewidth=errbar_width)\n",
    "            else:\n",
    "                # plot data on treatment\n",
    "                plt.errorbar(xdata[:-1], ydata[:-1], yerr=yerr[:-1],\n",
    "                             c=color, label=labels[jj],\n",
    "                             ls='-', lw=linewidth, marker='X', markersize=markersize,\n",
    "                             ecolor='gray', elinewidth=errbar_width)\n",
    "                # plot data off treatment\n",
    "                plt.errorbar(xdata[-2:], ydata[-2:], yerr=yerr[-2:],\n",
    "                             c=color, #label=labels[jj],\n",
    "                             ls='--', lw=linewidth, marker='X', markersize=markersize,\n",
    "                             ecolor='gray', elinewidth=errbar_width)\n",
    "\n",
    "            plt.ylim(ylim)\n",
    "            plt.xlabel(xlabel, fontsize=fontsize)\n",
    "            plt.tick_params(axis='both', which='both', labelsize=fontsize-2)\n",
    "            plt.xticks([0,100,200,300])\n",
    "            plt.title(r'{} - {}'.format(para_label, plot_titles[n]), fontsize=fontsize+2)\n",
    "\n",
    "            # plot control region at end only\n",
    "            if patient==patients[-1]:\n",
    "                if health=='unhealthy':\n",
Felix Reichel's avatar
Felix Reichel committed
    "                    ax.axhline(ci_lower, ls='--', lw=.5, c=ctrl_clr, zorder=0)\n",
    "                    ax.axhline(ci_upper, ls='--', lw=.5, c=ctrl_clr, zorder=0)\n",
    "                    axis_limits = ax.get_xlim()\n",
    "                    ax.add_patch(patches.Rectangle((axis_limits[0], ci_lower),\n",
    "                                                   np.diff(axis_limits), ci_upper-ci_lower,\n",
    "                                                   color=ctrl_clr, alpha=0.15, zorder=0,\n",
    "                                                   label = 'CTRL'\n",
    "                                                   )\n",
    "                                 )\n",
    "                    ax.get_yaxis().set_ticklabels([])\n",
    "\n",
Felix Reichel's avatar
Felix Reichel committed
    "                else:\n",
    "                    ax.axhline(ci_lower, ls='--', lw=.5, c=ctrl_clr, zorder=0)\n",
    "                    ax.axhline(ci_upper, ls='--', lw=.5, c=ctrl_clr, zorder=0)\n",
    "                    axis_limits = ax.get_xlim()\n",
    "                    ax.add_patch(patches.Rectangle((axis_limits[0], ci_lower),\n",
    "                                                   np.diff(axis_limits), ci_upper-ci_lower,\n",
    "                                                   color=ctrl_clr, alpha=0.1, zorder=0,\n",
    "                                                   )\n",
    "                                 )\n",
    "            # set alpha of errorbars\n",
    "            for collection in ax.collections:\n",
    "                collection.set_alpha(.4)\n",
    "\n",
    "    fig.supylabel(\"Exponential growth rate [(mm/s)$^{-1}$]\", fontsize=fontsize)\n",
Felix Reichel's avatar
Felix Reichel committed
    "    plt.legend(loc='lower right', ncol=2, fontsize=fontsize-4, title_fontsize=fontsize)\n",
    "    plt.tight_layout()\n",
Felix Reichel's avatar
Felix Reichel committed
    "    savename = \"fig3_growth_rate_lithium\"\n",
    "    savepath = os.path.join(savefolder,savename)\n",
    "    plt.savefig(savepath+\".pdf\", dpi=900, format='pdf')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
   "execution_count": 7,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}