Created
October 24, 2019 20:38
-
-
Save ravila4/7890f504d30053f20ac4086232a7799c to your computer and use it in GitHub Desktop.
Fitting Gaussian curves to histograms
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Fitting a gaussian on HTS results" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 51, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import pandas as pd\n", | |
| "import numpy as np\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "import seaborn as sns\n", | |
| "\n", | |
| "import math" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "df = pd.read_csv(\"gskHTShitmark.csv\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>WELL_ID</th>\n", | |
| " <th>HITMARK_CATEGORY</th>\n", | |
| " <th>PLATE_ID</th>\n", | |
| " <th>WELL_ROW</th>\n", | |
| " <th>WELL_COLUMN</th>\n", | |
| " <th>WELL_TYPE</th>\n", | |
| " <th>LNB_REF</th>\n", | |
| " <th>UNCORRECTED_RAW</th>\n", | |
| " <th>HITMARK_RESPONSE</th>\n", | |
| " <th>LNB_REF.1</th>\n", | |
| " <th>...</th>\n", | |
| " <th>MWcLogP_HIT_MARK.1</th>\n", | |
| " <th>cPFI_RespOrder</th>\n", | |
| " <th>cPFI_nSDs</th>\n", | |
| " <th>cPFI_HIT_MARK</th>\n", | |
| " <th>fCsp3_RespOrder</th>\n", | |
| " <th>fCsp3_nSDs</th>\n", | |
| " <th>fCsp3_HIT_MARK</th>\n", | |
| " <th>CCE_RespOrder</th>\n", | |
| " <th>CCE_nSDs</th>\n", | |
| " <th>CCE_HIT_MARK</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>113986</td>\n", | |
| " <td>UP_hRIP1_HTS_SS_002</td>\n", | |
| " <td>P00HR1T</td>\n", | |
| " <td>7</td>\n", | |
| " <td>35</td>\n", | |
| " <td>CTRL2</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>145.19</td>\n", | |
| " <td>118.01</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>...</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>0</td>\n", | |
| " <td>16.447</td>\n", | |
| " <td>HIT</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>114850</td>\n", | |
| " <td>UP_hRIP1_HTS_SS_002</td>\n", | |
| " <td>P00HR1T</td>\n", | |
| " <td>25</td>\n", | |
| " <td>35</td>\n", | |
| " <td>CTRL2</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>155.09</td>\n", | |
| " <td>116.59</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>...</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>10</td>\n", | |
| " <td>16.246</td>\n", | |
| " <td>HIT</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>51683</td>\n", | |
| " <td>UP_hRIP1_HTS_SS_001</td>\n", | |
| " <td>P00HR21</td>\n", | |
| " <td>21</td>\n", | |
| " <td>36</td>\n", | |
| " <td>CTRL2</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>226.61</td>\n", | |
| " <td>106.05</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>...</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>100</td>\n", | |
| " <td>14.753</td>\n", | |
| " <td>HIT</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>66275</td>\n", | |
| " <td>UP_hRIP1_HTS_SS_001</td>\n", | |
| " <td>P00HRBZ</td>\n", | |
| " <td>5</td>\n", | |
| " <td>36</td>\n", | |
| " <td>CTRL2</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>306.74</td>\n", | |
| " <td>101.48</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>...</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>999</td>\n", | |
| " <td>14.106</td>\n", | |
| " <td>HIT</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>87395</td>\n", | |
| " <td>UP_hRIP1_HTS_SS_001</td>\n", | |
| " <td>P00HRBF</td>\n", | |
| " <td>29</td>\n", | |
| " <td>36</td>\n", | |
| " <td>CTRL2</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>245.30</td>\n", | |
| " <td>101.48</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>...</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>1000</td>\n", | |
| " <td>14.106</td>\n", | |
| " <td>HIT</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>5 rows × 84 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " WELL_ID HITMARK_CATEGORY PLATE_ID WELL_ROW WELL_COLUMN WELL_TYPE \\\n", | |
| "0 113986 UP_hRIP1_HTS_SS_002 P00HR1T 7 35 CTRL2 \n", | |
| "1 114850 UP_hRIP1_HTS_SS_002 P00HR1T 25 35 CTRL2 \n", | |
| "2 51683 UP_hRIP1_HTS_SS_001 P00HR21 21 36 CTRL2 \n", | |
| "3 66275 UP_hRIP1_HTS_SS_001 P00HRBZ 5 36 CTRL2 \n", | |
| "4 87395 UP_hRIP1_HTS_SS_001 P00HRBF 29 36 CTRL2 \n", | |
| "\n", | |
| " LNB_REF UNCORRECTED_RAW HITMARK_RESPONSE LNB_REF.1 ... \\\n", | |
| "0 NaN 145.19 118.01 NaN ... \n", | |
| "1 NaN 155.09 116.59 NaN ... \n", | |
| "2 NaN 226.61 106.05 NaN ... \n", | |
| "3 NaN 306.74 101.48 NaN ... \n", | |
| "4 NaN 245.30 101.48 NaN ... \n", | |
| "\n", | |
| " MWcLogP_HIT_MARK.1 cPFI_RespOrder cPFI_nSDs cPFI_HIT_MARK \\\n", | |
| "0 NaN NaN NaN NaN \n", | |
| "1 NaN NaN NaN NaN \n", | |
| "2 NaN NaN NaN NaN \n", | |
| "3 NaN NaN NaN NaN \n", | |
| "4 NaN NaN NaN NaN \n", | |
| "\n", | |
| " fCsp3_RespOrder fCsp3_nSDs fCsp3_HIT_MARK CCE_RespOrder CCE_nSDs \\\n", | |
| "0 NaN NaN NaN 0 16.447 \n", | |
| "1 NaN NaN NaN 10 16.246 \n", | |
| "2 NaN NaN NaN 100 14.753 \n", | |
| "3 NaN NaN NaN 999 14.106 \n", | |
| "4 NaN NaN NaN 1000 14.106 \n", | |
| "\n", | |
| " CCE_HIT_MARK \n", | |
| "0 HIT \n", | |
| "1 HIT \n", | |
| "2 HIT \n", | |
| "3 HIT \n", | |
| "4 HIT \n", | |
| "\n", | |
| "[5 rows x 84 columns]" | |
| ] | |
| }, | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 119, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "rob_mean = df.bulkResp_RobMean[0]\n", | |
| "rob_std_dev = df.bulkResp_RobSD[0]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 120, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "(1.85, 7.06)" | |
| ] | |
| }, | |
| "execution_count": 120, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "rob_mean, rob_std_dev" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 121, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "test_data = df[df.WELL_TYPE == \"TEST\"].HITMARK_RESPONSE\n", | |
| "n = len(test_data)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 135, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt.hist(test_data, bins=100)\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Calculating the Gaussian\n", | |
| "The equation is:\n", | |
| "\n", | |
| "${\\displaystyle g(x)={\\frac {1}{\\sigma {\\sqrt {2\\pi }}}}e^{-{\\frac {1}{2}}\\left((x-\\mu )/\\sigma \\right)^{2}}}$\n", | |
| "\n", | |
| "Note that to get the normal curve to fit, we had to normalize the histogram. This divides the height of each bar by the total area under the histogram, which depends on the number of samples, and the width of each bin. Matplotlib normalizes automatically with the `density=True` parameter." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 139, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "x = np.arange(rob_mean - (3 * rob_std_dev) , rob_mean + (3 * rob_std_dev))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 140, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "y = 1 / (rob_std_dev * math.sqrt(2 * math.pi)) * math.e ** (-0.5 * ((x - rob_mean) / rob_std_dev) ** 2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 141, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt.hist(test_data, bins=100, density=True)\n", | |
| "plt.plot(x, y)\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Another possibility, instead of normalizing the histogram, is to scale the Gaussian curve by the number of samples, times the bin width." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 164, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "area = n * (test_data.max() - test_data.min()) / 100" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 165, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt.hist(test_data, bins=100)\n", | |
| "plt.plot(x, y * area)\n", | |
| "plt.show()" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "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.7.3" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 4 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment