Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixing sym to work in pyrosetta4 and adding a new fn to help in templ… #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
275 changes: 275 additions & 0 deletions symmetry/Symmetry Setup Mark II.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,275 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Found rosetta database at: /home/stephanie/anaconda2/envs/DebugPyrosetta/lib/python2.7/site-packages/pyrosetta-4.0-py2.7.egg/database; using it....\n",
"PyRosetta-4 2016 [Rosetta 2016 unknown:9ea8e5e15e7c35838a32b8089ca8351ff540888c 2016-12-16 10:52:45 -0500] retrieved from: [email protected]:RosettaCommons/main.git\n",
"(C) Copyright Rosetta Commons Member Institutions.\n",
"Created in JHU by Sergey Lyskov and PyRosetta Team.\n",
"\n"
]
}
],
"source": [
"# This is needed for some builds\n",
"import rosetta\n",
"import pyrosetta\n",
"pyrosetta.init('-ignore_unrecognized_res T -ignore_waters T -preserve_header T -prevent_repacking T')"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def tmalign( pose, ref_pose ):\n",
" \n",
" print 'Running tmalign on poses'\n",
" tm = rosetta.protocols.hybridization.TMalign()\n",
" tm.apply(pose, ref_pose)\n",
" longest = max(pose.total_residue()+1, ref_pose.total_residue()+1)\n",
" \n",
" print 'TMScore = %s ' %tm.TMscore(longest)\n",
" atommap = rosetta.core.id.AtomID_Map_core_id_AtomID_t()\n",
" rosetta.core.pose.initialize_atomid_map_AtomID( atommap, pose )\n",
" tm.alignment2AtomMap( pose, ref_pose, atommap )\n",
" aln_cutoff = rosetta.utility.vector1_double()\n",
" for i in [2.0,1.5,1.0,0.5]:\n",
" aln_cutoff.append(i)\n",
" min_coverage = .2\n",
" rosetta.protocols.hybridization.partial_align(pose,ref_pose, atommap, True, aln_cutoff, min_coverage)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [],
"source": [
"# Read in a pose and setup the pymol observer, you have to score it to get it into pymol\n",
"\n",
"p = pyrosetta.pose_from_file('2VBF_cleaned.pdb')\n",
"pm = pyrosetta.PyMolMover()\n",
"pm.keep_history(True)\n",
"pm.apply(p)\n",
"# sfxn = pyrosetta.get_fa_scorefxn()\n",
"# sfxn(p) "
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"PDB file name: 2VBF_cleaned.pdb\n",
"Total residues:1082\n",
"Sequence: MYTVGDYLLDRLHELGIEEIFGVPGDYNLQFLDQIISREDMKWIGNANELNASYMADGYARTKKAAAFLTTFGVGELSAINGLAGSYAENLPVVEIVGSPTSKVQNDGKFVHHTLADGDFKHFMKMHEPVTAARTLLTAENATYEIDRVLSQLLKERKPVYINLPVDVAAAKAEKPALSLENTTEQVILSKIEESLKNAQKPVVIAGHEVISFGLEKTVTQFVSETKLPITTLNFGKSAVDESLPSFLGIYNGKLSEISLKNFVESADFILMLGVKLTDSSTGAFTHHLDENKMISLNIDEGIIFNKVVEDFDFRAVVSSLSELKGIEYEGQYIDKQYEEFIPSSAPLSQDRLWQAVESLTQSNETIVAEQGTSFFGASTIFLKSNSRFIGQPLWGSIGYTFPAALGSQIADKESRHLLFIGDGSLQLTVQELGLSIREKLNPICFIINNDGYTVEREIHGPTQSYNDIPMWNYSKLPETFGATEDRVVSKIVRTENEFVSVMKEAQADVNRMYWIELVLEKEDAPKLLKKMGKLFAEQNKMYTVGDYLLDRLHELGIEEIFGVPGDYNLQFLDQIISREDMKWIGNANELNASYMADGYARTKKAAAFLTTFGVGELSAINGLAGSYAENLPVVEIVGSPTSKVQNDGKFVHHTLADGDFKHFMKMHEPVTAARTLLTAENATYEIDRVLSQLLKERKPVYINLPVDVAAAKAEKPALSLENTTEQVILSKIEESLKNAQKPVVIAGHEVISFGLEKTVTQFVSETKLPITTLNFGKSAVDESLPSFLGIYNGKLSEISLKNFVESADFILMLGVKLTDSSTGAFTHHLDENKMISLNIDEGIIFNKVVEDFDFRAVVSSLSELKGIEYEGQYIDKQYEEFIPSSAPLSQDRLWQAVESLTQSNETIVAEQGTSFFGASTIFLKSNSRFIGQPLWGSIGYTFPAALGSQIADKESRHLLFIGDGSLQLTVQELGLSIREKLNPICFIINNDGYTVEREIHGPTQSYNDIPMWNYSKLPETFGATEDRVVSKIVRTENEFVSVMKEAQADVNRMYWIELVLEKEDAPKLLKKMGKLFAEQNK\n",
"Fold tree:\n",
"FOLD_TREE EDGE 1 181 -1 EDGE 1 182 1 EDGE 182 541 -1 EDGE 1 542 2 EDGE 542 722 -1 EDGE 1 723 3 EDGE 723 1082 -1 \n",
"vector1_unsigned_long[181, 541, 722]\n",
"MYTVGDYLLDRLHELGIEEIFGVPGDYNLQFLDQIISREDMKWIGNANELNASYMADGYARTKKAAAFLTTFGVGELSAINGLAGSYAENLPVVEIVGSPTSKVQNDGKFVHHTLADGDFKHFMKMHEPVTAARTLLTAENATYEIDRVLSQLLKERKPVYINLPVDVAAAKAEKPALSLENTTEQVILSKIEESLKNAQKPVVIAGHEVISFGLEKTVTQFVSETKLPITTLNFGKSAVDESLPSFLGIYNGKLSEISLKNFVESADFILMLGVKLTDSSTGAFTHHLDENKMISLNIDEGIIFNKVVEDFDFRAVVSSLSELKGIEYEGQYIDKQYEEFIPSSAPLSQDRLWQAVESLTQSNETIVAEQGTSFFGASTIFLKSNSRFIGQPLWGSIGYTFPAALGSQIADKESRHLLFIGDGSLQLTVQELGLSIREKLNPICFIINNDGYTVEREIHGPTQSYNDIPMWNYSKLPETFGATEDRVVSKIVRTENEFVSVMKEAQADVNRMYWIELVLEKEDAPKLLKKMGKLFAEQNK\n",
"vector1_unsigned_long[541]\n"
]
}
],
"source": [
"## Take a look at your protein and the wierd chain endings\n",
"print p\n",
"print p.conformation().chain_endings()\n",
"\n",
"# Fix the weird chain endings (so that later, we can create a nice foldtree)\n",
"p.update_pose_chains_from_pdb_chains()\n",
"print p.chain_sequence(1)\n",
"print p.conformation().chain_endings()\n",
"n_jumps = p.num_jump()\n",
"seq1 = p.chain_sequence(1)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"# Now, since the protein is in the right place, we just make a copy of the chain A\n",
"ChainAcopy = rosetta.core.pose.Pose(p,1,len(seq1))\n",
"ChainBcopy = rosetta.core.pose.Pose(p,len(seq1)+1,p.total_residue())"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ChainA = rosetta.core.pose.Pose(p,1,len(seq1))\n",
"## Make third copy of chainA\n",
"## align copyChainA onto chainB\n",
"## Then turn the chain ID to Chain B on the copy\n",
"## then append chainb to chain A\n",
"## then dump pdb - then run make symm def file"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Running tmalign on poses\n",
"TMScore = 0.995005610329 \n"
]
}
],
"source": [
"tmalign(ChainAcopy,ChainBcopy)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"pm.apply(ChainAcopy)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"for i in range(1,len(seq1)+1):\n",
" ChainAcopy.pdb_info().chain(i,'B')\n",
"ChainAcopy.pdb_info().obsolete(False)\n",
"ChainAcopy.dump_pdb('isthischainB.pdb')"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rosetta.core.pose.append_pose_to_pose(ChainA,ChainAcopy)\n",
"ChainA.pdb_info().obsolete(False)\n",
"ChainA.dump_pdb('thismightworksymm.pdb')"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rosetta.core.pose.append_subpose_to_pose(ChainA, ChainAcopy, 1, len(seq1), True)\n",
"ChainA.dump_pdb('thismightworksymm.pdb')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.13"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Loading