20 #include <basic/Tracer.hh>
21 #include <utility/vector1.hh>
25 namespace frag_picker {
30 "protocols.frag_picker.DiversifyDihedralsSelector");
39 if(in.size()==0)
return;
41 Size len = in[1].first->get_length();
43 if (phi_.size() < len) {
48 out.push_back( in[1] );
49 for(
Size i=2;i<=in.size();i++) {
50 if(out.size() >= frags_per_pos() )
break;
52 for(
Size j=1;j<=out.size();j++) {
53 Real rms = dihedral_rmsd(in[i].first, out[j].first);
61 out.push_back( in[i] );
66 << in[1].first->get_first_index_in_query()<<std::endl;
72 assert ( f1->get_length() == f2->get_length() );
73 for(
Size k=1;k<=f1->get_length();k++) {
74 Real d = f1->get_residue(k)->phi() - f2->get_residue(k)->phi();
76 d = f1->get_residue(k)->psi() - f2->get_residue(k)->psi();
78 d = f1->get_residue(k)->omega() - f2->get_residue(k)->omega();
82 return sqrt(rms) / (3.0 * f1->get_length());