Troubles using RigidBodyTransMover and RigidBodyPerturbMover

Member Site Forums Rosetta 3 Rosetta 3 – General Troubles using RigidBodyTransMover and RigidBodyPerturbMover

Viewing 3 reply threads
  • Author
    Posts
    • #880
      Anonymous

        Goodmorning,

        I’m currently experiencing some troubles while using the RigidBodyMovers and I hope someone could explain me this strange problem. I perform a rigid body move and calculates its energy. But the result is different if I evaluate the energy after having stored the pose in a .pdb. Here is the code.


        // Creating the poses and the scoring function
        core::pose::PoseOP pose = new core::pose::Pose();
        core::scoring::ScoreFunctionOP score_fxn = core::scoring::ScoreFunctionFactory::create_score_function("standard");
        makePoseFromSequence(pose, String("AAAAAAAAAAAAAAAAAAAA"));
        core::pose::PoseOP result3 = new core::pose::Pose((*pose));
        // Initializing the jump and the foldtree
        core::kinematics::FoldTree foldTree = result3->fold_tree();
        foldTree.new_jump(5, 15, 10);
        result3->fold_tree(foldTree);
        // Performing the move
        protocols::moves::RigidBodyTransMoverOP mover = new protocols::moves::RigidBodyTransMover((*result3), 1);
        mover->step_size(1);
        mover->apply((*result3));
        // Restoring the foldtree of the jump
        foldTree.delete_jump_and_intervening_cutpoint(1);
        result3->fold_tree(foldTree);
        // Outputting results
        cout << "RBT energy final : " << (*score_fxn)(*result3) << endl;
        core::io::pdb::dump_pdb((*result3), "rbt_final_tmp.pdb");
        core::pose::PoseOP result3tmp = new core::pose::Pose("rbt_final_tmp.pdb");
        cout << "RBT energy final from PDB: " << (*score_fxn)(*result3tmp) << endl;

        This code returns :


        RBT energy final : 112008
        RBT energy final from PDB: 112013

        The difference is tiny but it exists. Do I do something wrong with the movers or is this phenomenon explainable?

        Thank you.
        Alejandro

      • #5475
        Anonymous

          I would guess that you have severe clashes in your structure, hence the very large energy. With overlapping atoms, a very small difference in coordinates could easily account for the extra 5 kcal/mol, so it is probably a result of rounding from the coordinate trimming in the pdb file.

        • #5476
          Anonymous

            This is expected. The PDB file format has a precision of 3 digits after the decimal. Rosetta uses much, much more precision internally. (It doesn’t come to X digits; read up on binary to decimal conversions). So, dumping a PDB to disk causes rounding, which results in different scores.

          • #5479
            Anonymous

              This explains a lot. Thank you.

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