Skip to content

Instantly share code, notes, and snippets.

@jepdavidson
Created November 1, 2016 08:38
Show Gist options
  • Save jepdavidson/f5220187c18be0fc9e119f9da2e7d955 to your computer and use it in GitHub Desktop.
Save jepdavidson/f5220187c18be0fc9e119f9da2e7d955 to your computer and use it in GitHub Desktop.
Demonstrates an issue(?) with adding Hs to peptide sequences
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Adding Hs to peptides and proteins"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Imports"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import py3Dmol\n",
"from rdkit import Chem\n",
"from rdkit.Chem import AllChem\n",
"from rdkit.Chem.Draw import IPythonConsole\n",
"IPythonConsole.molSize = (400,200)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Get molecule from peptide sequence"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"m = Chem.MolFromSequence('CAT')\n",
"mh = AllChem.AddHs(m)\n",
"AllChem.EmbedMolecule(mh, useExpTorsionAnglePrefs=True, useBasicKnowledge=True)\n",
"AllChem.MMFFOptimizeMolecule(mh)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Display peptide"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div id=\"3dmolviewer_14779893039265344\" style=\"position: relative; width: 600px; height: 400px\">\n",
"<script>\n",
"if(typeof $3Dmolpromise === 'undefined') $3Dmolpromise = $.when($.getScript('http://3dmol.csb.pitt.edu/build/3Dmol.js'))\n",
"$3Dmolpromise.done(function() {\n",
"var viewer = $3Dmol.createViewer($(\"#3dmolviewer_14779893039265344\"),{backgroundColor:\"white\"});\n",
"\tviewer.addModel(\"\\n RDKit 3D\\n\\n 38 37 0 0 0 0 0 0 0 0999 V2000\\n 4.9232 -2.5771 -0.2143 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.7442 -1.9381 -0.8558 C 0 0 2 0 0 0 0 0 0 0 0 0\\n 2.7445 -1.5301 0.2515 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.7733 -2.0293 1.3762 O 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0953 -2.9146 -1.8461 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.0331 -2.0821 -3.0745 S 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.8431 -0.5615 -0.1083 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7902 -0.1018 0.7906 C 0 0 2 0 0 0 0 0 0 0 0 0\\n -0.3170 0.5441 -0.0629 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.1564 0.8156 -1.2528 O 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.3317 0.8963 1.8078 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.4950 0.7898 0.6015 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.5519 1.5991 -0.0104 C 0 0 2 0 0 0 0 0 0 0 0 0\\n -2.2333 3.0786 0.2103 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3794 3.5483 0.9483 O 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9246 1.2688 0.6031 C 0 0 2 0 0 0 0 0 0 0 0 0\\n -3.8183 1.2202 2.0342 O 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.4449 -0.0795 0.1147 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.0120 3.9002 -0.5275 O 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5656 -3.3057 0.4134 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3278 -1.8972 0.4343 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.1046 -1.0359 -1.3638 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.8624 -3.4523 -2.4144 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4871 -3.6588 -1.3202 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0219 -1.4648 -3.7397 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.7285 -0.3196 -1.0919 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.3702 -0.9756 1.3024 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.7279 1.7884 1.3093 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.1424 0.4603 2.4004 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.5505 1.2255 2.5005 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.5001 0.7905 1.6165 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.5515 1.4271 -1.0934 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.6567 2.0449 0.3528 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.7035 1.0154 2.3858 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -5.4266 -0.2904 0.5527 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.7840 -0.8964 0.4243 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.5416 -0.0969 -0.9750 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6710 4.7947 -0.3120 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1 2 1 0\\n 2 3 1 0\\n 3 4 2 0\\n 2 5 1 0\\n 5 6 1 0\\n 7 8 1 0\\n 8 9 1 0\\n 9 10 2 0\\n 8 11 1 0\\n 3 7 1 0\\n 12 13 1 0\\n 13 14 1 0\\n 14 15 2 0\\n 13 16 1 0\\n 16 17 1 0\\n 16 18 1 0\\n 9 12 1 0\\n 14 19 1 0\\n 1 20 1 0\\n 1 21 1 0\\n 2 22 1 6\\n 5 23 1 0\\n 5 24 1 0\\n 6 25 1 0\\n 7 26 1 0\\n 8 27 1 1\\n 11 28 1 0\\n 11 29 1 0\\n 11 30 1 0\\n 12 31 1 0\\n 13 32 1 6\\n 16 33 1 1\\n 17 34 1 0\\n 18 35 1 0\\n 18 36 1 0\\n 18 37 1 0\\n 19 38 1 0\\nM END\\n\",\"sdf\");\n",
"\tviewer.setStyle({\"stick\": {}});\n",
"\tviewer.setBackgroundColor(\"0xeeeeee\");\n",
"\tviewer.zoomTo();\n",
"viewer.render();\n",
"});\n",
"</script>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mb = Chem.MolToMolBlock(mh)\n",
"p = py3Dmol.view(width=600,height=400)\n",
"p.addModel(mb,'sdf')\n",
"p.setStyle({'stick':{}})\n",
"p.setBackgroundColor('0xeeeeee')\n",
"p.zoomTo()\n",
"p.show()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ATOM 1 N CYS A 1 4.923 -2.577 -0.214 -nan 0.00 N \n",
"ATOM 2 CA CYS A 1 3.744 -1.938 -0.856 -nan 0.00 C \n",
"ATOM 3 C CYS A 1 2.745 -1.530 0.251 -nan 0.00 C \n",
"ATOM 4 O CYS A 1 2.773 -2.029 1.376 -nan 0.00 O \n",
"ATOM 5 CB CYS A 1 3.095 -2.915 -1.846 -nan 0.00 C \n",
"ATOM 6 SG CYS A 1 2.033 -2.082 -3.074 -nan 0.00 S \n",
"ATOM 7 N ALA A 2 1.843 -0.561 -0.108 -nan 0.00 N \n",
"ATOM 8 CA ALA A 2 0.790 -0.102 0.791 -nan 0.00 C \n",
"ATOM 9 C ALA A 2 -0.317 0.544 -0.063 -nan 0.00 C \n",
"ATOM 10 O ALA A 2 -0.156 0.816 -1.253 -nan 0.00 O \n",
"ATOM 11 CB ALA A 2 1.332 0.896 1.808 -nan 0.00 C \n",
"ATOM 12 N THR A 3 -1.495 0.790 0.601 -nan 0.00 N \n",
"ATOM 13 CA THR A 3 -2.552 1.599 -0.010 -nan 0.00 C \n",
"ATOM 14 C THR A 3 -2.233 3.079 0.210 -nan 0.00 C \n",
"ATOM 15 O THR A 3 -1.379 3.548 0.948 -nan 0.00 O \n",
"ATOM 16 CB THR A 3 -3.925 1.269 0.603 -nan 0.00 C \n",
"ATOM 17 OG1 THR A 3 -3.818 1.220 2.034 -nan 0.00 O \n",
"ATOM 18 CG2 THR A 3 -4.445 -0.080 0.115 -nan 0.00 C \n",
"ATOM 19 OXT THR A 3 -3.012 3.900 -0.528 -nan 0.00 O \n",
"HETATM 20 H1 UNL 1 4.566 -3.306 0.413 1.00 0.00 H \n",
"HETATM 21 H2 UNL 1 5.328 -1.897 0.434 1.00 0.00 H \n",
"HETATM 22 H3 UNL 1 4.105 -1.036 -1.364 1.00 0.00 H \n",
"HETATM 23 H4 UNL 1 3.862 -3.452 -2.414 1.00 0.00 H \n",
"HETATM 24 H5 UNL 1 2.487 -3.659 -1.320 1.00 0.00 H \n",
"HETATM 25 H6 UNL 1 3.022 -1.465 -3.740 1.00 0.00 H \n",
"HETATM 26 H7 UNL 1 1.729 -0.320 -1.092 1.00 0.00 H \n",
"HETATM 27 H8 UNL 1 0.370 -0.976 1.302 1.00 0.00 H \n",
"HETATM 28 H9 UNL 1 1.728 1.788 1.309 1.00 0.00 H \n",
"HETATM 29 H10 UNL 1 2.142 0.460 2.400 1.00 0.00 H \n",
"HETATM 30 H11 UNL 1 0.551 1.225 2.500 1.00 0.00 H \n",
"HETATM 31 H12 UNL 1 -1.500 0.790 1.617 1.00 0.00 H \n",
"HETATM 32 H13 UNL 1 -2.552 1.427 -1.093 1.00 0.00 H \n",
"HETATM 33 H14 UNL 1 -4.657 2.045 0.353 1.00 0.00 H \n",
"HETATM 34 H15 UNL 1 -4.703 1.015 2.386 1.00 0.00 H \n",
"HETATM 35 H16 UNL 1 -5.427 -0.290 0.553 1.00 0.00 H \n",
"HETATM 36 H17 UNL 1 -3.784 -0.896 0.424 1.00 0.00 H \n",
"HETATM 37 H18 UNL 1 -4.542 -0.097 -0.975 1.00 0.00 H \n",
"HETATM 38 H19 UNL 1 -2.671 4.795 -0.312 1.00 0.00 H \n",
"CONECT 1 2 20 21\n",
"CONECT 2 3 5 22\n",
"CONECT 3 4 4 7\n",
"CONECT 5 6 23 24\n",
"CONECT 6 25\n",
"CONECT 7 8 26\n",
"CONECT 8 9 11 27\n",
"CONECT 9 10 10 12\n",
"CONECT 11 28 29 30\n",
"CONECT 12 13 31\n",
"CONECT 13 14 16 32\n",
"CONECT 14 15 15 19\n",
"CONECT 16 17 18 33\n",
"CONECT 17 34\n",
"CONECT 18 35 36 37\n",
"CONECT 19 38\n",
"END\n",
"\n"
]
}
],
"source": [
"pdb = Chem.MolToPDBBlock(mh)\n",
"print(pdb)"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [conda env:py3]",
"language": "python",
"name": "conda-env-py3-py"
},
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment