{ "metadata": { "name": "Serial dilution accuracy - Echo vs tips" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Modeling a serial dilution experiment on different liquid handling/dispensing devices." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A recent paper by Ekins et al. [Dispensing Processes Impact Apparent Biological Activity as Determined by Computational and Statistical Analyses. PLoS ONE 8(5): e62325, 2013], a large discrepany was observed in IC50 assay values in which either a LabCyte Echo acoustic dispensing unit or a Tecan Genesis liquid handling workstation were used in performing the assays. This discrepancy may be due to any number of factors, but one of the main features of the Echo is its direct dispensing technology that allows a dilution series over several orders of magnitude in concetration to be created *directly* without the need for serial dilution. Could the observed discrepancy be explained by the difference in the accuracy with which a serial dilution can be created by these two technologies? A little modeling of the experiment can quickly find out!" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy\n", "from pylab import *" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Dilution and dispensing by a liquid-handling robot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's model how a liquid-handling robot creates a dilution series for a compound via serial dilution. An ideal dilution series has no error in transferred volumes and ensures complete mixing between dilution steps." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def dilution_series(V0, C0, Vtransfer, Vbuffer, ndilutions):\n", " import numpy\n", " from numpy.random import normal\n", " ideal_concentrations = numpy.zeros([ndilutions], numpy.float64)\n", " ideal_volumes = numpy.zeros([ndilutions], numpy.float64)\n", " ideal_concentrations[0] = C0\n", " ideal_volumes[0] = V0\n", " for n in range(1,ndilutions):\n", " ideal_concentrations[n] = ideal_concentrations[n-1] * Vtransfer / (Vtransfer + Vbuffer)\n", " ideal_volumes[n] = Vtransfer + Vbuffer\n", " ideal_volumes[n-1] -= Vtransfer\n", " ideal_volumes[ndilutions-1] -= Vtransfer\n", " return [ideal_volumes, ideal_concentrations]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's consider a 12-point 2x dilution series, where we start with 10 mM compound stocks." ] }, { "cell_type": "code", "collapsed": false, "input": [ "ndilutions = 8 # number of points in dilution series (including original concentration)\n", "V0 = 100e-6 # 100 uL final volume in each well\n", "C0 = 10e-3 # 10 mM initial DMSO stock\n", "Vtransfer = 50e-6 # 50 uL transfer from previous dilution or stock\n", "Vbuffer = 50e-6 # 50 uL buffer\n", "[ideal_volumes, ideal_concentrations] = dilution_series(V0, C0, Vtransfer, Vbuffer, ndilutions)\n", "\n", "# Font size settings\n", "font = {'family' : 'sans serif',\n", " 'weight' : 'normal',\n", " 'size' : 12}\n", "matplotlib.rc('font', **font)\n", "\n", "# Plot ideal concentrations.\n", "clf()\n", "semilogy(range(ndilutions), ideal_concentrations, 'ko');\n", "xlabel('dilution number');\n", "ylabel('concentration (M)');\n", "axis([-0.5, ndilutions, 0.0, C0*1.05]);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Real liquid-handling robots can't transfer the specified volume exactly. Each transfer operation has some inaccuracy (modeled as a constant bias factor for all dispensing operations) and imprecision (random error associated with each volume transfer). We'll ignore other contributions to error, such as compound stickiness, insolubility, etc." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def robot_dilution_series(V0, C0, Vtransfer, Vbuffer, ndilutions, pipetting_model):\n", " [transfer_inaccuracy, transfer_imprecision] = pipetting_model(Vtransfer) \n", " [buffer_inaccuracy, buffer_imprecision] = pipetting_model(Vtransfer) \n", " \n", " from numpy.random import normal\n", " actual_concentrations = numpy.zeros([ndilutions], numpy.float64)\n", " actual_volumes = numpy.zeros([ndilutions], numpy.float64)\n", " actual_concentrations[0] = C0\n", " actual_volumes[0] = V0\n", " transfer_bias = transfer_inaccuracy * normal()\n", " buffer_bias = buffer_inaccuracy * normal() \n", " for n in range(1,ndilutions):\n", " Vtransfer_actual = Vtransfer * ((1+transfer_bias) + transfer_imprecision*normal())\n", " Vbuffer_actual = Vbuffer * ((1+buffer_bias) + buffer_imprecision*normal())\n", " actual_concentrations[n] = actual_concentrations[n-1] * Vtransfer_actual / (Vtransfer_actual + Vbuffer_actual)\n", " actual_volumes[n] = Vtransfer_actual + Vbuffer_actual\n", " actual_volumes[n-1] -= Vtransfer_actual\n", " Vtransfer_actual = Vtransfer * ((1+transfer_bias) + transfer_imprecision*normal())\n", " actual_volumes[ndilutions-1] -= Vtransfer_actual\n", " return [actual_volumes, actual_concentrations]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Suppose we generate this dilution series using a Tecan Genesis robot used in the assay. \n", "\n", "I couldn't find published specs for standard bias and error for the Genesis (which appears to be no longer produced), so we'll use data for a Beckman NX/FX span-8 instead:\n", " \n", "[inaccuracy/imprecision data for Biomek NX/FX](https://www.beckmancoulter.com/wsrportal/bibliography?docname=BR-10150B.pdf)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def tecan_genesis_pipetting_model(volume):\n", " # Assume published imprecision/inaccuracy for Beckman Biomek NX/FX span-8.\n", " from scipy.interpolate import interp1d\n", " imprecision_function = interp1d([0.5e-6, 1e-6, 5e-6, 10e-6, 50e-6, 100e-6, 250e-6, 950e-6], [0.10, 0.07, 0.05, 0.05, 0.05, 0.05, 0.02, 0.01]) # published imprecision for Beckman NX/FX span-8\n", " inaccuracy_function = interp1d([0.5e-6, 1e-6, 100e-6, 250e-6, 900e-6], [0.05, 0.03, 0.03, 0.02, 0.01]) # published inaccuracy for Beckman NX/FX span-8\n", " return [inaccuracy_function(volume), imprecision_function(volume)] \n", "\n", "# Biomek NX or FX specs\n", "[actual_volumes, actual_concentrations] = robot_dilution_series(V0, C0, Vtransfer, Vbuffer, ndilutions, tecan_genesis_pipetting_model)\n", "\n", "# Plot ideal and actual concentrations.\n", "clf()\n", "semilogy(range(ndilutions), ideal_concentrations, 'ko', range(ndilutions), actual_concentrations, 'ro');\n", "xlabel('dilution number');\n", "ylabel('concentration (M)');\n", "legend(['ideal','actual']);\n", "axis([-0.5, ndilutions, 0.0, C0*1.05]);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's plot the relative errors in concentration, volume, and total quantity of compound per well generated in this particular replicate of the dilution series:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "clf();\n", "hold(True);\n", "plot([0, ndilutions], [1, 1], 'k-');\n", "plot(range(ndilutions), actual_concentrations / ideal_concentrations, 'ro', range(ndilutions), actual_volumes / ideal_volumes, 'go', range(ndilutions), (actual_volumes*actual_concentrations)/(ideal_volumes*ideal_concentrations), 'bo');\n", "legend(['exact', 'concentration', 'volume', 'quantity'], loc='lower right');\n", "axis([0, ndilutions, 0, 1.5]);\n", "ylabel('relative quantity');\n", "xlabel('dilution number');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we repeat the experiment many times, we can estimate the CV for each dilution number." ] }, { "cell_type": "code", "collapsed": false, "input": [ "nreplicates = 5000\n", "actual_volumes_n = numpy.zeros([nreplicates, ndilutions], numpy.float64)\n", "actual_concentrations_n = numpy.zeros([nreplicates, ndilutions], numpy.float64)\n", "for replicate in range(nreplicates):\n", " [actual_volumes_replicate, actual_concentrations_replicate] = robot_dilution_series(V0, C0, Vtransfer, Vbuffer, ndilutions, tecan_genesis_pipetting_model)\n", " actual_volumes_n[replicate,:] = actual_volumes_replicate\n", " actual_concentrations_n[replicate,:] = actual_concentrations_replicate\n", "\n", "# Compute CVs \n", "volumes_cv = (actual_volumes_n / ideal_volumes).std(0)\n", "concentrations_cv = (actual_concentrations_n / ideal_concentrations).std(0)\n", "quantity_cv = ((actual_volumes_n * actual_concentrations_n) / (ideal_volumes * ideal_concentrations)).std(0)\n", "\n", "# Plot CVs\n", "clf()\n", "x = numpy.arange(ndilutions)\n", "plot(x, concentrations_cv*100, 'ro', x, volumes_cv*100, 'go', x, quantity_cv*100, 'bo');\n", "xlabel('dilution number');\n", "ylabel('CV (%)');\n", "legend(['concentration', 'volume', 'quantity'], loc='upper left');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The biases may also be important, so let's plot those too." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Compute relative bias.\n", "volumes_bias = (actual_volumes_n / ideal_volumes).mean(0) - 1\n", "concentrations_bias = (actual_concentrations_n / ideal_concentrations).mean(0) - 1\n", "quantity_bias = ((actual_volumes_n * actual_concentrations_n) / (ideal_volumes * ideal_concentrations)).mean(0)- 1\n", "\n", "# Plot relative biases.\n", "clf()\n", "x = numpy.arange(ndilutions)\n", "plot([0, ndilutions], [0, 0], 'k-', x, concentrations_bias*100, 'ro', x, volumes_bias*100, 'go', x, quantity_bias*100, 'bo');\n", "xlabel('dilution number');\n", "ylabel('bias (%)');\n", "legend(['concentration', 'volume', 'quantity'], loc='lower right');\n", "axis([0, ndilutions, -100, 100]);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n559NXZLMvHnz8PLLL8PT09Os/+0XLVqEs2fP4tKlSxg/fjwiIiLw66+/mrosmfz8fNy6dQtbt27F\nwYMHkZaWhuPHj+Ott94ydWkGnT9/HgcOHMCYMWNMXUqN4uLikJGRAQcHB7Rq1QqdO3fGkCFDDI5t\n1EFib2+P69evy9qKi4uh0+lMVFHtzP2v0tuqqqowatQoaDQavP/++6Yup1YqlQrh4eEYPnw4Nm3a\nZOpyJGlpadi7dy+mT58OwLz/7bt06QKtVoumTZti9OjR6N69O7755htTlyVja2sLAJg6dSo8PDzg\n6uqK//mf/zG7Om9bv349evbsidatW5u6FIOEEOjfvz+GDx+OGzduoKCgAIWFhZg5c6bB8Y06SPz9\n/VFRUYEzZ85IbbWdtGhq5vxX6W1CCLz00ku4du0atm7dCisrK1OXZJRbt25Bq9WaugzJ/v37ce7c\nOXh5eaFFixZYvHgxtm7dKp1cS3Xj7OyMRx55xNRlGG3dunVmvTdSUFCAo0ePYsqUKWjatClcXFwQ\nExNTYzA36iDRarUYNmwY/v73v+PGjRs4ePAgvvrqK4waNcrUpcnUdlKmuZk0aRJOnTqFL7/8EjY2\nNqYux6Br165h8+bN0Ov1qKysxM6dO7Fly5Yad8tNYfz48fj111+Rnp6OtLQ0TJw4EYMHD8bOnTtN\nXZpMcXExdu7cKW2fGzduRGpqKgYMGGDq0qoZO3Ysli1bhmvXrqGoqAjvvfceIiIiTF1WNT/88AMu\nXbqE4cOHm7qUGrm5uaFFixb497//jcrKSvz+++9Yu3at7CK5Mg/oK8kmU1hYKDuPZNOmTaYuqZp7\nnZRpLs6dOydUKpWwtbWVfRfe3M7NuXbtmujdu7dwcnISjo6OonPnziI5OdnUZdUqLi5OjBo1ytRl\nVHPt2jXRuXNnodPphJOTk+jatavYs2ePqcsy6NatW2Ly5MnCyclJNG/eXEybNk2Ul5ebuqxqJkyY\nIEaPHm3qMu7p0KFDokePHsLJyUm4ubmJqKgocfXqVYNjH5pb7RIRUcNo1FNbRETU8BgkRESkCIOE\niIgUYZAQEZEiDBJqlGJiYjBv3jwAQGpqKgICAqQ+b29v7N27977Wm5ubC51OZ9YnEBpDrVab3dnp\nZLkYJNQoqVQq6QTPnj174tSpUwb77sXb2xvfffed9NzLywslJSUWcfIo0YPCIKFGqz72GlQqlcXv\nfTSkiooKU5dAZoBBQo3C8ePH0alTJzg4OCA6Olp21deUlBS0atXK4HJ3ToHdPXbUqFHIzc1FREQE\ndDod/vnPf+LcuXNQq9WoqqoCAFy6dAnPPPMMXF1d0bZtW6xevVpaV1xcHJ5//nmMGTMGDg4OCAoK\nwtGjR2t8D2q1GitXroS/vz+cnZ0xZcoU2bruvCLD3XWEh4dj3rx56N69O3Q6HZ555hkUFBRgxIgR\ncHR0RJcuXardN2b79u3w9fVFs2bN8MYbb8gC86OPPkKHDh3g4uKCAQMGIDc3V1bn8uXL0bZtW7Rr\n167G90MPDwYJWbybN2/i2WefxZgxY1BUVIThw4dj69atRk0/1TbNtX79enh5eeHrr79GSUkJZsyY\nUW1MdHQ0vLy8cPnyZXz++eeYPXs29u3bJ/V/9dVXeOGFF1BcXIxnnnlGFg6GbN++HUeOHMGJEyfw\n2WefSZdMMea9fPrpp9iwYQMuXryInJwcdO3aFS+99BIKCwvRvn17xMfHy8Z/8cUXOHr0KI4dO4bk\n5GR89NFHAIDk5GQsXLgQ27ZtQ0FBAXr27IkXXnhBtmxycjIOHz5sdjeJI9NgkJDFO3ToECoqKjBt\n2jRYWVkhMjISnTt3Nnr5+526ysvLww8//IBFixbB2toaISEhePnll7Fu3TppTM+ePTFgwACoVCqM\nHDkS6enpta5z1qxZ0mW7+/Tpg7S0NKNqVKlUGDt2LHx8fODg4ICBAwfC398fffv2hZWVFYYPH47j\nx4/Llpk5cyacnJzQqlUrTJ8+Xbo68ooVKxAbG4t27dpBrVYjNjYWaWlpyMvLk5aNjY2Fk5OT2V5v\njR4sBglZvEuXLqFly5aytgdxee5Lly7BxcVFdlVhLy8vXLx4UXru4eEh/WxnZ4eysjJpOsqQ5s2b\ny8br9Xqj67nztTQajeyOkBqNBqWlpbLxd073eXl54dKlSwD+vFfGtGnT4OzsDGdnZ+nOnXe+r5qm\nCunhxCAhi9eiRQvZhxwAo+8jr9VqcePGDen5lStXZP21TSl5enqisLBQ9gGdm5vbIJczv1eddzNm\nKuzO4x65ublSGHt5eWHVqlUoKiqSHnq9Ho8//nid1k8PDwYJWbxu3bqhSZMmWLp0KW7duoWkpCQc\nPnzYqGVDQ0PxzTffoKioCFeuXMG//vUvWb+HhwdycnIMLtuqVSt069YNsbGxKC8vx4kTJ/DRRx9h\n5MiRit8T8Od01u0prdDQUBw4cAB5eXkoLi7GwoULDY439HNN/vnPf+L3339HXl4eli5diqioKADA\nxIkT8fbbb0vHP4qLi7Fly5b6eEvUSDFIyOI1bdoUSUlJ+Pjjj+Hq6orPPvsMkZGRsjE1/QU9atQo\nhISEwNvbGwMGDEB0dLRsbGxsLN566y04OztjyZIl1da1adMmnDt3Dp6enhg2bBjefPNN9O3bVxp3\n9+vW9pe8obG32/r164eoqCh07NgRnTt3RkRERK3rNua1hwwZgkcffRR/+ctf8PTTT2PcuHEAgGef\nfRYzZ85EdHQ0HB0dERwcLLtPCvdG6G68jDwRESnCPRIiIlKEQUJERIowSIiISBEGCRERKcIgISIi\nRRgkRESkyP8DTRSI2DJ7u8YAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "def robot_dilution_series(V0, C0, Vtransfer, Vbuffer, ndilutions, pipetting_model):\n", " [transfer_inaccuracy, transfer_imprecision] = pipetting_model(Vtransfer) \n", " [buffer_inaccuracy, buffer_imprecision] = pipetting_model(Vtransfer) \n", "\n", " # Account for dilution effect.\n", " from scipy.interpolate import interp1d\n", " x = numpy.array([20, 200]) * 1e-6 # L\n", " y = numpy.array([-0.0630, -0.0496]) # doi:10.1016/j.jala.2006.02.005\n", " dilution_function = interp1d(x, y)\n", " \n", " from numpy.random import normal\n", " actual_concentrations = numpy.zeros([ndilutions], numpy.float64)\n", " actual_volumes = numpy.zeros([ndilutions], numpy.float64)\n", " actual_concentrations[0] = C0\n", " actual_volumes[0] = V0\n", " transfer_bias = transfer_inaccuracy * normal()\n", " buffer_bias = buffer_inaccuracy * normal() \n", " for n in range(1,ndilutions):\n", " Vtransfer_actual = Vtransfer * ((1+transfer_bias) + transfer_imprecision*normal())\n", " Vbuffer_actual = Vbuffer * ((1+buffer_bias) + buffer_imprecision*normal())\n", " actual_concentrations[n] = actual_concentrations[n-1] * Vtransfer_actual / (Vtransfer_actual + Vbuffer_actual) * (1+dilution_function(Vtransfer))\n", " actual_volumes[n] = Vtransfer_actual + Vbuffer_actual\n", " actual_volumes[n-1] -= Vtransfer_actual\n", " Vtransfer_actual = Vtransfer * ((1+transfer_bias) + transfer_imprecision*normal())\n", " actual_volumes[ndilutions-1] -= Vtransfer_actual\n", " return [actual_volumes, actual_concentrations]\n", "\n", "nreplicates = 5000\n", "actual_volumes_n = numpy.zeros([nreplicates, ndilutions], numpy.float64)\n", "actual_concentrations_n = numpy.zeros([nreplicates, ndilutions], numpy.float64)\n", "for replicate in range(nreplicates):\n", " [actual_volumes_replicate, actual_concentrations_replicate] = robot_dilution_series(V0, C0, Vtransfer, Vbuffer, ndilutions, tecan_genesis_pipetting_model)\n", " actual_volumes_n[replicate,:] = actual_volumes_replicate\n", " actual_concentrations_n[replicate,:] = actual_concentrations_replicate" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "# Compute CVs \n", "volumes_cv = (actual_volumes_n / ideal_volumes).std(0)\n", "concentrations_cv = (actual_concentrations_n / ideal_concentrations).std(0)\n", "quantity_cv = ((actual_volumes_n * actual_concentrations_n) / (ideal_volumes * ideal_concentrations)).std(0)\n", "\n", "# Plot CVs\n", "clf()\n", "x = numpy.arange(ndilutions)\n", "plot(x, concentrations_cv*100, 'ro', x, volumes_cv*100, 'go', x, quantity_cv*100, 'bo');\n", "xlabel('dilution number');\n", "ylabel('CV (%)');\n", "legend(['concentration', 'volume', 'quantity'], loc='lower right');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "# Compute relative bias.\n", "volumes_bias = (actual_volumes_n / ideal_volumes).mean(0) - 1\n", "concentrations_bias = (actual_concentrations_n / ideal_concentrations).mean(0) - 1\n", "quantity_bias = ((actual_volumes_n * actual_concentrations_n) / (ideal_volumes * ideal_concentrations)).mean(0)- 1\n", "\n", "# Plot relative biases.\n", "clf()\n", "x = numpy.arange(ndilutions)\n", "plot([0, ndilutions], [0, 0], 'k-', x, concentrations_bias*100, 'ro', x, volumes_bias*100, 'go', x, quantity_bias*100, 'bo');\n", "xlabel('dilution number');\n", "ylabel('bias (%)');\n", "legend(['none', 'concentration', 'volume', 'quantity'], loc='upper right');\n", "axis([0, ndilutions, -100, 100]);\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEOCAYAAACjJpHCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVPX+P/DXjAjDMsgmiAuyqSgoZGqZJmjuZqZmUG5o\ni2ma3rIUlytUZN5b9iuz1CzFJSuLtFJzy/WWNzcwcEFxAVFRBBFQUPD9+6Pr+Toy4OAMzgy8no/H\nPOJ8Pp/zOe+Dp3lzPp+zqEREQEREdJ/U5g6AiIisGxMJEREZhYmEiIiMwkRCRERGYSIhIiKjMJEQ\nEZFRLCKRfPrpp2jXrh00Gg1GjRqlU7d161YEBQXB0dER3bp1Q0ZGhk79lClT4OHhAQ8PD0ydOvVB\nhk1ERLCQRNKoUSPMnDkTo0eP1inPycnB4MGDER8fj7y8PLRr1w6RkZFK/cKFC7F27VocOnQIhw4d\nws8//4yFCxc+6PCJiGo1i0gkAwcOxIABA+Du7q5TnpiYiJCQEAwePBi2traIjY1FcnIy0tLSAAAJ\nCQmYPHkyGjZsiIYNG2Ly5MlYunSpGfaAiKj2sohEctvdN9mnpqYiNDRUWXZwcEBgYCBSU1MBAIcP\nH9apb9OmjVJHREQPhkUlEpVKpbNcVFQEZ2dnnTJnZ2cUFBQAAAoLC1GvXj2dusLCwuoPlIiIFDbm\nDuBOd5+RODk54erVqzpl+fn50Gq1euvz8/Ph5OSkt++7kxQRERnmXo9ktOgzkuDgYCQnJyvLRUVF\nSE9PR3BwsFKflJSk1CcnJyMkJKTC/kXE4j+zZs0yewyMkzEyTsZ5+2MIi0gkZWVlKC4uRmlpKcrK\nylBSUoKysjIMHDgQKSkpSExMRHFxMeLi4hAWFobmzZsDAEaMGIG5c+fi3LlzyMrKwty5cxEdHW3e\nnSEiqmUsIpG88847cHBwwJw5c7BixQrY29sjPj4eHh4e+OGHHzB9+nS4ublh3759+Oabb5T1xowZ\ng/79+6N169Zo06YN+vfvj5dfftmMe0JEVPuoxNBzFyunUqkMPk0zp+3btyMiIsLcYdwT4zQda4gR\nYJymZi1xGvLdyURCREQVMuS70yKGtoiIyHpZ1OW/RFQ5Nzc35OXlmTsMqmFcXV2Rm5t73+tzaIvI\nivA4pupQ2XHFoS0iIqp2TCRERGQUJhIiIjIKEwkRERmFiYSIiIzCREJEREZhIiEiIqMwkRBRtYuI\niMBLL72Ed955B97e3nB3d8fIkSNRVFSktPnggw/g7+8POzs7BAYG4uOPP9bpw9fXF7NmzcLEiRPh\n7u6OBg0a4PXXX0dZWZlOu3nz5iEoKAj29vZo3rw53nvvvXJtyMSklqhFu0o1mLUex+Hh4eLi4iKv\nv/66HDt2TDZt2iRubm4yc+ZMERH59NNPxd7eXr744gs5ceKELFiwQDQajXz55ZdKH02bNhVXV1eZ\nM2eOnDhxQr777jupW7euTptZs2ZJ06ZNZc2aNXL69GlZv369+Pj4KNsh/So7rgw55qzzqLwP1vo/\nINGdrPU4Dg8Pl7CwMJ2ysWPHSseOHUVEpHHjxjJlyhSd+n/84x/i7++vLDdt2lQGDBig06ZPnz7y\n3HPPiYhIUVGRODg4yMaNG3XaJCQkiIuLi8n2pSYyNpHwWVtENVB1vFpajHg0i0qlQmhoqE6Zt7c3\nNm3ahIKCAmRlZaFLly469V26dMHHH3+M4uJiaDQaqFQqhIWFlevj9OnTAIDU1FRcv34dgwYN0tn/\n2y/Lu3z5Mtzd3e97H6hiTCRENZAxX/rVxdbWVmdZpVLh1q1bJuvj9n+///575S2qd3J1da3Stshw\nTCREZFZarRaNGzfGjh070LdvX6V8x44d8Pf3h0ajMaif4OBgaDQapKeno3fv3tUVLunBREJE1U7+\nno/VWw4AMTExeOONN9CsWTOEh4fjt99+w4IFC/DZZ5+Va1sRJycnTJs2DdOmTYNKpcITTzyB0tJS\n/PXXX0hKSsL7779v2p0iBRMJEVU7lUpVbt7mzrKxY8eiqKgI7733HsaNGwcfHx/MmTMHo0aN0ml/\nr35nzJgBb29vfPrpp3jjjTdgb2+PFi1aIDo6unp2jADwfSREVoXHMVUHvo+EiIjMiomEiIiMwkRC\nRERGYSIhIiKjMJEQEZFRmEiIiMgoTCRERGQUJhIiIjIKEwkRERmFiYSIyAKdPn0aarUav//+u7lD\nuScmEiKiKjh79izUajV27txpsj4DAwMRFxenU+bj44MLFy6gQ4cOJttOdeFDG4mI7sO9nj91+/0o\navW9/17X90BKtVoNT0/P+wvuAeMZCVENsnPdOszo1QuxERGY0asXdq5bZ1H9zZ8/H61atYJGo4GX\nlxeeeeYZAEBBQQHGjBkDT09PaDQatG/fHps3b1bWuz3Ms3r1ajz55JNwdHREQEAAEhISdPovLCzE\npEmT4OPjA41GAz8/P8yePVupz87ORnR0NDw9PeHs7IzOnTtj165dSv327duhVquxZcsWdOnSBY6O\njggODsavv/6qtPHx8QEAdO3aFWq1Gv7+/gCA2NhYNGvWDN999x2CgoJgZ2eH48eP48CBA+jTpw+8\nvLyg1WrRoUMHbNy4UekvIiIC6enpiIuLg1qthlqtRkZGht6hrWPHjqFfv37QarXQarV46qmnkJ6e\nrtQvXboUdevWxe+//462bdvC0dER7dq1w759+4z6d7snI1/1azVq0a5SDVbZcbzjl19kWkCACKB8\npgUEyI5ffrmvbZm6v3/+85/i5OQk8+fPl+PHj0tSUpLMnj1bRESeeeYZ8fPzk02bNsnRo0dl4sSJ\nYmtrK0ePHhURkVOnTolKpRJ/f39ZvXq1pKeny7Rp08TGxkbS0tJEROTWrVsSHh4uAQEBsnbtWjl1\n6pTs3r1bvvzySxERuXbtmrRs2VKeeeYZ2b9/v6Snp0t8fLzY2dnJkSNHRERk27ZtolKpJDQ0VDZu\n3CgnTpyQUaNGibOzs+Tl5YmIyMGDB0WlUsmPP/4o2dnZkpOTIyIis2bNEgcHB4mIiJA///xTjh8/\nLgUFBbJ9+3ZJSEiQw4cPy/Hjx2XGjBlia2urxJ2bmyt+fn7y5ptvSnZ2tmRnZ0tZWZmyz//5z3+U\n+H18fKR79+5y4MAB2b9/v3Tt2lUCAwPlxo0bIiKyZMkSUavVEh4eLrt375ajR49Knz59xM/PT0pL\nSyv8t6nsuDLku7PWfLsykVBNUNlxPL1nT50v/dufGb163de2TNlfYWGhaDQa+fDDD8vVHT9+XFQq\nlWzYsEGnvG3btjJ69GgR+b9E8tFHHyn1ZWVlotVqZdGiRSIismXLFlGpVLJ//369MSxZskQaN25c\n7gu1a9euMmnSJBH5v0Ty448/KvXZ2dmiUqlk06ZNIiKSmZkpKpVKduzYodPPrFmzRK1WS2Zm5j1/\nH6GhoRIfH68sBwYGSlxcnE6buxPJ4sWLxcHBQS5fvqwTm729vSxbtkzZR5VKJQcPHlTa/Pe//xWV\nSqUkLn2MTSScIyGqIWxKSvSW1ykuNnt/qampKCkpQc+ePcvVHT58GADQpUsXnfIuXbrgjz/+0CkL\nCwtTfr49h5CdnQ0A2L9/P1xdXdG2bVu9MezduxcXLlyAi4uLTnlJSQkcHR0r3I6npyfq1KmjbKcy\nXl5eaNy4sU7ZpUuXMGvWLGzbtg0XLlxAaWkpiouLkZGRcc/+7pSamorg4GC4ubnpxNaiRQvldwj8\nPd8SGhqqLHt7ewP4e1ivWbNmVdqmoZhIiGqIUjs7veVlBr7zvLr7qyrRM5lta2urs6xSqZRJ7Xu5\ndesWWrZsiTVr1pSrc3BwqHQ7t9e/l7sTEgBER0fj7Nmz+Pe//w0/Pz9oNBpERUXhxo0bBsV9J32/\nk7vL1Gq1zuT97Z8N/T3dD062E9UQPV97DdMDAnTKpgUEoMeECWbv7/YE+52TzLcFBwcDAHbs2KFT\nvnPnTrRu3drgbTz88MPIy8vD/v379da3b98eJ0+ehFarhb+/v86nQYMGBm/ndpIpKyszqP2uXbsw\nbtw4PPnkkwgODkaDBg10Jshv93mv/kJCQnD48GFcvnxZKcvOzkZaWhpCQkIMjr868IyEqIbo0q8f\nAGDmvHmoU1yMMo0GvSdMUMrN2Z+TkxPeeOMNxMbGwt7eHt27d8f169exYcMGTJ06FUOGDMG4ceOw\ncOFC+Pj44PPPP8fhw4fxzTffVNrvnX+NP/HEE3j88ccRGRmJuXPnonXr1jh37hyOHj2KF154AUOH\nDsVHH32Efv36IT4+Hs2aNUN2djZ+++03tGrVCgMGDDBoXzw8PODk5ISNGzeiZcuWsLOzg6ura4Xt\nW7RogRUrVqBTp04oLS3FP//5T9y6dUsndj8/P+zevRuZmZmwt7eHu7t7uX6ef/55vP3224iMjMS/\n//1v3Lp1C5MnT0bjxo0RGRlpUOzV5p6zKDVELdpVqsGs/Tj++OOPpUWLFmJrayteXl7y7LPPiojI\n1atXZcyYMVK/fn2xs7OT9u3by+bNm5X1Tp06JWq1Wpl4vu3uSeqCggKZMGGCeHt7i62trfj5+cmc\nOXOU+suXL8vYsWOlUaNGYmtrK40aNZJBgwZJUlKSiPw92a5WqyUrK0tnOzY2NpKQkKAsL1u2TPz8\n/MTGxkb8/PxERCQ2NlaaNWtWbp//+usveeyxx8Te3l78/Pzk888/l+7du8uoUaOUNvv27ZO2bduK\nvb29qNVqOXPmjN59PnbsmPTt21ecnJzEyclJ+vfvL+np6Ur9kiVLpG7dujrbz8zMFLVaXe7igDtV\ndlwZcsyp/tewxjPkBfZElo7HMVWHyo4rQ445zpEQEZFRmEiIiMgoTCRERGQUJhIiIjIKEwkRERnF\nKhJJREQE7O3tlSdetmzZUqnbunUrgoKC4OjoiG7dulX5sQNERGQcq0gkKpUK8+fPR0FBAQoKCnDk\nyBEAQE5ODgYPHoz4+Hjk5eWhXbt25r8xh4iolrGKRALof8ZMYmIiQkJCMHjwYNja2iI2NhbJyclI\nS0szQ4RERLWT1SSSmJgY1K9fH507d1aeyZOamqrzlEsHBwcEBgYiJSXFXGESEdU6VvGsrTlz5iA4\nOBi2trZYtWoV+vfvj6SkJBQVFaF+/fo6bZ2dnVFYWKi3n9jYWOXniIgIREREVGPURGRKS5cuxUsv\nvYSbN2+aO5Qabfv27di+fXuV1rGKRNKhQwfl5xEjRmDVqlVYv349nJyccPXqVZ22+fn50Gq1evu5\nM5EQEVF5d/+RHRcXd891rGZoS5/g4GAkJycry0VFRUhPT1ceS01ERNXP4hNJfn4+Nm7ciOLiYpSW\nlmLlypXYtWsXevfujYEDByIlJQWJiYkoLi5GXFwcwsLC0Lx5c3OHTWQW6zavQ69RvRARHYFeo3ph\n3eZ1FtHfF198ARcXF5Tc9dbFOXPmoGnTpgCAPXv2oEuXLnBwcICbmxuGDh2KS5cuVdjn0qVLUbdu\nXZ2ys2fPQq1WY+fOnQD+HqZRq9XYsGEDOnbsCAcHB7Rv3x5HjhzBoUOH0KlTJzg6OuKRRx5Rrga9\nbf/+/ejZsye0Wi08PT0xePBg3l5QkXs+H9jMLl26JO3btxetVisuLi7SsWNH2bJli1K/ZcsWCQoK\nEnt7e+nataucOXNGbz9WsKtE91TZcfzLpl8kYECAIBbKJ2BAgPyy6Zf72pYp+8vPzxd7e3v59ttv\ndcpbtWol06dPl/Pnz4tWq5WhQ4dKSkqK7N69W9q0aSNdunRR2i5ZskRsbGwqXBYp/z712+9gb9u2\nrWzbtk0OHz4sHTt2lDZt2kinTp3kt99+kyNHjkjnzp3lkUceUfpJTU0VJycniY2NlWPHjklKSooM\nGTJEmjdvLsXFxVXef0tX2XFlyHdnrfl2ZSKhmqCy47hndE+dL/3bn16je93XtkzdX1RUlPTr109Z\n3rt3r6hUKklLS5MZM2ZIkyZN5ObNm0p9cnKyqFQq2bVrl4gYl0jWrl2rtFm9erWoVCpJTExUyn78\n8UdRqVRSVFQkIiIjR46UqKgonb6Li4vFwcFB1qxZc1/7b8mMTSQWP7RFRIYpkRK95cVlxRbR38iR\nI7Fp0ybk5OQAAJYtW4ZHHnkEzZo1Q2pqKh599FHY2Pzf9T9t2rRBvXr1kJqael/bu9Odtwl4eXkp\n/d9ddvHiRQDA3r178eOPPypP09BqtfDw8EBJSQlOnDhhdDw1jVVctUVE92anstNbrqmjsYj+evTo\nAQ8PD6xcuRLjxo3DN998g7fffluplyq+sEutLv93cEWXBt85l6JSqSosu3XrlhLLiBEjMHXq1HJ9\nubm5VSnO2oBnJEQ1xGvPv4aAgwE6ZQEHAjAhaoJF9FenTh0MHToUy5cvx4YNG3D16lVERUUBAEJC\nQrBnzx6dRJCcnIz8/HyEhITo7c/T0xNlZWXKWQQAHDhw4L5iu1u7du2QnJwMf3//ch8XFxeTbKMm\nYSIhqiH69eiHj1/9GL0yeiH8VDh6ZfTCx+M/Rr8e/SyiP+Dv+8AOHDiA2NhY9O/fX/lSHj9+PK5e\nvYro6GikpqZi9+7dGD58OLp06YJOnTrp7euRRx6BVqvF1KlTcfz4cfz66686ZzjGmDZtGo4cOYJh\nw4Zh7969OHXqFLZt24ZJkybh1KlTJtlGjWK66RrLVot2lWqwmnAcP/TQQ6JWq+Wnn37SKd+zZ490\n6dJF7O3txcXFRYYOHSqXLl1S6pcsWSJ169bVWWfdunXSsmVLsbe3l86dO8vGjRtFrVbrTLar1WrJ\nyspS1tm1a5eo1WqdKzz/+OMPUavVkp6erpT99ddfMmDAAHF1dRV7e3sJDAyUMWPGSG5urkl/H5ag\nsuPKkGNO9b+GNZ4hL7AnsnQ8jqk6VHZcGXLMcWiLiIiMwkRCRERGYSIhIiKjMJEQEZFRmEiIiMgo\nTCRERGQUJhIiIjIKEwkRERmFiYSIiIzCREJE9D9+fn547733zB2G1WEiIaJa58UXX0TXrl3Lle/b\ntw+TJk1SlgMDAxEXF/cgQ7NKfB8JEdH/uLu76yzffk8JVY5nJEQ1yLp1O9Gr1wxERMSiV68ZWLdu\np8X0V1xcjLFjx8LFxQVubm4YN24cYmJi0KxZMwBAdHQ0evToobPOihUrdF5gderUKQwaNAiNGjWC\no6Mj2rRpgxUrVuisExERgZdeegnvvPMOvL294e7ujpEjR6KoqAgAEBsbi6+++go7duyAWq2GWq3G\nsmXLAAC+vr6Ij49X+klPT0dcXBzUajXq1KmD06dPw9/fH7Nnz9bZZlFREZydnbFy5cr7/v1YNdM8\nhNjy1aJdpRqssuP4l192SEDANAFE+QQETJNfftlxX9sydX+TJk0ST09P+emnn+TYsWMyefJkcXZ2\nlmbNmonI3+9J79Gjh846y5cvF5VKpSz/9ddfMn/+fDl06JCcPHlS5s2bJzY2NrJt2zalTXh4uLi4\nuMjrr78ux44dk02bNombm5vMnDlTREQKCwtl6NCh0qlTJ8nOzpbs7Gy5fv26iIj4+vpKfHy8iIjk\n5uaKn5+fvPnmm0q7srIymT17tgQEBOjEuXjxYnF3d5eSkpL7+t2YW2XHlSHfnbXm25WJhGqCyo7j\nnj2n63zp3/706jXjvrZlyv4KCwtFo9HI4sWLdcrbtWunk0i6d++uU393ItFnwIAB8tJLLynL4eHh\nEhYWptNm7Nix0rFjR2X5hRdekIiIiHJ93ZlIREQCAwMlLi5Op012drbY2trKli1blLJHH31UJk2a\nVGmclszYRMKhLaIaoqRE/5RncXEds/eXnp6OkpISPPbYYzrlFb39sCLXrl3D1KlTERISAnd3d2i1\nWqxfvx4ZGRlKG5VKhdDQUJ31vL29kZ2dXeW49fH09MSAAQPwxRdfAABSUlLw3//+Fy+99JJJ+rdG\nnGwnqiHs7Er1lms0ZRbR372o1epyL1C68x3uAPDmm2/ip59+wkcffYQWLVrAwcEBb7zxBvLz83Xa\n2dra6iyrVCrcunXLZLG+8sor6Nu3Ly5fvozFixfjscceQ6tWrUzWv7XhGQlRDfHaaz0REDBdpywg\nYBomTOhRwRoPrr+AgADY2triP//5j075ncuenp44d+6cTv2BAwd0lnft2oVhw4bhmWeeQevWreHn\n54djx45V+eoqW1tblJXdOyFW1K5r167w8fHBggULsGLFilp9NgLwjISoxujXrwsAYN68mSgurgON\npgwTJvRWys3Zn6OjI1555RXMmDEDXl5eaN68Ob788kukpaXBy8sLANC9e3f861//wmeffYZevXrh\nt99+w+rVq3X6adGiBdasWYNBgwbB0dERc+fOxfnz59GgQQOljfw991tpPP7+/vj+++9x+PBheHp6\nwtnZGba2tuXW8/Pzw+7du5GZmQl7e3u4u7tDpVJBpVLh5ZdfxvTp0+Ho6IjIyMgq/05qFFNN1li6\nWrSrVINZ83F8/fp1GTNmjNSrV0/q1asnY8aMkZiYGAkMDFTaxMfHS6NGjcTJyUmef/55mT9/vqjV\n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\nFCYSIiIyyv8HSVvdUnYzFaMAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we now dispense 2 uL of diluted compound into an assay plate well into which 10 uL of enzyme mix has been dispensed, there is additional error since the imprecision at this volume is higher." ] }, { "cell_type": "code", "collapsed": false, "input": [ "compound_volume = 2.0e-6 # 2 uL \n", "mix_volume = 10.0e-6 # 10 uL\n", "def robot_dispense(compound_volume, mix_volume, compound_concentrations, pipetting_model):\n", " [compound_inaccuracy, compound_imprecision] = pipetting_model(compound_volume)\n", " [mix_inaccuracy, mix_imprecision] = pipetting_model(mix_volume)\n", " \n", " from numpy.random import normal\n", " assay_volume = numpy.zeros([ndilutions], numpy.float64)\n", " assay_compound_concentration = numpy.zeros([ndilutions], numpy.float64)\n", " \n", " compound_bias = compound_inaccuracy * normal()\n", " mix_bias = mix_inaccuracy * normal()\n", "\n", " for i in range(ndilutions):\n", " compound_volume_dispensed = compound_volume * ((1+compound_bias) + compound_imprecision*normal())\n", " mix_volume_dispensed = mix_volume * ((1+mix_bias) + mix_imprecision*normal())\n", " assay_volume[i] = compound_volume_dispensed + mix_volume_dispensed\n", " assay_compound_concentration[i] = compound_concentrations[i] * compound_volume_dispensed / assay_volume[i]\n", "\n", " return [assay_volume, assay_compound_concentration]\n", "\n", "[assay_volumes, assay_compound_concentrations] = robot_dispense(compound_volume, mix_volume, actual_concentrations, tecan_genesis_pipetting_model)\n", "\n", "pyplot.clf()\n", "pyplot.plot([0,ndilutions], [1, 1], 'k-', range(ndilutions), assay_volumes / (compound_volume+mix_volume), 'ro', range(ndilutions), assay_compound_concentrations / (ideal_concentrations*compound_volume/(compound_volume+mix_volume)), 'go')\n", "pyplot.legend(['exact', 'assay well volume rel err', 'concentration rel err'], loc='lower left')\n", "pyplot.xlabel('dilution number')\n", "pyplot.ylabel('relative error')\n", "pyplot.show()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nShiEEEIE+X/W03Tx1/hYowAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's suppose the 10 uL of assay mix in each well was dispensed completely accurately, and contains exact concentrations of enzyme and substrate. We presume inhibition is measured by an exact read of the reaction V0/Vmax. The IC50 would be the interpolated point at which V0/Vmax drops to 0.5, as determined from a fit of the competitive inhibition equations to the observed V0/Vmax for the dilution series, using the *ideal* dilution series concentrations in the fit. Let's assume the true Ki is 10 nM, with Km of 1.71 uM (the Km for ATP by EphB4). Note that we're assuming that EphB4 obeys Michaelis-Menten kinetics here, and that V0/Vmax is what is measured." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def competitive_inhibition(substrate_concentration, inhibitor_concentration, enzyme_concentration, Ki, Km):\n", " V0_over_Vmax = substrate_concentration / (Km*(1 + inhibitor_concentration/Ki) + substrate_concentration)\n", " return V0_over_Vmax\n", "\n", "substrate_concentration = 4e-6 # 4 uM ATP\n", "enzyme_concentration = 6e-6 # 0.25 ng of ~42.4 kDa enzyme = ~6 uM\n", "true_Ki = 10e-9 # 10 nM\n", "Km = 1.71e-6 # ATP Km from http://www.proqinase.com/kinase-database/pdfs/2843.pdf\n", "\n", "activity = numpy.zeros([ndilutions], numpy.float64)\n", "for i in range(ndilutions):\n", " activity[i] = competitive_inhibition(substrate_concentration, assay_compound_concentrations[i], enzyme_concentration, true_Ki, Km)\n", "\n", "pyplot.clf()\n", "pyplot.semilogx(ideal_concentrations, activity, 'ro')\n", "pyplot.xlabel('ideal [I] (M)')\n", "pyplot.ylabel('V0/Vmax')\n", "pyplot.show()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n4OGHHwYAFBQUICQkBGaz2S7HjUWJiIjs3fwH+4oVK9yW26M3OsTExKC9vR2nT5+W2qqqqhAfH28X\nGxcXh8rKSps4rVaL4OBgl/I4kpCQcBtbQURE3uLRohQUFISMjAwsW7YMra2tOHr0KHbt2oWZM2fa\nxWZlZWHr1q04ceIETCYTVq5ciTlz5jidp62tDVd/+i7Ljc8BYM6cOfjoo49QVVWFa9euYeXKlRg3\nbpzTZ1pEROQlwsOMRqOYMmWKCAoKEhEREaKkpEQIIYTBYBBKpVLU19dLsYWFhUKr1Qq1Wi2ys7OF\n1WrtMU+niIgIoVAohI+Pj/SvwWCQ+l977TUxZMgQERwcLCZPnizOnj1rN1YvvB1ERHccdx47PXpL\neF/DW8KJiFznzmMnf2aIiIhkg0WJiIhkg0WJiIhkg0WJiIhkg0WJiIhkg0WJiIhkg0WJiIhkg0WJ\niIhkg0WJiIhkg0WJiIhkg0WJiIhkg0WJiIhkg0WJiIhkg0WJiIhkg0WJiIhkw+NFyWg0Ij09HUql\nEpGRkSgpKekydv369QgLC4NGo0FOTg6sVqtTea5du4Zp06YhKioKPj4+OHTokMP8VqsVI0eOxLBh\nw9y3gURE5DYeL0pz586Fv78/Lly4gOLiYuTm5kKv19vFlZaWYu3atSgrK4PBYEBdXR0KCgqczpOU\nlISioiKEhoZCoVA4HMvLL7+MwYMHd9lPRES9zG1z2DpgsViEn5+fOHXqlNSWlZUlFi9ebBebmZkp\n8vPzpeWysjIRGhrqcp6hQ4eKQ4cO2bXX1dWJkSNHir1794qhQ4c6HK+H3w4iojuSO4+dHj1Tqqmp\nga+vL6Kjo6U2nU6H6upqu1i9Xg+dTictJyQkoLGxESaTyaU8XcnLy8OaNWvg7+9/i1tDRESe5uvJ\n5BaLBWq12qZNpVLBbDY7jNVoNNJy53pms9mlPI589NFHEELgySefREVFRbexy5cvl54nJycjOTnZ\nqdcgIuovKioqejyW3iqPFiWlUonm5mabtqamJqhUqh5jm5qaAFwvPq7kuVlLSwsWLlyIvXv3OjXm\nG4sSERHZu/kP9hUrVrgtt0cv38XExKC9vR2nT5+W2qqqqhAfH28XGxcXh8rKSps4rVaL4OBgl/Lc\n7NSpUzAYDBg3bhzCwsIwdepUnD9/HmFhYThz5sxtbiEREbmTR4tSUFAQMjIysGzZMrS2tuLo0aPY\n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\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "What does this look like if we run many assay replicates?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "nreplicates = 1000\n", "activity = numpy.zeros([nreplicates,ndilutions], numpy.float64)\n", "for replicate in range(nreplicates):\n", " [actual_volumes, actual_concentrations] = robot_dilution_series(V0, C0, Vtransfer, Vbuffer, ndilutions, tecan_genesis_pipetting_model)\n", " [assay_volumes, assay_compound_concentrations] = robot_dispense(compound_volume, mix_volume, actual_concentrations, tecan_genesis_pipetting_model)\n", " for i in range(ndilutions):\n", " activity[replicate,i] = competitive_inhibition(substrate_concentration, assay_compound_concentrations[i], enzyme_concentration, true_Ki, Km)\n", "\n", "pyplot.clf()\n", "pyplot.semilogx(ideal_concentrations, activity.transpose(), 'r-')\n", "pyplot.xlabel('ideal [I] (M)')\n", "pyplot.ylabel('V0/Vmax')\n", "pyplot.show()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nkxtc5ffEiRN45513cO+99wKQhGk0GjFy5Mga5Xbv3g2j0Yj4+HgAQJs2bZCUlIRnnnnGlZdEVAuT\nDlEL8vbbb2Po0KFo06aN41zHjh3x3XffwWazOc4tW7YMUVFRNRZ6HDt2LJYtW4by8nKPxkytC5MO\nEaRr6+uvvwYAlJaWYuLEiWjfvj2io6Oxffv2GmWPHDmC22+/HcHBwYiMjMR//vMfx3Pbtm1Dv379\nEBQUhPDwcNx///0e/RJfu3YtBg4cWOOcr68vhg8fjvfffx+ALPK4cuVK3HnnnTWWtO/cuTOCgoLw\n7bffeixean2YdIggXVtVf/XPnj0bv//+O7KysrBu3TosW7bM8VxlZSWGDRuGK664AkeOHMHXX3+N\nhQsXYv369QAAb29vLFq0CLm5ufj222/x9ddf4+WXX/bYdfz888+49NJLa50fP348li9fDgBYt24d\nevfujfDw8FrlevXqhd27d7s9Tmq9mHSIzrFq1So8/vjjCAwMROfOnfHggw86WgTbt2/HyZMnMWPG\nDHh7e6N79+646667HK2IK6+8Etdccw2MRiO6deuGe+65x6NbMZ86darOjbb69esHm82GjIwMLF++\nvN7BCmazGadOnXJ3mNSKeWsdAJHeHDlypMZota5duzp+z87OxpEjRxAUFOQ4V1FR4RiEkJGRgYcf\nfhg//PADSkpKYLfbcfXVV3ss9qCgoHoHG4wfPx7/+c9/kJaWhrfffhvvvvturTKFhYU1ro3I1djS\nITpHWFgYDhw44Dg++/cuXbqge/fuyMvLczwKCgrw+eefAwCmTJmCyy67DJmZmcjPz8fTTz+NyspK\nj8UeExODX3/9tc7nxo0bh1deeQVDhw6Fn59fnWX27NmD2NhYd4ZIrRyTDtE5Ro8ejblz5+LUqVM4\ndOhQjYEC11xzDcxmM5599lmUlpaioqICv/zyC3bs2AEAKCoqgtlsRrt27bB371688sorHo19yJAh\n9Xbnde/eHZs2bcLTTz9d5/OHDx+GzWbDtdde684QqZVj0iE6R3JyMrp164bu3btj8ODBmDBhgmMg\ngZeXFz7//HPs2rULkZGR6NixI+655x4UFBQAAJ5//nm89957CAgIwD333IMxY8bUGJZ87l705zp3\nT8Vzyze05+KECROwZs0anD59us46+vfvj9DQUMf5s5977733MHHiRPj4+Jz3PYguBHcOJdKJnj17\n4ujRoxg5ciSWLl1a6/mlS5fi4YcfxpkzZ2C1WhEREVFnPY8//jiCg4Px4IMPOv3eZ86cweWXX47N\nmzejQ4cOTb0EogYx6RARkcewe42IiDyGSYeIiDyGSYeIiDyGSYeIiDyGSYeIiDyGSYeIiDzm/wPY\nUuyQ5T0HagAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's not hard to see that the IC50 will vary over a large range! Let's fit the IC50s to see." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def fit_ic50(inhibitor_concentrations, activities):\n", " import numpy, scipy\n", " def objective(inhibitor_concentrations, Ki):\n", " activities = numpy.zeros([ndilutions], numpy.float64)\n", " for i in range(ndilutions):\n", " activities[i] = competitive_inhibition(substrate_concentration, inhibitor_concentrations[i], enzyme_concentration, Ki, Km)\n", " return activities\n", " \n", " Ki_guess = true_Ki\n", " import scipy.optimize\n", " [popt, pcov] = scipy.optimize.curve_fit(objective, inhibitor_concentrations, activities, p0=[Ki_guess])\n", " \n", " return popt[0]\n", "\n", "IC50s_tips = numpy.zeros([nreplicates], numpy.float64)\n", "for replicate in range(nreplicates):\n", " IC50s_tips[replicate] = fit_ic50(ideal_concentrations, activity[replicate,:])\n", "pIC50s_tips = numpy.log10(IC50s_tips)\n", " \n", "clf()\n", "nhist = 20\n", "hist(pIC50s_tips, nhist);\n", "xlabel('measured pIC50 (M)');\n", "ylabel('P(pIC50)');\n", "gca().axes.get_yaxis().set_ticks([]); # turn off y ticks" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 15, "text": [ "[]" ] }, { "output_type": "display_data", "png": "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\nvlnTp09XYWGh0tPTVd6qKUVFRb7XgX0ofASloiWXWrdurdGjR8vj8fhuRUVFmjRpko4fP65hw4Zp\n0qRJys/Pl8fj0eDBg32vFR0drZkzZ+r777/Xu+++q1mzZunf//63pNOlfOzYMd84ubm5flM6555h\n07p1a61atcovx7Fjx5ScnKwWLVr4zVsfO3bM90Onos/17O2Li4tVWFio5OTkMtsOHDhQy5cvD/Sl\nK/PaZ/+3a9euflMs//vf/9S8eXPFx8eXeW6TJk2Ulpam7du3l/vaY8aM0axZs/ze1D3byZMntWvX\nLr8pJNiFwsd5ufvuu/Xee+9p9erV8nq9KikpUWZmpnJyclRaWqrS0lI1bdpULpdLH374oVavXu17\n7sqVK7Vr1y4ZY+R2u9WgQQPfVEuPHj20ePFieb1erVq1yjcNVJEHH3xQTz31lO/N1YMHD+rdd9+V\nJA0fPlwrV67Uhg0bVFpaqilTplT4JuoZH3zwgW/7Z555Runp6WrZsmWZ7aZNm6ZPP/1UkyZNUl5e\nniRp165dGj16tH788Udt27ZNX3/9tbxer4qLi/XYY4+pVatW6ty5s6TTJf3GG2/o22+/lcfj0fTp\n032nUpZn8ODBfm+Kn61v3776+OOPNWHChHIf//zzz5WamqqUlJSAnzvqLwofQTn36PrM/VatWmnF\nihV68cUXdfHFF6t169Z65ZVXZIxRTEyMZs+erTvuuEMJCQl66623fOePS6eL8frrr1dMTIyuueYa\nPfTQQ74zUF577TW99957io+P15IlSzR06NAK80jSo48+qltvvdV3Zk16ero+//xzSVKXLl3017/+\nVSNHjlRycrISEhIClp7jOBo5cqSmTZumxMREffXVV1q0aFG5Y7dr104bN25UVlaWunbtqri4OA0f\nPlw9e/ZUTEyM8vLydNdddyk2NlZpaWnat2+fVq5cqQYNGkiSbrjhBk2aNEn9+/dXamqq0tLSNG3a\ntAqzjRs3TosXLy7330KS+vfv75uyOfexxYsX6/e//32Fr436j+WRgXPcd999atWqlaZPn17TUco1\natQo3XHHHX4/PCuTn5+vfv366euvv/Z77wN2iarpAEBtU9uPgc4+wg/WxRdfrG3btoUhDeoSpnSA\nc5zPsgtAbcaUDgBYgiN8ALAEhQ8AlqDwAcASFD4AWILCBwBLUPgAYIn/B3yuEDxJHvMMAAAAAElF\nTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The error won't be uniform across the whole Ki range, however. Let's characterize the standard error as a function of Ki." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def robot_IC50s(true_Ki):\n", " nreplicates = 1000\n", " IC50s = numpy.zeros([nreplicates], numpy.float64)\n", " for replicate in range(nreplicates):\n", " [actual_volumes, actual_concentrations] = robot_dilution_series(V0, C0, Vtransfer, Vbuffer, ndilutions, tecan_genesis_pipetting_model)\n", " [assay_volumes, assay_compound_concentrations] = robot_dispense(compound_volume, mix_volume, actual_concentrations, tecan_genesis_pipetting_model)\n", " activities = numpy.zeros([ndilutions], numpy.float64)\n", " for i in range(ndilutions):\n", " activities[i] = competitive_inhibition(substrate_concentration, assay_compound_concentrations[i], enzyme_concentration, true_Ki, Km)\n", " IC50s[replicate] = fit_ic50(ideal_concentrations, activities)\n", " return IC50s\n", "\n", "pKis = numpy.array([-12, -11, -10, -9, -8, -7, -6, -5, -4, -3], numpy.float64);\n", "Kis = 10**pKis\n", "nKis = len(pKis)\n", "genesis_pIC50_bias = numpy.zeros([nKis], numpy.float64)\n", "genesis_pIC50_CV = numpy.zeros([nKis], numpy.float64)\n", "for (i, Ki) in enumerate(Kis):\n", " IC50s = robot_IC50s(Ki) \n", " pIC50s = numpy.log10(IC50s)\n", " pKi = pKis[i]\n", " genesis_pIC50_bias[i] = pIC50s.mean() - pKi;\n", " genesis_pIC50_CV[i] = pIC50s.std() / abs(pIC50s.mean()) " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can plot the bias in the measured pIC50 values." ] }, { "cell_type": "code", "collapsed": false, "input": [ "clf();\n", "plot([pKis.min(), pKis.max()], [0, 0], 'k-', pKis, genesis_pIC50_bias, 'ro');\n", "xlabel('pKi');\n", "ylabel('bias in measured pIC50');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The CV is not so bad." ] }, { "cell_type": "code", "collapsed": false, "input": [ "clf();\n", "plot(pKis, genesis_pIC50_CV*100, 'ko');\n", "xlabel('pKi');\n", "ylabel('pIC50 CV (%)');\n", "axis([pKis.min(), pKis.max(), 0, 10]);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nZwUFBSk6Olrr16+3NI/L5VJgYKDn38lOO5U7d+5UQECARo4caXUUPfroo3I6nQoJCdENN9ygtLS0\ny77HFuVQmZYtWyo5OVljxowxLTtx4oTGjx+vvXv3au/evQoODq5ww+jPTJJ05513atGiRbruuuv8\ndiC9skxHjx5VfHy80tLSlJeXp+7du2v48OF+yXXemTNnNGTIEA0ePFh5eXl6++239eijj2rnzp1+\nzXGxiRMnKjw8XIcOHdLmzZu1du1azZ0719JM0rmz+E6dOqVTp07p559/VmBgoIYNG2ZpptWrV+v3\nv/+95s+fr4KCAn3++ee64YYbLM3kcDj017/+1fNvtW3bNkvzXGjChAnq2bOnLU6m+cMf/qDdu3cr\nPz9fGRkZmjNnjlasWFHpeyw/IH05cXFxkqQNGzZo//795Zb169ev3OMJEybI5XJZmqlBgwaePbxr\nrrnG51mqkmnp0qW66aabFB8fL0lKSUlReHi4duzYoQ4dOvgl3/bt23Xo0CE9++yzkqQ+ffqoV69e\nWrhwoV566SW/ZKjI1q1bNWvWLDVs2FCRkZHq16+f7a6xef/99xUZGanevXtbmmPq1KmaOnWqevbs\nKUlyOp2W5jnPBodNTZYsWaLQ0FDdeOON2rVrl9VxFBMTU+5x/fr1FRERUel7bD9yOK8qfwDr1q0z\nneXkS3b8o6wo09atW9W1a1fP48aNGys6OlrZ2dn+jGZy9uxZyzPExsZq8eLFKi4u1oEDB5SRkaH+\n/ftbmuli8+fPV0JCgqUZ3G63Nm7cqCNHjqh9+/aKiopSYmKiSkpKLM0lndsrbt68uXr37u23adzK\n5Ofna+rUqZo5c6atthFPP/20mjRpopiYGCUlJenWW2+t9PW1phwuNzT7/vvvNX36dL366qt+SmTP\nay8qylRYWGi60DAkJEQFBQX+iqWOHTsqIiJCr776qk6fPq1Vq1Zp3bp1Ki4u9luGiqSkpCg7O1sh\nISGKiopSjx49NGTIEEszXWjv3r1at26dHnvsMUtzHD58WKdPn9YHH3yg9evXa/Pmzdq0aZNSU1Mt\nzTVjxgzt3r1bBw8e1Lhx4zRo0CD9+OOPlmZKTk7WE088oRYtWthqGzF37lwVFBQoMzNTSUlJ+uab\nbyp9vaXl4HK5VK9evQp/7rzzznKvrayBd+3apQEDBmj27Nnq1auXLTLVpCvNFBQUpPz8/HLPnTx5\nUsHBwX7L2KBBA3344YdKT0+X0+nUzJkzNWzYMLVq1arGMnibSTo3cnjwwQdVVFSko0eP6vjx43rh\nhRd8lqmquc5buHChfvWrX+n666+3NFPjxo0lSYmJiYqMjFRYWJgmT56sTz75xLJMktSzZ081adJE\nDRo0UEJCgnr16mVpps2bN2vNmjWe6VN/bCO8+XtyOBxyuVx68MEHL3v3a0uPOXhzk6pLNfDevXt1\n77336sUXX9Qjjzxii0w17UozxcTEaP78+Z7HhYWFysnJMc1DXomqZLz55pvLve6OO+7w6QkEl8uU\nm5urjRs36tNPP1WDBg3UrFkzjRo1SsnJyZoxY4ZluS60YMEC/fGPf/RZlvOqksmXRV4RO97E7nKZ\nZs2apT179qh169aSzp1Y4Ha7tW3bNm3YsMGSTBU5ffq0wsLCKn2N7aeV3G63SkpKdObMGbndbpWW\nlnpONTxw4ID69u2rZ555RuPGjbNFJkkqLS31zMVe+LtVmeLi4pSdna2lS5eqpKRE06ZNU7du3fx2\nMPq8H374QSUlJSoqKtJrr72mw4cPa9SoUX7NcKHw8HA5nU69+eabcrvdOnHihObPn1/u+IyVvvji\nCx08eFAPPvig1VEkSaNHj9acOXOUm5urvLw8zZw5U4MGDbIsz8mTJ7Vy5UrP3/0777yjzz//3HSi\nij+NGzdOP/74o7Zs2aLNmzdr/PjxGjhwoFauXGlZptzcXC1ZskSFhYVyu91auXKl3nvvvctPnxo2\nN3XqVMPhcJT7mTZtmmEYhpGSkmI4HA4jKCjI8xMcHGxpJsMwjOuvv95wOBxGvXr1PP/du3evpZky\nMzONTp06GYGBgUafPn18nqcizz//vBEaGmoEBQUZAwYMMHJycvye4WJfffWV0bt3b6Np06ZGeHi4\nMXz4cOPIkSNWxzIMwzCefPJJIyEhweoYHqdPnzaefvppo2nTpsZ1111nTJo0ySgtLbUsT25urtGj\nRw8jODjYaNq0qfHLX/7SyMzMtCxPRVJSUoyRI0damiE3N9e46667jKZNmxrXXnut0aNHD2P58uWX\nfZ8tbp8BALAX208rAQD8j3IAAJhQDgAAE8oBAGBCOQA+8vLLL2vs2LFWxwCqhbOVgGrKysrSyJEj\n9dNPP0mSysrKNGLECB05ckQZGRk1egU64G+2vysrUBuUlpYqPj5eJSUlWr16tQIDA62OBFwRppWA\ny2jTpo3+9Kc/KSYmRs2aNdOYMWNUWlrqWV5cXKxBgwbp7NmzSk9P9xRDSkqKLb7oBagOygGogsWL\nF2vVqlXKycnRjh07lJqaKofDodLSUvXr10+NGzfW8uXL1ahRI8977HRHTsBblANwGQ6HQ88884xa\ntmyp0NBQTZkyxXNHy/z8fH399ddKSEhQgwYNyr2Pw3mozSgHoAqioqI8v7du3VoHDx6UJDVv3lxL\nlizRY489plWrVlkVD6hxlANQBfv27Sv3e4sWLTyPH3jgAf3973/X0KFDy90+mWkl1GaUA3AZhmFo\n7ty5OnDggI4fP660tDSNGDGi3GtGjBihN954Q0OGDNEXX3zheR9QW3EqK3AZDodDDz/8sO677z4d\nPHhQDzzwgJKSkvTVV1+VGx0kJCSorKxMAwcO1KpVq+RwOBg9oNbiIjjgMtq2bat//OMf6tu3r9VR\nAL9hWgkAYEI5AABMmFYCAJgwcgAAmFAOAAATygEAYEI5AABMKAcAgAnlAAAw+T/Pj/0VrQsBuAAA\nAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 18 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Dispensing by LabCyte Echo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What about the LabCyte Echo experiments? According to LabCyte, the Echo has an inaccuracy of 10% and a precision of 8% over the entire dispense range of 2.5 nL to 10 uL. Let's model how it dispenses directly into the assay plate with an 9-point dilution series spanning 2.5 nL to 120 nL from 10 mM stock solution." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def echo_assay_dispense(C0, mix_volume, backfill_volume, ideal_dispense_volumes):\n", " inaccuracy = 0.10 # Specs from: http://www.labcyte.com/sites/default/files/support_docs/Echo%205XX%20Specifications.pdf\n", " imprecision = 0.08 # Specs from: http://www.labcyte.com/sites/default/files/support_docs/Echo%205XX%20Specifications.pdf\n", " from numpy.random import normal\n", " ndilutions = len(ideal_dispense_volumes)\n", " assay_volume = numpy.zeros([ndilutions], numpy.float64)\n", " assay_concentration = numpy.zeros([ndilutions], numpy.float64)\n", " bias = inaccuracy * normal()\n", " for i in range(ndilutions):\n", " compound_volume_intended = ideal_dispense_volumes[i]\n", " backfill_volume_intended = backfill_volume - compound_volume_intended\n", " \n", " compound_volume_dispensed = compound_volume_intended * ((1+bias) + imprecision*normal())\n", " backfill_volume_dispensed = backfill_volume_intended * ((1+bias) + imprecision*normal())\n", " \n", " assay_volume[i] = mix_volume + backfill_volume_dispensed + compound_volume_dispensed\n", " assay_concentration[i] = C0 * compound_volume_dispensed / assay_volume[i]\n", "\n", " return [assay_volume, assay_concentration]\n", "\n", "C0 = 10e-3 # 10 mM stock solution\n", "ideal_assay_volume = 120e-9 # 120 nL\n", "ideal_dispense_volumes = 2.5e-9 * numpy.array([6, 12, 18, 24, 30, 36, 42, 48]) # 9-point titration, multiples of 2.5 nL\n", "ideal_concentrations = (C0*ideal_dispense_volumes/ideal_assay_volume)\n", "ndilutions = len(ideal_dispense_volumes)\n", "ideal_volumes = numpy.ones([ndilutions]) * ideal_assay_volume\n", "backfill_volume = 120e-9 # backfill with DMSO to 120 nL after dispensing compound\n", "mix_volume = ideal_assay_volume - backfill_volume # 12 uL assay volume (minus 120 uL)\n", "[assay_volumes, assay_concentrations] = echo_assay_dispense(C0, mix_volume, backfill_volume, ideal_dispense_volumes)\n", "\n", "# Plot this realization.\n", "clf();\n", "plot([0,ndilutions], [1, 1], 'k-', range(ndilutions), assay_volumes/ideal_assay_volume, 'ro', range(ndilutions), assay_concentrations / ideal_concentrations, 'go');\n", "legend(['exact', 'assay well volume rel err', 'concentration rel err'], loc='lower right');\n", "ylabel('relative quantity');\n", "xlabel('dilution number');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nRK5CYII=\n", "text": [ "" ] } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "nreplicates = 1000\n", "actual_volumes_n = numpy.zeros([nreplicates, ndilutions], numpy.float64)\n", "actual_concentrations_n = numpy.zeros([nreplicates, ndilutions], numpy.float64)\n", "for replicate in range(nreplicates):\n", " [actual_volumes_replicate, actual_concentrations_replicate] = echo_assay_dispense(C0, mix_volume, backfill_volume, ideal_dispense_volumes)\n", " actual_volumes_n[replicate,:] = actual_volumes_replicate\n", " actual_concentrations_n[replicate,:] = actual_concentrations_replicate\n", "volumes_cv = (actual_volumes_n / ideal_volumes).std(0)\n", "concentrations_cv = (actual_concentrations_n / ideal_concentrations).std(0)\n", "quantity_cv = ((actual_volumes_n * actual_concentrations_n) / (ideal_volumes * ideal_concentrations)).std(0)\n", "\n", "# Plot CVs\n", "clf()\n", "x = numpy.arange(ndilutions)\n", "plot(x, concentrations_cv*100, 'ro', x, volumes_cv*100, 'go', x, quantity_cv*100, 'bo');\n", "xlabel('dilution number');\n", "ylabel('CV (%)');\n", "legend(['concentration', 'volume', 'quantity'], loc='lower left');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "How does a competitive inhibition look with the narrow dynamic range afforded by the LabCyte Echo?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "activity = numpy.zeros([ndilutions], numpy.float64)\n", "for i in range(ndilutions):\n", " activity[i] = competitive_inhibition(substrate_concentration, assay_compound_concentrations[i], enzyme_concentration, true_Ki, Km)\n", "\n", "# Plot V0/Vmax for a single realization,\n", "clf();\n", "semilogx(ideal_concentrations, activity, 'ro');\n", "xlabel('ideal [I] (M)');\n", "ylabel('V0/Vmax');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": {}, "source": [ "V0 only goes up to a maximum of 0.012, but we can still see some curvature that could give a decent fit to Michaelis-Menten for an IC50. Let's try a number of replicates to see how much variation there is between measurements." ] }, { "cell_type": "code", "collapsed": false, "input": [ "activity = numpy.zeros([nreplicates,ndilutions], numpy.float64)\n", "for replicate in range(nreplicates):\n", " [assay_volumes, assay_compound_concentrations] = echo_assay_dispense(C0, mix_volume, backfill_volume, ideal_dispense_volumes)\n", " for i in range(ndilutions):\n", " activity[replicate,i] = competitive_inhibition(substrate_concentration, assay_compound_concentrations[i], enzyme_concentration, true_Ki, Km)\n", "\n", "# Plot V0/Vmax for many measurements.\n", "clf();\n", "semilogx(ideal_concentrations, activity.transpose(), 'r-');\n", "xlabel('ideal [I] (M)');\n", "ylabel('V0/Vmax');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nKXDCgAAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 22 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Transforming this into IC50s, we see there is a fair amount of error." ] }, { "cell_type": "code", "collapsed": false, "input": [ "IC50s_echo = numpy.zeros([nreplicates], numpy.float64)\n", "for replicate in range(nreplicates):\n", " IC50s_echo[replicate] = fit_ic50(ideal_concentrations, activity[replicate,:])\n", "\n", "clf()\n", "nhist = 20\n", "hist(numpy.log10(IC50s_echo), nhist);\n", "xlabel('log IC50 (M)');\n", "ylabel('P(IC50)');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 23 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's characterize the error for the Echo assay as a function of Ki." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def echo_IC50s(true_Ki):\n", " nreplicates = 1000\n", " IC50s = numpy.zeros([nreplicates], numpy.float64)\n", " for replicate in range(nreplicates):\n", " [assay_volumes, assay_compound_concentrations] = echo_assay_dispense(C0, mix_volume, backfill_volume, ideal_dispense_volumes)\n", " activities = numpy.zeros([ndilutions], numpy.float64)\n", " for i in range(ndilutions):\n", " activities[i] = competitive_inhibition(substrate_concentration, assay_compound_concentrations[i], enzyme_concentration, true_Ki, Km)\n", " IC50s[replicate] = fit_ic50(ideal_concentrations, activities)\n", " return IC50s\n", "\n", "# Run simulation of many experiments.\n", "pKis = numpy.array([-12, -11, -10, -9, -8, -7, -6, -5, -4, -3], numpy.float64);\n", "Kis = 10**pKis\n", "nKis = len(pKis)\n", "echo_pIC50_bias = numpy.zeros([nKis], numpy.float64)\n", "echo_pIC50_CV = numpy.zeros([nKis], numpy.float64)\n", "for (i, Ki) in enumerate(Kis):\n", " IC50s = echo_IC50s(Ki) \n", " pIC50s = numpy.log10(IC50s)\n", " pKi = pKis[i]\n", " echo_pIC50_bias[i] = pIC50s.mean() - pKi;\n", " echo_pIC50_CV[i] = pIC50s.std() / abs(pIC50s.mean()) " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot relative error in measured Ki values as a function of true Ki.\n", "clf()\n", "plot([pKis.min(), pKis.max()], [0, 0], 'k-', pKis, echo_pIC50_bias, 'ro');\n", "xlabel('pKi');\n", "ylabel('bias in measured pIC50');\n", "axis([pKis.min(), pKis.max(), echo_pIC50_bias.min()-1, echo_pIC50_bias.max()+1]);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 25 }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot CV.\n", "clf();\n", "plot(pKis, echo_pIC50_CV*100, 'ro');\n", "xlabel('pKi');\n", "ylabel('measured pIC50 CV (%)');\n", "axis([pKis.min(), pKis.max(), 0, 10]);" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nciAiIpH/Bxaq/ch+OrZQAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 26 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Comparison of Tecan Genesis and Labcyte Echo modeled performance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What do we get when we plot the Tecan Genesis and Echo results against each other?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "echo_pIC50_err = (echo_pIC50_CV*numpy.abs(pKis))\n", "genesis_pIC50_err = (genesis_pIC50_CV*numpy.abs(pKis))\n", "\n", "clf();\n", "subplot(111, aspect='equal');\n", "hold(True);\n", "plot([pKis.min(), pKis.max()], [pKis.min(), pKis.max()], 'k-');\n", "plot(pKis, pKis, 'ko');\n", "errorbar(pKis + echo_pIC50_bias, pKis + genesis_pIC50_bias, xerr=2*echo_pIC50_err, yerr=2*genesis_pIC50_err, fmt='ro');\n", "axis([pKis.min(), pKis.max(), pKis.min(), pKis.max()]);\n", "xlabel('acoustic pIC50');\n", "ylabel('tips pIC50');\n", "title('95% confidence intervals shown');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "# data from Fig 1 of Fregau et al.\n", "echo_IC50s = numpy.array([0.064, 0.486, 0.003, 0.002, 0.007, 0.003, 0.004, 0.052, 0.01362, 0.207, 0.158, 0.01164, 0.00633, 0.00358]) * 1e-6 # M\n", "genesis_IC50s = numpy.array([0.817, 3.03, 0.146, 0.553, 0.973, 0.778, 0.445, 0.17, 0.112, 14.4, 0.25, 0.049, 0.087, 0.152]) * 1e-6 # M\n", "\n", "echo_pIC50s = numpy.log10(echo_IC50s);\n", "genesis_pIC50s = numpy.log10(genesis_IC50s);" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's add the error bars we modeled to see if the variation is sufficient to bring the two sets of data into agreement." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Interpolate bias and CV for Echo and Genesis.\n", "from scipy.interpolate import interp1d\n", "echo_bias_interpolation = interp1d(pKis, echo_pIC50_bias);\n", "echo_CV_interpolation = interp1d(pKis, echo_pIC50_CV);\n", "genesis_bias_interpolation = interp1d(pKis, genesis_pIC50_bias);\n", "genesis_CV_interpolation = interp1d(pKis, genesis_pIC50_CV);\n", "\n", "# Compute error bars for Echo and Genesis.\n", "echo_pIC50_err = (echo_CV_interpolation(echo_pIC50s)*numpy.abs(echo_pIC50s))\n", "genesis_pIC50_err = (genesis_CV_interpolation(genesis_pIC50s)*numpy.abs(genesis_pIC50s))\n", "\n", "# Plot with error bars.\n", "figure();\n", "subplot(111, aspect='equal');\n", "hold(True);\n", "plot([-9, -4], [-9, -4], 'k-');\n", "errorbar(echo_pIC50s, genesis_pIC50s, xerr=2*echo_pIC50_err, yerr=2*genesis_pIC50_err, fmt='ro');\n", "plot([-9, -6], [-9, -6], 'k-');\n", "#axis('equal');\n", "xlabel('pIC50 (acoustic)');\n", "ylabel('pIC50 (tips)');\n", "title('95% confidence intervals shown');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n++8jNjYWcXFxiIyMxNdff425c+cqHD4kJARDhgzBsWPHkJiYiKFDh2L06NGIjo6WDfPy30ggEMj9\njZQRFBSEffv2YcCAAfD09ISzszOCgoKQkJAAsViMvn37VplPbd+N2ujF0SgpMzMzODk5oby8HDEx\nMRg1alSNw//5559wd3dX2E+6BfPll18CkKwo0i+N9Gd1C7JXr1747bff8OzZM4X9vb29kZKSItct\nOTkZAoEA3t7esm6qOKLUqVMnnDt3Tq7W06dPyw3j4+ODGzduwMrKCp6ennIvJycnpef16quv4sqV\nK8jJyam2/+XLl9GqVasq87Gzs6vT56pt2ZiYmEAkEsl1k27RZGdnV5m/MofJBw8ejBYtWmD37t3Y\nsWMHhg8fLheSJ0+exLx58/DGG2/A29sbTk5OyMzMrHW63t7e+OCDD3DkyBHMmjULmzdvrnF4Jycn\nhISEYPv27diyZQt+/PFHFBUV1TofAGjbti1MTU2RnJws1z05ORldunSRve/fvz8uXryIPXv2YODA\ngQAkARQfH4/ExEQEBQUpNb+60IuwOXHiBA4fPowbN24gOTkZgwYNQllZGT755BPZMMuWLcPRo0eR\nkZGB1NRULF++HD/88AMWLlxYZXrS81c2bNgAW1tbAJLNzB9++AFXrlzBp59+iu7du1fZHZCaN28e\nxGIxRo4cid9++w03b97EoUOHcOzYMQDAv/71L/z5559YuHAhrl69imPHjiE0NBRTpkyBq6urbDp1\n3YpR5N1338X9+/cxd+5cpKWlIT4+HuHh4XLDTJ48GW3atMGwYcMQFxeHrKwsnD17FqtXr8aBAweU\nntfEiRPRunVrjBgxAvHx8bh58ybi4+Pxyy+/AADmz58PkUiEkSNH4tSpU8jKysKpU6cQHh6OM2fO\n1Olz1bZsPD09kZeXh99//x0PHjxASUkJ2rZti5kzZ2LOnDnYuXMnMjIycPHiRfzwww9Yu3ZtrfM0\nMjLCpEmT8M033+DIkSOYPn26XP/27dtj586duHz5Mi5cuICJEydCLBbL1UqSdlAAkl2aRYsW4fTp\n08jOzsaZM2dw8uRJuX84L5s/fz6OHj2KzMxMpKamYt++fXB3d4elpaVSy6VZs2YICwtDZGQkYmJi\ncP36dXzyySf473//iyVLlsiG6927N8zNzREdHS0LFqFQiEuXLuHixYtqCRu9aCDeu3cvtWvXjkxN\n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\nDWNMI/4/8gcFD2Rm2ZoAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 29 }, { "cell_type": "markdown", "metadata": {}, "source": [ "What if we correct for the bias for each instrument?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot.\n", "figure();\n", "subplot(111, aspect='equal');\n", "hold(True);\n", "plot([-9, -4], [-9, -4], 'k-');\n", "errorbar(echo_pIC50s, genesis_pIC50s, xerr=2*echo_pIC50_err, yerr=2*genesis_pIC50_err, fmt='ro');\n", "errorbar(echo_pIC50s - echo_bias_interpolation(echo_pIC50s), genesis_pIC50s - genesis_bias_interpolation(genesis_pIC50s), xerr=2*echo_pIC50_err, yerr=2*genesis_pIC50_err, fmt='go');\n", "plot([-9, -6], [-9, -6], 'k-');\n", "#axis('equal');\n", "xlabel('pIC50 (acoustic)');\n", "ylabel('pIC50 (tips)');\n", "legend(['ideal', 'original', 'bias corrected'], 'upper right');\n", "title('95% confidence intervals shown');" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n3c/PjxYuXCiVlpmZSRwOh27cuEFERM2bN6fQ0FCpMiNGjNCI2LBuVAPCgCM7QLmhTu0ClCu7PqBs\n94TyTuKePXuiqKhIbqzf6nY88PDwQEBAANq3b4/hw4fjhx9+wKNHj+Se/+nTp3j06BH69+8vM1/R\nXSDE1yILT09Pye9//fUXiAhdu3aV7BpiZmaGVatWITU1FQBw5coV8Hg8dOnSRa7dsrh8+TLWr18v\nVa+7uzs4HA5SUlKQn5+PJ0+eoGfPnlLHeXt7a8T/wxzEDYjgMcFI25SGtM7/vbj8q3wEzapdwHNl\n1wfU3MlZ3Y4HXC4XJ0+exOXLl3HmzBkcPHgQCxYswIEDBzBIieFRZSFrJwgdHR0pR7F494YLFy7A\n2NhYqmxdw4sSERYsWIDx48dXyrO1tYVQKKxT/cqGiU0DQjxKtOGXDSgUFsJQxxBBs4JqPXqk7PqA\nsv/GIpEIXG5Zo/r8+fMwMDAAv8IuDmISExOxdu1avPfeewCAgoICpKWloUOHDlLlPD094enpiYUL\nF2LgwIEIDw+XKTY2NjZwcHDA6dOnJXWWp/wuEO3atZOkx8fHVzqnInTt2hUAkJmZKVf8unXrhry8\nPFy5ckVSvjxi8aooHt26dcPNmzdlxugW07x5c5w7dw4DBw6UpJ07d04zcZRr3QHTIPXUbKVQn69d\n7CD+3//+R7dv36Zjx46RnZ0dzZ49W1Kmos+mW7du5OPjQ0lJSXTt2jUaPHgwWVhY0KRJk4iI6Ny5\nc/Tll1/SxYsXKTMzk86cOUPNmjWjJUuWyLVj27ZtpKenR1999RXdunWLbt68SRs2bJA4Xr/44guy\nsrKiAwcO0N27d2nFihXE5XIpJiZGUkf5XTrFhIeHk66ubqXzTZkyhezt7Wn37t2UkpJC169fp59/\n/plWr14tKePr6ytxEN+/f5/Onj1L27ZtIyIioVBIZmZmNH/+fMrKyqLc3FwiIoqNjSU9PT2aO3cu\nXbt2jVJTU+nkyZM0ZcoUevv2LRERrV+/nkxNTWn37t107949WrduHfF4PJl2iqnqGavL81cvn9z6\n/MLVlfp87QKBgKZMmULz5s0jKysrMjMzo2nTplFhYaGkTMXRqKSkJOrZsycZGRmRq6srbd68mfr1\n6ycRm+TkZHr33XfJzs6ODAwMyNnZmb744gsqKSmp0pa9e/eSh4cHGRgYkJWVFb333nv04sULIiIq\nKSmhBQsWUPPmzUlfX5/c3d1p//79UsfLExtZjlehUEhr1qyhNm3akL6+PjVt2pQEAgFFRERIyrx6\n9YqCgoIxL0JoAAAgAElEQVTI3t6e9PX1ydXVVUqMdu3aRa6urqSrq0uurq6S9MTEROrXrx+ZmZmR\niYkJtW3blubMmUOlpaVEVDbStWjRImratCmZmJjQhx9+SOvXr9eIg5hF6qtnNOZrZ6gHFqmPwWDU\na5jYMBgMtcDEhsFgqAUmNgwGQy2weTb1DB6P16j2mmaoHx6Pp5J6WcumnpGbmwsqm7KgdZ+Dtw5i\n2C/D6laPvz/o9Gm12SwSiRAcHAxPT0/k5eVp/B5qw6f8qnFlwoa+GXUmLiMOBSkFCPkpBI8LHqOL\nTRcEjwmGSUsTCFwEClYSV/YpKQF0dIB/ZxhDICj7qAAiwuzZs3HhwgVERkbC0tJSJedpSLAdMRka\nZcw3Y3Ap8ZL0GqprfHj18sK+z/Zp0DL5MKGpHUxsGBrFdYgrMrpmVErnX+cj9fdU9RtUDUxoag+b\n1MfQKC9KXshML6VSNVtSPUxoNEeVYvPs2TN888036NOnD6ysrKCrqwsrKyv07dsX69atw7Nnz9Rl\nJ0OLaWLQRGa6Lke7BjuZ0GgWuWKzYMECdOnSBXfv3sXUqVMRFRWF27dvIyoqCpMnT8a9e/fQpUsX\nLFiwQJ32MrSQ7r26g39NOkQE/yofXj6yg0tpAiY0mkfuvx4HBwekpqbCwKBytLYuXbpg7NixKCws\nxLZt21RqIEP7mf7BdIztOBah20Lx6PUjdLXriqBZQTBpWTm4lCZgQqMdMAcxQ2kcun0Ie/7eg0Mj\nD2naFAlMaJRLXd49hTrVMTExcHFxgZubG7KysjB//nzo6Ohg1apVsLOzq9WJGwzi+SEbNgDTpgGG\n/8bnVeH8EG1Gm2Y3M6HRLhRq2bRp0waRkZFwcnLC6NGjweFwYGhoiOfPn+OPP/5Qh51SaGXLhscD\n7t8v+9nIiMuIQ1xGXKV0gYtA8Ul9SoYJjWpQ+Twbc3Nz5Ofno6SkBLa2tsjMzISBgQHs7e3xzz//\n1OrEdYGJDaMqmNCoDpV3o8zNzZGdnY3k5GS4u7vDzMwMRUVFKCkpqdVJ5fHLL79g2bJlePjwIezs\n7LBjxw74+Pgo9RyNFnF3TyQCTp8GxAGwG1h3jwmN9qKQ2AQFBcHLywtFRUX47rvvAJRFaG/btq3S\nDImKisKCBQvw22+/wcvLC1lZWapvvYhfwAcPgJwcQLzfT01ewLg4JBQUIPL1a+gOHoxSExP0Fwjg\nu3ChamyuLeJrKiwE1qwBLl7UtEVKhwmNlkMKcufOHUpJSZF8v3v3Lv3999+KHl4tPXr0oO3btytU\ntgZmK8bu3URjx9bq0PjRo2kRn08ESD6LeDyKP3ZMuTYqi7dviQwMNG2F0hGJRBQcHEyenp6Ul5en\naXMaLHV59xRertCiRQvk5OTgwIEDOHfuHPh8fq320ZGFUCjElStX8PTpU7Rs2RKOjo4ICgpCYWGh\nUupXGUIhIs+fx4oKuzmuyMtD1IYNGjKq8SESidC9e3fExMSwFo0Wo1A36u+//8b777+PwsJCODg4\n4NGjRzA0NMShQ4fQqVOnOhuRk5ODkpISHDx4EGfPnoWuri6GDh2K5cuXY/ny5TKPCQsLk/wuEAgg\n0ITfIScHug8fyszS0XahbCCIRCJ06dIFqampSE5OZkKjZOLi4hAXF6ecyhRp/nTp0oXWrVsn2RBe\nKBTSN998Q126dFGo+eTn50ccDkfmp1evXpSXl0ccDod27dolOebgwYPUuXNnmfUpaLbi1KEbFeLm\nJtWFEn9CAwKUa6MSiF+5kkL69aOlHA6F9O9f1tWLjdW0WbVGKBSSh4cHmZiYUEZGhqbNaRTU5d1T\n6EgzMzPJpldiSkpKyMzMrNYnroijo6P6xSY2luKPHaOQDh1oqY1NrV5AWT6bhVros4k/dowW8XjS\nviU+n+JHj9a0abWCCY1mULnYjBw5kg4ePCiVdujQIRo5cmStT1yRJUuWkKenJz19+pRyc3PJx8dH\n7haqNb7gN2+IMjMrJct07tb0BfxXsEJ1dWmptzeFBgRQ/MqVNbNPDYR4e8tugTk7a9q0GsOERnPU\nRWwU8tmUlpZi1KhR6NatGxwcHPDw4UNcuXIFQ4cOxfjx4wGUTfbZtWtXrbtzixcvxvPnz9GqVSsY\nGhpi5MiRCAkJqXV9AP4b2n70qGxuyZQpZen/DgNHnjmDFRXCZKxIS8NiAL6KnkMggC8AX1NT4OhR\nrZ3UJ+8PraNtkyOroaKPxtnZWdMmMRREIbFp37492rdvL/nerl07BAQESNbBEFGd18To6upi06ZN\n2LRpU53qkUI8t+TCBSA5GSjnVAYAXX19mYfplGpf0Ke6UmoiewW2UE9PzZbUHiY09RuFxCaswkva\nUCiVET4DAIS62hX0SRn0Dw5GyOXLWJGXJ0lbxOdjgJf2xJypCiY09R+5b1VCQgJ8fcs6EzExMXIr\n6NOnj/KtUhP9u3dHCIcjNU9G6gUUdzEUabX5+QFaLFK+gwYB8+ZhcWwsdM6cgbB/fwwICoKvnBaP\nNsGEpmEgdyFm+/btcfPmTQCAi4uL3G5Senq66qyTQ00WgyWsWoXIw4ehe+cOSt95B/2Dg8teMIFA\nstQgauFC6OTkQNi5M/yDguCbkgK8eAFs21a2hqh587LKZC1jEPuFKqKta44KCwFLy7Kf9QAmNNoF\n211BDgnHj+P0+PFSXYcQPh8BXl7w3Vdui5E9e4BTp8p+lqd7d+CHH8p+NhTqkdgwodE+VL67wtCh\nQ2WmDx8+vFYnVReR334rJTRA2WhT1KVLGrKIoShMaBoeCkfqk0VsbKxSjVE2uk+fykxviKNN1SLu\n7hEBkyb9NzKnhd09JjQNkyrFZvHixQCA4uJiLFmyRKr5dP/+fbi4uKjUuLpS2qwZ8K/fqTyS0Sbx\nC1hUBNjZafULWGfqyTUxoWm4VCk2D/9dZEhEkt+Bsn6bk5MTli1bplrr6ki1w73yXsC4OCQcP47I\nu3ehO2MGSps21c4YNQ2IuIw4xKbHYv3s9Xj76C1m7piJ8PRwCEhzoUUZykUhB/HWrVsxffp0ddij\nEDUdjYo6cgQ6t29D2KNH2WiTeDRK3jFjxuD0pUtSQ+IhPB4Cdu8uG0JmKB1xiybpdhJ+jfkVI7xH\naNokhgzqFJJX3jqG7OxshdY7KFpOmVRhtmzOnyd65x2Fi4fo6tabldwNgfJrnbqs7kJnM89q2iSG\nHGr87pVD7mhUnz59MGPGDFy4cAEikUgqTyQS4cKFC5gxY0a9ntQnD117e5npLEaN8qnoozFsaqhp\nkxgqQq7YXL16FW3btsW0adNgamqK9u3bo0ePHmjfvj3MzMzwv//9D+3bt8e1a9fUaa9aKJWzXkho\nyF4EZVJeaLZFbsPNezeR/EsyguYHIWBSAFbtWaVpExlKRK6D2MDAAEFBQQgKCsKDBw+QlJSEFy9e\ngMfjoWPHjnBwcFCnnXVDX79stElBZC5j4PEwIChIFdbVT2qylEMGFVs0CyMW4lLiJbz0folrKPsH\ndnn3ZXS07YhB/sxP1hBo0DOIa72UQLyMYexY6PD5EFpbw9/Pj41GAf/d09hYQEcH+Hf9XE2G1isK\njYOjA+wH2ePZO88qlQ14EIBTP59SlvWMOqLyfaPqLbWdWyKOUdO6dcNbrlBXxPdUKCxrMf47F0tR\nZM2jKRWV4o3wjczyhULmJ2soKLy7AoNRV+RN2NPl6sLW2FbmMYY6zE/WUGBiw1AL1c0M7t6rO/jX\n+FJpvHM8BI1ifrKGQsP22dQWsV/ixQvA1PS/ODX1ZMq/Wli8WOFulCJLEOIy4lCQUoBx68bBtYkr\nbIxt4NfbDwvHMT+ZNqHSEBOnT5/Gjh07kJycjFevXsHMzAzt27dHYGAg+vfvX6uT1hWViw1DPuLt\nhoODoSsSobRVK+kYQRWo6Von7+3eWNNvDbydvFV0AYy6oDIH8fr167FmzRpMnz4dI0aMgLm5OV6+\nfIkbN25g4sSJmD9/PmbPnl2rEzPqJwlbt5Yt5bh/vywhIwMhaWmAlxd8K4gNW1TJKE+VLRt7e3vE\nxsaiTZs2lfJu376N3r17Izs7W6UGyoK1bBRA3BUsKQFOngSGDClLr2NXMNTSEstfvqyUvpjPx1ep\nqZLvtRWaKX9MQZBXEDrZ1X2nVYbyUVk3ysLCAg8ePICFhUWlvBcvXsDZ2RkvZTx4qoaJTQ14+RJw\ncir7qQTCmjVDWFZW5XRnZ4RlZACondDEZcQhLiOuUrrAha361iZU1o364IMPMGTIECxevBgeHh6w\nsLBAfn4+rl+/juXLl2PEiAa2MlfcGjh7FnjnHeYYlkGpkZHMdHGMoNq2aJioNHyqFJvNmzcjLCwM\nEydORFa5/2b29vaYMGGC1sezqRaxuNy/Dzx+DPTqVZZ+8SJw4IDWbjinSarakYL5aBhVofDQd15e\nHl6/fg1TU1PwNPwSKr0bVTHgOY9XJkANQWyU3I2SLOUIDoaOSARh69bwDwqCj5ERusydy4SmgaOW\n5Qo8Hk/jIsOoGQmrViHyzBnoFhSgNCCgyiFqhREv5fjzT8k8G9aiYShClTOId+/eLfn9zZs3+N//\n/gdra2tYWVlhypQpKCgoULmBjNqRcPw4Tq9di+UxMQgTCrE8MhKnP/0UCVu3KvU8TGgYilKl2MyY\nMUPye2hoKG7fvo1jx47hxIkTSEtLQ0hIiMoNVCv/xh4Off0aYYMHIzQgAAmr6mdMlchvvpG9jc3F\ni0o7BxMaRk1QuBt1+PBhxMTESHZU2L17N7y9vfHdd9+pyjbVI54Nu2YNdHNy8OjMGZhzOPi2tBQ4\ndw4AEHL5MtCxo/JiD4ud0kIhcPgw8MEHZelKHvHSzc+Xma5TXKyU+kW9eqHLjBlIzc5mQsNQjKpi\nhpqamkp+t7W1lcoTiURkbGxc63ikdaEasxUmfvRoWsTnS2IMh8iIO6xI7GGRSERx6XE1O/nbt0QG\nBnWwvmpC+veXfS18ft0qjo0l4ZIlNMTWllz09Cjr00+Jli4lio1VhtkMLacu716VLZuCggI4OjoC\nKBuNunPnjmQ28YMHD+q9wzjy7FmsKLdFjbybIS/2sHgiGhHhq4SvsMRvCQDtmDNS7TY2tUTk64su\ns2cj9fVrJKekwI61aBgKUqXYVNwJs7y43L9/H5999plqrFITum/fSn2Xt0+mvNjDYlERioRYnrgc\nYYIw5RpYB3wHDQLmzcPi6GjoxMVB2K8fBoi3saklzEfDqAuNOsREKJ+P5eIFhQASAJwGsKJcmUU8\nHgZUs1+UUCSE/nJ9CJcIFT95YSFgaVn2U5UoaZ4NExoGoMJ5NkePHsXRo0exVcZw6ccff4z3338f\nAwcOrNWJtYGKs2F9Aeyws8PM7GxYe3tDaGqKAX5+soVG7OjdswecoUOw5CoBojCFHL0Jq1YhMiYG\nusXFypv/Ug3iLt+bkjfYcX0HZniWjTQq0uVjQsNQClU5dPz8/Cg+Pl5mXmJiIvXu3bvWzqK6UI3Z\nChP7+3oK3DqGPEaYUYfBuuQ7hU+BW8dQbFsjotxchepY6W5O/qN6EQSg/oH96VjkMYpNj5VbPv7Y\nMVrE40k5bRfx+RQ/erRSrqkSL14QmZtLvma/yiabtTYKH15+A7mMjAxVWMioR9Tl3avySGtra7l5\nQqGwyvyaYmJiQqamppKPjo4OBQUFySyrLLERs3HjBJoxu9V/CZaWConNschjxPPiEMIg+fCH8mn0\nOvnCEdK3r+xRIjc3ZVxKZeogNkxoGBWpy7tXZTeqsLBQEp2vIq9fv8bbCg7WuvD69WvJ7wUFBbCz\ns8NHH32ktPpVwbrd65D3rnT/Na1zGkSJIkCO71xXju9Ep6hIucaJu3lEwNSpQFgYAECvu4dCh7Ou\nE0PZVCk2nTp1woEDBzB58uRKeYcOHULnzp1VYlRERARsbW3h4+OjkvqVRSHJdu6WUIncY0qbNJGZ\nrvTdNmX4jlbtWYXI/T8g73EeApIDEDwmGCYtTSr5bJjQMFRBlWITEhKCjz76CHl5eRgxYgTs7e2R\nlZWFiIgIfPXVV/j1119VYtTOnTsxYcIEldRdHnGQ7Y2/RyG/6AVS3/dEMK8lTD7oCsG335ZtwgbI\ndvrGxUH4QnZrxIBrIPecqpr/Uh3Ho45j7e61yOuZB/CBSEQibVMavHp5QfCZQFKOCQ1DVVQ79B0R\nEYG5c+fi0aNHkjRHR0d8++23+EA81V6JZGZmgs/nIy0tTe6DzuFwsHTpUsl3gUAAQS1GcsbM74tL\nF64hre9/Lz4/mgevHp2xb3V0lccmjBmDjedjccY6G3nv/Zfe7Kwd/Ab0xr7P9sk/dtUqRMXGQufM\nGQj794e/eP6LCkejAiYFINIlslI6/zofqb+XhfNkQsOoSFxcHOLK7Sq7bNky1e2uAABEhLt37+Kf\nf/6BlZUVWrduDU4N9ngWCARISEiQmefj4yOVt3z5ckRHRyM2Nla+0TUc6898kYm/nvyFD9pJi6Pb\nUDekd0mvVL78CyiTkhKEOjtjeVYWVjkA8SKgUB8wLAYsnbrgf/u/qX4Gsbrm2fxLx5EdkdQuqVK6\nw1UHPDzykAkNQyFUHs+Gw+HIDHquKOWVsTp27dqFRYsW1fpcUuf9d27J/bz7OPfwHJKelr1s4rkl\nuUW5Mo8rJXlzif+luBi6/3aDFj4Cyu9sFNbSTONLFWRhb2yPJFQWGwOuARMahlqoUmzE66LkweFw\n8ODBA6UZc/78eTx58gQffvihUuoTi0pUWhSyXmdVWk5gZWiFl6g8OqTLqUaDTUxQ2qxZWTS/Cijd\n0askgscE4/K6y2U+m3/hX+XDs5cnExqGWqjyrSofPEsd7Nq1Cx988AFM6rB+pyZ079UdnEQO0jr/\nF0+Xf5UPL9/qnbUyY/HyeBgQpJ3bxQ7yH4R5OfMQFRWFs4/Ooo9LH8ycMRNzFs5BdioLE8FQPY1i\nbVRUWhTWnF+DqPFRUuni0ah5W+bhZfFLdLDugKBRQZLh4ITMBHSx7wJTfdPKlcbF4fvsP3FoWyg4\n9nZ4gWJ0bt0Rzj4+lZcAiOe8FBUB+/cD/8YEgo7Of0HW1bSDQ87rHHT8v47ImpvFWjSMGqPS7XcB\noKioCMuXL8f+/fvx5MkTNGvWDKNGjUJoaCgMNdBtqMkFr9qzCgePHcT9l/fhaecpc27JpkubcOv5\nLWx6dxOA/3w9Gy9txOj2o2FlbAVAzjoiJ6eyrV+cnKo35p9/gFatyn5qiJzXOWj/Y3s039ecCQ2j\nxqjcQfzJJ5/g3r172LBhA5ycnPDgwQOsWLECjx8/Rnh4eK1OrA6k5pZA/tySiohFZf/N/ZjlNQut\nm7ZWk8WqRyQSIe/7PLx9+ZYJDUOtKCQ2hw8fRlpamiSejbu7O7p37w4+n6/VYrNy50ophyhQtpwA\nZyF3OUFDRiQSwd/HH/SckHyPCQ1DvVQZ8FyMvb093rx5I5X29u1bNGvWTCVGKYu3QtlrtyoObfOM\neLA3tVeHSRoj5n4Mmnk1w73H9xC0Nwjh6eEIiwuTueUtg6EKFGrZjB8/HgMHDsSsWbPg6OiIBw8e\n4Mcff8SECROkovn16dNHZYbWBmtDa5np4qHtivtLh8WFAQAsDS3R8lVLPPr9ESZcmABLfUsI+gqw\ncFy5GTVip6+/P7B1a7Vb9SasWoXIqCjo5uerLYaNGJFIhLnD5+J16mukJKewFg1DIyjkIBbvqFB+\n1jARVZpFnJ5eeTauKlDUSXU86jjGrxtfaW6Jl69XlcsJxnwzBpcSL0kNifPO87D7890Y5F/zXRYS\njh/H6fHjpdZDhfD5CPDygu8++XYoAzZhj6FMVD4apW3UdDTq0PFDSHuRBq9mXlJD27IgIjgOdsRj\nz8eV8gIeBODUz6dqbG9ov35YHl15rdViPh9fpVaxLKKOMKFhKBu1bL9bX1k4biG69eiGNefX4NT4\n6oWCQHhW+ExmXqGwduuYdHNlL4tQegybcjChYWgbCjmIGxNcDhcOpg4y8wx1ajenqNRatu9IaCA/\nFEVdYELD0EaY2Mige6/u4F/jS6XxzvEQNKp2SxH6BwcjpMIeW4v4fPirIIYNExqGttLgu1EA4GDu\ngMGtBitcfvoH0zG241h8tPojtLdtD54hD34T/GrlHAbK7eF05gx0EhIg7Nu3zns4yUKdQpOamwpD\nXUM4mMtuBTIYFWnQDuKKQ9tiFN2xsvXG1vhj1B/Km0GswuUK6hIa8T09nXYaFgYWeMfhHQDasQso\nQ/UwB7EcGssLoM4Wjfievix6CSdzJ8zpMUdl52I0LJjPpp7DfDSM+gITmyqwN7WHLld7G39MaBj1\nCe19kzSI2C8hcBFg99//BRCrdbdMvLShtBTw9pbs4VSXGDZMaBj1jQbtIG6oaFJoxAHHZm6YCV1d\nXfAt+HL3n2I0PNhyhUaEpls0staN8a/x4dWr6vVmjIYBE5tGQk2ERtwVfFX8ChG3IjCp0yQAdR+h\nM+pjhEK/yss2qt3+htEgYGLTCKhti+bBywfw2e6DB3OUswuGy/suyOycWSnd+ZozMg5nKOUcDO2F\nzbNREuLWwN6kvRjbYawkXdPzdTTddSqPDnRkple7/Q2j0dOonxCxuFzNuornb56jP78/gLKp+Ev9\nltZo109VoU1CA9Rt+xtG44Z1o1B5dwXOMg5ES0QaFxtlCI2yu1GS0aiNM6Gro4sWvBbVxghiNBxY\nN6oBogyhWbVnFU5FnsLTJ08R8HeAUoaoBS4CwAU4IzrDliswagQTGy1EGUIjtY0NX/FtbBgMVcHE\nphziLgJigN7pvWHAMagc6FzFKMtH8/XOr2VuY0OJ1Ci3sWFonkYtNmJx2bh5I/JL83Hw5UFwDDhA\nHyAe8QCAy7svo6Ntx1rHspF1zriMOLwufo0Dtw5IzX/xdfJVmjO4iGSHHC1Fqcx0RRHbXyIsQebL\nTMmOFJoesWNoP43aQVxpNmwMABm70dQ20HlVPHz5ED2398TDOQ8BKH/UKWBSACJdIiuls8l3jLpQ\nl3evUa/6jo2JlRrClXc3ahvoXFFUMbwdPCYYvPPSoUj5V/nw8mFD1AzN0Ki7UcSpoNAi2eVqG+hc\nEVQ1j2aQ/yDMy5mH05Gn8eeTPyFwFiBoVtkQNYOhCRq12JjoVnjx+ACiAfT9L4l3joegebULdF4d\nqp6wt3DcQowdPBY+231wao5yu4EMRk1p1GJTaTasM2CXaofs49nwa+cHQx1DuYHOxY7SlYkrMc97\nHvS4egAUc5Su2rMKJ0+dRNbpLGS/zsZP235COqXDGSwmDaPh0qgdxOLRqHlb5uFl8Ut0sO6AoFFB\neO/8ewrPIDZeYYznXzyHsZ6xQuc8HnUc49aOw4v8F8AjAOMB/m3VhWhQ9gxiRuOGzSCuJeLZsBkW\nGVLLFXBededcvWu1lNDAULXzX3Q4OrA1tVV+xQxGDdEasXn06BE++eQTnD9/Hvr6+hgxYgS+++47\n6OjIXmVcHxGJRPjrzF+ADiRCI6au818qUn4bm0EtB7H5MAyNozViExwcjKZNmyIrKwt5eXnw9/fH\njz/+iKAg1Thn1Y3YGVz0ogiYDSmhAQA9jp5Sz8dEhaFtaI3YJCcn4/vvv4e+vj5sbW0xYMAAJCcn\nq+XcxnrGMDcwl7QG5r4zF8vil0nyZb24Yn9PUWQRBtwbACOukdylDeVHnX7a9hM+3/W51FICFqKB\n0RjQGrEJCAjAvn374Ofnh9zcXJw8eRLLly9X6TnLdzUMdAwkvw9uPbjaVsHWg1txKfESRH1ESEQi\nANlLG2QNb+dQDpv/wmh0aM1oVG5uLvr164ekpCQIhUIEBgZi+/btMstyOBwsXbpU8l0gEEBQyy1R\nasOLwhdo8X4L/NOj8ja65Zc2VDWPpuJyBQZDG4mLi0NcXJzk+7Jly7Q7BrFAIEBCQoLMPB8fHyQk\nJMDT0xPDhw/H559/jlevXmHy5Mlo3bo1Vq9eXdloDccg/ufNP3Ab7ob8HvmV8vzS/RC3I67aCXtM\nbBj1Ea1fGxUXV/byyfokJCTg2bNnuHLlCmbNmgU9PT00adIEgYGBOHHihDrMqzFWxlZoathUZp6h\njqHWhfJkMLQBrViI2bRpU9jb22Pz5s0QCoV48eIFdu7cCQ8PD02bJpfuvbqDf40vlcY7x8PMj2Yy\noWEwZKA1PpuLFy/i888/x82bN6Grq4u+fftiw4YNsLa2rlRW090o4L/RqCErhsDb2RvGusbw9fPF\nb9/+VkloxI7o3Le5iLgVgVZWrUAg2BjbwN3GHQAbqmbUD9i+URpEvFzBUMew2hbN7We3Mfy34bg9\n87YGLGUw6o7W+2waOsxHw2BUj9bMs6mviEQi9PTqiftp95nQMBhVwMSmDohEIhT/WIy0/DTcunWL\nCQ2DUQXMZ1NLYu7HYMxHY5CbnosZW2bAsqklAPmO3lV7VuH4qeO49vQafJr7KGUPJwZD3TAHsZqp\nqY/meNRxjF83Xno91DXVxbBhMFQFExs1UhtnsN8EPyTwK8+g5l/jI/Uw2+mAUX9go1FqorajTvnF\nlZc1AMqPYcNgaDNMbBSkLsPbNkY2MtN1Ocw/z2g8MLFRgLrOo2F7ODEYbOi7WpQxYU+8h9OJ0ydw\nNecqejn2YjFsGI0O5iCuAmXPDGbLFRj1HeYgVgFsCQKDoVyY2MiACQ2DoXyY2FSACQ2DoRqYz6Yc\nqhIacTybYmExcgpy4GjuCIDFsGHUP9gMYiXAWjQMRvUwB3EdYULDYKieRi82TGgYDPXQqMWGCQ2D\noT4ardgwoWEw1EujFBsmNAyG+ml0YsOEhsHQDI1KbJjQMBiao9GIDRMaBkOzNAqxYULDYGieBi82\nTGgYDO2gQYsNExoGQ3tosGLDhIbB0C4apNgwoWEwtI8GJzZMaBgM7aRBiQ0TGgZDe2kwYsOEhsHQ\nbhqE2DChYTC0n3ovNkxoGIz6Qb0WGyY0DEb9QWvE5vbt2+jTpw8sLS3RsmVLHD58uMry9Ulo4uLi\nNKFlOTUAAAzjSURBVG1CjWE2q576Zm9d0QqxKS0txdChQzFkyBDk5eVh69atGDduHFJSUuQeU1+E\nBqifDxWzWfXUN3vrilaIzZ07d5CVlYXZs2eDw+Ggd+/e8Pb2xu7du+UeU1+EhsFglKEVYiMLkUiE\nmzdvys1nQsNg1DNICyguLiY3Nzdas2YNFRcX0+nTp0lfX58GDBggszwA9mEf9tHQp7aoZZM6gUCA\nhIQEmXk+Pj5ISEhAUlISgoKCcPPmTXh6eqJp06YwNDTETz/9pGrzGAyGGtDaHTF79uyJSZMmYdq0\naZo2hcFgKAGt8dkkJSWhsLAQb968wbp165CTk4PAwEBNm8VgMJSE1ojN7t270axZM9ja2iI2NhZR\nUVHQ09OTW76m83K0gUePHmHw4MGwsrKCvb09goKCIBQKNW2WXExNTWFmZib56OrqIjg4WNNmVcsv\nv/yCtm3bwtTUFC1atMDZs2c1bVKVCAQCGBkZSe5z27ZtNW2SQqSkpMDQ0BDjx49X7IBae3s0SElJ\nCbVs2ZLWr19PIpGIYmJiyMTEhO7du6dp06pk2LBhFBgYSEVFRZSdnU0dOnSgH374QdNmKcTr16/J\n1NSUEhMTNW1KlURGRpKzszNdvHiRiIiePHlCjx8/1rBVVSMQCOjnn3/WtBk1xt/fn3r16kXjx49X\nqLzWtGxqQm3m5WgDycnJGDlyJPT19WFra4sBAwYgOTlZ02YpREREBGxtbeHj46NpU6pk6dKlWLp0\nKby8vAAA9vb2aNasmYatqh7STtepXH755RfweDz07dtXYdvrpdjIorp5OdpAQEAA9u3bh7dv3+Lx\n48c4efIkBg4cqGmzFGLnzp2YMGGCps2oEqFQiCtXruDp06do2bIlHB0dERQUhMLCQk2bVi0LFy6E\ntbU1fHx8EB8fr2lzqiQ/Px9Lly7F+vXrayaSqmxmqYqazsvRFv755x/q3Lkz6erqEofDoUmTJmna\nJIXIyMggHR0dysjI0LQpVfL48WPicDjk6elJ2dnZ9Pz5c/L29qaQkBBNm1YlFy9epNevX1NxcTHt\n3LmTzMzMKC0tTdNmySU4OJjWrFlDRERhYWE0btw4hY7TypaNQCAAl8uV+fH19YWenh4OHz6M48eP\nw97eHuvXr8dHH30EBwcHrbUZKGvZfPjhh3jz5g2eP3+O3NxczJ8/X2vtFbN792706tVL4zO2q7PZ\n2NgYABAUFARbW1tYWVlh7ty5OHHihNbaDABeXl4wMTGBnp4eJkyYAG9vb43ZXJ29169fR3R0NGbP\nng2ght0/FQqgWunRowdt3bpV02bI5enTp8ThcCg/P1+S9vvvv1P79u01aJVitGzZksLDwzVthkI4\nOjrSrl27JN8PHjxInTt31qBFNWfAgAG0YcMGTZshk++++45MTEzIzs6O7OzsyNTUlIyMjKhr167V\nHltvxebvv/+mt2/fUkFBAa1du5bc3NyouLhY02bJRSQSUbNmzWj16tVUWlpKeXl59P7779PYsWM1\nbVqVnDt3jkxMTOj169eaNkUhlixZQp6envT06VPKzc0lHx8fWrJkiabNksuLFy/o1KlT9PbtWyop\nKaE9e/aQiYkJpaSkaNo0mbx584ZycnIoJyeHsrOz6fPPP6cRI0bQ8+fPqz1WK7tRilDTeTmahsPh\n4NChQzh69CiaNm2Kli1bwsDAAOvXr9e0aVWya9cufPDBBzAxMdG0KQqxePFieHp6olWrVmjXrh26\ndu2KkJAQTZsll5KSEixevBg2NjawtrbGpk2bcOTIEbRo0ULTpsnEyMgINjY2sLGxga2tLUxNTWFk\nZAQrK6tqj9Xa5QoMBqNhUW9bNgwGo37BxIbBYKgFJjYMBkMtMLFhMBhqgYkNQ6kUFRXB3d0dOTk5\nmjZFIT755BMsX7682nIjRozAqVOn1GBRw4WJTQMjLi4Ojo6OUmmnT5+Gr68vzM3NYWNjA4FAgKNH\nj0rKc7lcqVAS5Re0FhUVYfLkybCwsJDM1q6KrVu3ws/PD7a2tsq/uDqyY8cO9OrVSypt8+bNCA0N\nrfbY+fPnK1SOIR8mNg2ciIgIfPTRRwgMDMTjx4/x9OlTfPnllxKxAYDmzZvj1atXkk/5+CRhYWFI\nS0vDgwcPEBsbizVr1uD06dNyz7dlyxbF45vUIzw9PZGfn48rV65o2pT6i8qnHDKUjrOzM61atYra\ntWtHPB6PJk2aRIWFhUREFBsbSw4ODkRUNmvZ0dGR1q1bJ7eu8uVl0axZM4qKipJ8X7JkCY0aNUpm\n2czMTDIyMiKhUChJO3bsGHXq1InMzc3J0dGRwsLCpI5JTEykHj16kKWlJTk6OtKOHTuIqGxm7fjx\n48na2pqcnZ1p+fLlJBKJiIho6dKlUov/0tPTicPhSM4bHh5Obm5uZGZmRq6urrR37166ffs2GRgY\nkI6ODpmamhKPxyMiookTJ1JoaKikrsOHD5OHhweZm5sTn8+nU6dOSfKmTZtGy5Ytk3uvGFXDWjb1\nlH379iEyMhJpaWm4d++eTL/D3bt38ejRI4wYMaLKup4+fQo7Ozu4ublh7ty5ePPmDQAgLy8PWVlZ\n8PDwkJTt2LGj3Bg8SUlJcHNzA5f732NlamqKPXv24OXLlzh+/Dg2b96MI0eOAAAyMzPx7rvv4tNP\nP8Xz589x/fp1dOrUCUDZYspXr14hPT0d8fHx2LVrF8LDwwGUzcaWR0FBAT799FOcOnUK+fn5uHDh\nAjp16oQ2bdpgy5Yt6NGjB169eoXc3FxJXeL6Ll26hIkTJ+Kbb77By5cvkZCQABcXF0ndbdu2xY0b\nN6q8lwz5MLGph3A4HMyaNQvNmzcHj8dDSEgI9u/fX6ncP//8A6AsgJQ8xC9QdnY2YmJicOXKFcyd\nOxcA8Pr1awCAhYWFpLy5uTlevXols64XL17AzMxMKs3Pzw/u7u4AgA4dOmDUqFGSeC379u2Dv78/\nRo4cCR0dHTRp0gQeHh4QCoX49ddfsWrVKpiYmMDZ2RmfffaZxJdE1Ux653K5SEpKwtu3b2Fra4t2\n7dopdNzPP/+MKVOmoG/fvgCAZs2aoXXr1pJ8U1NTvHjxoso6GPJhYlNPKe8EdnJywpMnTyqVEa9X\nycrKkluPra0t2rRpAwBwcXHBmjVrcPDgQQBlLxdQFixJzMuXLysJihgej1dJiC5evIjevXvDxsYG\nlpaW2LLl/9u7m5DUtigO4P/y6SCzTpFEH8e+KSIER40ibBBBDhxEhEhIBRURDRtEI4sa6ajoUVGj\nIBKiSYSEgTXJUY4kKMpUkujDyoiyXHcgHRBv993uwK6P9Rup++zFPg4We599WPtfKQkGAgFUV1en\nxLm+vkYsFksqaaHRaBAKhT69jw9KpRLr6+tYWFhAaWkpDAYDjo+P/7MfkKgRXVNT82n74+MjBEH4\nrVgsFSebDHVxcZH0+WelL+vr6yGKIhwOx5dix+NxAInkUVJSgqOjI6nN6/Wiqanpp/20Wi3Ozs6k\n/gBgMplgNBoRDAYRiUQwNDQkzTA0Gg1OT09T4hQVFUEul+P8/DzpHj/qFSmVSmmpBwDhcDipf3t7\nO5xOJ8LhMBoaGqTjgH61/AISCfzk5OTTdp/PJy3z2NdxsslARIT5+XmEQiHc3t5ienoaPT09Kddl\nZWXBZrPBarVidXUVDw8PiMfjODg4wODgIABgb28Pfr8fRIRAIIDx8XEYjUYpRm9vL6amphCJRODz\n+bC0tPTpETvl5eWora3F4eGh9Fs0GkVBQQEUCgU8Hg/W1takNpPJhN3dXWxsbODt7Q03Nzfwer2Q\nyWTo7u7GxMQEotEo/H4/7HY7zGYzAECn08HtdiMQCOD+/h4zMzNSzKurK2xtbeHp6QlyuRxKpRIy\nmQxAYhYXDAYRi8WS/suP5Nff34+VlRW4XC7E43GEQqGkWZHb7c6YMq5/pW98OM3+UGVlJc3OzlJj\nYyMJgkAWi4Wen5+JKLG7JIpi0vU7OzvU0tJCubm5pFarSa/X0/b2NhER2Ww2Kisro5ycHBJFkcbG\nxpJq17y8vFBfXx/l5eVRcXEx2e32X45tbm6OhoeHpe8Oh4MqKipIpVKRwWCg0dHRpGr8+/v71Nzc\nLO1WfRS+uru7I7PZTGq1mkRRJKvVKu1GERGNjIyQIAhUV1dHi4uLlJ2dTe/v73R5eUmtra2Un59P\ngiCQXq8nn89HRIlysp2dnVRYWEhqtZqIiCwWC01OTkpxNzc3SavVkkqlotraWnI6nURE5PF4fqtA\nFPscl5jIQFVVVVheXkZbW9t3DyXF6+srdDodXC7XX/li35/q6urCwMAAOjo6vnsoGeuf7x4A+39R\nKBQZczzNV3z1uRdLxc9sGGNpwcsoxlha8MyGMZYWnGwYY2nByYYxlhacbBhjacHJhjGWFpxsGGNp\n8QNPhHQUVU4aEgAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 31 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The assays are in much better agreement at this point, but it does not appear that the specified imprecision of the Tecan Genesis and Labcyte Echo are sufficient to explain the remaining discrepancies." ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "References and further reading" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Ekins S, Olechno J, Williams AJ (2013) Dispensing Processes Impact Apparent Biological Activity as Determined by Computational and Statistical Analyses. PLoS ONE 8(5): e62325. [doi:10.1371/journal.pone.0062325](http://dx.doi.org/10.1371/journal.pone.0062325)\n", "* Gu H and Deng Y. Dilution Effect in Multichannel Liquid-Handling System Equipped with Fixed Tips: Problems and Solutions for Bioanalytical Sample Preparation. J. Assoc. Lab. Auto. 12:355, 2007. [doi:10.1016/j.jala.2007.07.002](http://dx.doi.org/10.1016/j.jala.2007.07.002)\n", "* Dong H, Ouyang Z, Liu J, Jemal M. The Use of a Dual Dye Photometric Calibration Method to Identify Possible Sample Dilution from an Automated Multichannel Liquid-handling System. J. Asooc. Lab. Auto. 60, 2006. [doi:10.1016/j.jala.2006.02.005](http://dx.doi.org/10.1016/j.jala.2006.02.005)" ] } ], "metadata": {} } ] }