PyRosetta Global Docking

Member Site Forums PyRosetta PyRosetta – General PyRosetta Global Docking

Viewing 2 reply threads
  • Author
    Posts
    • #2730
      Anonymous

        Dear All,

        I am following the PyRosetta tutorial to learn how to preform global docking.

        I wrote the following script:


        def Global(pose , repeats):
        score = list()
        for nterm in range(repeats):
        pyrosetta.rosetta.protocols.docking.setup_foldtree(pose , 'A_B', Vector1([1])) #Make chain A ridgid and chain B move
        pert_mover = pyrosetta.rosetta.protocols.rigid.RigidBodyPerturbMover(jump_num , rotation , translation)
        pert_mover.apply(pose)

        randomize_upstream = pyrosetta.rosetta.protocols.rigid.RigidBodyRandomizeMover(pose , jump_num , pyrosetta.rosetta.protocols.rigid.partner_upstream)
        randomize_upstream.apply(pose)

        randomize_downstream = pyrosetta.rosetta.protocols.rigid.RigidBodyRandomizeMover(pose , jump_num , pyrosetta.rosetta.protocols.rigid.partner_downstream)
        randomize_downstream.apply(pose)

        slide = pyrosetta.rosetta.protocols.docking.FaDockingSlideIntoContact(jump_num)
        slide.apply(pose)

        movemap = MoveMap()
        movemap.set_jump(jump_num , True)
        minmover = pyrosetta.rosetta.protocols.simple_moves.MinMover()
        minmover.movemap(movemap)
        minmover.apply(pose)

        score.append(scorefxn(pose))

        score.sort()
        for value in score:
        print(value)

        But I get this error:


        minmover.apply(pose)
        RuntimeError: Caught an unknown exception!

         

         

        The strange part is that I sometimes get this error, and sometimes the script works fine. It is a hot or miss.

         

         

         

        I tried to ignore this error with try/except, following is my script:


        def Global(pose , repeats):
        score = list()
        for nterm in range(repeats):

        try:
        pyrosetta.rosetta.protocols.docking.setup_foldtree(pose , 'A_B', Vector1([1])) #Make chain A ridgid and chain B move
        pert_mover = pyrosetta.rosetta.protocols.rigid.RigidBodyPerturbMover(jump_num , rotation , translation)
        pert_mover.apply(pose)

        randomize_upstream = pyrosetta.rosetta.protocols.rigid.RigidBodyRandomizeMover(pose , jump_num , pyrosetta.rosetta.protocols.rigid.partner_upstream)
        randomize_upstream.apply(pose)

        randomize_downstream = pyrosetta.rosetta.protocols.rigid.RigidBodyRandomizeMover(pose , jump_num , pyrosetta.rosetta.protocols.rigid.partner_downstream)
        randomize_downstream.apply(pose)

        slide = pyrosetta.rosetta.protocols.docking.FaDockingSlideIntoContact(jump_num)
        slide.apply(pose)

        movemap = MoveMap()
        movemap.set_jump(jump_num , True)
        minmover = pyrosetta.rosetta.protocols.simple_moves.MinMover()
        minmover.movemap(movemap)
        minmover.apply(pose)

        score.append(scorefxn(pose))
        except:

        score.sort()
        for value in score:
        print(value)

        But I get this different error


        ERROR: No structure mods allowed during scoring!
        ERROR:: Exit from: /home/benchmark/T/rosetta.Glass/_commits_/main/source/src/core/scoring/Energies.cc line: 748

         

         

         

        Anyone can explain to me what I am doing wrong?

      • #13719
        Anonymous

          The `unknown exception!` error was fixed upstream recently. You will need to get a fresh PyRosetta build and re-run your script to see what exactly is wrong. Weekly releases with numbers 150+ should have this issue fixed. Could you please try to upgrading your PyRosetta install and post back results from new version?

          Thanks,

        • #13720
          Anonymous

            Also, usually these ‘unknown exception!` is results of a hard failures from which recovery will be problematic so i would advise against trying to catching them.

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