{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Write your own native contacts analysis method\n", "\n", "The `contacts.Contacts` class has been designed to be extensible for your own analysis. Here we demonstrate how to define a new method to use to determine the fraction of native contacts.\n", "\n", "**Last updated:** December 2022 with MDAnalysis 2.4.0-dev0\n", "\n", "**Minimum version of MDAnalysis:** 1.0.0\n", "\n", "**Packages required:**\n", " \n", "* MDAnalysis (Michaud-Agrawal *et al.*, 2011, Gowers *et al.*, 2016)\n", "* MDAnalysisTests\n", "* [matplotlib](https://matplotlib.org)\n", "* [pandas](https://pandas.pydata.org)\n", "\n", "**See also**\n", "\n", "* [Fraction of native contacts over a trajectory](contacts_native_fraction.ipynb) (pre-defined metrics and a general introduction to native contacts analysis)\n", "* [Q1 vs Q2 contact analysis](contacts_q1q2.ipynb)\n", "* [Contact analysis: number of contacts within a cutoff](contacts_within_cutoff.ipynb)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2021-05-19T05:57:00.563225Z", "iopub.status.busy": "2021-05-19T05:57:00.562481Z", "iopub.status.idle": "2021-05-19T05:57:01.656037Z", "shell.execute_reply": "2021-05-19T05:57:01.656427Z" } }, "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) The trajectory ``DCD`` samples a transition from a closed to an open conformation." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2021-05-19T05:57:01.659952Z", "iopub.status.busy": "2021-05-19T05:57:01.659362Z", "iopub.status.idle": "2021-05-19T05:57:01.891750Z", "shell.execute_reply": "2021-05-19T05:57:01.892356Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/pbarletta/mambaforge/envs/guide/lib/python3.9/site-packages/MDAnalysis/coordinates/DCD.py:165: DeprecationWarning: DCDReader currently makes independent timesteps by copying self.ts while other readers update self.ts inplace. This behavior will be changed in 3.0 to be the same as other readers. Read more at https://github.com/MDAnalysis/mdanalysis/issues/3889 to learn if this change in behavior might affect you.\n", " warnings.warn(\"DCDReader currently makes independent timesteps\"\n" ] } ], "source": [ "u = mda.Universe(PSF, DCD)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Background\n", "\n", "Please see the [Fraction of native contacts](contacts_native_fraction.ipynb#Background) for an introduction to general native contacts analysis." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Defining salt bridges" ] }, { "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": { "execution": { "iopub.execute_input": "2021-05-19T05:57:01.898428Z", "iopub.status.busy": "2021-05-19T05:57:01.897597Z", "iopub.status.idle": "2021-05-19T05:57:01.902430Z", "shell.execute_reply": "2021-05-19T05:57:01.902789Z" } }, "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": [ "## Define your own function" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Any function you define *must* have `r` and `r0` as its first and second arguments respectively, even if you don't necessarily use them:\n", "\n", " - `r`: an array of distances between atoms at the current time\n", " - `r0`: an array of distances between atoms in the reference\n", "\n", "You can then define following arguments as keyword arguments.\n", "\n", "In the function below, we calculate the fraction of native contacts that are less than `radius`, but greater than `min_radius`." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2021-05-19T05:57:01.907350Z", "iopub.status.busy": "2021-05-19T05:57:01.906760Z", "iopub.status.idle": "2021-05-19T05:57:01.908485Z", "shell.execute_reply": "2021-05-19T05:57:01.908901Z" } }, "outputs": [], "source": [ "def fraction_contacts_between(r, r0, radius=3.4, min_radius=2.5):\n", " is_in_contact = (r < radius) & (r > min_radius) # array of bools\n", " fraction = is_in_contact.sum()/r.size\n", " return fraction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we pass `fraction_contacts_between` to the `contacts.Contacts` class. Keyword arguments for our custom function must be in the `kwargs` dictionary. Even though we define a `radius` keyword in my custom analysis function, it is *not* automatically passed from `contacts.Contacts`. We have to make sure that it is in `kwargs`. " ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2021-05-19T05:57:01.912994Z", "iopub.status.busy": "2021-05-19T05:57:01.912470Z", "iopub.status.idle": "2021-05-19T05:57:01.938317Z", "shell.execute_reply": "2021-05-19T05:57:01.938722Z" } }, "outputs": [], "source": [ "ca = contacts.Contacts(u, \n", " select=(sel_acidic, sel_basic),\n", " refgroup=(acidic, basic),\n", " method=fraction_contacts_between,\n", " radius=5.0,\n", " kwargs={'radius': 5.0,\n", " 'min_radius': 2.4}).run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One easy way to post-process results is to turn them into a dataframe." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2021-05-19T05:57:01.945491Z", "iopub.status.busy": "2021-05-19T05:57:01.944493Z", "iopub.status.idle": "2021-05-19T05:57:01.953817Z", "shell.execute_reply": "2021-05-19T05:57:01.954467Z" } }, "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.988764
22.00.943820
33.00.943820
44.00.943820
\n", "
" ], "text/plain": [ " Frame Contacts from first frame\n", "0 0.0 1.000000\n", "1 1.0 0.988764\n", "2 2.0 0.943820\n", "3 3.0 0.943820\n", "4 4.0 0.943820" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ca_df = pd.DataFrame(ca.results.timeseries, \n", " columns=['Frame', \n", " 'Contacts from first frame'])\n", "ca_df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotting\n", "\n", "We can plot directly from a dataframe (below), or you could use it with other plotting packags such as [seaborn](https://seaborn.pydata.org/)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2021-05-19T05:57:01.957920Z", "iopub.status.busy": "2021-05-19T05:57:01.957416Z", "iopub.status.idle": "2021-05-19T05:57:02.098887Z", "shell.execute_reply": "2021-05-19T05:57:02.099547Z" }, "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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v8LFF1+Mxx57DFOnTgUA3HfffbjjjjuCjkmaokpISJDHFCzQWbp0Ka6++uqQPrvBYIAgCH6f01NcXJz83ZqWluZ1rNVqxfr16+X7DgA333yz1/tfeeUVpKen48CBAygsLJSff/DBB70+/+zZs/Hxxx/jkksuAQDMmzcP69atk4//zW9+g2eeeQY33XQTANfPxoEDB/CXv/yl7wU6F198Md577z2v5z788EOMGzdOjtAvvvhilJWV4f777/c6prS0FACg0WhQUlKCsrIy3HjjjfIxZWVluP7667v6I3SoKCcZALC30ginU4RCwaZjRL1dnFqJA0unxuS6oQiUGQ/k4MGDyM3N9cpmX3DBBUhOTsbBgwfloCMvL08OcgDXfkPS3kPtefHFF/Hyyy/j+++/R0tLC6xWK8aMGQPA9cvo6dOncdVVV4X0mSSLFi3CnXfeifXr12Py5Mn48Y9/jPPOOy+scwDAuHHjvP588OBB/PznP/d67pJLLvGbbisqKpL/XfplWpoOkp5rbW2FyWRCUlJS2ONqb4zR+uyBDBkyxCvIAVyZvMceewxfffUV6urq4HQ6AbgCLs9AJ5R7Iv28nDlzBhUVFZg3bx5+9rOfycfY7XYYDIaofJZwhF2j09TUhF27dsnzjCdOnMCuXbvkZd6LFy/GnDlz5OPnz5+P77//HosWLcLBgwexdu1avPLKK3jwwQflY+677z58+OGHWL58Ob777jssX74cH330ERYuXCgfs2jRIrz88stYu3YtDh48iPvvvx/l5eWYP39+hB89eoZnJECnVqDRYsfxuuZYD4eIokAQBMRrVN3+CLU77LBhwyAIAg4ePNjuccGm+H2f950aEgRB/tIL5s0338T999+Pn/70p/jwww+xa9cu3HHHHbBarQDgNY0UjiVLlmD//v249tpr8d///jdob7WOBJrSC6UEwvNeSK8Feq6j+xPJGKP12UO5FgBcd911qK+vx5o1a/D111/LbV2kv0NJKPdEuh/SP9esWSPHC7t27cK+ffu8ase6S9iBzjfffIOxY8di7NixAFwByNixY/H4448DcM1Neva2yc/Px6ZNm/Dpp59izJgx+M1vfoNnn33WK11WWlqKDRs24NVXX0VRURHWrVuHjRs3YsKECfIxM2fOxMqVK7F06VKMGTMGn3/+OTZt2oQhQ4ZE/OGjRaVUYFS2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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ca_df.plot(x='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] 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", "[3] 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": "guide", "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.9.15 | packaged by conda-forge | (main, Nov 22 2022, 15:55:03) \n[GCC 10.4.0]" }, "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 }, "vscode": { "interpreter": { "hash": "5edc5d8d8cbc0935a054a8e44024f729bc376180aae27775d15f2ff38c68f892" } } }, "nbformat": 4, "nbformat_minor": 2 }