18 #include <protocols/jd2/JobDistributor.hh>
19 #include <protocols/jd2/util.hh>
23 #include <core/types.hh>
24 #include <core/conformation/Residue.hh>
25 #include <core/kinematics/MoveMap.hh>
26 #include <core/optimization/MinimizerOptions.hh>
27 #include <core/pack/rotamer_set/UnboundRotamersOperation.hh>
28 #include <core/pack/task/PackerTask.hh>
29 #include <core/pack/task/TaskFactory.hh>
30 #include <core/pose/Pose.hh>
31 #include <core/scoring/ScoreFunction.hh>
32 #include <core/pack/dunbrack/RotamerConstraint.hh>
34 #include <protocols/ligand_docking/LigandBaseProtocol.hh>
35 #include <protocols/simple_moves/MinMover.hh>
36 #include <protocols/moves/Mover.hh>
37 #include <protocols/simple_moves/PackRotamersMover.hh>
38 #include <protocols/simple_moves/RotamerTrialsMover.hh>
44 #include <basic/options/keys/in.OptionKeys.gen.hh>
45 #include <basic/options/keys/out.OptionKeys.gen.hh>
46 #include <basic/options/keys/packing.OptionKeys.gen.hh>
47 #include <basic/options/keys/docking.OptionKeys.gen.hh>
67 Mover::type(
"LigandRepackMinimizeProtocol" );
85 using namespace protocols::moves;
93 core::pack::dunbrack::load_unboundrot(pose);
100 PackerTaskOP pack_task = core::pack::task::TaskFactory::create_packer_task(pose);
101 pack_task->initialize_from_command_line();
102 pack_task->restrict_to_repacking();
103 pack_task->or_include_current(
true);
104 pack_task->append_rotamerset_operation( unboundrot_ );
106 for (
core::Size i = 1, i_end = pose.total_residue(); i <= i_end; ++i ) {
107 if ( !pose.residue(i).is_polymer() ) {
108 pack_task->nonconst_residue_task( i ).prevent_repacking();
115 protocols::simple_moves::PackRotamersMoverOP fullRepack(
new protocols::simple_moves::PackRotamersMover(scorefxn_, pack_task) );
116 fullRepack->apply(pose);
119 protocols::simple_moves::RotamerTrialsMoverOP rotamerTrials(
new protocols::simple_moves::RotamerTrialsMover(scorefxn_, *pack_task) );
120 rotamerTrials->apply(pose);
124 core::kinematics::MoveMapOP
movemap(
new core::kinematics::MoveMap() );
125 for (
int i = 1, end_i = pose.total_residue(); i <= end_i; ++i ) {
126 if ( pose.residue(i).is_polymer() ) {
127 movemap->set_chi(i,
true);
130 protocols::simple_moves::MinMoverOP dfpMinTightTol(
new protocols::simple_moves::MinMover( movemap, scorefxn_,
"dfpmin_armijo_nonmonotone_atol", 0.02,
true ) );
131 dfpMinTightTol->min_options()->nblist_auto_update(
true);
132 dfpMinTightTol->apply(pose);
139 main(
int argc,
char * argv [] )
143 OPT(in::file::extra_res_fa);
144 OPT(packing::unboundrot);
145 OPT(packing::ex1::ex1);
146 OPT(packing::ex1aro::ex1aro);
147 OPT(packing::ex2::ex2);
148 OPT(packing::extrachi_cutoff);
149 OPT(packing::no_optH);
150 OPT(packing::flip_HNQ);
151 OPT(docking::ligand::soft_rep);
152 OPT(docking::ligand::old_estat);
167 protocols::jd2::JobDistributor::get_instance()->go(dockingProtocol);
169 std::cout <<
"caught exception " << e.
msg() << std::endl;
virtual std::string const msg() const
utility::pointer::shared_ptr< LigandRepackMinimizeProtocol > LigandRepackMinimizeProtocolOP
vector0: std::vector with assert-checked bounds
void init(int argc, char *argv[])
Command line init() version.
utility::pointer::shared_ptr< LigandRepackMinimizeProtocol const > LigandRepackMinimizeProtocolCOP
common derived classes for thrown exceptions
LigandRepackMinimizeProtocol()
basic::options::IntegerOptionKey const nstruct("nstruct")
ocstream cout(std::cout)
Wrapper around std::cout.
vector1: std::vector with 1-based indexing
int main(int argc, char *argv[])
virtual void apply(core::pose::Pose &pose)
Creates a new hierarchy of Movers for each Pose passed in.