{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Fraction of native contacts over a trajectory\n", "\n", "Here, we calculate the native contacts of a trajectory as a fraction of the native contacts in a given reference.\n", "\n", "**Last executed:** Feb 29, 2020 with MDAnalysis 0.20.1\n", "\n", "**Last updated:** January 2020\n", "\n", "**Minimum version of MDAnalysis:** 0.21.0\n", "\n", "**Packages required:**\n", " \n", "* MDAnalysis (Michaud-Agrawal *et al.*, 2011, Gowers *et al.*, 2016)\n", "* MDAnalysisTests\n", " \n", "**Optional packages for visualisation:**\n", "\n", "* [matplotlib](https://matplotlib.org)\n", "* [pandas](https://pandas.pydata.org)\n", "\n", "
\n", " \n", "**Note**\n", "\n", "The `contacts` module contains 3 metrics for calculating the fraction of native contacts for a conformation:\n", "\n", "1. `hard_cut_q`: atoms *i* and *j* are in contact if they are *at least* as close as in the given reference structure\n", "2. `soft_cut_q`: atoms *i* and *j* are in contact based on a soft potential with user-defined parameters (Best *et al.*, 2013)\n", "3. `radius_cut_q`: atoms *i* and *j* are in contact if they are within a given radius (Franklin *et al.*, 2007)\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import MDAnalysis as mda\n", "from MDAnalysis.tests.datafiles import PSF, DCD\n", "from MDAnalysis.analysis import contacts\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Loading files\n", "\n", "The test files we will be working with here feature adenylate kinase (AdK), a phosophotransferase enzyme. (Beckstein *et al.*, 2009)\n", " The trajectory ``DCD`` samples a transition from a closed to an open conformation." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "u = mda.Universe(PSF, DCD)\n", "ref = mda.Universe(PSF, DCD)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Defining the groups for contact analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We define salt bridges as contacts between NH/NZ in ARG/LYS and OE\\*/OD\\* in ASP/GLU. You may not want to use this definition for real work." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "sel_basic = \"(resname ARG LYS) and (name NH* NZ)\"\n", "sel_acidic = \"(resname ASP GLU) and (name OE* OD*)\"\n", "acidic = u.select_atoms(sel_acidic)\n", "basic = u.select_atoms(sel_basic)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculating fraction of native contacts, with a distance lower than or equal to the reference structure" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`contacts.Contacts` supports each of the three methods explained above. It must be defined with a `selection` of two groups that change over time. The fraction of native contacts present in `selection` are with respect to contacts found in `refgroup`: two contacting groups in a reference configuration. Native contacts are found in the reference group `refgroup` based on the radius.\n", "\n", "Below, we just use the atomgroups in the universe at the current frame as a reference." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "ca1 = contacts.Contacts(u, \n", " selection=(sel_acidic, sel_basic),\n", " refgroup=(acidic, basic), \n", " radius=4.5, \n", " method='hard_cut').run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The results are available as a numpy array at `ca1.timeseries`. The first column is the frame, and the second is the fraction of contacts present in that frame." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", "
FrameContacts from first frame
00.01.000000
11.00.492754
22.00.449275
33.00.507246
44.00.463768
\n", "
" ], "text/plain": [ " Frame Contacts from first frame\n", "0 0.0 1.000000\n", "1 1.0 0.492754\n", "2 2.0 0.449275\n", "3 3.0 0.507246\n", "4 4.0 0.463768" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ca1_df = pd.DataFrame(ca1.timeseries, \n", " columns=['Frame', \n", " 'Contacts from first frame'])\n", "ca1_df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the data is presented as fractions of the native contacts present in the reference configuration. In order to find the number of contacts present, multiply the data with the number of contacts in the reference configuration. Initial contact matrices are saved as pairwise arrays in `ca1.initial_contacts`." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(70, 44)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ca1.initial_contacts[0].shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can sum this to work out the number of contacts in your reference, and apply that to the fractions of references in your `timeseries` data." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "There are 69 contacts in the reference.\n" ] } ], "source": [ "n_ref = ca1.initial_contacts[0].sum()\n", "print('There are {} contacts in the reference.'.format(n_ref))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[69. 34. 31. 35. 32.]\n" ] } ], "source": [ "n_contacts = ca1.timeseries[:, 1] * n_ref\n", "print(n_contacts[:5])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotting" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Fraction of contacts')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd3xc5ZX4/88Z9S5bkuUiWS5INm5yw4VikUAInRBS6GWTEKdns5vdkPy+y+5mSdgksCEJZQlLJyGkkJDECQEDNgSDLeMCuMhyVbHVbPUund8fUzSSpkmasSR03q+XXtbcuXPn0fXMPfd5zlNEVTHGGDNxOUa7AMYYY0aXBQJjjJngLBAYY8wEZ4HAGGMmOAsExhgzwUWPdgGGKjMzU2fNmjXaxTDGmHFl+/bttaqa5eu5cRcIZs2aRXFx8WgXwxhjxhUROervOWsaMsaYCc4CgTHGTHAWCIwxZoIbdzkCY8ayrq4uysvLaW9vH+2imAkqPj6enJwcYmJiQn6NBQJjwqi8vJyUlBRmzZqFiIx2ccwEo6rU1dVRXl7O7NmzQ35dxJqGRORREakWkff8PC8i8hMRKRWR3SKyPFJlMeZ0aW9vJyMjw4KAGRUiQkZGxpBrpJHMETwOXBzg+UuAfNfP7cCDESyLMaeNBQEzmobz+YtYIFDVzcDJALtcBTypTm8B6SIyLdhxq5s6wlVEY4wxjG6voRlAmdfjcte2QUTkdhEpFpHi6kZLwhkTyIkTJ7j22muZO3cuCxYs4NJLL6WkpGRYx/rxj39Ma2vrsF67c+dONmzYMKTX/OQnP+HMM8/khhtuGNZ7hqqmpobVq1ezbNkyXn/9dS699FLq6+tDfv3jjz9OZWWlz+f27dvH0qVLWbZsGQcPHgxXkSNqNAOBr/qLz1VyVPVhVV2pqisjXCZjxjVV5eqrr+b888/n4MGD7Nmzh+9973tUVVUN63inOxA88MADbNiwgWeeeabf9u7u7mGVwZ+NGzcyf/58duzYwXnnnceGDRtIT0/vt4+q0tvb6/P1gQLB73//e6666ip27NjB3LlzQzreqFPViP0As4D3/Dz3v8B1Xo/3A9OCHTN26hna09OrxoxFe/bsGdX337hxo5533nk+n+vt7dV//ud/1oULF+qiRYv02WefVVXVV199VYuKivSaa67RefPm6fXXX6+9vb163333aUxMjC5atEjPP/98VVVdv369rlixQhcsWKD/9m//5jn21q1bde3atbpkyRI966yztL6+XnNzczUzM1MLCwv12Wef1ddee00LCwu1sLBQly5dqo2Njf3K9/nPf97zfvfee6/eeeed+rnPfU4/8pGP6HXXXadtbW1666236qJFi3Tp0qX6yiuvqKrqY489pldddZVefvnlOmvWLP3pT3+q99xzjy5dulRXr16tdXV1/d5nx44d/crW2tqqeXl5WlNTo4cPH9b58+frF77wBV26dKkeOXJEb7nlFs85u/fee/XXv/61JiUlaUFBgef1bn/+8581Oztbp0+frueff77P4/k7h3l5eXrHHXfomjVrdMWKFbp9+3a96KKLdM6cOfrggw969vvBD36gK1eu1MWLF/d7vTdfn0OgWP1dq/09EY6fIIHgMuAvOGsGa4CtoRwzduoZ2t7V7fOPN2a0eX8B//2F9/RTD70Z1p9/f+G9gO9/33336de//nWfz/3mN7/RCy+8ULu7u/XEiROam5urlZWV+uqrr2pqaqqWlZVpT0+PrlmzRl9//XVVVc8F0s19Ue3u7taioiLdtWuXdnR06OzZs3Xr1q2qqtrQ0KBdXV362GOP6Ze+9CXPay+//HJ94403VFW1qalJu7q6BpXR+/3uvPNOXb58uedC+6Mf/UhvvfVWVVXdu3ev5ubmaltbmz722GM6d+5cbWxs1Orqak1NTfVcOL/+9a/r//zP/wx6n4Fl8w4EIqJbtmxRVdXi4mK98MILPfudOnVKVVWLiop027ZtPs/znXfeqT/84Q9VVQcdz985dJfhgQce8JR78eLFnr8pKytLVVVffPFF/dznPqe9vb3a09Ojl112mW7atGlQGYYaCCLZffSXwBZgnoiUi8hnRGS9iKx37bIBOASUAj8Hvhjqsbt6bJ1lY4bqjTfe4LrrriMqKors7GyKiorYtm0bAKtWrSInJweHw8HSpUs5cuSIz2M899xzLF++nGXLlvH++++zZ88e9u/fz7Rp0zjrrLMASE1NJTp68BClc845h2984xv85Cc/ob6+3uc+A1155ZUkJCR4yn/TTTcBMH/+fPLy8jy5jw996EOkpKSQlZVFWloaV1xxBQCLFy/2+7f4k5eXx5o1awCYM2cOhw4d4itf+Qp//etfSU1NHdKx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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ca1_df.plot(x='Frame')\n", "plt.ylabel('Fraction of contacts')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculating fraction of native contacts, with pairs assigned based on a soft potential" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`refgroup` can either be two contacting groups in a reference configuration, or a list of tuples of two contacting groups. Below, we set the reference trajectory to its last frame and select another pair of contacting atomgroups." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "ref.trajectory[-1]\n", "acidic_2 = ref.select_atoms(sel_acidic)\n", "basic_2 = ref.select_atoms(sel_basic)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This time we will use the `soft_cut_q` algorithm to calculate contacts by setting `method='soft_cut'`. This method uses the soft potential below to determine if atoms are in contact:\n", "\n", "$$ Q(r, r_0) = \\frac{1}{1 + e^{\\beta (r - \\lambda r_0)}} $$\n", "\n", "$r$ is a distance array and $r0$ are the distances in the reference group. $\\beta$ controls the softness of the switching function and $\\lambda$ is the tolerance of the reference distance.\n", "\n", "Suggested values for $\\lambda$ is 1.8 for all-atom simulations and 1.5 for coarse-grained simulations. The default value of $\\beta$ is 5.0. To change these, pass `kwargs` to contacts.Contacts." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "ca2 = contacts.Contacts(u, selection=(sel_acidic, sel_basic),\n", " refgroup=[(acidic, basic), (acidic_2, basic_2)], \n", " radius=4.5, \n", " method='soft_cut',\n", " kwargs={'beta': 5.0,\n", " 'lambda_constant': 1.5}).run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again, the first column of the data array in `ca2.timeseries` is the frame. The next columns of the array are fractions of native contacts with reference to the `refgroup`s passed, in order." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", "
FrameContacts from first frameContacts from last frame
00.00.9990940.719242
11.00.9849280.767501
22.00.9845440.788027
33.00.9701840.829219
44.00.9804250.833500
\n", "
" ], "text/plain": [ " Frame Contacts from first frame Contacts from last frame\n", "0 0.0 0.999094 0.719242\n", "1 1.0 0.984928 0.767501\n", "2 2.0 0.984544 0.788027\n", "3 3.0 0.970184 0.829219\n", "4 4.0 0.980425 0.833500" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ca2_df = pd.DataFrame(ca2.timeseries, \n", " columns=['Frame', \n", " 'Contacts from first frame', \n", " 'Contacts from last frame'])\n", "ca2_df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again, we can plot over time." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ca2_df.plot(x='Frame')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also plot the fraction of salt bridges from the first frame, over the fraction from the last frame, as a way to characterise the transition of the protein from closed to open." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Contacts from last frame')" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ca2_df.plot(x='Contacts from first frame', y='Contacts from last frame')\n", "plt.ylabel('Contacts from last frame')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", "[1] Oliver Beckstein, Elizabeth J. Denning, Juan R. Perilla, and Thomas B. Woolf.\n", "Zipping and Unzipping of Adenylate Kinase: Atomistic Insights into the Ensemble of OpenClosed Transitions.\n", "Journal of Molecular Biology, 394(1):160–176, November 2009.\n", "00107.\n", "URL: https://linkinghub.elsevier.com/retrieve/pii/S0022283609011164, doi:10.1016/j.jmb.2009.09.009.\n", "\n", "[2] R. B. Best, G. Hummer, and W. A. Eaton.\n", "Native contacts determine protein folding mechanisms in atomistic simulations.\n", "Proceedings of the National Academy of Sciences, 110(44):17874–17879, October 2013.\n", "00259.\n", "URL: http://www.pnas.org/cgi/doi/10.1073/pnas.1311599110, doi:10.1073/pnas.1311599110.\n", "\n", "[3] Joel Franklin, Patrice Koehl, Sebastian Doniach, and Marc Delarue.\n", "MinActionPath: maximum likelihood trajectory for large-scale structural transitions in a coarse-grained locally harmonic energy landscape.\n", "Nucleic Acids Research, 35(suppl_2):W477–W482, July 2007.\n", "00083.\n", "URL: https://academic.oup.com/nar/article-lookup/doi/10.1093/nar/gkm342, doi:10.1093/nar/gkm342.\n", "\n", "[4] Richard J. Gowers, Max Linke, Jonathan Barnoud, Tyler J. E. Reddy, Manuel N. Melo, Sean L. Seyler, Jan Domański, David L. Dotson, Sébastien Buchoux, Ian M. Kenney, and Oliver Beckstein.\n", "MDAnalysis: A Python Package for the Rapid Analysis of Molecular Dynamics Simulations.\n", "Proceedings of the 15th Python in Science Conference, pages 98–105, 2016.\n", "00152.\n", "URL: https://conference.scipy.org/proceedings/scipy2016/oliver_beckstein.html, doi:10.25080/Majora-629e541a-00e.\n", "\n", "[5] Naveen Michaud-Agrawal, Elizabeth J. Denning, Thomas B. Woolf, and Oliver Beckstein.\n", "MDAnalysis: A toolkit for the analysis of molecular dynamics simulations.\n", "Journal of Computational Chemistry, 32(10):2319–2327, July 2011.\n", "00778.\n", "URL: http://doi.wiley.com/10.1002/jcc.21787, doi:10.1002/jcc.21787." ] } ], "metadata": { "kernelspec": { "display_name": "Python (mda0180)", "language": "python", "name": "mda0180" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.7" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }