{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Calculating the root mean square fluctuation over a trajectory\n", "\n", "We calculate the RMSF of the alpha-carbons in adenylate kinase (AdK) as it transitions from an open to closed structure, with reference to the average conformation of AdK.\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", "* [MDAnalysisData](https://www.mdanalysis.org/MDAnalysisData/)\n", "* [matplotlib](https://matplotlib.org/)\n", "\n", "**Optional packages for visualisation:**\n", "* [nglview](http://nglviewer.org/nglview/latest/)\n", "\n", "Throughout this tutorial we will include cells for visualising Universes with the [NGLView](http://nglviewer.org/nglview/latest/api.html) library. However, these will be commented out, and we will show the expected images generated instead of the interactive widgets.\n", "\n", "**See also**\n", "\n", "* [RMSD](rmsd.ipynb)\n", "* [Pairwise (2D) RMSD](pairwise_rmsd.ipynb)\n", "\n", "
\n", " \n", "**Note**\n", "\n", "MDAnalysis implements RMSD calculation using the fast QCP algorithm (Theobald, 2005) and a rotation matrix *R* that minimises the RMSD (Liu *et al.*, 2009). Please cite (Theobald, 2005) and (Liu *et al.*, 2009) when using the ``MDAnalysis.analysis.align`` and ``MDAnalysis.analysis.rms`` modules in published work.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T06:12:10.226826Z", "start_time": "2021-05-19T06:12:09.689178Z" }, "execution": { "iopub.execute_input": "2021-05-19T05:56:48.163358Z", "iopub.status.busy": "2021-05-19T05:56:48.162807Z", "iopub.status.idle": "2021-05-19T05:56:48.739465Z", "shell.execute_reply": "2021-05-19T05:56:48.739853Z" } }, "outputs": [], "source": [ "import MDAnalysis as mda\n", "from MDAnalysisData import datasets\n", "from MDAnalysis.analysis import rms, align\n", "# import nglview as nv\n", "\n", "import warnings\n", "# suppress some MDAnalysis warnings about writing PDB files\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Loading files\n", "\n", "The test files we will be working with here are an equilibrium trajectory of adenylate kinase (AdK), a phosophotransferase enzyme. (Seyler and Beckstein, 2017) AdK has three domains: \n", "\n", " * CORE\n", " * LID: an ATP-binding domain\n", " * NMP: an AMP-binding domain\n", " \n", "The LID and NMP domains move around the stable CORE as the enzyme transitions between the opened and closed conformations. We therefore might wonder whether the LID and NMP residues are more mobile than the CORE residues. One way to quantify this flexibility is by calculating the root mean square fluctuation (RMSF) of atomic positions.\n", "\n", "Note: downloading these datasets from MDAnalysisData may take some time." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [ "nbval-ignore-output" ] }, "outputs": [], "source": [ "adk = datasets.fetch_adk_equilibrium()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T06:12:11.117211Z", "start_time": "2021-05-19T06:12:10.948583Z" }, "execution": { "iopub.execute_input": "2021-05-19T05:56:48.743695Z", "iopub.status.busy": "2021-05-19T05:56:48.743128Z", "iopub.status.idle": "2021-05-19T05:56:48.937784Z", "shell.execute_reply": "2021-05-19T05:56:48.936941Z" } }, "outputs": [], "source": [ "u = mda.Universe(adk.topology, adk.trajectory)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Background\n", "\n", "The root-mean-square-fluctuation (RMSF) of a structure is the time average of the [RMSD](rmsd.ipynb). It is calculated according to the below equation, where $\\mathbf{x}_i$ is the coordinates of particle $i$, and $\\langle\\mathbf{x}_i\\rangle$ is the ensemble average position of $i$.\n", "\n", "$$\\rho_i = \\sqrt{\\left\\langle (\\mathbf{x}_i - \\langle\\mathbf{x}_i\\rangle)^2 \\right\\rangle}$$\n", "\n", "Where the RMSD quantifies how much a structure diverges from a reference over time, the RSMF can reveal which areas of the system are the most mobile. While RMSD is frequently calculated to an initial state, the RMSF should be calculated to an average structure of the simulation. An area of the structure with high RMSF values frequently diverges from the average, indicating high mobility. When RMSF analysis is carried out on proteins, it is typically restricted to backbone or alpha-carbon atoms; these are more characteristic of conformational changes than the more flexible side-chains. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating an average structure" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can generate an average structure to align to with the ``align.AverageStructure`` class. Here we first align to the first frame (`ref_frame=0`), and then average the coordinates." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T06:12:15.540693Z", "start_time": "2021-05-19T06:12:12.952210Z" }, "execution": { "iopub.execute_input": "2021-05-19T05:56:48.944069Z", "iopub.status.busy": "2021-05-19T05:56:48.943330Z", "iopub.status.idle": "2021-05-19T05:56:52.123021Z", "shell.execute_reply": "2021-05-19T05:56:52.123424Z" } }, "outputs": [], "source": [ "average = align.AverageStructure(u, u, select='protein and name CA',\n", " ref_frame=0).run()\n", "ref = average.results.universe" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Aligning the trajectory to a reference" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "``rms.RMSF`` does not allow on-the-fly alignment to a reference, and presumes that you have already aligned the trajectory. Therefore we need to first align our trajectory to the average conformation." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T06:12:18.227462Z", "start_time": "2021-05-19T06:12:15.543304Z" }, "execution": { "iopub.execute_input": "2021-05-19T05:56:52.128108Z", "iopub.status.busy": "2021-05-19T05:56:52.127348Z", "iopub.status.idle": "2021-05-19T05:56:55.198054Z", "shell.execute_reply": "2021-05-19T05:56:55.198804Z" } }, "outputs": [], "source": [ "aligner = align.AlignTraj(u, ref,\n", " select='protein and name CA',\n", " in_memory=True).run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You may not have enough memory to load the trajectory into memory. In that case, save this aligned trajectory to a file and re-load it into MDAnalysis by uncommenting the code below." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T06:12:18.846864Z", "start_time": "2021-05-19T06:12:18.844793Z" }, "execution": { "iopub.execute_input": "2021-05-19T05:56:55.207444Z", "iopub.status.busy": "2021-05-19T05:56:55.206250Z", "iopub.status.idle": "2021-05-19T05:56:55.209104Z", "shell.execute_reply": "2021-05-19T05:56:55.209521Z" } }, "outputs": [], "source": [ "# aligner = align.AlignTraj(u, ref,\n", "# select='protein and name CA',\n", "# filename='aligned_traj.dcd',\n", "# in_memory=False).run()\n", "# u = mda.Universe(PSF, 'aligned_traj.dcd')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculating RMSF" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The trajectory is now fitted to the reference, and the RMSF ([API docs](https://docs.mdanalysis.org/stable/documentation_pages/analysis/rms.html#MDAnalysis.analysis.rms.RMSF)) can be calculated.\n", "\n", "
\n", " \n", "**Note**\n", "\n", "MDAnalysis implements an algorithm that computes sums of squares and avoids underflows or overflows. Please cite (Welford, 1962) when using the ``MDAnalysis.analysis.rms.RMSF`` class in published work.\n", "\n", "
\n", "\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T06:12:20.784083Z", "start_time": "2021-05-19T06:12:20.646692Z" }, "execution": { "iopub.execute_input": "2021-05-19T05:56:55.215361Z", "iopub.status.busy": "2021-05-19T05:56:55.214140Z", "iopub.status.idle": "2021-05-19T05:56:55.395243Z", "shell.execute_reply": "2021-05-19T05:56:55.395626Z" } }, "outputs": [], "source": [ "c_alphas = u.select_atoms('protein and name CA')\n", "R = rms.RMSF(c_alphas).run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting RMSF" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now plot the RMSF using the common plotting package [matplotlib](https://matplotlib.org/3.1.1/gallery/index.html)." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T06:12:22.404839Z", "start_time": "2021-05-19T06:12:22.162449Z" }, "execution": { "iopub.execute_input": "2021-05-19T05:56:55.400911Z", "iopub.status.busy": "2021-05-19T05:56:55.399931Z", "iopub.status.idle": "2021-05-19T05:56:55.621049Z", "shell.execute_reply": "2021-05-19T05:56:55.621757Z" } }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see, the LID and NMP residues indeed move much more compared to the rest of the enzyme." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T06:12:23.885795Z", "start_time": "2021-05-19T06:12:23.482258Z" }, "execution": { "iopub.execute_input": "2021-05-19T05:56:55.670632Z", "iopub.status.busy": "2021-05-19T05:56:55.667978Z", "iopub.status.idle": "2021-05-19T05:56:56.018681Z", "shell.execute_reply": "2021-05-19T05:56:56.019069Z" }, "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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+++/jzlz5sBms2HevHnYsmVL1HOtXr0a1dXVUbc9++yzEAQh6rbnn38ec+fOhc1mw+TJk3HXXXcl/fBnpaR7770Xzc3NqK2txfXXX49gMJjwWAGguroaq1evBqCU3P7yl7/gzDPPhN1ux/z587Fr1y588MEHmDdvHpxOJy644AJ0d3ePOIa77roLDQ0NqKysxL/9278hEAjw74miiJ///OeYPHky7HY7Zs+ejf/93//l39+wYQMEQcArr7yCefPmwWq14s0330z49yUIAjAV+wAIgtAf+/btw8svvwyz2cxve+SRR3DHHXfgwQcfxJw5c7BlyxZce+21cDgcWLZsGR544AE899xz+Mtf/oIJEyagvb0d7e3tcR/f4/HgoosuwjnnnIOnnnoK+/fvx/e+972Mj/OVV17BFVdcgQceeABnnnkm9u7di+985zsAgDvuuCPhz61fvx7Nzc1Yv3499uzZg8suuwwnn3wyrr322oye/4477sB9992HCRMm4Oqrr8bXv/51VFZW4v7770dFRQW++tWv4vbbb8dDDz3Ef+a1116DzWbD+vXrceDAAXzrW99CXV0dfvKTnwAA/vM//xPr1q3DQw89hClTpuCNN97AFVdcgfr6eixatIg/zq233op7770XkydPHiEKCYKIobhL1wmC0APLli0TjUaj6HA4RJvNJgIQAYi//OUv+X3Gjx8v/vnPf476ubvvvltcsGCBKIqieOONN4rnnHOOGIlE4j4HAPGZZ54RRVEUf/e734k1NTWix+Ph33/ooYdEAOKWLVtEURTFJ554Qqyqqop6jGeeeUZUn7bOPPNM8ac//WnUff74xz+Kzc3NSf+uEydOFEOhEL/tK1/5injZZZfFPVZGVVWV+MQTT4iiKIr79+8XAYiPPvoo//7TTz8tAhBfe+01ftuqVavEqVOnRj13vL+30+kUw+Gw6Ha7RZvNJr7zzjtRz/3tb39b/PrXvy6KoiiuX79eBCA+++yzCf+OBEFEQ84OQRAAgLPPPhsPPfQQvF4vHn30UezatQs33ngjAKC7uxvt7e349re/HeV+hEIhVFVVAZDKQ+eddx6mTp2KCy64ABdddBGWLFkS97l27NiB2bNno6Kigt+2YMGCjI/5ww8/xAcffMBdEQAIh8Pw+Xzwer1Rj69m+vTpMBqN/Ovm5mZs27Yt4+efNWsW///GxkYAwMyZM6Nu6+rqivqZeH9vt9uN9vZ2dHV1wefz4bzzzov6mUAggDlz5kTdNm/evIyPlyBGKyR2CIIAADgcDhx//PEAgAceeABnn3027rrrLtx9992IRCIApFLWaaedFvVzTDSccsop2L9/P1566SX84x//wFe/+lWce+65UXkThiiKKY/HYDCMuJ86VwMAkUgEd911Fy699NIRP2+z2RI+tro8B0gZHfZ3ZF+neu7Yx2FZotjb1I+bDPV9X3jhBYwdOzbq+7HhbofDkdbjEgRBYocgiATccccdWLp0Kb773e+ipaUFY8eOxb59+3D55Zcn/JnKykpcdtlluOyyy/DlL38ZF1xwAY4dO4aampqo+5100kn44x//iOHhYdjtdgDAe++9F3Wf+vp6DA0NwePx8A/22Bk8p5xyCnbu3MlFmlbU19ejo6ODf7179254vV5NHvujjz4a8fd2Op0YN24cxowZA6vVira2tqh8DkEQuUFihyCIuJx11lmYPn06fvrTn+LBBx/EnXfeiZtuugmVlZVYunQp/H4/Nm3ahL6+PqxYsQK/+tWv0NzcjJNPPhkGgwF//etf0dTUFDc8+41vfAM/+tGP8O1vfxv/+Z//iQMHDuDee++Nus9pp52GiooK3Hbbbbjxxhvx/vvv824oxu23346LLroI48ePx1e+8hUYDAZ8/PHH2LZtG3784x9n/Xc/55xz8OCDD+L0009HJBLBD37wgxFuULYEAgH+9z548CDuuOMO3HDDDTAYDHC5XLjllltw8803IxKJ4IwzzsDg4CDeeecdOJ1OLFu2TJNjIIjRBrWeEwSRkBUrVuCRRx5Be3s7rrnmGjz66KNYvXo1Zs6ciUWLFmH16tVobW0FADidTvzsZz/DvHnzMH/+fBw4cAAvvvgiDIaRpxmn04nnn38e27dvx5w5c/CjH/0IP/vZz6LuU1NTg6eeegovvvgiZs6ciaeffhp33nln1H3OP/98/N///R9effVVzJ8/H6effjp++ctfYuLEiTn9vX/xi19g/PjxWLhwIb7xjW/glltuSZj/yZTFixdjypQpWLhwIb761a/i4osvjvp73X333bj99tuxatUqnHjiiTj//PPx/PPP839ngiAyRxDTKZ4TBEEQBEGUKOTsEARBEARR1pDYIQiCIAiirCGxQxAEQRBEWUNihyAIgiCIsobEDkEQBEEQZQ2JHYIgCIIgyhoSOwRBEARBlDUkdgiCIAiCKGtI7BAEQRAEUdaQ2CEIgiAIoqwhsUMQBEEQRFnz/wEn0ILTRrfjIAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(c_alphas.resids, R.results.rmsf)\n", "plt.xlabel('Residue number')\n", "plt.ylabel('RMSF ($\\AA$)')\n", "plt.axvspan(122, 159, zorder=0, alpha=0.2, color='orange', label='LID')\n", "plt.axvspan(30, 59, zorder=0, alpha=0.2, color='green', label='NMP')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualising RMSF as B-factors\n", "\n", "Colouring a protein by RMSF allows you to visually identify regions of high fluctuation. This is commonly done by setting temperature factor (also known as b-factor) values, writing out to a format with B-factor specification (e.g. PDB), and visualising the file in a program such as [VMD](https://www.ks.uiuc.edu/Research/vmd/) or nglview.\n", "\n", "MDAnalysis uses the `tempfactor` topology attribute for this information. Below, we iterate through each residue of the protein and set the `tempfactor` attribute for *every* atom in the residue to the alpha-carbon RMSF value; this is necessary so every atom in the residue is coloured with the alpha-carbon RMSF." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T06:12:24.715593Z", "start_time": "2021-05-19T06:12:24.704274Z" }, "execution": { "iopub.execute_input": "2021-05-19T05:56:56.023420Z", "iopub.status.busy": "2021-05-19T05:56:56.022690Z", "iopub.status.idle": "2021-05-19T05:56:56.029481Z", "shell.execute_reply": "2021-05-19T05:56:56.029937Z" } }, "outputs": [], "source": [ "u.add_TopologyAttr('tempfactors') # add empty attribute for all atoms\n", "protein = u.select_atoms('protein') # select protein atoms\n", "for residue, r_value in zip(protein.residues, R.results.rmsf):\n", " residue.atoms.tempfactors = r_value" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below we visualise these values with a rainbow colour scheme. Purple values correspond to low RMSF values, whereas red values correspond to high RMSFs." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T06:12:26.639298Z", "start_time": "2021-05-19T06:12:26.056797Z" }, "execution": { "iopub.execute_input": "2021-05-19T05:56:56.041838Z", "iopub.status.busy": "2021-05-19T05:56:56.037830Z", "iopub.status.idle": "2021-05-19T05:56:56.675271Z", "shell.execute_reply": "2021-05-19T05:56:56.663125Z" } }, "outputs": [], "source": [ "# view = nv.show_mdanalysis(u)\n", "# view.update_representation(color_scheme='bfactor')\n", "# view" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": true }, "outputs": [], "source": [ "# from nglview.contrib.movie import MovieMaker\n", "# movie = MovieMaker(\n", "# view,\n", "# step=100, # keep every 100th frame\n", "# output='images/rmsf-view.gif',\n", "# render_params={\"factor\": 3}, # set to 4 for highest quality\n", "# )\n", "# movie.make()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
\n", " \n", "![rmsf-bfactor-view](images/rmsf-view.gif)\n", " \n", "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also write the atoms to a file and visualise it in another program. As the original Universe did not contain `altLocs`, `icodes` or `occupancies` for each atom, some warnings will be printed (which are not visible here)." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2021-05-19T06:12:30.853608Z", "start_time": "2021-05-19T06:12:30.272242Z" }, "execution": { "iopub.execute_input": "2021-05-19T05:56:56.679766Z", "iopub.status.busy": "2021-05-19T05:56:56.679019Z", "iopub.status.idle": "2021-05-19T05:56:57.296240Z", "shell.execute_reply": "2021-05-19T05:56:57.296614Z" } }, "outputs": [], "source": [ "u.atoms.write('rmsf_tempfactors.pdb')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", "[1] 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", "[2] Pu Liu, Dimitris K. Agrafiotis, and Douglas L. Theobald.\n", "Fast determination of the optimal rotational matrix for macromolecular superpositions.\n", "Journal of Computational Chemistry, pages n/a–n/a, 2009.\n", "URL: http://doi.wiley.com/10.1002/jcc.21439, doi:10.1002/jcc.21439.\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.\n", "\n", "[4] Sean Seyler and Oliver Beckstein.\n", "Molecular dynamics trajectory for benchmarking MDAnalysis.\n", "June 2017.\n", "00002.\n", "URL: https://figshare.com/articles/Molecular_dynamics_trajectory_for_benchmarking_MDAnalysis/5108170, doi:10.6084/m9.figshare.5108170.v1.\n", "\n", "[5] Douglas L. Theobald.\n", "Rapid calculation of RMSDs using a quaternion-based characteristic polynomial.\n", "Acta Crystallographica Section A Foundations of Crystallography, 61(4):478–480, July 2005.\n", "00127.\n", "URL: http://scripts.iucr.org/cgi-bin/paper?S0108767305015266, doi:10.1107/S0108767305015266.\n", "\n", "[6] B. P. Welford.\n", "Note on a Method for Calculating Corrected Sums of Squares and Products.\n", "Technometrics, 4(3):419–420, August 1962.\n", "URL: https://amstat.tandfonline.com/doi/abs/10.1080/00401706.1962.10490022, doi:10.1080/00401706.1962.10490022." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.2" }, "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": false }, "vscode": { "interpreter": { "hash": "5edc5d8d8cbc0935a054a8e44024f729bc376180aae27775d15f2ff38c68f892" } } }, "nbformat": 4, "nbformat_minor": 2 }