I'm refining tubulin based on this tutorial here: https://www.rosettacommons.org/demos/latest/public/electron_density_structure_refinement/structure_refinement
Is there a way to include the nucleotides in the refinement so as to prevent other parts of the structure from going into the nucleotide densities, but imposing a restriction on their movement or not include them in the refinement per se?
Any feedback would be appreciated.
For refinement (where you input a PDB with a close-but-not-great structure), you should be able to just input a PDB which contains the nucleotide residues.
I think the tools should be able to handle non-protein residues being present, and should even be able to allow them to minimize into the density.
Unfortunately, no. I start with a .pdb structure that has both the GTP and GDP nucleotides, which get removed after the refinement.
The problem with that is, the refined structure goes a bit into the nucleotide density. Frank suggested that I generate params file for the nucleotides and pass them in the protocol for refienemnt. This makes Rosetta refien the nucleotides as well.
As I explained though, the refined nucleotides don't fit the density, and get drastically altered. I also fear that the calculated energies, based on which I do my sampling, is thrown off by a compromise between the structure energies and the nucleotide energies.
If I can get separate energies for the structure, and the nucleotides, I can then sample for a good structure and then sample for a good nucleotides and then combine the two. The other alternative is to fix the nucleotides in place to prevent the structure fro moverlapping with it.
More related info can be found here: https://www.rosettacommons.org/node/10311
I would really appreciate any prompt feedback.
If you're using the RosettaScripts based protocols in the tutorial, one way would be to include MoveMap directives to the MinMover and FastRelax movers to tell them not to move the ligand. See https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/Movers/movers_pages/FastRelaxMover for an example of the syntax (it's a subtag of both FastRelax and MinMover.)
In addition to turning off bb and chi movement for the Chain/Span which contains the nucleotide, you'll also want to turn off the jump which controls it. The jump number for a particular residue is sometimes hard to come by, but generally speaking you can count the distinct chains and subtract one. (So the first jump controls the second chain, the jump #2 controls the third chain, etc.) -- You may have to fiddle with things a bit, and it helps if there's a FoldTree printout. You may be able to get one with the PoseInfo filter (see https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/Filters/filter_pages/PoseInfoFilter)
For CartesianSampler, it looks like there's a `residues_to_exclude` option in the tag which you can use to exclude sampling on a particular region.
For the Hybridize mover, it looks like there's a "DetailsControls" sub-tag which allows you to fix certain substructures. I've never used it, though, so I'm not too sure of details. (See https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/Movers/movers_pages/HybridizeMover)
I gave this a try today. Can you confirm that setting their values to "(false &bool)" turns them off? What is the Jump number exactly? What's a FoldTree printout?
For CartesianSampler and Hybridize, I'm not sure how to use the tags you highlighted. Are you suggesting this as an alternative, or to be done as well along with turning off bb and chi movement for the Chain/Span and the jump number? I would appreciate if you provide small code snippets.
Yes, setting things to "false" should turn them off. (When you set values, don't include the parenthesis or the `&bool` -- that's just documentation syntax to tell you what sort of values things take.)
A jump number is an internal representation of a non-covalent connection in space - basically, the rotation and translation which relates the two sides (e.g. two protein chains). Jump numbering is highly dependent on how the system is set up, which is why I recommended using the PoseInfoFilter to look at the FoldTree. The FoldTree represents the kinematics of the system. A foldtree printout looks something like this
FOLD_TREE EDGE 1 186 1 EDGE 186 188 -1 EDGE 1 161 -1 EDGE 1 162 3 EDGE 162 173 -1 EDGE 162 174 2 EDGE 174 185 -1
The EDGEs represent connections between residues. The first two numbers being residue numbers, and the third number being the jump number. A "-1" isn't a jump, but instead means there's a polymeric chain connecting all the residues between the two. In this example, there's four polymer chains, 1-161, 162-173, 174-185, and 186-188. Jump 1 controls 186-188, jump 3 controls 162-173, and jump 2 controls 174-185, but relative to 162 (such that jump 3, which moves 162, will also move 174-185 to keep the relative orientation of 162 and 174 consistent).