24 #include <basic/options/option.hh>
25 #include <basic/options/keys/OptionKeys.hh>
26 #include <basic/options/keys/in.OptionKeys.gen.hh>
29 #include <basic/Tracer.hh>
32 #include <numeric/model_quality/rms.hh>
35 #include <ObjexxFCL/FArray2D.hh>
36 #include <ObjexxFCL/FArray1D.hh>
43 #include <utility/vector1.hh>
48 namespace frag_picker {
51 using namespace basic::options;
52 using namespace basic::options::OptionKeys;
55 "protocols.frag_picker.scores.FragmentAllAtomCrmsd");
61 FragmentScoringMethod(priority, lowest_acceptable_value, use_lowest,
"FragmentAllAtomCrmsd"), query_sequence_(query_sequence) {
76 query_sequence_(query_sequence) {
96 trRmsScore.Debug <<
"Copying coordinates from ... The first residues are: "
105 coords(d, n_at) = xyzN[d - 1];
112 coords(d, i) = xyzCA[d - 1];
119 coords(d, n_at) = xyzC[d - 1];
126 coords(d, i) = xyzO[d - 1];
139 for (
Size i = 1; i <= f->get_length(); i++) {
152 Real rms = numeric::model_quality::rms_wrapper(f->get_length(),
155 empty_map->set_score_component(rms,
id_);
168 if (option[in::file::native].user()) {
170 <<
"Reference structure to score fragments by crmsd loaded from: "
171 << option[in::file::native]() << std::endl;
176 lowest_acceptable_value, use_lowest, nativePose->sequence(), nativePose);
178 if (option[in::file::s].user()) {
180 <<
"Reference structure to score fragments by crmsd loaded from: "
181 << option[in::file::s]()[1] << std::endl;
186 lowest_acceptable_value, use_lowest, nativePose->sequence(), nativePose);
191 <<
"Reference structure to score fragments by crmsd loaded from: "
199 while( getline( input, line ) ) {
201 if ( line.substr(0,1) ==
"#" )
continue;
202 std::istringstream line_stream( line );
206 line_stream >> c >> x >> y >> z;
211 xyz.push_back( row );
213 trRmsScore << xyz.size() <<
" atoms found in the reference" << std::endl;
216 lowest_acceptable_value, use_lowest, seq, xyz);
218 utility_exit_with_message(
219 "Can't read a reference structure. Provide it with in::file::s flag");