Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RdcTargetEvaluatorCreator.cc
Go to the documentation of this file.
1 // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2 // vi: set ts=2 noet:
3 //
4 // (c) Copyright Rosetta Commons Member Institutions.
5 // (c) This file is part of the Rosetta software suite and is made available under license.
6 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9 
10 /// @file protocols/simple_filters/RdcTargetEvaluatorCreator.hh
11 /// @brief Header for RdcTargetEvaluatorCreator
12 /// @author Matthew O'Meara
13 
14 // Unit Headers
16 
17 // Package Headers
19 
20 // Package Headers
25 #include <core/pose/Pose.hh>
26 
27 // ObjexxFCL Headers
28 #include <ObjexxFCL/string.functions.hh>
29 
30 // Utility headers
31 #include <utility/pointer/ReferenceCount.hh>
32 #include <utility/vector1.hh>
33 #include <utility/file/FileName.hh>
34 
35 #include <basic/options/option.hh>
36 #include <basic/Tracer.hh>
37 
38 // due to template function
40 
41 // option key includes
42 #include <basic/options/option_macros.hh>
43 #include <basic/options/keys/evaluation.OptionKeys.gen.hh>
45 #include <utility/vector0.hh>
46 
47 #ifdef WIN32
49 #endif
50 
51 
52 static basic::Tracer tr("protocols.evalution.RdcTargetEvaluatorCreator");
53 
54 namespace protocols {
55 namespace simple_filters {
56 
58 
60  using namespace basic::options;
61  if ( options_registered_ ) return;
62  options_registered_ = true;
63 
64  OPT( evaluation::rdc_target );
65  OPT( evaluation::rdc_column );
66 }
67 
69  using namespace core;
70  using namespace basic::options;
71  using namespace basic::options::OptionKeys;
72 
73 
74  if ( option[ OptionKeys::evaluation::rdc_target ].user() ) {
75  /*
76  this creates Evaluators to get RMSD and GDTMM for as many structures as you specify in this FileVector option.
77  pls: provide also as many column-names to match your rmsd-targets.
78  ---
79  missing density in the input file will be ignored, e.g., this is your way to signal on which residues the rmsd should be computed
80  */
81  utility::vector1< std::string > const& rdc_target( option[ OptionKeys::evaluation::rdc_target ]() );
82  utility::vector1< std::string > const& rdc_col_name( option[ OptionKeys::evaluation::rdc_column ]() );
83  for ( Size ct = 1; ct <= rdc_target.size(); ct ++ ) {
84  pose::PoseOP rdc_pose = new pose::Pose;
85  core::import_pose::pose_from_pdb( *rdc_pose, rdc_target[ ct ] );
86  std::string tag( ObjexxFCL::string_of( ct ) );
87  if ( rdc_col_name.size() >= ct ) tag = rdc_col_name[ ct ];
88  eval.add_evaluation( new simple_filters::SelectRDC_Evaluator( rdc_pose, tag ) );
89  }
90  }
91 
92 }
93 
95  return "RdcTargetEvaluatorCreator";
96 }
97 
98 } //namespace
99 } //namespace