Member Site › Forums › Rosetta 3 › Rosetta 3 – General › Troubles using RigidBodyTransMover and RigidBodyPerturbMover
- This topic has 3 replies, 3 voices, and was last updated 13 years, 8 months ago by Anonymous.
-
AuthorPosts
-
-
April 21, 2011 at 1:11 pm #880Anonymous
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 -
April 21, 2011 at 1:49 pm #5475Anonymous
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.
-
April 21, 2011 at 2:22 pm #5476Anonymous
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.
-
April 21, 2011 at 2:58 pm #5479Anonymous
This explains a lot. Thank you.
-
-
AuthorPosts
- You must be logged in to reply to this topic.