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>
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 [] )
167 protocols::jd2::JobDistributor::get_instance()->go(dockingProtocol);
169 std::cout <<
"caught exception " << e.
msg() << std::endl;
BooleanOptionKey const no_optH("packing:no_optH")
BooleanOptionKey const old_estat("docking:ligand:old_estat")
virtual std::string const msg() const
BooleanOptionKey const soft_rep("docking:ligand:soft_rep")
utility::pointer::shared_ptr< LigandRepackMinimizeProtocol > LigandRepackMinimizeProtocolOP
vector0: std::vector with assert-checked bounds
basic::options::OptionKeys collection
void init(int argc, char *argv[])
Command line init() version.
BooleanOptionKey const ex1("packing:ex1")
utility::pointer::shared_ptr< LigandRepackMinimizeProtocol const > LigandRepackMinimizeProtocolCOP
PathOptionKey const pdb("out:path:pdb")
common derived classes for thrown exceptions
FileOptionKey const movemap
FileVectorOptionKey const unboundrot("packing:unboundrot")
BooleanOptionKey const flip_HNQ("packing:flip_HNQ")
basic::options::OptionKeys collection
IntegerOptionKey const extrachi_cutoff("packing:extrachi_cutoff")
BooleanOptionKey const ex2("packing:ex2")
LigandRepackMinimizeProtocol()
macros to define options on a per-application basis at the top of app files (those with main) ...
FileVectorOptionKey const extra_res_fa("in:file:extra_res_fa")
BooleanOptionKey const ex1aro("packing:ex1aro")
basic::options::OptionKeys collection
ocstream cout(std::cout)
Wrapper around std::cout.
vector1: std::vector with 1-based indexing
basic::options::OptionKeys collection
PathVectorOptionKey const database("in:path:database")
int main(int argc, char *argv[])
FileVectorOptionKey const s("in:file:s")
IntegerOptionKey const nstruct("out:nstruct")
virtual void apply(core::pose::Pose &pose)
Creates a new hierarchy of Movers for each Pose passed in.