19 #include <basic/Tracer.hh>
21 #include <basic/options/option.hh>
22 #include <basic/options/keys/enzdes.OptionKeys.gen.hh>
28 #include <utility/vector1.hh>
47 static basic::Tracer
TR(
"protocols.forge.remodel.RemodelEnzdesCstModule");
61 using namespace protocols::toolbox::match_enzdes_util;
64 if( basic::options::option[basic::options::OptionKeys::enzdes::cstfile].user() ){
70 TR <<
"cst_cache nonexistant; make new instance." << std::endl;
78 bool not_packed =
true;
86 TR <<
"replace sidechain" << std::endl;
95 designMover.
apply(pose);
99 TR <<
"applying sidechain constraints" << std::endl;
102 else if ((
cst_pairs_[block]->resA()->is_backbone() &&
cst_pairs_[block]->resB()->is_backbone())){
103 TR <<
"applying backbone constraints" << std::endl;
107 TR <<
"no constraint applied (only sidechain cst was defined in bb stage?) EnzdesCstModule Apply" << std::endl;
117 TR <<
"turning on constraint weights" << std::endl;
139 core::Size found_start = (*it).find_first_of(
"0123456789");
140 core::Size found_end = (*it).find_last_of(
"0123456789");
141 std::string buffer((*it).substr(found_start,found_end-found_start+1));
143 std::istringstream bufferstream(buffer);
145 bufferstream >> temp;
146 cstblock.push_back(temp);
150 role.push_back((*it).substr(bufferLength-1,1));
155 TR<<
"cstblock.size = " << cstblock.size() << std::endl;
156 TR<<
"cst_pair_.size = " <<
cst_pairs_.size() << std::endl;
158 runtime_assert ( cstblock.size()/2 ==
cst_pairs_.size());
162 for (
core::Size i = 1; i <= cstblock.size(); ++i){
164 TR<<
"adding constraint to " << position[i] <<
" in " << cstblock[i] <<
" residue: " << pose.
residue_type(position[i]).
name3() << std::endl;
165 cst_pairs_[cstblock[i]]->nonconst_resA()->set_external_position(position[i]);
166 cst_pairs_[cstblock[i]]->nonconst_resA()->find_in_pose_if_missing_from_header( pose );
173 }
else if (role[i] ==
"B"){
174 TR<<
"adding constraint to " << position[i] <<
" in " << cstblock[i] <<
" residue: " << pose.
residue_type(position[i]).
name3() << std::endl;
175 cst_pairs_[cstblock[i]]->nonconst_resB()->set_external_position(position[i]);
176 cst_pairs_[cstblock[i]]->nonconst_resB()->find_in_pose_if_missing_from_header( pose );
184 TR <<
"mistake in merging blueprint cst and cst_pairs data" << std::endl;