{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "*This notebook contains material from [PyRosetta](https://RosettaCommons.github.io/PyRosetta.notebooks);\n", "content is available [on Github](https://github.com/RosettaCommons/PyRosetta.notebooks.git).*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Accessing PyRosetta Documentation](http://nbviewer.jupyter.org/github/RosettaCommons/PyRosetta.notebooks/blob/master/notebooks/02.03-Accessing-PyRosetta-Documentation.ipynb) | [Contents](toc.ipynb) | [Index](index.ipynb) | [Protein Geometry](http://nbviewer.jupyter.org/github/RosettaCommons/PyRosetta.notebooks/blob/master/notebooks/02.05-Protein-Geometry.ipynb) >

\"Open" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Getting spatial features from a Pose\n", "Keywords: conformation(), bond_length(), AtomID, atom_index()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!pip install pyrosettacolabsetup\n", "import pyrosettacolabsetup; pyrosettacolabsetup.install_pyrosetta()\n", "import pyrosetta; pyrosetta.init()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from pyrosetta import *\n", "init()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**From previous section:**\n", "Make sure you are in the directory with the pdb files:\n", "\n", "`cd google_drive/MyDrive/student-notebooks/`" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "pose = pose_from_pdb(\"inputs/5tj3.pdb\")" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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JQESIIHKEaBFtXL87Ho3Lap2xc3OSKDGCBw8eBCvv/46Vq5cicTEREgA0BVXXKEl/JddqigkQAI6ArSouv5PAhVVJ3rGVFSd6GFxqCRQBQTU7zzi4uLQqFEjeHh4VEGLbIIEXIsAFVXXep6WZkNF1RIVBy2jouqgD4bDIgESIAESqBECVFRrBLtdO6WPql1xszMSIAESIAESIAESIAFbCVBRtZUU65EACZAACZAACZAACdiVABVVu+JmZyRAAiRAAiRAAiRAArYSoKJqKynWIwESIAESIAESIAESsCsBKqp2xc3OSIAESIAESIAESIAEbCVARdVWUqxHAiRAAiRAAiRAAiRgVwJUVO2Km52RAAmQAAmQAAmQAAnYSoCKqq2kWI8ESIAESIAESIAESMCuBKio2hU3OyMBEiABEiABEiABErCVABVVW0mxHgmQAAmQAAmQAAmQgF0JUFG1K252RgIkQAIkQAIkQAIkYCsBKqq2kmI9EiABEiABEiABEiABuxKgompX3OyMBEiABEiABEiABEjAVgJUVG0lxXokQAIkQAIkQAIkQAJ2JUBF1a642RkJkAAJkAAJkAAJkICtBKio2kqK9UiABEiABEiABEiABOxKgIqqXXGzMxIgARIgARIgARIgAVsJUFG1lRTrkQAJkAAJkAAJkAAJ2JUAFVW74mZnJEACJEACJEACJEACthKgomorKdYjARIgARIgARIgARKwKwEqqnbFzc5IgARIgARIgARIgARsJUBF1VZSrEcCJEACJEACJEACJGBXAlRU7YqbnZEACZAACZAACZAACdhKgIqqraRYjwRIgARIgARIgARIwK4EqKjaFTc7IwESIAESIAESIAESsJUAFVVbSbEeCZAACZAACZAACZCAXQlQUbUrbnZGAiRAAiRAAiRAAiRgKwEqqraSYj0SIAESIAESIAESIAG7EqCialfc7IwESIAESIAESIAESMBWAlRUbSXFeiRAAiRAAiRAAiRAAnYl4GnX3tgZCbgYgQMHDmD79u3o0aMHWrZs6WKzc/3p7Nq1C3v37rU6UT8/P4waNcrqdV5wbALZ2dlYuHAhoqKiMGTIEMceLEdHAiRgkYCbxVIWOiSBYiUOObBaPKgRI0Zg6dKlGDt2LObMmVOLSTjn1F944QW8+eabVgcfHR2N+Ph4q9d5wbEJ/PDDDxg3bhwC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\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": { "image/png": { "width": "500" } }, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "Image('./Media/dihedral-final.png',width='500')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`Pose` objects make it easy to access angles, distances, and torsions for analysis. Lets take a look at how to get backbone torsions first." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "code_folding": [], "nbgrader": { "grade": true, "grade_id": "cell-515a9a625374ff39", "locked": false, "points": 0, "schema_version": 3, "solution": true } }, "outputs": [], "source": [ "#resid = \"get the pose residue number for chain A:res 28 using the pdb2pose function\"\n", "### BEGIN SOLUTION\n", "resid = pose.pdb_info().pdb2pose('A', 28)\n", "### END SOLUTION" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "phi: -149.17513487055064\n", "psi: 151.30037995499168\n", "chi1: -82.850785668982\n" ] } ], "source": [ "print(\"phi:\", pose.phi(resid))\n", "print(\"psi:\", pose.psi(resid))\n", "print(\"chi1:\", pose.chi(1, resid))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Say we want to find the length of the $N$-$C_\\alpha$ and $C_\\alpha$-$C$ bonds for residue A:28 from the PDB file. We can use a couple approaches. The first involves using the bond length in the `Conformation` class, which stores some info on protein geometry. Take a look at some of the methods in the `Conformation` class using tab completion." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "conformation = pose.conformation()\n", "# do some tab completion here to explore the Conformation class methods\n", "#conformation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Look at the documentation for the method `conformation.bond_length` below. Remember using the `?`" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "nbgrader": { "grade": true, "grade_id": "cell-24f6696e51608ed9", "locked": false, "points": 0, "schema_version": 3, "solution": true } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Object `conformation.bond_length` not found.\n" ] } ], "source": [ "### BEGIN SOLUTION\n", "# ?conformation.bond_length\n", "### END SOLUTION" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To use the bond_length method in the `Conformation` class, it looks like we'll need to make `AtomID` objects. We can do this using an atom index and residue ID as follows:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "# Double Check: does resid contain the Pose numbering or PDB numbering?\n", "res_28 = pose.residue(resid)\n", "N28 = AtomID(res_28.atom_index(\"N\"), resid)\n", "CA28 = AtomID(res_28.atom_index(\"CA\"), resid)\n", "C28 = AtomID(res_28.atom_index(\"C\"), resid)\n", "\n", "# try printing out an AtomID object!" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "nbgrader": { "grade": true, "grade_id": "cell-173ad95e5970743d", "locked": false, "points": 0, "schema_version": 3, "solution": true } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " atomno= 1 rsd= 5 \n" ] } ], "source": [ "### BEGIN SOLUTION\n", "print(N28)\n", "### END SOLUTION" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As usual, if you did not know how to construct an `AtomID`, you could check the documentation using `?AtomID`.\n", "\n", "Now we can compute the bond lengths:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.456100614655453\n", "1.5184027792387658\n" ] } ], "source": [ "print(pose.conformation().bond_length(N28, CA28))\n", "print(pose.conformation().bond_length(CA28, C28))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternatively, we can compute bond lengths ourselves starting from the xyz coordinates of the atoms. \n", "\n", "The method `xyz` of `Residue` returns a `Vector` class. The `Vector` class has various useful builtin methods including computing dot products, cross products, and norms. Through operator overloading in the `Vector` class, you can just subtract and add vector objects and they will manipulate the corresponding vectors appropriately." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.456100614655453\n", "1.5184027792387658\n" ] } ], "source": [ "N_xyz = res_28.xyz(\"N\")\n", "CA_xyz = res_28.xyz(\"CA\")\n", "C_xyz = res_28.xyz(\"C\")\n", "N_CA_vector = CA_xyz - N_xyz\n", "CA_C_vector = CA_xyz - C_xyz\n", "print(N_CA_vector.norm())\n", "print(CA_C_vector.norm())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Thankfully, the two approaches for computing distances check out!\n", "\n", "**Note**: Not all bond lengths, angles, and torsions will be accessible using the `Conformation` object. That is because the `Conformation` object stores only the subset it needs to generate xyz locations for the atoms in the pose. The most stable way to get this information is to compute it using the xyz Cartesian coordinate vectors as a starting point." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "This notebook includes some concepts and exercises from:\n", "\n", "\"Workshop #2: PyRosetta\" in the PyRosetta workbook: https://graylab.jhu.edu/pyrosetta/downloads/documentation/pyrosetta4_online_format/PyRosetta4_Workshop2_PyRosetta.pdf\n", "\n", "\"Workshop #4.1: PyMOL_Mover\" in the PyRosetta workbook: \n", "http://www.pyrosetta.org/pymol_mover-tutorial" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Accessing PyRosetta Documentation](http://nbviewer.jupyter.org/github/RosettaCommons/PyRosetta.notebooks/blob/master/notebooks/02.03-Accessing-PyRosetta-Documentation.ipynb) | [Contents](toc.ipynb) | [Index](index.ipynb) | [Protein Geometry](http://nbviewer.jupyter.org/github/RosettaCommons/PyRosetta.notebooks/blob/master/notebooks/02.05-Protein-Geometry.ipynb) >

\"Open" ] } ], "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.6.0" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "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 } }, "nbformat": 4, "nbformat_minor": 2 }