Skip to content

Instantly share code, notes, and snippets.

@clintval
Created August 28, 2017 16:50
Show Gist options
  • Save clintval/cb3b042e849bae4f6d125b5a16b746a7 to your computer and use it in GitHub Desktop.
Save clintval/cb3b042e849bae4f6d125b5a16b746a7 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"\n",
"def monte_carlo_spectrum(p, max_choices, metric, cutoff=0.95,\n",
" iterations=50):\n",
" \"\"\"\n",
" Randomly generate discrete distributions from a set of probabilities while\n",
" adjusting how many choices are made. Returns a ratio of the distributions\n",
" that pass a specified cutoff value for a given distance metric.\n",
"\n",
" Parameters\n",
" ----------\n",
" probabilities : list\n",
" List of len(a) of probabilities defining the discrete distribution.\n",
" max_choices : int\n",
" Max number of choices to make when sampling the distribution.\n",
" metric : func\n",
" Distance function use for calculating the simulated distribution to the\n",
" true distribution.\n",
" cutoff : float\n",
" Threshold for calling a simulated and real distribution similar.\n",
" iterations : int\n",
" How many times to sample at a given amount of choices.\n",
"\n",
" Returns\n",
" -------\n",
" y : list\n",
" A list where each element corresponds to one iteration and reports the\n",
" percent of simulated spectra identified as being similar to the\n",
" known distribution.\n",
"\n",
" Examples\n",
" --------\n",
" >>>import numpy as np\n",
" >>>from scipy.spatial.distance import cosine\n",
" >>>monte_carlo_spectrum([0.2, 0.8],\n",
" max_choices=5,\n",
" metric=cosine,\n",
" cutoff=0.95,\n",
" iterations=20)\n",
" [0.0, 0.9, 0.65, 0.95, 0.85]\n",
" \"\"\"\n",
" y = []\n",
"\n",
" for choices in np.arange(max_choices):\n",
" passed_cutoff = 0\n",
"\n",
" # Randomly generated a spectrum many iterative times\n",
" for iteration in np.arange(iterations):\n",
" simulated = sample_distribution(a=len(p), size=choices, p=p)\n",
"\n",
" if 1 - metric(p, simulated) > cutoff:\n",
" passed_cutoff += 1\n",
"\n",
" y.append(passed_cutoff / iterations)\n",
" return y\n",
"\n",
"\n",
"def sigmoid(x, x0, k):\n",
" \"\"\"\n",
" Return the result of a number passed through the sigmoid function.\n",
"\n",
" 1\n",
" S(x) = -----------------------\n",
" 1 + e^(-k * (x - x0))\n",
"\n",
" Parameters\n",
" ----------\n",
" x : int or float\n",
" Integer or float.\n",
" x0 : int or float\n",
" Integer or float.\n",
" k : int or float\n",
" Integer or float.\n",
"\n",
" Returns\n",
" -------\n",
" S(x) : float\n",
" Integer or float\n",
" \"\"\"\n",
" return 1 / (1 + np.exp(-k * (x - x0)))\n",
"\n",
"\n",
"def sample_distribution(a, size=1, p=None):\n",
" \"\"\"\n",
" Samples a discrete distribution. If no probabilities are give then the\n",
" distribution is assumed uniform.\n",
"\n",
" Parameters\n",
" ----------\n",
" a : int\n",
" Length of discrete distribution.\n",
" size : int\n",
" Choices to make to sample the discrete distribution.\n",
" p : list_like\n",
" List of len(a) of probabilities defining the discrete distribution.\n",
"\n",
" Returns\n",
" -------\n",
" simulated : array\n",
" A list of choices drawn against the probabilities provided.\n",
"\n",
" Examples\n",
" --------\n",
" >>>import numpy as np\n",
" >>>np.random.seed(2)\n",
" >>>sample_distribution(a=3, size=5, p=[0.2, 0.7, 0.1])\n",
" array([1, 4, 0])\n",
" \"\"\"\n",
" simulated = np.zeros(a, dtype=np.int)\n",
"\n",
" for index in np.random.choice(a=a, size=size, p=p):\n",
" simulated[index] += 1\n",
" return simulated\n",
"\n",
"\n",
"def weighted_avg_and_std(values, weights):\n",
" \"\"\"\n",
" Return the weighted average and standard deviation.\n",
"\n",
" Parameters\n",
" ----------\n",
" values : numpy ndarray\n",
" Integers and floats of shape n.\n",
"\n",
" weights : numpy ndarray\n",
" Integers and floats of same shape n.\n",
"\n",
" Returns\n",
" -------\n",
" average : float\n",
" Weighted average of values.\n",
"\n",
" stdev : float\n",
" Weighted standard deviation.\n",
"\n",
" Examples\n",
" --------\n",
" >>>weighted_avg_and_std([2, 3, 4], [4, 1, 2])\n",
" (2.7142857142857144, 0.88063057185271099)\n",
" \"\"\"\n",
" average = np.average(values, weights=weights)\n",
" stdev = np.sqrt(np.average((values - average)**2, weights=weights))\n",
" return average, stdev\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"%load_ext autoreload\n",
"%autoreload 2\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.patches as patches\n",
"from scipy.optimize import curve_fit\n",
"from scipy.spatial.distance import cosine\n",
"from siglib.statistics import monte_carlo_spectrum, sigmoid\n",
"from scipy.stats import entropy\n",
"import importlib"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Import Cosmic Signatures\n",
"---"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from siglib.utils import load_dataset\n",
"signatures, metadata = load_dataset('cosmic_signatures')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Run Simulation on Signature 24\n",
"---"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [],
"source": [
"max_mutations = 500\n",
"cutoff = 0.95\n",
"iterations = 750\n",
"np.random.seed(0)\n",
"\n",
"x_first = np.arange(max_choices)\n",
"y_first = monte_carlo_spectrum(signatures[24 - 1],\n",
" max_choices=max_mutations,\n",
" metric=cosine,\n",
" cutoff=cutoff,\n",
" iterations=iterations)\n",
"\n",
"popt, pcov = curve_fit(sigmoid, x_first, y_first)\n",
"yfit_first = sigmoid(x_first, *popt)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n8sgjufTSSwG46667WLt2LePHj+fJJ5/kqaee4o9//CMAr732GocddhhHHnlk67z333+fE044gbPP\nPpsDDjiAl19+uTWdww47jOOPP5777rsPgCuvvJIyr/45kWeeeYYf/ehHrdNvvfUWxx57LFOmTKGp\nqQlwA7pTTz0VgO9+97t88MEHO/JUGmN2c6pKeMkSah9/grLJF7B+vwOo/M1viZaWknnW/9Dn3bfp\n++nHFN5/H9mTJxPaf/82QQ6AU11NdOVK1Pve0fp6AgMHkjZuHL68PLSuzn30etMmIitWENh77zYN\ngIOjRhLYZxQi4gZVBx1IcOhebfbhy852Hw9PQvx+a/zbA1mJThIFBQVMnjyZYcOG8cMf/pDKykru\nvPNOZs2ahd/v5/vf/z4LF7qDBq9fv5433ngDn89HQ0MDkyZNAmDixInMmjWLK6+8koceeogZM2YA\n8NRTT7UUxfHLX/6SOXPmkJOTw4QJEzjttNMAqKqq4p133mH9+vWcdtppnHnmmTz//PPMnDmTrJi6\n7LvuuivpMZSXl7NkyRKOOOIIAMaOHcvSpUsJhUJcd9113H777Vx77bVUVFSQ593F5Ofntxs4GWN6\nBqehgaYPP6Rx+ts0zpiBhNJIO/ooMr53Bvm3/wV/cXHybSsqiKxcSejAA1vnaUODGzAtWIivVzHa\n0OA+og0Ehg9Ha2vBcdzO8jLS8cWl78vKgpjvPl9+/g4+YtNdWaCTomXLllFSUsKECRNQVaqqqigp\nKSErK4uxY8e2Vlm999573H777USjUVatWsXq1e4YpInaB23evJk+ffqQk5MDwGGHHcaSJUvo1asX\nY8aMAWCPPfagqqoKgLvvvpvLL7+caDTKpZdeypFHHtlunl988UXOOuus1unYAOmcc87hd7/7HQCF\nhYVUV1eTm5tLVVUVhYWF23qajDG7sejmzTS+8y6N06fT9PEnBPffn4wTJ5Bz2c9a284k3G7TJqLr\n1xMcMYJoaanb6Lemts062thEYMhgiEaJfP01OApeqY8vMxO8R69betrd3t5wjWlhgU47QqEQ4XAY\ngL322othw4bxzjvv4PP5WgOXDz74AH9MPfBvf/tb3nrrLfr06cPEiRNb1/Mn6JmyV69ebNq0ierq\nanJycvj000/5wQ9+QHl5eZsPeUsaBx54IE888QRr167l9NNPZ/bs2e3m/9lnn+Xxxx9vnW4JZgBm\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f9c14211128>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"module = importlib.import_module(\"palettable.colorbrewer.qualitative\")\n",
"colors = getattr(module, 'Set1_{}'.format(5))\n",
"fig, ax = plt.subplots(1, figsize=(8, 4.75))\n",
"\n",
"degree = round(entropy(signatures[24 - 1]), 2)\n",
"\n",
"ax.axhline(0.8, color='grey', alpha=0.75)\n",
"ax.plot(x_first, y_first,\n",
" color=colors.mpl_colors[0],\n",
" alpha=0.3)\n",
"ax.plot(x_first, yfit_first,\n",
" color=colors.mpl_colors[0],\n",
" label='Signature 24 | Entropy: {}'.format(degree))\n",
"\n",
"ax.get_xaxis().set_tick_params(direction='out', width=1)\n",
"ax.get_yaxis().set_tick_params(direction='out', width=1)\n",
"for tic in ax.xaxis.get_major_ticks() + ax.yaxis.get_major_ticks():\n",
" tic.tick2On = False\n",
" \n",
"\n",
"ax.set_xlabel('Number of Mutations')\n",
"ax.set_ylabel('Power in Detecting\\nExperimental Effect')\n",
"ax.set_title('Number of Mutations Required for a Confident\\n'\n",
" 'Depiction of Signature 24 in an AFB$_{1}$ Exposed Liver')\n",
"ax.annotate('Iterations: {}\\nEntropy as: $-(\\sum(pk) \\cdot '\n",
" '\\log(pk))$'.format(iterations),\n",
" xy=(0, 0),\n",
" xytext=(max_mutations * 0.02, .875),\n",
" horizontalalignment='left',\n",
" size=9)\n",
"ax.legend(loc=4, fontsize=9)\n",
"fig.tight_layout()\n",
"plt.savefig(\"simulation1.png\", bbox_inches=\"tight\", dpi=800)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"livers = []\n",
"all_y = []\n",
"yfit = []\n",
"entropies = []\n",
"np.random.seed(0)\n",
"N = 4\n",
"num_signatures = 7\n",
"max_mutations = 1000\n",
"iterations = 800\n",
"cosine_cutoff = 0.95\n",
"\n",
"x = np.arange(max_mutations)\n",
"HCC_signatures = np.array([1, 4, 5, 6, 16, 23, 24]) - 1\n",
"\n",
"for n in range(N):\n",
" percentages = np.random.dirichlet(np.ones(num_signatures))\n",
" contributions= [signatures[np.random.choice(HCC_signatures)].values * p for p in percentages]\n",
" liver = np.sum(contributions, axis=0)\n",
" livers.append(liver)\n",
"\n",
"for liver in livers:\n",
" entropies.append(round(entropy(liver), 2))\n",
" result = monte_carlo_spectrum(liver,\n",
" max_choices=max_mutations,\n",
" metric=cosine,\n",
" cutoff=cosine_cutoff,\n",
" iterations=iterations)\n",
" all_y.append(result)\n",
"\n",
" popt, pcov = curve_fit(sigmoid, x, result)\n",
" yfit.append(sigmoid(x, *popt))"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false,
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"image/png": "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\nKBSKZsv/ByJI3/AafLCjAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fd7608f35c0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"module = importlib.import_module(\"palettable.colorbrewer.qualitative\")\n",
"colors = getattr(module, 'Set1_{}'.format(N + 1))\n",
"fig, ax = plt.subplots(1, figsize=(8, 4.75))\n",
"\n",
"count = []\n",
"\n",
"for y_arr in yfit:\n",
" for i, y in enumerate(y_arr):\n",
" if y >= 0.8:\n",
" count.append(i)\n",
" break\n",
"\n",
"rect = patches.Rectangle([min(count), 0],\n",
" max(count) - min(count),\n",
" 1,\n",
" linewidth=0,\n",
" color='yellow',\n",
" alpha=0.23)\n",
"ax.add_patch(rect)\n",
"ax.axhline(0.8, color='grey', alpha=0.75)\n",
"\n",
"sorted_lists = sorted(zip(all_y, yfit, entropies), reverse=False, key=lambda x: x[2])\n",
"all_y, yfit, entropies = [[x[i] for x in sorted_lists] for i in range(3)]\n",
"\n",
"for i, (y, fit, degree, c) in enumerate(zip(all_y, yfit, entropies, colors.mpl_colors[1:])):\n",
" ax.plot(x, y, color=c, alpha=0.2)\n",
" ax.plot(x, fit, color=c, linewidth=1, alpha=1, label='Liver {} | Entropy: {}'.format(i + 1, degree))\n",
"\n",
"ax.get_xaxis().set_tick_params(direction='out', width=1)\n",
"ax.get_yaxis().set_tick_params(direction='out', width=1)\n",
"for tic in ax.xaxis.get_major_ticks() + ax.yaxis.get_major_ticks():\n",
" tic.tick2On = False\n",
" \n",
"ax.set_xlabel('Number of Mutations')\n",
"ax.set_ylabel('Power in Detecting\\nExperimental Effect')\n",
"ax.set_title('Number of Mutations Required for a Confident\\n'\n",
" 'Depiction of the Spectra found in Exposed Liver Tissues')\n",
"\n",
"ax.annotate('Iterations: {}\\nEntropy as: $-(\\sum(pk) \\cdot '\n",
" '\\log(pk))$'.format(iterations),\n",
" xy=(0, 0),\n",
" xytext=(max_mutations * 0.02, .875),\n",
" horizontalalignment='left',\n",
" size=9)\n",
"\n",
"ax.legend(loc=4, fontsize=9)\n",
"fig.tight_layout()\n",
"plt.savefig(\"simulation2.png\", bbox_inches=\"tight\", dpi=800)"
]
}
],
"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.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment