10 #include <basic/options/keys/sicdock.OptionKeys.gen.hh>
11 #include <basic/options/keys/lh.OptionKeys.gen.hh>
12 #include <basic/options/option.hh>
13 #include <basic/options/option_macros.hh>
14 #include <numeric/constants.hh>
15 #include <numeric/xyz.functions.hh>
16 #include <numeric/xyz.io.hh>
17 #include <ObjexxFCL/format.hh>
18 #include <ObjexxFCL/string.functions.hh>
19 #include <utility/io/ozstream.hh>
20 #include <utility/string_util.hh>
28 #include <basic/Tracer.hh>
33 static basic::Tracer
TR(
"propocols.sic_dock.RigidScore" );
54 if( sqdist > stop*stop ) {
56 }
else if( sqdist < start*start ) {
59 Real dist = sqrt( sqdist );
60 return (stop-dist)/(stop-
start);
66 out << v.
a <<
" " << v.
b <<
" " << v.
c;
77 clash_dis_(clash_dis),
78 contact_dis_(contact_dis),
83 hash_pose1_?pose1:pose2,
95 Real const & clash_dis_in,
96 Real const & contact_dis_in
122 Reals::const_iterator iwb =
weights_.begin();
123 for(Vecs::const_iterator i =
points_.begin(); i !=
points_.end(); ++i,++iwb) {
126 return hash_visitor.
score;
136 loopsizes_(
range(3,max_loop_len+1) ),
137 lookup_radius_( lookup_radius ),
141 if( ! basic::options::option[ basic::options::OptionKeys::lh::db_path ].user() ){
142 utility_exit_with_message(
"user must specify -lh:db_path for loop hash database");
146 TR <<
"loading loophash data" << std::endl;
148 TR <<
"done loading loophash data" << std::endl;
164 using namespace basic::options::OptionKeys;
165 using namespace protocols::loophash;
166 using namespace numeric::geometry::hashing;
167 using namespace core::kinematics;
170 for(TermInfo::const_iterator c1 =
lowers1_.begin(); c1 !=
lowers1_.end(); ++c1){
171 for(TermInfo::const_iterator n2 =
uppers2_.begin(); n2 !=
uppers2_.end(); ++n2){
178 for(TermInfo::const_iterator c2 =
lowers2_.begin(); c2 !=
lowers2_.end(); ++c2){
179 for(TermInfo::const_iterator n1 =
uppers1_.begin(); n1 !=
uppers1_.end(); ++n1){
189 for(TermInfo::const_iterator c1 =
lowers1_.begin(); c1 !=
lowers1_.end(); ++c1){
190 for(TermInfo::const_iterator n2 =
uppers2_.begin(); n2 !=
uppers2_.end(); ++n2){
195 for(TermInfo::const_iterator c2 =
lowers2_.begin(); c2 !=
lowers2_.end(); ++c2){
196 for(TermInfo::const_iterator n1 =
uppers1_.begin(); n1 !=
uppers1_.end(); ++n1){
205 tmp1.dump_pdb(
"comp1.pdb");
207 utility_exit_with_message(
"TEST LINKER");
242 if(
scores_.size() !=
weights_.size()) utility_exit_with_message(
"bad score/weight");
260 Reals::const_iterator w =
weights_.begin();
261 for(Scores::const_iterator s =
scores_.begin(); s !=
scores_.end(); ++s,++w){
262 score += (*s)->score(x1,x2) * (*w);