I am having trouble calling other movers from the protocol I created and cannot find a solution. Maybe it is obvious again, but I cannot see it.
I modified the minirosetta routine to call my protocol (SymEns), which looks like the following code. This works fine and indeed generates useful output.
SymEnsProtocolOP assembly_mover = new SymEnsProtocol;
protocols::moves::symmetry::SetupForSymmetryMoverOP setup_mover = new protocols::moves::symmetry::SetupForSymmetryMover;
protocols::symmetric_docking::SymDockProtocolOP dock_mover = new protocols::symmetric_docking::SymDockProtocol;
protocols::moves::SequenceMoverOP seq_mover = new protocols::moves::SequenceMover;
seq_mover->add_mover( assembly_mover );
seq_mover->add_mover( setup_mover );
seq_mover->add_mover( dock_mover );
protocols::jd2::JobDistributor::get_instance()->go( seq_mover );
If I want to apply the very same movers from within my protocol, by using:
setup_mover->apply( pose );
dock_mover->apply( pose );
I just get a segmentation fault as soon as the setup_mover (SetupForSymmetryMover) is called/applied.
The reason for doing this is, that I want to pass a variable from my protocol to the symmetric_docking protocol.
Thanks a lot.