# DockingProtocol().set_autofoldtree Question

3 posts / 0 new
DockingProtocol().set_autofoldtree Question
#1

I'm at a loss of how to switch DockingProtocol().setup_foldtree to DockingProtocol().set_autofoldtree in the DDG script. A simple substitution clearly doesn't work; stating that it does not match the C++ signature.
Can someone post how to overcome this?
Many thanks,
Brett

Post Situation:
Fri, 2011-06-03 08:07
brspurri

Try this:

dock = DockingProtocol() dock.set_autofoldtree( True ) 

More generally, to get a better idea of how to use a particular function, you can use the ? operator in ipython. For example:
dock.set_autofoldtree? Type: instancemethod Base Class: String Form: > Namespace: Interactive Docstring: set_autofoldtree( (DockingProtocol)arg1, (bool)autofoldtree) -> None : protocols/docking/DockingProtocol.hh:140

 C++ signature : void set_autofoldtree(protocols::docking::DockingProtocol {lvalue},bool)

This shows that the set_autofoldtree method requires a DockingProtocol instance (python takes care of this) and a boolean.

Fri, 2011-06-03 10:24
weitzner

You can also try a very similar method in PyRosetta from rosetta.protocols.docking.setup_foldtree which requires a Vector1 argument containing the movable jumps. For example, using test_dock.pdb:

rosetta.protocols.docking.setup_foldtree( pose , "E_I" , Vector1(1) )

Fri, 2011-06-03 11:34
evan