Skip to content

Instantly share code, notes, and snippets.

@ajasja
Last active October 7, 2016 20:17
Show Gist options
  • Save ajasja/3bdee0c5886816d4cf88 to your computer and use it in GitHub Desktop.
Save ajasja/3bdee0c5886816d4cf88 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"worksheets": [
{
"cells": [
{
"metadata": {},
"cell_type": "code",
"input": "import os\nimport numpy as np\nimport rosetta as r\nimport random\nr.init()\nr.__version__",
"prompt_number": 15,
"outputs": [
{
"text": "'56891:56891:6efc58f8abb54611ace5a6cdd7e69e6c970a01ef'",
"output_type": "pyout",
"metadata": {},
"prompt_number": 15
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "pmm = r.PyMOLMover(target_host=\"epr-krim\")",
"prompt_number": 16,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "#Makin a mutation after the helix is created also works\n#Create sequence \nseq = 'R'*5 + 'K'+'R'*5; print seq\npose = r.pose_from_sequence(seq, res_type=\"fa_standard\") \nscorefxn = r.get_fa_scorefxn()\n\n#Create perfect alpha helix\n#phi = -57.8, Psi -47.0\nfor i in range(1, pose.total_residue()+1):\n pose.set_phi(i, -57.9)\n pose.set_psi(i, -47.9)\n\n#Make mutation \nmut = r.MutateResidue(6 , 'R1A')\nmut.apply(pose) \n \n#pack side chains\npacker_task = r.standard_packer_task(pose)\npacker_task.restrict_to_repacking() \nprint packer_task\npack_mover = r.PackRotamersMover(scorefxn, packer_task) \npack_mover.apply(pose) \n\n#show the resuls\nprint scorefxn(pose)\npmm.apply(pose)",
"prompt_number": 19,
"outputs": [
{
"output_type": "stream",
"text": "RRRRRKRRRRR\n#Packer_Task\n\nresid\tpack?\tdesign?\tallowed_aas\n1\tTRUE\tFALSE\tARG:NtermProteinFull\n2\tTRUE\tFALSE\tARG\n3\tTRUE\tFALSE\tARG\n4\tTRUE\tFALSE\tARG\n5\tTRUE\tFALSE\tARG\n6\tTRUE\tFALSE\tR1A\n7\tTRUE\tFALSE\tARG\n8\tTRUE\tFALSE\tARG\n9\tTRUE\tFALSE\tARG\n10\tTRUE\tFALSE\tARG\n11\tTRUE\tFALSE\tARG:CtermProteinFull\n",
"stream": "stdout"
},
{
"output_type": "stream",
"text": "\n0.0280818165478",
"stream": "stdout"
},
{
"output_type": "stream",
"text": "\n",
"stream": "stdout"
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "##geting rotamers\nimport rosetta.core.pack.rotamer_set as rotamer_set\nrsf = rotamer_set.RotamerSetFactory()\nres_pos = 6\nrs = rsf.create_rotamer_set(pose.residue(res_pos))\nrs.set_resid(res_pos)\n\n\npacker_graph = r.core.pack.create_packer_graph( pose, scorefxn, packer_task)\n\nrs.build_rotamers(pose, scorefxn, packer_task, packer_graph)\n\nprint (rs.rotamer(1).name(), rs.num_rotamers())\nfor i in range(1, rs.num_rotamers()+1):\n print rs.rotamer(i).chi()\n ",
"prompt_number": 23,
"outputs": [
{
"output_type": "stream",
"text": "('R1A', 38)\n[169.695, -77.1423, -89.9724, 179.985, -77.0601, ]\n[169.723, -77.0919, -90.018, 179.989, 76.9536, ]\n[169.686, -77.1266, -89.9705, -75.0039, -8.06538, ]\n[169.673, -77.0842, -89.9935, -74.9985, 99.9558, ]\n[172.668, 72.5688, -89.9724, 179.985, -77.0601, ]\n[172.701, 72.5934, 90.0176, 179.985, -77.0601, ]\n[172.69, 72.6102, -90.0058, 179.975, 76.4572, ]\n[172.705, 72.5627, 90.0355, 179.975, 76.4572, ]\n[172.677, 72.6363, 90.0047, 74.9619, 7.95654, ]\n[172.706, 72.5977, 90.0204, 74.9934, -100.071, ]\n[-179.992, 179.966, -89.9724, 179.985, -77.0601, ]\n[179.998, 179.989, 90.0176, 179.985, -77.0601, ]\n[-179.953, -179.978, -90.018, 179.989, 76.9536, ]\n[-179.969, 179.977, 90.0279, 179.989, 76.9536, ]\n[-180, 179.937, -89.9705, -75.0039, -8.06538, ]\n[-179.963, 179.982, 90.0047, 74.9619, 7.95654, ]\n[-179.979, -179.989, -89.9983, 74.9934, -100.071, ]\n[179.982, 179.965, 90.0204, 74.9934, -100.071, ]\n[-179.998, -179.983, -89.9935, -74.9985, 99.9558, ]\n[-72.9716, 172.981, 90.0176, 179.985, -77.0601, ]\n[-73.0073, 172.95, 90.0279, 179.989, 76.9536, ]\n[-72.9747, 172.999, 89.966, -75.0039, -8.06538, ]\n[-72.9599, 172.973, 90.0047, 74.9619, 7.95654, ]\n[-73.0438, 172.959, 90.0204, 74.9934, -100.071, ]\n[-72.9832, 172.996, 90.0101, -74.9985, 99.9558, ]\n[-76.4554, -55.5492, -89.9724, 179.985, -77.0601, ]\n[-76.4304, -55.5066, 90.0176, 179.985, -77.0601, ]\n[-76.4162, -55.5131, -90.018, 179.989, 76.9536, ]\n[-76.4048, -55.5745, 90.0279, 179.989, 76.9536, ]\n[-76.4134, -55.5731, -89.9705, -75.0039, -8.06538, ]\n[-76.407, -55.5611, -89.9711, 74.9619, 7.95654, ]\n[-76.4122, -55.4899, 90.0047, 74.9619, 7.95654, ]\n[-76.4314, -55.5125, -89.9983, 74.9934, -100.071, ]\n[-76.3822, -55.579, 90.0204, 74.9934, -100.071, ]\n[-76.4358, -55.5228, -89.9935, -74.9985, 99.9558, ]\n[-163.831, -73.4177, 109.79, 79.6052, -98.2454, ]\n[-160.639, -77.2348, 109.954, 161.459, 92.3954, ]\n[-164.175, -73.2275, 112.451, 81.6127, 1.32506, ]\n",
"stream": "stdout"
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "import random\ndef range1(n):\n return range(1,n+1)\n\ndef random_id(n):\n \"\"\"Returns a random integer form 1 to n inclusive\"\"\"\n return random.randint(1,n)\n\ndef Vector1_to_list(vec1):\n return [i for i in vec1]\n#vec1 = r.Vector1([1., 2., 3.])\n#Vector1_to_list(vec1)\n\n\ndef display_rotamers(pose, rotamers, pymol_mover):\n \"\"\"Displays al the rotamers (allready built) at a given rotamers.resid()\n using the given pymol_mover\n \"\"\"\n #there must be a better way to create a one amino acid pose, but I can't find it\n #Problem is with R1A or Z residue. pose_from_sequence does not seem to work\n #doing r.pose_from_sequence('Z') reports that residue can not be found \n short_pose = r.pose_from_sequence('G', auto_termini=False)\n mut = r.MutateResidue(1 , rotamers.rotamer(1).name3())\n mut.apply(short_pose) \n short_pose.copy_segment(1, pose, 1, rotamers.resid())\n old_keep_history = pymol_mover.keep_history()\n \n #add the rotamers as pymol states. remember the old keep_history setting\n pymol_mover.keep_history(True)\n short_pose.pdb_info().name(rotamers.rotamer(1).name1()+str( rotamers.resid()))\n \n for i in range1(rotamers.num_rotamers()):\n #print rotamers.rotamer(i).chi()\n short_pose.residue(1).set_all_chi(rotamers.rotamer(i).chi())\n \n #short_pose.pdb_info().name(rotamers.rotamer(i).name1()+str(i))\n pymol_mover.apply(short_pose)\n\n pymol_mover.keep_history(old_keep_history)\n \ndisplay_rotamers(pose, rs, pmm) ",
"prompt_number": 24,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "markdown",
"source": "![Result](http://snag.gy/BTB5a.jpg)"
}
],
"metadata": {}
}
],
"metadata": {
"gist_id": "3bdee0c5886816d4cf88",
"name": "",
"signature": "sha256:9824fc149d2648a8e8dff92aeeb57f4cc5b43ac81b9d2fe3de0c2716c742af6b"
},
"nbformat": 3
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment