#!/usr/bin/env python # coding: utf-8 # # *This notebook contains material from [PyRosetta](https://RosettaCommons.github.io/PyRosetta); # content is available [on Github](https://github.com/RosettaCommons/PyRosetta.notebooks.git).* # # < [High-Resolution Movers](http://nbviewer.jupyter.org/github/RosettaCommons/PyRosetta.notebooks/blob/master/notebooks/05.01-High-Res-Movers.ipynb) | [Contents](toc.ipynb) | [Index](index.ipynb) | [Packing & Design](http://nbviewer.jupyter.org/github/RosettaCommons/PyRosetta.notebooks/blob/master/notebooks/06.00-Introduction-to-Packing-and-Design.ipynb) >

Open in Colab # # Refinement Protocol # In[2]: # Notebook setup import sys if 'google.colab' in sys.modules: get_ipython().system('pip install pyrosettacolabsetup') import pyrosettacolabsetup pyrosettacolabsetup.setup() print ("Notebook is set for PyRosetta use in Colab. Have fun!") from pyrosetta import * from pyrosetta.teaching import * init() # **Make sure you are in the directory with the pdb files:** # # `cd google_drive/My\ Drive/student-notebooks/` # The entire standard Rosetta refinement protocol, similar to that presented in Bradley, Misura, & Baker 2005, is available as a `Mover`. Note that the protocol can require ~40 minutes for a 100-residue protein. Try running it on a fresh `pose` made from the same 1YY8 PDB: # # ``` # sfxn = get_fa_scorefxn() # pose = pose_from_pdb("1YY8.clean.pdb") # relax = pyrosetta.rosetta.protocols.relax.ClassicRelax() # relax.set_scorefxn(sfxn) # relax.apply(pose) # ``` # In[ ]: ### BEGIN SOLUTION sfxn = get_fa_scorefxn() pose = pose_from_pdb("inputs/1YY8.clean.pdb") relax = pyrosetta.rosetta.protocols.relax.ClassicRelax() relax.set_scorefxn(sfxn) relax.apply(pose) ### END SOLUTION # ## Programming Exercises # # # 1. Use the `Mover` constructs to create a complex folding algorithm. Create a program to do the following: # 1. Five small moves # 2. Minimize # 3. Five shear moves # 4. Minimize # 5. Monte Carlo Metropolis criterion # 6. Repeat a–e 100 times # 7. Repeat a–f five times, each time decreasing the magnitude of the small and shear moves from 25° to 5° in 5° increments. # # # Sketch a flowchart, and submit both the flowchart and your code. # In[ ]: # 2. *Ab initio folding algorithm*. Based on the Monte Carlo energy optimization algorithm from Workshop #4, write a complete program that will fold a protein. A suggested algorithm involves preliminary low-resolution modifications by fragment insertion (first 9-mers, then 3-mers), followed by high-resolution refinement using small, shear, and minimization movers. Output both your low-resolution intermediate structure and the final refined, high-resolution decoy. # # Test your code by attempting to fold domain 2 of the RecA protein (the last 60 amino acid residues of PDB ID 2REB). How do your results compare with the crystal structure? (Consider both your low-resolution and high-resolution results.) If your lowest-energy conformation is different than the native structure, explain why this is so in terms of the limitations of the computational approach. # # *Bonus*: After using the `PyMOL_Mover` or `PyMOL_Observer` to record the trajectory, export the frames and tie them together to create an animation. Search the Internet for “PyMOL animation” for additional tools and tips. Animated GIF files are probably the best quality; MPEG and QuickTime formats are also popular and widely compatible and uploadable to YouTube. # In[ ]: # 3. *AraC N-terminal arm*. The AraC transcription factor is believed to be activated by the conformational change that occurs in the N-terminus when arabinose binds. Let’s test whether PyRosetta can capture this change. Specifically, we will start with the arabinose-bound form and see if PyRosetta can refold it to the apo form. # # Download the arabinose-bound form of the AraC transcription factor. Edit the PDB file so that it contains only the arabinose-binding domain, and also remove any non-protein atoms (especially the arabinose). Set up a move map to include only the 15 N-terminal residues. Perform an *ab initio* search to find the lowest conformation state. How does it compare to the apo crystal form? # In[ ]: # ## Thought Questions # 1. With $kT$ = 1, what is the change in propensity of the rama score component that has a 50% chance of being accepted as a small move? # # # 2. How would you test whether an algorithm is effective? That is, what kind of measures can you use? What can you vary within an algorithm to make it more effective? # In[ ]: # # < [High-Resolution Movers](http://nbviewer.jupyter.org/github/RosettaCommons/PyRosetta.notebooks/blob/master/notebooks/05.01-High-Res-Movers.ipynb) | [Contents](toc.ipynb) | [Index](index.ipynb) | [Packing & Design](http://nbviewer.jupyter.org/github/RosettaCommons/PyRosetta.notebooks/blob/master/notebooks/06.00-Introduction-to-Packing-and-Design.ipynb) >

Open in Colab