You are here

Complex DNA Protein docking

3 posts / 0 new
Last post
Complex DNA Protein docking
#1

Hi everyone,

I'm working on a Protein-DNA interface, but I'm having some trouble with PyRosetta. I have a PDB file with the protein bound to DNA, from x-ray crystallography data to start from, and I need to refine the interface binding. Eventually, I'd like to modify the DNA sequence found in the PDB and investigate binding of known mutants.
Based on D110_DNA_Interface.py demo script, I'm using the DockMCMProtocol for full atom docking. However, as binding takes place in a known domain of the protein, I'd like to restrict sidechain packing to a portion of the sequence. DockMCMProtocol.set_move_map() suggests that this is possible, but I get a segmentation fault when it's used. A MinMover using the same move map works as expected. Has anyone had a similar experience, or know a work around?
Additionally, is DockMCMProtocol the best way to perform protein-DNA docking? Auto-complete for 'Dock' in iPython brings up a lot of items, and I've noticed that some of the demos/tutorials are a bit out of date. Are there any resources that give an overview of what steps a particular Mover actually performs?

Thanks in advance!

Category: 
Post Situation: 
Wed, 2015-07-22 13:49
kim-nguyen

Hi Kim,

Sidechain packing should already be restricted to the interface interface residues - as the interface changes with the dock, the interface residues that are packing will change accordingly. However, if you want to restrict it further you would want to use a TaskFactory instead of a move map.

You will need to setup a TaskFactory, then use DockMCMProtocol's function set_ignore_default_task to True, and pass the task factory.
Setting up basically the same TF as the one used by DockMCM with 8 Angstrums distance:

tf = TaskFactory()
tf.push_back(InitializeFromCommandline())
tf.push_back(RestrictToRepacking())
tf.push_back(RestrictToInterface(1, 8.0))

docker.set_task_factory(tf);
docker.set_ignore_default_task(True);

Wed, 2015-07-22 17:37
jadolfbr

Thanks for the quick response.

Based on what you said, I have a few more questions.
What method does DockMCMProtocol use to determine what the interface is? From the D110 script and documentation I thought that setup_foldtree() specified the chains being packed, but your response suggests this is not the case. How do setup_foldtree() and set_partners() affect packing/interface selection. Do I need to be specifying these at all?

In the future, I'd like to investigate how mutations within the domain containing the DNA interface affect binding. After mutating specific residues, would it be possible to use Task Factory to add packing and/or minimization steps for a larger portion of a chain to the DockMCMProtocol? Is using Task Factory the right tool, or would it be better to separate these tasks from the docking step? i.e. should we be repacking the mutant before docking only, or during docking?

Thanks again,

-k

Fri, 2015-07-24 23:04
kim-nguyen