ddg Script Problem

Member Site Forums PyRosetta PyRosetta – Scripts ddg Script Problem

Viewing 6 reply threads
  • Author
    Posts
    • #907
      Anonymous

        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

      • #5570
        Anonymous

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

        • #5572
          Anonymous

            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.

          • #5573
            Anonymous

              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.

            • #5575
              Anonymous

                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()

              • #5576
                Anonymous

                  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?

                • #5701
                  Anonymous

                    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

                  • #5579
                    Anonymous

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

                  Viewing 6 reply threads
                  • You must be logged in to reply to this topic.