# ddg Script Problem

8 posts / 0 new
ddg Script Problem
#1

Hi guys. I'm trying to use the ddg script from Sid on an interface, and after changing the DockingProtocol().setup_foldtree to DockingProtocol().set_autofoldtree,
I'm now getting an undefined error for the Interface(dock_jump) step. Is there an equivalent name in 2.0?

-J

Post Situation:
Thu, 2011-05-12 00:56

Can you point me to the script or post a few lines of context?

Thu, 2011-05-12 06:22
smlewis

Sure, sorry…

http://www.pyrosetta.org/scripts

Here's a snippet:

dock_jump = 1
interface_dist = 8.0 #angstroms
DockingProtocol().setup_foldtree(p)

scorefxn = create_score_function('standard')
scorefxn(p) #needed for proper Interface calculation

interface = Interface(dock_jump)
interface.distance(8.0)

interface.calculate(p)
starting_p.assign(p)

ddg_scorefxn = ScoreFunction()
ddg_scorefxn.set_weight(fa_atr, 0.44)
ddg_scorefxn.set_weight(fa_rep, 0.07)
ddg_scorefxn.set_weight(fa_sol, 1.0)
ddg_scorefxn.set_weight(hbond_bb_sc, 0.5)
ddg_scorefxn.set_weight(hbond_sc, 1.0)

for i in range(1, p.total_residue()+1):
if (interface.is_interface(i) == True):
p.assign(starting_p)
ddg = interface_ddg(p, i, 'A')
f = open("ala_scan_output.txt", 'a')
mutname = p.pdb_info().chain(i)+str(p.pdb_info().number(i))+p.sequence()[i-1]+"to"+'A'+".pdb"
f.write( mutname + " ddG: " + str(round(ddg, 3)) +'\n')

Thanks.

Thu, 2011-05-12 14:35

I don't know if python namespaces in the same fashion, but I believe the name of the C++ object is core::conformation::Interface. I've alerted Sergey to take a look too.

Thu, 2011-05-12 14:37
smlewis

As Steven pointed out you probably just need to add full namespace to specify which Interface class you want to use. There is a few Interface classes in rosetta from your context I am guessing that it most likely protocols::scoring::Interface. So here what you need to add to use it:
 import rosetta.protocols.scoring ... I = rosetta.protocols.scoring.Interface()

Thu, 2011-05-12 21:56
Sergey

Sergey, thanks for the suggestion. Still having problems. I see the rosetta.protocols.scoring, and the Interface class when I use pydoc; but import rosetta.protocols.scoring isn't working in ipython. Is there a different way to call it, or a different name?

Fri, 2011-05-13 09:04

The C++ class is core::conformation::Interface, so try rosetta.core.conformation.Interface, or some variant of that.

Sun, 2011-05-15 12:27
smlewis

I'm at a loss of how to switch DockingProtocol().setup_foldtree to DockingProtocol().set_autofoldtree in this 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

Thu, 2011-06-02 17:18
brspurri