{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from __future__ import print_function\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import mdtraj as md\n", "import openpathsampling as paths\n", "import numpy as np\n", "\n", "from openpathsampling.engines.openmm.tools import ops_load_trajectory" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example: Analyzing flux out of Watson-Crick DNA\n", "\n", "This example comes from a project studying the transition between the Watson-Crick and Hoogsteen base pairing motifs in DNA (Vreede, Bolhuis, Swenson. In prep.) To calculate the rate of the transtion, we used TIS, which requires the calculation of the flux out of the state and through an innermost interface. This notebook shows how to calculate that flux from an existing MD calculation, and how to select the location for the innermost interface.\n", "\n", "In this particular case, we had already begun path sampling, and so we didn't want to change the definition of our states. This makes it a bit more challenging to find a good interface, but, as shown below, the problem can still be solved.\n", "\n", "The calculations below focus on the `run0-dna.xtc` file, although they could easily be extended to include the other runs as well. At the end, we will calculate things using all the runs.\n", "\n", "The data for this was provided by Jocelyne Vreede and David Swenson, and can be downloaded from https://figshare.com/articles/Molecular_dynamics_simulations_of_DNA/4508975. In order to run this notebook, download the zip file for that data and unzip it such that the resulting directory, named `4508975`, is in the same directory that you started Jupyter from." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 1min 10s, sys: 827 ms, total: 1min 11s\n", "Wall time: 1min 13s\n" ] } ], "source": [ "%%time\n", "directory = \"4508975/\"\n", "files = ['run0-dna.xtc', 'run1-dna.xtc', 'run2-dna.xtc', 'run3-dna.xtc', 'run4-dna.xtc']\n", "# load the data\n", "runs = [ops_load_trajectory(directory + f, top=directory + 'dna.gro') for f in files]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll start by looking in some details at `run0.xtc`" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "run0 = runs[0]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# use an mdtraj-style topology for its magic features\n", "topology = run0.topology.mdtraj" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DT9-N3 DA4-N1\n", "DT9-N3 DA4-N7\n", "DT9-O4 DA4-N6\n" ] } ], "source": [ "print(topology.atom(275), topology.atom(494))\n", "print(topology.atom(275), topology.atom(488))\n", "print(topology.atom(274), topology.atom(491))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That was just a little check that we're looking at the right atoms. The MDTraj `Topology` makes that really easy." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Define the CVs, states, and interfaces\n", "\n", "We'll use these CVs for the entire simulation. `d_bp` measures a distance repesenting a hydrogen bond common to both the WC and HG states. `d_WC` is a distance that represents a hydrogen bond formed in the WC state (but which is not formed in HG), and `d_HG` is a distance for a hydrogen bond formed in the HG state (which not in WC). The specific atoms involved are shown in the previous section, using the topology." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# first we define the CVs that we'll be using\n", "d_WC = paths.MDTrajFunctionCV(\"d_WC\", md.compute_distances, run0.topology, atom_pairs=[[275, 494]])\n", "d_HG = paths.MDTrajFunctionCV(\"d_HG\", md.compute_distances, run0.topology, atom_pairs=[[275, 488]])\n", "d_bp = paths.MDTrajFunctionCV(\"d_bp\", md.compute_distances, run0.topology, atom_pairs=[[491, 274]])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To combine both the WC and HG bonds, we use the `atan2` function. Note that, if you want to make a CV that is composed of other CVs, you can do this by using the other CVs as input variables." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def atan2_cv_fcn(snapshot, d_WC, d_HG):\n", " import math\n", " wc = d_WC(snapshot)\n", " hg = d_HG(snapshot)\n", " return math.atan2(wc, hg)\n", "\n", "atan2_cv = paths.CoordinateFunctionCV(\"atan2\", atan2_cv_fcn, d_WC=d_WC, d_HG=d_HG)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we define our WC and HG states." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# the states are a combination of volumes defined by these CVs\n", "state_WC = (paths.CVDefinedVolume(d_WC, lambda_min=0.0, lambda_max=0.35) &\n", " paths.CVDefinedVolume(d_bp, lambda_min=0.0, lambda_max=0.35)).named(\"WC\")\n", "\n", "state_HG = (paths.CVDefinedVolume(d_HG, lambda_min=0.0, lambda_max=0.35) &\n", " paths.CVDefinedVolume(d_bp, lambda_min=0.0, lambda_max=0.35)).named(\"HG\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's plot these CVs. Since this trajectory is of the WC state, the `d_WC` should be small, and `d_HG` should be large." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nY/gr7OIAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "(wc_line,) = plt.plot(d_WC(run0), label=\"d_WC\")\n", "(hg_line,) = plt.plot(d_HG(run0), label=\"d_HG\")\n", "plt.xlabel('frame number')\n", "plt.ylabel('distance (nm)')\n", "plt.legend(handles=[wc_line, hg_line]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okay, that looks good. Now we'll plot the atan2 values:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(atan2_cv(run0))\n", "plt.xlabel('frame number')\n", "plt.ylabel('atan2(wc, hg)');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Originally, the original innermost interface was at 0.5: it doesn't look like this trajectory ever crosses that interface. To be very sure, we'll check the interface itself." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Now we define the interfaces. First we define the contribution from the atan2 part:\n", "# (for now I only include the innermost interface, since that's the one I care about)\n", "\n", "atan2_vals = paths.VolumeInterfaceSet(atan2_cv, 0.0, [0.5])\n", "\n", "# The actual interface volumes are the atan2-based volumes combined with state\n", "# (to be outside the interface you must also be outside the state!)\n", "interfaces = [iface | state_WC for iface in atan2_vals]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Analyze the frames based on these states/interfaces\n", "\n", "Now we count how many frames are outside the interface:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n" ] } ], "source": [ "out_interface_frames = [frame for frame in run0 if not interfaces[0](frame)]\n", "print(len(out_interface_frames))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okay, 0 frames outside the interface. That's not good. Just for fun, let's do the same and see how many frames are outside the state:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "257\n" ] } ], "source": [ "out_state_frames = [frame for frame in run0 if not state_WC(frame)]\n", "print(len(out_state_frames))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Well, 257/10000 is reasonable, but still rather small, actually. But we can work with that.\n", "\n", "One last thing: let's see what the values of atan2 are for those frames. We need those frames to also be outside our interface." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(atan2_cv(out_state_frames));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So some frames are outside the state with atan2 a bit over 0.4. Based on the histogram, it looks to me like we should put an interface around 0.43 or so, to make sure we have enough frames outside the interface and the state.\n", "\n", "Let's compare this distribution with the atan2 distribution for the whole trajectory:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAFkCAYAAABrZ+JNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3XuUnXV97/H3J4JQ1ATbmICVeC0YraIZ0VAVsdGgQtUe\nXcpIVsFLq6jgmS4rR48cOHr0KK4SL4iX4g3QOctivYIEwYpVUCzxEmWIbQUDYiKjMKHYEEJ+54/n\nGdnZTpLZk/llzyTv11p7Tfbz+z6//XuetTP7M7/nslNKQZIkqaY5/R6AJEna8xk4JElSdQYOSZJU\nnYFDkiRVZ+CQJEnVGTgkSVJ1Bg5JklSdgUOSJFVn4JAkSdUZOCRJUnW7FDiSvDnJ1iRndyzbL8kH\nk4wmuSPJRUkWdK13SJKLk9yZZH2Ss5LM6ao5Osm1STYl+WmSE3dlrJIkqX+mHDiSHAH8NfDDrqb3\nAscCLwKOAh4MfK5jvTnAJcA+wFLgROAk4G0dNQ8DvgJcARwOvA84L8mzpzpeSZLUP5nKl7cluT9w\nLXAycDrw/VLK3yaZC9wKHF9K+XxbexgwAiwtpVyT5LnAl4CDSymjbc2rgXcBDyqlbEnybuC5pZTH\nd7zmMDCvlPK8XdheSZLUB1Od4fgg8OVSyte7lj+JZubiivEFpZS1wDrgyHbRUmDNeNhorQLmAY/t\nqLm8q+9VHX1IkqRZZJ9eV0hyPPAEmnDRbSGwuZSysWv5BuCg9t8Htc+728fbfriDmrlJ9iul3DXB\nuP4IOAa4Edg0qY2RJEkA+wMPA1aVUn5d4wV6ChxJHkJzjsazSyl397IqMJljNzuqyU5qjgE+3cOY\nJEnStk4APlOj415nOAaABwHXJhkPAPcBjkryeuA5wH5J5nbNcizg3hmL9cARXf0u7Ggb/7mwq2YB\nsLGUsnk7Y7sR4MILL2Tx4sWT3yLtkqGhIVauXNnvYexV3Oe7n/t893Of714jIyOsWLEC2s/SGnoN\nHJcDj+ta9kmak0LfBfwCuBtYBoyfNHoosAi4qq2/GnhLkvkd53EsB8bafsZrntv1Osvb5duzCWDx\n4sUsWbKkp43S1M2bN8/9vZu5z3c/9/nu5z7vm2qnJPQUOEopdwLXdS5Lcifw61LKSPv8Y8DZSW4D\n7gDeD3y7lPK9dpXL2j4uSHIacDDwduCcjsM0HwZe316t8nGaAPNiwCtUJEmahXo+aXQC3edUDAH3\nABcB+wGXAq/7XXEpW5McB3yIZtbjTppZkjM6am5McixwNnAqcDPwylJK95UrkiRpFtjlwFFK+fOu\n53cBp7SP7a1zE3DcTvq9kuacEUmSNMv5XSraJYODg/0ewl7Hfb77uc93P/f5nmdKdxqdiZIsAa69\n9tprPdFIkqQerF69moGBAYCBUsrqGq/hDIckSarOwCFJkqozcEiSpOoMHJIkqToDhyRJqs7AIUmS\nqjNwSJKk6gwckiSpOgOHJEmqzsAhSZKqM3BIkqTqDBySJKk6A4ckSapun34PQHuGdevWMTo62u9h\nTNr8+fNZtGhRv4chSXsNA4d22bp16zjssMVs2vTbfg9l0vbf/wDWrh0xdEjSbmLg0C4bHR1tw8aF\nwOJ+D2cSRti0aQWjo6MGDknaTQwcmkaLgSX9HoQkaQbypFFJklSdgUOSJFVn4JAkSdUZOCRJUnUG\nDkmSVJ2BQ5IkVWfgkCRJ1Rk4JElSdQYOSZJUXU+BI8lrkvwwyVj7uCrJczrav5Fka8fjniTndvVx\nSJKLk9yZZH2Ss5LM6ao5Osm1STYl+WmSE3dtMyVJUj/1emvzm4DTgH9vn58EfDHJE0opI0ABPgqc\nDqSt+d03erXB4hLgFmAp8GDgAmAz8Na25mHAV4BzgZcBzwLOS3JLKeVrPY5XkiTNAD0FjlLKxV2L\n3prkZJrwMNIu+20p5dbtdHEM8GjgmaWUUWBNktOBdyU5s5SyBTgZ+Fkp5U3tOmuTPA0YAgwckiTN\nQlM+hyPJnCTHAwcAV3U0nZDk1iRrkrwzyR90tC0F1rRhY9wqYB7w2I6ay7tebhVw5FTHKkmS+qvn\nb4tN8qfA1cD+wB3AX5ZS1rbNnwZ+TnPI5PHAWcChwIvb9oOADV1dbuho++EOauYm2a+UclevY5Yk\nSf01la+nvx44HDgQeBFwfpKjSinXl1LO66j7SZL1wBVJHl5KuWEn/ZYdtGUSNQAMDQ0xb968bZYN\nDg4yODi4s1UlSdrjDQ8PMzw8vM2ysbGx6q/bc+Boz7P4Wft0dZInA2+gOfei23fbn48CbgDWA0d0\n1Sxsf67v+Lmwq2YBsLGUsnln41u5ciVLlizZWZkkSXulif4IX716NQMDA1VfdzruwzEH2G87bU+k\nmZX4Zfv8auBxSeZ31CwHxrj3pNOrgWVd/Sxvl0uSpFmopxmOJO8AvkpzeewDgBOAZwDLkzyC5jLW\nS4Bf0xx2ORu4spTy47aLy4DrgAuSnAYcDLwdOKeUcndb82Hg9UneDXycJny8GHjeVDdSkiT1V6+H\nVBYC59MEhTHgR8DyUsrXkzyE5p4ZbwDuRxNK/hF4x/jKpZStSY4DPkRzZcudwCeBMzpqbkxyLE1Y\nORW4GXhlKaX7yhVJkjRL9HofjlftoO1m4OhJ9HETcNxOaq4E6h5MkiRJu43fpSJJkqozcEiSpOoM\nHJIkqToDhyRJqs7AIUmSqjNwSJKk6gwckiSpOgOHJEmqzsAhSZKqM3BIkqTqDBySJKk6A4ckSarO\nwCFJkqozcEiSpOoMHJIkqToDhyRJqs7AIUmSqjNwSJKk6gwckiSpOgOHJEmqzsAhSZKqM3BIkqTq\nDBySJKk6A4ckSarOwCFJkqozcEiSpOoMHJIkqToDhyRJqq6nwJHkNUl+mGSsfVyV5Dkd7fsl+WCS\n0SR3JLkoyYKuPg5JcnGSO5OsT3JWkjldNUcnuTbJpiQ/TXLirm2mJEnqp15nOG4CTgMG2sfXgS8m\nWdy2vxc4FngRcBTwYOBz4yu3weISYB9gKXAicBLwto6ahwFfAa4ADgfeB5yX5Nk9jlWSJM0Q+/RS\nXEq5uGvRW5OcDCxN8gvgFcDxpZQrAZK8HBhJ8uRSyjXAMcCjgWeWUkaBNUlOB96V5MxSyhbgZOBn\npZQ3ta+xNsnTgCHga1PcTkmS1EdTPocjyZwkxwMHAFfTzHjsQzMzAUApZS2wDjiyXbQUWNOGjXGr\ngHnAYztqLu96uVUdfUiSpFmm58CR5E+T3AHcBZwL/GUp5XrgIGBzKWVj1yob2jbanxsmaGcSNXOT\n7NfreCVJUv/1dEildT3NuRUH0pyrcX6So3ZQH6BMot8d1WQSNQAMDQ0xb968bZYNDg4yODg4iSFI\nkrRnGx4eZnh4eJtlY2Nj1V+358DRnmfxs/bp6iRPBt4AfBa4b5K5XbMcC7h3xmI9cERXlws72sZ/\nLuyqWQBsLKVs3tn4Vq5cyZIlSya1LZIk7W0m+iN89erVDAwMVH3d6bgPxxxgP+BaYAuwbLwhyaHA\nIuCqdtHVwOOSzO9YfzkwBox01CxjW8vb5ZIkaRbqaYYjyTuAr9JcHvsA4ATgGcDyUsrGJB8Dzk5y\nG3AH8H7g26WU77VdXAZcB1yQ5DTgYODtwDmllLvbmg8Dr0/ybuDjNOHjxcDzpr6ZkiSpn3o9pLIQ\nOJ8mKIwBP6IJG19v24eAe4CLaGY9LgVeN75yKWVrkuOAD9HMetwJfBI4o6PmxiTHAmcDpwI3A68s\npXRfuSJJkmaJXu/D8aqdtN8FnNI+tldzE3DcTvq5kuYyW0mStAfwu1QkSVJ1Bg5JklSdgUOSJFVn\n4JAkSdUZOCRJUnUGDkmSVJ2BQ5IkVWfgkCRJ1Rk4JElSdQYOSZJUnYFDkiRVZ+CQJEnVGTgkSVJ1\nBg5JklSdgUOSJFVn4JAkSdUZOCRJUnUGDkmSVN0+/R6A1C8jIyP9HsKkzZ8/n0WLFvV7GJI0ZQYO\n7YV+CcxhxYoV/R7IpO2//wGsXTti6JA0axk4tBe6HdgKXAgs7vNYJmOETZtWMDo6auCQNGsZOLQX\nWwws6fcgJGmv4EmjkiSpOgOHJEmqzsAhSZKqM3BIkqTqDBySJKm6ngJHkjcnuSbJxiQbknw+yaFd\nNd9IsrXjcU+Sc7tqDklycZI7k6xPclaSOV01Rye5NsmmJD9NcuLUN1OSJPVTrzMcTwc+ADwFeBaw\nL3BZkj/oqCnAR4GFwEHAwcCbxhvbYHEJzSW5S4ETgZOAt3XUPAz4CnAFcDjwPuC8JM/ucbySJGkG\n6Ok+HKWU53U+T3IS8CtgAPhWR9NvSym3bqebY4BHA88spYwCa5KcDrwryZmllC3AycDPSinjQWVt\nkqcBQ8DXehmzJEnqv109h+NAmhmN33QtPyHJrUnWJHln1wzIUmBNGzbGrQLmAY/tqLm8q89VwJG7\nOF5JktQHU77TaJIA7wW+VUq5rqPp08DPgVuAxwNnAYcCL27bDwI2dHW3oaPthzuomZtkv1LKXVMd\ntyRJ2v125dbm5wKPAZ7aubCUcl7H058kWQ9ckeThpZQbdtJn2UFbJlEjSZJmoCkFjiTnAM8Dnl5K\n+eVOyr/b/nwUcAOwHjiiq2Zh+3N9x8+FXTULgI2llM07erGhoSHmzZu3zbLBwUEGBwd3MkxJkvZ8\nw8PDDA8Pb7NsbGys+uv2HDjasPEC4BmllHWTWOWJNLMS48HkauAtSeZ3nMexHBgDRjpqntvVz/J2\n+Q6tXLmSJUv8Qi5JkiYy0R/hq1evZmBgoOrr9nofjnOBE4CXAXcmWdg+9m/bH5HkrUmWJHlokucD\nnwKuLKX8uO3mMuA64IIkj09yDPB24JxSyt1tzYeBRyZ5d5LDkryW5hyQs3d1gyVJ0u7X61UqrwHm\nAt+gOSl0/PGStn0zzf05VtHMVrwH+Efg+eMdlFK2AscB9wBXAecDnwTO6Ki5ETi27esHNJfDvrKU\n0n3liiRJmgV6vQ/HDgNKKeVm4OhJ9HMTTejYUc2VNPf3kCRJs5zfpSJJkqozcEiSpOoMHJIkqToD\nhyRJqs7AIUmSqjNwSJKk6gwckiSpOgOHJEmqzsAhSZKqM3BIkqTqDBySJKk6A4ckSarOwCFJkqoz\ncEiSpOoMHJIkqToDhyRJqs7AIUmSqjNwSJKk6gwckiSpOgOHJEmqzsAhSZKqM3BIkqTqDBySJKk6\nA4ckSarOwCFJkqozcEiSpOoMHJIkqToDhyRJqq6nwJHkzUmuSbIxyYYkn09yaFfNfkk+mGQ0yR1J\nLkqyoKvmkCQXJ7kzyfokZyWZ01VzdJJrk2xK8tMkJ059MyVJUj/1OsPxdOADwFOAZwH7Apcl+YOO\nmvcCxwIvAo4CHgx8bryxDRaXAPsAS4ETgZOAt3XUPAz4CnAFcDjwPuC8JM/ucbySJGkG2KeX4lLK\n8zqfJzkJ+BUwAHwryVzgFcDxpZQr25qXAyNJnlxKuQY4Bng08MxSyiiwJsnpwLuSnFlK2QKcDPys\nlPKm9qXWJnkaMAR8bYrbKkmS+mRXz+E4ECjAb9rnAzQh5orxglLKWmAdcGS7aCmwpg0b41YB84DH\ndtRc3vVaqzr6kCRJs8iUA0eS0Bw++VYp5bp28UHA5lLKxq7yDW3beM2GCdqZRM3cJPtNdcySJKk/\nejqk0uVc4DHA0yZRG5qZkJ3ZUU0mUcPQ0BDz5s3bZtng4CCDg4OTeHlJkvZsw8PDDA8Pb7NsbGys\n+utOKXAkOQd4HvD0UsotHU3rgfsmmds1y7GAe2cs1gNHdHW5sKNt/OfCrpoFwMZSyuYdjW3lypUs\nWbJkchsiSdJeZqI/wlevXs3AwEDV1+35kEobNl5Ac9Lnuq7ma4EtwLKO+kOBRcBV7aKrgcclmd+x\n3nJgDBjpqFnGtpa3yyVJ0izT0wxHknOBQeD5wJ1Jxmchxkopm0opG5N8DDg7yW3AHcD7gW+XUr7X\n1l4GXAdckOQ04GDg7cA5pZS725oPA69P8m7g4zTh48U0syqSJGmW6XWG4zXAXOAbwC0dj5d01AzR\n3EPjoo66F403llK2AscB99DMepwPfBI4o6PmRpp7eTwL+EHb5ytLKd1XrkiSpFmg1/tw7DSglFLu\nAk5pH9uruYkmdOyonytpLrOVJEmznN+lIkmSqtuVy2JV0bp16xgdHd154QwwMjKy8yJJ0l7NwDED\nrVu3jsMOW8ymTb/t91AkSZoWBo4ZaHR0tA0bFwKL+z2cSbgEOL3fg5AkzWAGjhltMTAbbmLmIRVJ\n0o550qgkSarOwCFJkqozcEiSpOoMHJIkqToDhyRJqs7AIUmSqjNwSJKk6gwckiSpOgOHJEmqzsAh\nSZKqM3BIkqTqDBySJKk6A4ckSarOwCFJkqozcEiSpOoMHJIkqToDhyRJqs7AIUmSqjNwSJKk6gwc\nkiSpOgOHJEmqzsAhSZKqM3BIkqTqeg4cSZ6e5EtJfpFka5Lnd7V/ol3e+bikq+aBST6dZCzJbUnO\nS3K/rprHJ/lmkv9K8vMkfze1TZQkSf02lRmO+wE/AF4HlO3UfBVYCBzUPga72j8DLAaWAccCRwEf\nGW9M8gBgFXADsAT4O+DMJK+awnglSVKf7dPrCqWUS4FLAZJkO2V3lVJunaghyaOBY4CBUsr322Wn\nABcneWMpZT2wAtgXeGUpZQswkuSJwN8C5/U6ZkmS1F+1zuE4OsmGJNcnOTfJH3a0HQncNh42WpfT\nzJY8pX2+FPhmGzbGrQIOSzKv0pglSVIlNQLHV4G/Av4ceBPwDOCSjtmQg4Bfda5QSrkH+E3bNl6z\noavfDR1tkiRpFun5kMrOlFI+2/H0J0nWAP8BHA388w5WDds/J2S8nZ3UMDQ0xLx5206CDA4OMjjY\nfRqJJEl7n+HhYYaHh7dZNjY2Vv11pz1wdCul3JBkFHgUTeBYDyzorElyH+CBbRvtz4VdXY2v0z3z\nsY2VK1eyZMmSXR22JEl7pIn+CF+9ejUDAwNVX7f6fTiSPAT4I+CX7aKrgQPbk0DHLaOZwbimo+ao\nNoiMWw6sLaXUj2GSJGlaTeU+HPdLcniSJ7SLHtE+P6RtOyvJU5I8NMky4AvAT2lO+qSUcn37739I\nckSSpwIfAIbbK1SguWx2M/DxJI9J8lLgVODvd2lrJUlSX0zlkMqTaA6NlPYxHgI+BbwWeDzNSaMH\nArfQhIv/VUq5u6OPlwHn0FydshW4CHjDeGMpZWOSY9qafwVGgTNLKR+bwnglSVKfTeU+HFey45mR\n50yij9tp7rWxo5o1NFe4SJKkWc7vUpEkSdUZOCRJUnUGDkmSVJ2BQ5IkVWfgkCRJ1Rk4JElSdQYO\nSZJUnYFDkiRVZ+CQJEnVGTgkSVJ1Bg5JklSdgUOSJFVn4JAkSdUZOCRJUnUGDkmSVJ2BQ5IkVWfg\nkCRJ1Rk4JElSdQYOSZJUnYFDkiRVZ+CQJEnVGTgkSVJ1Bg5JklSdgUOSJFVn4JAkSdUZOCRJUnUG\nDkmSVN0+/R6ApMkZGRnp9xB6Mn/+fBYtWtTvYUiaIXoOHEmeDvwdMAAcDLywlPKlrpq3Aa8CDgS+\nDZxcSvn3jvYHAucAxwFbgc8Bbyil3NlR8/i25gjgV8A5pZT39Dpeafb7JTCHFStW9HsgPdl//wNY\nu3bE0CEJmNoMx/2AHwAfpwkK20hyGvB64ETgBuD/AKuSLC6lbG7LPgMsBJYB9wU+CXwEWNH28QBg\nFXAZ8GrgccAnktxWSjlvCmOWZrHbaXL5hcDiPo9lskbYtGkFo6OjBg5JwBQCRynlUuBSgCSZoOQN\nwNtLKV9ua/4K2AC8EPhsksXAMcBAKeX7bc0pwMVJ3lhKWU8TPPYFXllK2QKMJHki8LeAgUN7qcXA\nkn4PQpKmZFpPGk3ycOAg4IrxZaWUjcB3gSPbRUuB28bDRutyoABP6aj5Zhs2xq0CDksybzrHLEmS\n6pvuq1QOogkOG7qWb2jbxmt+1dlYSrkH+E1XzUR90FEjSZJmid11lUpogsiu1IwfvtlhP0NDQ8yb\nt+0kyODgIIODgzsboyRJe7zh4WGGh4e3WTY2Nlb9dac7cKynCQYL2XaGYgHw/Y6aBZ0rJbkP8MC2\nbbxmYVff4+t0z3xsY+XKlSxZ4nFuSZImMtEf4atXr2ZgYKDq607rIZVSyg00YWHZ+LIkc2nOzbiq\nXXQ1cGB7Eui4ZTRB5ZqOmqPaIDJuObC2lFI/hkmSpGnVc+BIcr8khyd5QrvoEe3zQ9rn7wXemuQv\nkjwOOB+4GfgiQCnlepoTQP8hyRFJngp8ABhur1CB5rLZzcDHkzwmyUuBU4G/n+J2SpKkPprKIZUn\nAf9Mcy5F4d4Q8CngFaWUs5IcQHNfjQOBfwGe23EPDoCX0dzU63KaGwxcRHM5LdBc2ZLkmLbmX4FR\n4MxSysemMF5JktRnU7kPx5XsZGaklHImcOYO2m+nvcnXDmrWAM/odXySJGnm8cvbJElSdQYOSZJU\nnYFDkiRVZ+CQJEnVGTgkSVJ1Bg5JklSdgUOSJFVn4JAkSdUZOCRJUnUGDkmSVJ2BQ5IkVWfgkCRJ\n1Rk4JElSdQYOSZJUnYFDkiRVZ+CQJEnVGTgkSVJ1Bg5JklSdgUOSJFVn4JAkSdUZOCRJUnUGDkmS\nVJ2BQ5IkVWfgkCRJ1Rk4JElSdQYOSZJUnYFDkiRVN+2BI8kZSbZ2Pa7raN8vyQeTjCa5I8lFSRZ0\n9XFIkouT3JlkfZKzkhiOJEmapfap1O+PgWVA2udbOtreCzwXeBGwEfgg8Dng6QBtsLgEuAVYCjwY\nuADYDLy10nglSVJFtQLHllLKrd0Lk8wFXgEcX0q5sl32cmAkyZNLKdcAxwCPBp5ZShkF1iQ5HXhX\nkjNLKVu6+5UkSTNbrcMUf5LkF0n+I8mFSQ5plw/QhJwrxgtLKWuBdcCR7aKlwJo2bIxbBcwDHltp\nvJIkqaIageM7wEk0MxWvAR4OfDPJ/YCDgM2llI1d62xo22h/bpignY4aSZI0i0z7IZVSyqqOpz9O\ncg3wc+AlwKbtrBagTKb7XRyeJEnqg1rncPxOKWUsyU+BRwGXA/dNMrdrlmMB985irAeO6OpmYfuz\ne+bj9wwNDTFv3rxtlg0ODjI4ODiV4UuStEcZHh5meHh4m2VjY2PVX7d64Ehyf+CRwKeAa2muWFkG\nfL5tPxRYBFzVrnI18JYk8zvO41gOjAHXsRMrV65kyZIl07oNkiTtKSb6I3z16tUMDAxUfd1pDxxJ\n3gN8meYwyh8D/5smZPy/UsrGJB8Dzk5yG3AH8H7g26WU77VdXEYTLC5IchpwMPB24JxSyt3TPV5J\nklRfjRmOhwCfAf4IuBX4FrC0lPLrtn0IuAe4CNgPuBR43fjKpZStSY4DPkQz63En8EngjApjlSRJ\nu0GNk0Z3eLJEKeUu4JT2sb2am4DjpnlokiSpT7xduCRJqs7AIUmSqjNwSJKk6gwckiSpOgOHJEmq\nzsAhSZKqM3BIkqTqDBySJKm66t+lImnvNTIy0u8hTNr8+fNZtGhRv4ch7bEMHJIq+CUwhxUrVvR7\nIJO2//4HsHbtiKFDqsTAIamC24GtwIXA4j6PZTJG2LRpBaOjowYOqRIDh6SKFgNL+j0ISTOAJ41K\nkqTqDBySJKk6A4ckSarOwCFJkqrbK04aPfnkU/ja167o9zAmbfPmTf0egiRJ02qvCBznnfdRtmx5\nKvCEfg9lUpJP9HsIkiRNq70icDReDLy234OYlPvc56ts2XJ7v4chSdK08RwOSZJUnYFDkiRVZ+CQ\nJEnVGTgkSVJ1Bg5JklSdgUOSJFVn4JAkSdXtRffhkKQdGxkZ6fcQJm3+/PksWrSo38OQJs3AoV00\n3O8B7IWGgcF+D2IP80tgDitWrOj3QCZt//0PYO3akT02dAwPDzM46Pt8TzKjA0eS1wFvBA4Cfgic\nUkr5Xn9HpW0NAy/t9yD2MgaO6Xc7sBW4EFg8QfsQsHK3jmjHRti0aQWjo6MGDs0aMzZwJHkp8PfA\n3wDX0PyPX5Xk0FLKaF8HJ2kPtRhYMsHyedtZLmmyZvJJo0PAR0op55dSrgdeA/wWeEV/hyVJkno1\nI2c4kuwLDADvHF9WSilJLgeO7NvAJGkG8SRXzSYzMnAA84H7ABu6lm8ADtvOOvvDxP8BS9kKfIuZ\nu7nbuuee29p/XQLM9F8oNwPfbv89G8YLs3+8NwOf7t9wJmW27+NuM22ffx/IrDrJdd999+M973k3\n8+fPn1T9zTffzKc/3b99PmfOHLZu3dq31+/V/PnzedCDHjTl9Ts+O/eflgFNIKWUWn1PWZKDgV8A\nR5ZSvtux/CzgaaWUP5tgnZcxs34jSJI025xQSvlMjY5n6p/8o8A9wMKu5Qv4/VmPcauAE4AbgU3V\nRiZJ0p5nf+BhNJ+lVczIGQ6AJN8BvltKeUP7PMA64P2llPf0dXCSJKknM3WGA+Bs4FNJruXey2IP\nAD7Zz0FJkqTezdjAUUr5bJL5wNtoDq38ADimlHJrf0cmSZJ6NWMPqUiSpD3HTL7xlyRJ2kMYOCRJ\nUnUzNnAkeV2SG5L8V5LvJDlikusdn2Rrkn+aoO1tSW5J8tskX0vyqOkf+ew1nfs8yT5J3p3kR0n+\nM8kvknyqvceKWjXe5x01H2lrTp2+Ec9+lX63LE7yxSS3t+/37yZ5yPSPfnaa7n2e5H5JzklyU/v7\n/CdJXl1n9LNTL/s8yYntfr6n/bk1yW8nqNulz9AZGTg6vrjtDOCJNN8Uu6o9iXRH6z0UeA/wzQna\nTgNeD7waeDJwZ9vnfad39LNThX1+APAE4H+3/f0lzV1ivzi9I5+9arzPO2peSPM+/8W0DXgPUOl3\nyyOBfwGuA44CHge8He8HBFR7n68ElgMvAx4NvBc4J8lx0zj0WWuK+3yM5pvZxx8P7epz1z9DSykz\n7gF8B3hfx/PQ3Fv4TTtYZw7Nf/qXA58A/qmr/RZgqOP5XOC/gJf0e3tnwqPGPp+g/kk0N3R7SL+3\ndyY8au1z4I9p7lmzGLgBOLXf2zpTHpV+twwDn+r3ts3UR6V9vgb4n13L/hV4W7+3dyY8et3nwInA\nb3bS5y7nsUhZAAAEE0lEQVR/hs64GY6OL267YnxZabZuZ1/cdgbwq1LKJybo8+E0ia2zz43Ad3fS\n516hxj7fjgOBAtw+xaHuMWrt8/YGeecDZ5VSZsOXmOw2lX63BDgW+LcklybZ0E5fv2B6Rz87Vfzd\nchXw/CQPbl/nmcCfUPEumbPFLuzz+ye5Mcm6JF9I8piOPqflM3TGBQ52/MVtB020QpKn0iThV22n\nz4NoPugm3edepsY+767fD3gX8JlSyn9Ofah7jFr7/H8Am0sp50zHIPcwNfb5AuD+wGk03/z2bODz\nwD8lefo0jHm2q/U+P4X2mwyTbKbZ968rpXx7B+vsLXre58Ba4BXA82m+ImQOcFWSP27bp+UzdMbe\n+GsCodngbRcm9wcuAP66lHLb7601hT71O9Oyz5PsA/xj29drp3uQe5gp7/MkA8CpNMdsNXm78j4f\n/6PtC6WU97f//lGSPwNeQ3NYQL9vV3+3nAo8BTiO5vDhUcC5SW4ppXy9wnj3BNv9vCulfIfmMExT\nmFxNE+j+hma2qec+JzITA0evX9z2SJqTW77cTm9C+0ugTb6HAetpdszCrj4W0HzP895u2vd5KeWG\n9vl42DgE+HNnN36nxvv8acCDgJvuLeE+wNlJ/nsp5RHTugWzT419fjOwhd//TvsR4KnTM+xZrcY+\n/yXwDuAFpZRL25ofJ3ki8EZgbw8cU/ny022UUrYk+T4wfhXKtHyGzrhDKqWUu4FrgWXjy9o33jKa\n43bdRmjOCn8CcHj7+BLNm+5w4Kb2w299V59zaRLyRH3uVWrs87aP8bDxCGDZFGag9liV9vn5wOM7\n2g+nOdHrLOCYSpsya1T63XI38D2aD8JOhwI/n+ZNmHUqvc/3bR/df1nfwwz8TNvdprDPf0+SOcCf\n0oQ7pu0ztN9n027nbNiX0Jz9+lc0lzx9BPg18KC2/XzgnTtYf6Kzmt/U9vEXNG/oLwD/Bty339s7\nEx7Tvc9p/rL+Is0v3cfRJOPxx7793t6Z8KjxPp+gxqtUKu9z4IU0l8C+iuYv9NcDm4Ej+729M+FR\naZ//M/Aj4Bk0X6l+EvBb4G/6vb0z4dHrPgdOpzn/6OE0h2SHaS57fXRHzS5/hs7EQyqUnX9x20No\npjF76fOsJAfQ7PgDaY6tPreUsnn6Rj57VdjnD6E5vkrbF9x7vO+Z7OAeEnuLGu/ziV5mF9ffo1T6\n3fKFJK8B3gK8j+YEvP9WSrl6+kY+e1V6n78U+L/AhcAf0vxh8+ZSykenZ9Sz2xT2+QOBj9KcAHob\nzQzJkaWU6zv63OXPUL+8TZIkVbfXH++SJEn1GTgkSVJ1Bg5JklSdgUOSJFVn4JAkSdUZOCRJUnUG\nDkmSVJ2BQ5IkVWfgkCRJ1Rk4JElSdQYOSZJU3f8HTiyQanEZ0HQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(atan2_cv(run0));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the frames that are outside the state have the (about) same atan2 distribution as the whole trajectory, which means that (in the vicinity of the WC state) there's no correlation between atan2 and being outside the state.\n", "\n", "We can still define an interface around 0.43, because the trajectory will only be outside the interface if it is also outside the state, but this does mean that some frames *inside* the state will have a larger order parameter than frames *outside* the state, which seems odd from an intuitive perspective." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nDAgpAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(atan2_cv(run0))\n", "input_index = [run0.index(s) for s in out_state_frames]\n", "plt.plot(input_index, atan2_cv(run0[input_index]), 'ro');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The picture above shows the issue in another way: the blue shows `atan2` for *all* frames. The red dots are the frames that are outside the state. The correlation with `atan2` is not very strong when we're near the Watson-Crick state. You would much rather see something where all the red dots are clustered near the top of the blue.\n", "\n", "The best thing to do here would be to change the states to have more strict boundaries. However, we had already started sampling at this point, so the state definitions were fixed (whereas new interfaces can easily be added to a simple TIS simulation).\n", "\n", "Now we'll do some flux analysis for this transition:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "wc_hg = paths.TISTransition(stateA=state_WC, \n", " stateB=state_HG, \n", " interfaces=interfaces, \n", " orderparameter=atan2_cv)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "analyzer = paths.TrajectoryTransitionAnalysis(wc_hg, dt=2.0) # time in picoseconds" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next cells will create a couple interfaces (you are inside the interface if you are inside the value for `atan2` ***or*** if you are inside the state) and then figure out how many flux events there are through each of those interfaces. The `analyze_flux` method returns a dictionary with keys `'in` and `'out'`, corresponding to the parts of each flux that are in and out of the interface, respectively. We'll focus on the times that the trajectory is out of the interface." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "137\n", "CPU times: user 22.3 s, sys: 269 ms, total: 22.6 s\n", "Wall time: 22.6 s\n" ] } ], "source": [ "%%time\n", "iface_43 = state_WC | paths.CVDefinedVolume(atan2_cv, lambda_min=0.0, lambda_max=0.43)\n", "out_43 = analyzer.analyze_flux(trajectories=run0,\n", " state=state_WC,\n", " interface=iface_43)['out']\n", "print(len(out_43))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "25\n" ] } ], "source": [ "iface_45 = state_WC | paths.CVDefinedVolume(atan2_cv, lambda_min=0.0, lambda_max=0.45)\n", "out_45 = analyzer.analyze_flux(trajectories=run0,\n", " state=state_WC,\n", " interface=iface_45)['out']\n", "print(len(out_45))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So if we set the interface at `atan2=0.43`, and at `0.45` we get 25. The next question to ask is *how long* do each of these flux events last. In the next cells, I'll plot a histogram of that for the interface at 0.43." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist([len(traj) for traj in out_43]);" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "All of these are dominated by having a single frame outside the interface; however, the ones with interfaces closer in are better (only 0.43 is shown).\n", "\n", "An even better thing to look at would be same kind of analysis, but for the whole trajectory that would be sampled by TIS. (There could be frames outside the state, but not outside the interface, that are part of this trajectory.) This basically amounts to finding all the possible shooting points that each segment would have.\n", "\n", "The ensemble defined below requires that all frame from the subtrajectories it finds be outside the state and at least one be outside the interface. This gives us the segments that can be used as shooting points." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Segments: 137\n", "Longer than 1 frame: 8\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg8AAAFkCAYAAACn/timAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAGTtJREFUeJzt3X+0XWV95/H3B8IPoQNhRkOkapFSMU7XgLkOmCpYmypV\npvhrZtWLLB0dLSogk47LH6OuobLaWmYp+HNKpdOCwHFZHEUqQxRUVEQYCeBaGrBOw4QfJhgJNxYH\nUfKdP86505tDcpPnss89N+H9Wuss7nn2s/f+XvbduZ/77OfsnapCkiRpV+017gIkSdLuxfAgSZKa\nGB4kSVITw4MkSWpieJAkSU0MD5IkqYnhQZIkNTE8SJKkJoYHSZLUxPAgSZKaNIeHJMcn+UKSe5Js\nTXLyLH0vGPR521D7IUkuTTKVZHOSC5McOJdvQJIkza+5jDwcCNwKnA7s8MEYSV4OHAvcs53FlwHL\ngJXAScAJwAVzqEWSJM2zRa0rVNXVwNUASbK9Pkl+FfgIcCJw1dCyZw7aJ6rqlkHbmcAXk7y9qja0\n1iRJkuZP53MeBoHiYuDcqlq7nS4rgM3TwWHgGvqjGMd1XY8kSepW88jDLngX8HBVfWwHy5cC981s\nqKpHktw/WPYoSf4F/dGKO4GHuitVkqQ93v7A4cDqqvpJFxvsNDwkmQDeBjx7Lquz4zkUJwKXzrUu\nSZLEa+jPOXzMuh55eD7wJOCuGdMh9gY+lOQ/VtURwAZgycyVkuwNHAJs3MF27wS45JJLWLZsWccl\naxxWrVrFeeedN+4y1BGP557HY7rnWLt2LaeeeioMfpd2oevwcDHw5aG2Lw3a/3rw/gZgcZJnz5j3\nsJL+yMONO9juQwDLli1j+fLl3VassTj44IM9lnsQj+eex2O6R+rssn9zeBjcj+FI+r/sAY5IcjRw\nf1XdBWwe6v8LYENV/T1AVd2eZDXwySRvAfYFPgr0/KSFJEkL31w+bfEc4BbgZvpzFD4IrAH+eAf9\ntzeP4RTgdvqfsvg74OvAaXOoRZIkzbO53OfhOhpCx2Cew3DbA8CprfuWJEnj57MtNBaTk5PjLkEd\n8njueTymmo3hQWPhP0x7Fo/nnsdjqtkYHiRJUhPDgyRJamJ4kCRJTQwPkiSpieFBkiQ1MTxIkqQm\nhgdJktTE8CBJkpoYHiRJUhPDgyRJamJ4kCRJTQwPkiSpieFBkiQ1MTxIkqQmhgdJktTE8CBJkpos\nGncBLVauPJF99tl33GU0eeYzl7F69ZU84QlPGHcpkiR1YrcKDw888ErgsHGX0eB/8+Mff4qNGzdy\n+OGHj7sYSZI6sVuFBzgNWD7uIhpcA3xq3EVIktQp5zxIkqQmhgdJktTE8CBJkpoYHiRJUhPDgyRJ\namJ4kCRJTQwPkiSpieFBkiQ1MTxIkqQmhgdJktTE8CBJkpoYHiRJUpPm8JDk+CRfSHJPkq1JTp6x\nbFGSP0/y3ST/OOhzUZInD23jkCSXJplKsjnJhUkO7OIbkiRJozWXkYcDgVuB04EaWnYAcAzwx8Cz\ngVcARwFXDPW7DFgGrAROAk4ALphDLZIkaZ41P5K7qq4GrgZIkqFlW4ATZ7YlOQO4MclTquruJMsG\nfSaq6pZBnzOBLyZ5e1VtmNu3IkmS5sN8zHlYTH+E4oHB++cCm6eDw8A1gz7HzUM9kiTpMRhpeEiy\nH/AB4LKq+sdB81Lgvpn9quoR4P7BMkmStICNLDwkWQT8Lf0Rhbfuyio8eg6FJElaYJrnPOyKGcHh\nqcDvzBh1ANgALBnqvzdwCLBx9i2vAg4eapscvCRJenzr9Xr0er1t2qampjrfT+fhYUZwOAJ4YVVt\nHupyA7A4ybNnzHtYSX/k4cbZt34esLzTeiVJ2lNMTk4yObntH9Rr1qxhYmKi0/00h4fB/RiOpP/L\nHuCIJEfTn7NwL/BZ+h/X/DfAPkkOHfS7v6p+UVW3J1kNfDLJW4B9gY8CPT9pIUnSwjeXkYfnAF+l\nPz+hgA8O2i+if3+H3x+03zpon57L8ELg64O2U4CP0f+UxVbgcuCsOdQiSZLm2Vzu83Ads0+03Okk\nzKp6ADi1dd+SJGn8fLaFJElqYniQJElNDA+SJKmJ4UGSJDUxPEiSpCaGB0mS1MTwIEmSmhgeJElS\nE8ODJElqYniQJElNDA+SJKmJ4UGSJDUxPEiSpCaGB0mS1MTwIEmSmhgeJElSE8ODJElqYniQJElN\nDA+SJKmJ4UGSJDUxPEiSpCaGB0mS1MTwIEmSmhgeJElSE8ODJElqYniQJElNDA+SJKmJ4UGSJDUx\nPEiSpCaGB0mS1MTwIEmSmhgeJElSE8ODJElqYniQJElNmsNDkuOTfCHJPUm2Jjl5O33en+TeJD9L\n8uUkRw4tPyTJpUmmkmxOcmGSAx/LNyJJkubHXEYeDgRuBU4HanhhkncCZwCnAccCDwKrk+w7o9tl\nwDJgJXAScAJwwRxqkSRJ82xR6wpVdTVwNUCSbKfLWcA5VXXloM9rgY3Ay4HPJFkGnAhMVNUtgz5n\nAl9M8vaq2jCn70SSJM2LTuc8JHk6sBS4drqtqrYANwIrBk3PBTZPB4eBa+iPYhzXZT2SJKl7XU+Y\nXEo/BGwcat84WDbd576ZC6vqEeD+GX0kSdIC1XzZYo7CduZHtPdZBRw81DY5eEmS9PjW6/Xo9Xrb\ntE1NTXW+n67Dwwb6IeBQth19WALcMqPPkpkrJdkbOIRHj1gMOQ9Y3k2lkiTtYSYnJ5mc3PYP6jVr\n1jAxMdHpfjq9bFFV6+iHg5XTbUkOoj+X4VuDphuAxUmePWPVlfRDx41d1iNJkrrXPPIwuB/DkfR/\n2QMckeRo4P6qugs4H3hvkh8CdwLnAHcDVwBU1e1JVgOfTPIWYF/go0DPT1pIkrTwzeWyxXOAr9Kf\nn1DABwftFwFvqKpzkxxA/74Ni4FvAC+pqodnbOMU4GP0P2WxFbic/kc8JUnSAjeX+zxcx04ud1TV\n2cDZsyx/ADi1dd+SJGn8fLaFJElqYniQJElNDA+SJKmJ4UGSJDUxPEiSpCaGB0mS1MTwIEmSmhge\nJElSE8ODJElqYniQJElNDA+SJKmJ4UGSJDUxPEiSpCaGB0mS1MTwIEmSmhgeJElSE8ODJElqYniQ\nJElNDA+SJKmJ4UGSJDUxPEiSpCaGB0mS1MTwIEmSmhgeJElSE8ODJElqYniQJElNDA+SJKmJ4UGS\nJDUxPEiSpCaGB0mS1MTwIEmSmhgeJElSE8ODJElq0nl4SLJXknOS/EOSnyX5YZL3bqff+5PcO+jz\n5SRHdl2LJEnq3ihGHt4FnAa8FXgm8A7gHUnOmO6Q5J3AGYN+xwIPAquT7DuCeiRJUocWjWCbK4Ar\nqurqwfv1SU6hHxKmnQWcU1VXAiR5LbAReDnwmRHUJEmSOjKKkYdvASuT/AZAkqOB5wFXDd4/HVgK\nXDu9QlVtAW6kHzwkSdICNoqRhw8ABwG3J3mEfkB5T1V9erB8KVD0Rxpm2jhYJkmSFrBRhIc/AE4B\nXg18HzgG+HCSe6vqU7OsF/qhYhargIOH2iYHL0mSHt96vR69Xm+btqmpqc73M4rwcC7wp1X1t4P3\n30tyOPBu4FPABvpB4VC2HX1YAtwy+6bPA5Z3WqwkSXuKyclJJie3/YN6zZo1TExMdLqfUcx5OIBH\njyBsnd5XVa2jHyBWTi9MchBwHP35EpIkaQEbxcjDlcB7ktwFfI/+UMEq4MIZfc4H3pvkh8CdwDnA\n3cAVI6hHkiR1aBTh4Qz6YeDj9C9F3Av8t0EbAFV1bpIDgAuAxcA3gJdU1cMjqEeSJHWo8/BQVQ8C\nfzR4zdbvbODsrvcvSZJGy2dbSJKkJoYHSZLUxPAgSZKaGB4kSVITw4MkSWpieJAkSU0MD5IkqYnh\nQZIkNTE8SJKkJoYHSZLUxPAgSZKaGB4kSVITw4MkSWpieJAkSU0MD5IkqYnhQZIkNTE8SJKkJoYH\nSZLUxPAgSZKaGB4kSVITw4MkSWpieJAkSU0MD5IkqYnhQZIkNTE8SJKkJoYHSZLUxPAgSZKaGB4k\nSVITw4MkSWpieJAkSU0MD5IkqYnhQZIkNTE8SJKkJiMJD0kOS/KpJJuS/CzJbUmWD/V5f5J7B8u/\nnOTIUdQiSZK61Xl4SLIYuB74OXAisAz4T8DmGX3eCZwBnAYcCzwIrE6yb9f1SJKkbi0awTbfBayv\nqjfOaPs/Q33OAs6pqisBkrwW2Ai8HPjMCGqSJEkdGcVli98HvpPkM0k2JlmT5P8HiSRPB5YC1063\nVdUW4EZgxQjqkSRJHRpFeDgCeAtwB/Bi4C+AjyQ5dbB8KVD0Rxpm2jhYJkmSFrBRXLbYC7ipqt43\neH9bkn9JP1BcMst6oR8qJEnSAjaK8PAjYO1Q21rglYOvN9APCoey7ejDEuCW2Te9Cjh4qG1y8JIk\n6fGt1+vR6/W2aZuamup8P6MID9cDRw21HcVg0mRVrUuyAVgJfBcgyUHAccDHZ9/0ecDy2btIkvQ4\nNTk5yeTktn9Qr1mzhomJiU73M4rwcB5wfZJ30//kxHHAG4E3zehzPvDeJD8E7gTOAe4GrhhBPZIk\nqUOdh4eq+k6SVwAfAN4HrAPOqqpPz+hzbpIDgAuAxcA3gJdU1cNd1yNJkro1ipEHquoq4Kqd9Dkb\nOHsU+5ckSaPjsy0kSVITw4MkSWpieJAkSU0MD5IkqYnhQZIkNTE8SJKkJoYHSZLUxPAgSZKaGB4k\nSVITw4MkSWpieJAkSU0MD5IkqYnhQZIkNTE8SJKkJoYHSZLUxPAgSZKaGB4kSVITw4MkSWpieJAk\nSU0MD5IkqYnhQZIkNTE8SJKkJoYHSZLUxPAgSZKaGB4kSVITw4MkSWpieJAkSU0MD5IkqYnhQZIk\nNTE8SJKkJoYHSZLUxPAgSZKaGB4kSVKTkYeHJO9OsjXJh2a07Zfk40k2JflpksuTLBl1LZIk6bEb\naXhI8q+BNwG3DS06HzgJeBVwAnAY8NlR1iJJkroxsvCQ5FeAS4A3Ag/MaD8IeAOwqqquq6pbgNcD\nz0ty7KjqkSRJ3RjlyMPHgSur6itD7c8BFgHXTjdU1R3AemDFCOuRJEkdWDSKjSZ5NXAM/aAw7FDg\n4araMtS+EVg6inokSVJ3Og8PSZ5Cf07Di6rqFy2rAtV1PZIkqVujGHmYAJ4E3Jwkg7a9gROSnAH8\nHrBfkoOGRh+W0B99mMUq4OChtsnBS5Kkx7der0ev19umbWpqqvP9pKrbP/aTHAj82lDz3wBrgQ8A\n9wA/Bl5dVZ8brPMM4HbguVV103a2uRy4GW4Glnda72hdA7yIdevWcfjhh4+7GEnS49CaNWuYmJgA\nmKiqNV1ss/ORh6p6EPj+zLYkDwI/qaq1g/d/BXwoyWbgp8BHgOu3FxwkSdLCMpIJk9sxPLyxCngE\nuBzYD7gaOH2eapEkSY/BvISHqvqdofc/B84cvCRJ0m7EZ1tIkqQmhgdJktTE8CBJkpoYHiRJUhPD\ngyRJamJ4kCRJTQwPkiSpieFBkiQ1MTxIkqQmhgdJktTE8CBJkpoYHiRJUhPDgyRJamJ4kCRJTQwP\nkiSpieFBkiQ1MTxIkqQmhgdJktTE8CBJkpoYHiRJUhPDgyRJamJ4kCRJTQwPkiSpieFBkiQ1MTxI\nkqQmhgdJktTE8CBJkpoYHiRJUhPDgyRJamJ4kCRJTQwPkiSpieFBkiQ1MTxIkqQmhgdJktSk8/CQ\n5N1JbkqyJcnGJJ9L8oyhPvsl+XiSTUl+muTyJEu6rkWSJHVvFCMPxwMfBY4DfhfYB/hSkifM6HM+\ncBLwKuAE4DDgsyOoRZIkdWxR1xusqpfOfJ/k3wP3ARPAN5McBLwBeHVVXTfo83pgbZJjq+qmrmuS\nJEndmY85D4uBAu4fvJ+gH1qune5QVXcA64EV81CPJEl6DEYaHpKE/iWKb1bV9wfNS4GHq2rLUPeN\ng2WSJGkB6/yyxZBPAM8Cnr8LfUN/hGIWq4CDh9omBy9Jkh7fer0evV5vm7apqanO9zOy8JDkY8BL\ngeOr6t4ZizYA+yY5aGj0YQn90YdZnAcs77hSSZL2DJOTk0xObvsH9Zo1a5iYmOh0PyO5bDEIDi8D\nXlhV64cW3wz8Elg5o/8zgKcBN4yiHkmS1J3ORx6SfIL+dYSTgQeTHDpYNFVVD1XVliR/BXwoyWbg\np8BHgOv9pIUkSQvfKC5bvJn+3IWvDbW/Hrh48PUq4BHgcmA/4Grg9BHUIkmSOjaK+zzs9FJIVf0c\nOHPwkiRJuxGfbSFJkpoYHiRJUhPDgyRJamJ4kCRJTQwPkiSpieFBkiQ1MTxIkqQmhgdJktTE8CBJ\nkpoYHiRJUhPDgyRJamJ4kCRJTQwPkiSpieFBkiQ1MTxIkqQmhgdJktTE8CBJkpoYHiRJUhPDgyRJ\namJ4kCRJTQwPkiSpieFBkiQ1MTxIkqQmhgdJktRk0bgLkLT7W79+PZs2bRp3GXPyxCc+kac97Wnj\nLkParRgeJD0m69ev56ijlvHQQz8bdylzsv/+B3DHHWsNEFIDw4Okx2TTpk2D4HAJsGzc5TRay0MP\nncqmTZsMD1IDw4OkjiwDlo+7CEnzwAmTkiSpieFBkiQ1MTxIkqQmhgdJktTE8KCx6PV64y5B0iw8\nRzWbsX7aIsnpwNuBpcBtwJlV9b/GWZPmR6/XY3JyctxlSNoBz9FH211vhrZ27drOtzm28JDkD4AP\nAn8I3ASsAlYneUZV7X5HR5K0x9rdb4bWtXGOPKwCLqiqiwGSvBk4CXgDcO4Y65IkaRu7983QrgLe\n1+kWxxIekuwDTAB/Ot1WVZXkGmDFOGqSJGnndseboe05ly2eCOwNbBxq3wgctZ3++/f/8z+A74yy\nro71D9jnP/95nvSkJ425lnZ77bUXW7duHcm27777bi699NKRbHuUdY/a7lj7unXrBl9dxSj+kRqt\nfu1XXXXVSK4Lj9Kof1Y8R7e1e/+cXz/9xf5dbTFV1dW2dn2nyZOBe4AVVXXjjPZzgedX1W8N9T8F\nGM1PsSRJjw+vqarLutjQuEYeNgGPAIcOtS/h0aMRAKuB1wB3Ag+NtDJJkvYs+wOH0/9d2omxjDwA\nJPk2cGNVnTV4H2A98JGq+q9jKUqSJO3UOD9t8SHgoiQ3808f1TwA+Jsx1iRJknZibOGhqj6T5InA\n++lfvrgVOLGqfjyumiRJ0s6N7bKFJEnaPflsC0mS1MTwIEmSmow9PCQ5PskXktyTZGuSk3dhnd9O\ncnOSh5L8IMnr5qNW7ZrWY5rkBYN+M1+PJFkyXzVr+5K8O8lNSbYk2Zjkc0mesQvr/bska5P83yS3\nJXnJfNSrnZvLMU3yuhnn5fQ56kMeFoAkbx6cY1OD17eS/N5O1nnM5+fYwwNwIP3JkqcDO52AkeRw\n4O+Aa4GjgQ8DFyZ50ehKVKOmYzpQwG/Qf8LqUuDJVXXfaMpTg+OBjwLHAb8L7AN8KckTdrRCkhXA\nZcAngWOAzwOfT/Ks0ZerXdB8TAem+Kfzcynwa6MsUrvsLuCd9B/5MAF8BbgiyXYfwNHV+bmgJkwm\n2Qq8vKq+MEufPwdeUlX/akZbDzi4ql46D2WqwS4e0xfQ/4E/pKq2zFtxajb4hNR9wAlV9c0d9Pk0\ncEBVnTyj7Qbglqp66/xUql21i8f0dcB5VfXP57U4zUmSnwBvr6q/3s6yTs7PhTDy0Oq5wDVDbavx\ngVq7uwC3Jrk3yZeS/NZO19A4LKY/SnT/LH1W4Dm6O9mVYwrwK0nuTLI+iSNJC1CSvZK8mv49k27Y\nQbdOzs/dMTwsZfsP1DooyX5jqEeP3Y+A04BXAa+kPwz3tSTHjLUqbWNwF9jzgW9W1fdn6bqjc3Tp\nqGrT3DQc0zuANwAn039UwF7At5L86uir1M4k+c0kPwV+DnwCeEVV3b6D7p2cn+O8w2SXMvjvwrkG\no11WVT8AfjCj6dtJfp3+XUedDLtwfAJ4FvC8OawbPD8Xol06plX1beDb0+8Hw9xrgT8E/ssoC9Qu\nuZ3+HMDF9P8IuzjJCbMEiGHN5+fuOPKwge0/UGtLVT08hno0GjcBR467CPUl+RjwUuC3q+pHO+m+\no3N0ew+905g0HtNtVNUvgVvwHF0QquqXVfUPVbWmqt4D3AactYPunZyfu2N4uAFYOdT2YnZ8fUe7\np2PoX87QmA1+ybwMeGFVrd+FVbZ3jr4Iz9EFYw7HdHj9vYDfxHN0odoL2NFl/E7Oz7FftkhyIP30\nOn3p4YgkRwP3V9VdSf4MOKyqpoev/wI4Y/Cpi/9O/3/Cv6WfoLUAtB7TJGcB64Dv0X907JuAF9L/\ngdYYJfkEMEn/WveDSab/YpmqqocGfS4C7qmq/zxY9mHguiR/BHxxsP4E/eOqMZvLMU3yPvqXLX5I\nf2j8HfQ/qnnhPJevIUn+BPif9OeK/TP6c1JeQP+PapJcDNzd9fk59vAAPAf4Kv3rLQV8cNB+Ef0J\nOkuBp053rqo7k5xE/6mcbwPuBv5DVQ3PHtX4NB1TYN9Bn8OAnwHfBVZW1dfnq2Dt0JvpH8OvDbW/\nHrh48PVTgUemF1TVDUkmgT8ZvP4eeNlOJuRp/jQfU+AQ4C/pn7ubgZuBFQ3X1DU6h9I/bk+mfy+O\n7wIvrqqvDJY/BfjldOeuzs8FdZ8HSZK08O2Ocx4kSdIYGR4kSVITw4MkSWpieJAkSU0MD5IkqYnh\nQZIkNTE8SJKkJoYHSZLUxPAgSZKaGB4kSVITw4MkSWry/wDL+tiTxyTBXAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "all_shooting_ensemble_43 = paths.AllOutXEnsemble(state_WC) & paths.PartOutXEnsemble(iface_43)\n", "segments_43 = all_shooting_ensemble_43.split(run0)\n", "plt.hist([len(s) for s in segments_43])\n", "print(\"Segments:\", len(segments_43))\n", "print(\"Longer than 1 frame:\", len([s for s in segments_43 if len(s) > 1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is just as easy to calculate the flux" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": true }, "outputs": [], "source": [ "flux_dict_43 = analyzer.analyze_flux(trajectories=runs,\n", " state=state_WC,\n", " interface=iface_43)\n", "\n", "all_shooting_43 = [all_shooting_ensemble_43.split(run) for run in runs]\n", "all_shooting_43 = sum(all_shooting_43, [])" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "567\n" ] } ], "source": [ "print(len(flux_dict_43['out']))" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "562\n" ] } ], "source": [ "print(len(flux_dict_43['in']))" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Segments: 569\n", "Longer than 1 frame: 33\n" ] } ], "source": [ "print(\"Segments:\", len(all_shooting_43))\n", "print(\"Longer than 1 frame:\", len([s for s in all_shooting_43 if len(s) > 1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can directly calculate the flux. Since the `analyzer` knows that the time between frames is 0.2 ps, the result is in units of events/picosecond. We could do this for just one run in the same way, but we'll go ahead and calculate it for all of them:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.00572665248916\n" ] } ], "source": [ "print(analyzer.flux(trajectories=runs,\n", " state=state_WC,\n", " interface=iface_43))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.10" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": true }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 1 }