39 #include <ObjexxFCL/format.hh>
41 #include <basic/Tracer.hh>
46 #include <utility/vector1.hh>
51 static THREAD_LOCAL basic::Tracer
TR(
"protocols.stepwise.legacy.modeler.protein.StepWiseProteinMinimizer" );
53 using namespace protocols::stepwise::modeler;
54 using namespace protocols::stepwise::modeler::protein;
55 using namespace protocols::stepwise::modeler::movemap;
65 StepWiseProteinMinimizer::StepWiseProteinMinimizer( utility::vector1< pose::PoseOP >
const & pose_list,
66 utility::vector1< Size >
const & moving_residues ):
68 moving_residues_( moving_residues ),
69 pose_list_( pose_list )
82 return "StepWiseProteinMinimizer";
88 Mover::type(
"StepWiseProteinMinimizer" );
104 using namespace core::optimization;
105 using namespace core::scoring;
106 using namespace core::scoring::constraints;
107 using namespace core::pose;
109 clock_t
const time_start( clock() );
114 utility::vector1< std::pair<core::Size,core::Size> > disulfides;
120 bool const use_nblist(
true );
129 utility::vector1< Size > working_minimize_res;
148 Real const score_original = (*fa_scorefxn_)( pose );
172 if ( linear_chainbreak_weight_original < 20.0 ) std::cout <<
"WARNING!! Your linear_chainbreak weight is " <<
F(8,3,linear_chainbreak_weight_original ) <<
", which is less than recommended (20.0) " << std::endl;
190 TR.Debug <<
"Score minimized from " <<
F(8,3, score_original) <<
" to " <<
F(8,3,(*
fa_scorefxn_)( pose )) << std::endl;
195 TR.Debug <<
"Total time in StepWiseProteinMinimizer: " <<
196 static_cast<Real>(clock() - time_start) / CLOCKS_PER_SEC << std::endl;
206 using namespace core::scoring;
208 (*fa_scorefxn_)( pose );
223 iter = energy_graph.get_node( i )->const_edge_list_begin();
227 Size j( (*iter)->get_other_ind( i ) );
utility::pointer::shared_ptr< ScoreFunction > ScoreFunctionOP
utility::vector1< core::Size > calc_rms_res_
utility::vector1< core::Size > fixed_res_
void set_min_type(std::string const &setting)
core::Real min_tolerance_
void let_neighboring_chis_minimize(core::kinematics::MoveMap &mm, core::pose::Pose &pose)
Declarations for the MoveMap class.
static THREAD_LOCAL basic::Tracer TR("protocols.stepwise.legacy.modeler.protein.StepWiseProteinMinimizer")
EnergyGraph const & energy_graph() const
Read access to the EnergyGraph.
High-level atom tree minimizer class.
A molecular system including residues, kinematics, and energies.
void initialize_parameters()
void set_min_tolerance(core::Real const &setting)
virtual void apply(core::pose::Pose &pose_to_visualize)
Apply the minimizer to one pose.
A class specifying DOFs to be flexible or fixed.
void set_fixed_res(utility::vector1< core::Size > const &fixed_res)
virtual std::string get_name() const
Each derived class must specify its name. The class name.
High-level atom tree minimizer class.
core::scoring::ScoreFunctionOP fa_scorefxn_
chemical::ResidueType const & residue_type(Size const seqpos) const
Returns the ResidueType at position (read access) Note: this method NOT will trigger a refol...
Utility functions for defining and using constraints.
void set(TorsionType const &t, bool const setting)
set a specific TorsionType movable: currently BB, CHI, NU, BRANCH, or JUMP
void set_scorefxn(core::scoring::ScoreFunctionOP const &scorefxn)
Conformation const & conformation() const
Returns the pose Conformation (const-access)
utility::pointer::shared_ptr< ConstraintSet > ConstraintSetOP
EdgeListConstIter const_edge_list_end() const
returns a const iterator to the end of its edge list
High-level atom tree minimizer class.
PoseOP clone() const
clone the conformation
Size total_residue() const
Returns the number of residues in the pose conformation.
utility::vector1< core::Size > const & moving_residues_
bool has_variant_type(VariantType const variant_type) const
Generic variant access.
Node const * get_node(platform::Size index) const
get a const * to one node that this edge is incident upon uses c-style index-from-0 for these two nod...
void set_chi(bool const setting)
Sets whether or not CHI TorsionType is movable.
void add_coordinate_constraints(pose::Pose &pose, Real const coord_sdev, bool include_sc)
handy function for tethering pose to starting coordinates.
Torsion identifier class.
bool move_jumps_between_chains_
void set_calc_rms_res(utility::vector1< core::Size > const &calc_rms_res)
void output_pose_list(utility::vector1< core::pose::PoseOP > pose_list, core::pose::PoseCOP native_pose, std::string const &silent_file, utility::vector1< Size > const &working_calc_rms_res, bool const overwrite)
void figure_out_stepwise_movemap(core::kinematics::MoveMap &mm, core::pose::Pose const &pose, utility::vector1< Size > const &working_minimize_res, bool const move_takeoff_torsions)
bool nblist_auto_update() const
Class to hold the component energies between pairs of residues. Each node represents a residue in its...
void set_cartesian(bool const setting)
bool use_coordinate_constraints_
~StepWiseProteinMinimizer()
bool pose_has_chainbreak(core::pose::Pose const &pose)
Residue const & residue(Size const seqpos) const
Returns the Residue at position (read access) Note: this method will trigger a refold if eit...
Energy graph class declaration.
utility::vector1< pose::PoseOP > pose_list_
bool move_takeoff_torsions_
Custom Edge list const iterator class, which returns only const Edge pointers. This iterator cannot b...
scoring::Energies const & energies() const
Returns the pose Energies (const-access)
static THREAD_LOCAL basic::Tracer TR("protocols.looprelax_protocols")
ConstraintSetCOP constraint_set() const