28 #include <basic/options/option.hh>
29 #include <basic/Tracer.hh>
30 #include <basic/basic.hh>
33 #include <ObjexxFCL/format.hh>
37 #include <basic/options/keys/score.OptionKeys.gen.hh>
38 #include <basic/options/keys/packing.OptionKeys.gen.hh>
41 #include <utility/vector0.hh>
42 #include <utility/vector1.hh>
53 static basic::Tracer
TR(
"core.io.pdb.file_data");
61 using namespace scoring;
62 using namespace conformation;
63 using namespace basic::options;
64 using namespace basic::options::OptionKeys;
67 if ( !option[ score::optH_weights ].user() && !option[ score::optH_patch ].user() ) {
69 }
else if ( option[ score::optH_weights ].user() && option[ score::optH_patch ].user() ) {
71 }
else if ( option[ score::optH_weights ].user() ) {
84 Residue const & old_rsd( start_pose.residue(i) );
86 assert( old_rsd.nchi() == new_rsd.nchi() && old_rsd.type().n_proton_chi() == new_rsd.type().n_proton_chi() );
87 for (
Size chino=1; chino<= old_rsd.nchi(); ++chino ) {
88 Real const chidev( std::abs( basic::subtract_degree_angles( old_rsd.chi( chino ), new_rsd.chi( chino ) ) ) );
89 bool const chi_atom_was_missing( missing[
id::AtomID( old_rsd.chi_atoms( chino )[4], i ) ] );
90 if ( chidev > 0.1 && !chi_atom_was_missing ) {
91 using namespace ObjexxFCL::fmt;
92 if ( old_rsd.type().is_proton_chi( chino ) ) {
93 TR <<
"[ OPT-H WARNING ] proton chi angle change: chidev= " << F(9,3,chidev) <<
" chino= " << I(2,chino) <<
94 " position: " << I(4,i) <<
' ' << old_rsd.name() <<
' ' << new_rsd.name() << std::endl;
96 TR <<
"[ OPT-H WARNING ] heavyatom chi angle change: chidev= " << F(9,3,chidev) <<
" chino= " <<
97 I(2,chino) <<
" position: " << I(4,i) <<
' ' << old_rsd.name() <<
' ' << new_rsd.name() << std::endl;
110 using namespace task;
111 using namespace basic::options;
113 PackerTaskOP task = TaskFactory::create_packer_task( pose );
115 task->initialize_from_command_line();
116 task->or_optimize_h_mode(
true );
117 task->or_include_current(
true );
118 task->or_flip_HNQ( option[ OptionKeys::packing::flip_HNQ ].user() );
119 task->or_multi_cool_annealer( option[ OptionKeys::packing::optH_MCA ]() );