wham.ipynb 78.4 KB
 David W.H. Swenson committed Nov 24, 2016 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 { "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import openpathsampling as paths" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fake data for examples" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "exact = [1.0, 0.5, 0.25, 0.125, 0.0625, 0.03125, 0.015625]\n", "iface1 = [2.0, 1.0, 0.5, 0.25, 0.125, 0.0625, 0.0]\n", "iface2 = [1.0, 1.0, 1.0, 0.5, 0.25, 0.125, 0.0625]\n", "iface3 = [3.0, 3.0, 3.0, 3.0, 3.0, 1.5, 0.75]\n", "\n", "index = [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [  David W.H. Swenson committed Nov 25, 2016 45  "If we plot that data as it comes from the reverse crossing probabilities (as might be calculated by OPS), we get the following:"  David W.H. Swenson committed Nov 24, 2016 46 47 48 49 50 51 52 53 54 55 56 57 58  ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nICIiIn36/xQ4d3GnvGyCAAAAAElFTkSuQmCC\n", "text/plain": [  David W.H. Swenson committed Nov 27, 2016 59  ""  David W.H. Swenson committed Nov 24, 2016 60 61 62 63 64 65 66 67 68 69 70 71  ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(index, exact, '-ok', lw=2)\n", "for (iface, style) in zip([iface1, iface2, iface3], ['-or', '-ob', '-og']):\n", " plt.plot(index, iface, style)" ] },  David W.H. Swenson committed Nov 25, 2016 72 73 74 75 76 77 78  { "cell_type": "markdown", "metadata": {}, "source": [ "We can also normalize those probabilities such that they all start at 1 (the normal way we plot crossing probabilities)." ] },  David W.H. Swenson committed Nov 24, 2016 79 80 81 82 83 84 85 86 87 88 89  { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nPiNAxHUAAAAASUVORK5CYII=\n", "text/plain": [  David W.H. Swenson committed Nov 27, 2016 90  ""  David W.H. Swenson committed Nov 24, 2016 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218  ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(index, exact, '-ok', lw=2)\n", "for (iface, style) in zip([iface1, iface2, iface3], ['-or', '-ob', '-og']):\n", " plt.plot(index, [i/iface[0] for i in iface], style)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "input_df = pd.DataFrame(data=np.array([iface1, iface2, iface3]).T,\n", " index=index,\n", " columns=[\"I'face 1\", \"I'face 2\", \"I'face 3\"])" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "
I'face 1I'face 2I'face 3
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0.02.00001.00003.00
0.11.00001.00003.00
0.20.50001.00003.00
0.30.25000.50003.00
0.40.12500.25003.00
0.50.06250.12501.50
0.60.00000.06250.75
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "" ], "text/plain": [ " I'face 1 I'face 2 I'face 3\n", "0.0 2.0000 1.0000 3.00\n", "0.1 1.0000 1.0000 3.00\n", "0.2 0.5000 1.0000 3.00\n", "0.3 0.2500 0.5000 3.00\n", "0.4 0.1250 0.2500 3.00\n", "0.5 0.0625 0.1250 1.50\n", "0.6 0.0000 0.0625 0.75" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "input_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Preparing the system based on cutoffs\n", "\n", "The data comes from OPS in the form of the input_df above. In order to be prepared for the WHAM analysis, we first:\n", "\n", "1. Remove repeated leading copies of the maximum value.\n", "2. Remove contributions that fall below cutoff * max_value from each individual histogram.\n", "\n", "Importantly, this should work regardless of max_value for each interface." ] }, { "cell_type": "code",  David W.H. Swenson committed Nov 27, 2016 219  "execution_count": 7,  David W.H. Swenson committed Nov 24, 2016 220 221 222 223 224  "metadata": { "collapsed": true }, "outputs": [], "source": [  David W.H. Swenson committed Nov 25, 2016 225  "wham = paths.numerics.WHAM(cutoff=0.1, interfaces=[0.0, 0.2, 0.4])"  David W.H. Swenson committed Nov 24, 2016 226 227  ] },  David W.H. Swenson committed Nov 25, 2016 228 229 230 231 232 233 234  { "cell_type": "markdown", "metadata": {}, "source": [ "First we show the prepared dataframe:" ] },  David W.H. Swenson committed Nov 24, 2016 235 236  { "cell_type": "code",  David W.H. Swenson committed Nov 27, 2016 237  "execution_count": 8,  David W.H. Swenson committed Nov 24, 2016 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277  "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "
I'face 1I'face 2I'face 3
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0.02.000.0000.00
0.11.000.0000.00
0.20.501.0000.00
0.30.250.5000.00
0.40.000.2503.00
0.50.000.1251.50
0.60.000.0000.75
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n",  David W.H. Swenson committed Nov 25, 2016 278  " \n",  David W.H. Swenson committed Nov 24, 2016 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306  " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "" ], "text/plain": [ " I'face 1 I'face 2 I'face 3\n", "0.0 2.00 0.000 0.00\n", "0.1 1.00 0.000 0.00\n", "0.2 0.50 1.000 0.00\n",  David W.H. Swenson committed Nov 25, 2016 307  "0.3 0.25 0.500 0.00\n",  David W.H. Swenson committed Nov 24, 2016 308 309 310 311 312  "0.4 0.00 0.250 3.00\n", "0.5 0.00 0.125 1.50\n", "0.6 0.00 0.000 0.75" ] },  David W.H. Swenson committed Nov 27, 2016 313  "execution_count": 8,  David W.H. Swenson committed Nov 24, 2016 314 315 316 317 318  "metadata": {}, "output_type": "execute_result" } ], "source": [  David W.H. Swenson committed Nov 25, 2016 319 320  "prepared = wham.prep_reverse_cumulative(input_df)\n", "prepared"  David W.H. Swenson committed Nov 24, 2016 321 322  ] },  David W.H. Swenson committed Nov 25, 2016 323 324 325 326 327 328 329  { "cell_type": "markdown", "metadata": {}, "source": [ "Next we plot the prepared data, showing the old data in dashed lines." ] },  David W.H. Swenson committed Nov 24, 2016 330 331  { "cell_type": "code",  David W.H. Swenson committed Nov 27, 2016 332  "execution_count": 9,  David W.H. Swenson committed Nov 24, 2016 333  "metadata": {  David W.H. Swenson committed Nov 25, 2016 334  "collapsed": false  David W.H. Swenson committed Nov 24, 2016 335  },  David W.H. Swenson committed Nov 25, 2016 336 337 338 339 340  "outputs": [ { "data": { "image/png": "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\n", "text/plain": [  David W.H. Swenson committed Nov 27, 2016 341  ""  David W.H. Swenson committed Nov 25, 2016 342 343 344 345 346 347  ] }, "metadata": {}, "output_type": "display_data" } ],  David W.H. Swenson committed Nov 24, 2016 348  "source": [  David W.H. Swenson committed Nov 25, 2016 349 350 351 352 353 354  "plt.plot(index, exact, '-ok', lw=2)\n", "for iface, color in zip(prepared.columns, ['r', 'g', 'b']):\n", " # NaN out the 0 data, to prevent it from plotting\n", " values = prepared[iface].apply(lambda x: np.nan if x==0.0 else x)\n", " plt.plot(values, \"-o\"+color)\n", " plt.plot(input_df[iface], \"--\"+color)"  David W.H. Swenson committed Nov 24, 2016 355 356 357 358 359 360 361 362  ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Combining the results from multiple interfaces\n", "\n",  David W.H. Swenson committed Nov 25, 2016 363  "Of course, the fundamental goal is to join the data from all the interfaces into one result. This is done (starting from the original input) with the following command:"  David W.H. Swenson committed Nov 24, 2016 364 365 366 367  ] }, { "cell_type": "code",  David W.H. Swenson committed Nov 27, 2016 368  "execution_count": 10,  David W.H. Swenson committed Nov 24, 2016 369 370 371 372 373 374 375 376 377 378  "metadata": { "collapsed": false }, "outputs": [], "source": [ "final_result = wham.wham_bam_histogram(input_df)" ] }, { "cell_type": "code",  David W.H. Swenson committed Nov 27, 2016 379  "execution_count": 11,  David W.H. Swenson committed Nov 24, 2016 380  "metadata": {  David W.H. Swenson committed Nov 25, 2016 381  "collapsed": false  David W.H. Swenson committed Nov 24, 2016 382  },  David W.H. Swenson committed Nov 25, 2016 383 384 385 386  "outputs": [ { "data": { "text/plain": [  David W.H. Swenson committed Nov 27, 2016 387  "[]"  David W.H. Swenson committed Nov 25, 2016 388 389  ] },  David W.H. Swenson committed Nov 27, 2016 390  "execution_count": 11,  David W.H. Swenson committed Nov 25, 2016 391 392 393 394 395 396 397  "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nskYDuHZBkqTtVRwWMvNG4CxKP/AfBN4JHJGZz5a77MW2ix2/TOm+DF8GVgF/A9xGaQ1D4VhdkCRp\nW1XdwTEzv5GZczLzdZm5ODP/ecRr78/MU0Z8PZSZX87MfTNzRnm/MzNzUy0+QK1ZXZAkaVsd/WyI\n8VhdkCTpNYaFMVhdkCTpNYaFcVhdkCSpxLAwDqsLkiSVGBYmYHVBkiTDwoSsLkiSZFjYIasLkqRO\nZ1jYAasLkqROZ1iYBKsLkqROZliYBKsLkqROZliYJKsLkqROZViYJKsLkqROZViogNUFSVInMixU\nwOqCJKkTGRYqZHVBktRpDAsVsrogSeo0hoUqWF2QJHUSw0IVrC5IkjqJYaFKVhckSZ3CsFAlqwuS\npE5hWJgCqwuSpE5gWJgCqwuSpE5gWJgiqwuSpHZnWJgiqwuSpHZnWKgBqwuSpHZmWKgBqwuSpHZm\nWKgRqwuSpHZlWKgRqwuSpHZlWKghqwuSpHZkWKghqwuSpHZkWKgxqwuSpHZjWKgxqwuSpHZjWKgD\nqwuSpHZiWKgDqwuSpHZiWKgTqwuSpHZhWKgTqwuSpHZhWKgjqwuSpHZgWKgjqwuSpHZgWKgzqwuS\npFZnWKgzqwuSpFZnWGgAqwuSpFZmWGgAqwuSpFZmWGgQqwuSpFZlWGgQqwuSpFZlWGggqwuSpFZk\nWGggqwuSpFZkWGgwqwuSpFZjWGgwqwuSpFZjWGgCqwuSpFZiWGgCqwuSpFZiWGgSqwuSpFZRVViI\niNMj4rGIeCki7o+Id++g/6yIuCoi1pf3WRMRH65uyO3B6oIkqVVUHBYi4jjgMuBCYH/gYeD2iNht\nnP7TgDuA3wH+EJgHfAZ4qsoxtw2rC5KkVlBNZWEZcHVmXpeZa4DTgBeBU8bp/0fAbOAPMvP+zHw8\nM3+Smf9S3ZDbh9UFSVIrqCgslKsEvcCdw22ZmZQqB4vH2e1o4D7gGxHxTET8S0R8PiJcL4HVBUlS\n8VX6A3s3YCdgw6j2DcCe4+wzF/hY+VhHAl8GzgLOr/DYbcnqgiSp6KJUGJhk54i3UFprsDgzfzqi\n/VLgvZn5njH2eQSYDrytXIUgIpYBZ2fmb49znEXAwCGHHMKsWbO2ea2vr4++vr5Jj7kVvPDCC3x0\nr724a9MmTozgz9esYd999232sCRJBdff309/f/82bRs3bmTFihUAvZk5WIvjVBoWplFan3BsZt40\n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\nprkwuVNCdQAAAABJRU5ErkJggg==\n", "text/plain": [  David W.H. Swenson committed Nov 27, 2016 398  ""  David W.H. Swenson committed Nov 25, 2016 399 400 401 402 403 404  ] }, "metadata": {}, "output_type": "display_data" } ],  David W.H. Swenson committed Nov 24, 2016 405  "source": [  David W.H. Swenson committed Nov 25, 2016 406 407  "plt.plot(index, exact, '-ok', lw=2)\n", "plt.plot(final_result, '-or')"  David W.H. Swenson committed Nov 24, 2016 408  ]  David W.H. Swenson committed Nov 27, 2016 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446  }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.0 1.000000\n", "0.1 0.500000\n", "0.2 0.250000\n", "0.3 0.125000\n", "0.4 0.062500\n", "0.5 0.031250\n", "0.6 0.015625\n", "Name: WHAM, dtype: float64" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "final_result" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": []  David W.H. Swenson committed Nov 24, 2016 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470  } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.12" } }, "nbformat": 4, "nbformat_minor": 1 }