Rosetta
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
fragment_picker.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 #include <devel/init.hh>
11 
12 // utility headers
13 #include <utility/vector1.hh>
14 
15 #include <core/sequence/Sequence.hh>
16 
17 // option key includes
18 #include <basic/options/option.hh>
25 
26 #include <protocols/frag_picker/FragmentPicker.hh>
27 #include <protocols/frag_picker/VallProvider.hh>
28 #include <protocols/frag_picker/VallChunk.hh>
29 #include <protocols/frag_picker/VallResidue.hh>
30 #include <protocols/frag_picker/FragmentSelectingRule.hh>
31 #include <protocols/frag_picker/VallChunkFilter.hh>
32 
33 #include <protocols/frag_picker/scores/FragmentScoringMethod.hh>
34 
35 #include <basic/prof.hh>
36 #include <basic/Tracer.hh>
37 
39 
40 static THREAD_LOCAL basic::Tracer trace( "fragment_picker" );
41 
42 using namespace core;
43 using namespace core::fragment;
44 using namespace protocols::frag_picker;
45 using namespace protocols::frag_picker::scores;
46 using namespace basic::options;
47 using namespace basic::options::OptionKeys;
48 
50 
60 
78 
80 
82 
89 
90 }
91 
92 int main(int argc, char * argv[]) {
93 
94  try {
95  using namespace basic::options;
96  using namespace basic::options::OptionKeys;
97 
99  devel::init(argc, argv);
100 
101  if ( option[in::file::native].user() ) {
102  trace.Debug << option[in::file::native]() << std::endl;
103  }
104 
105  //---------- Set up a picker.
106  FragmentPickerOP pickIt;
107  if ( option[frags::p_value_selection]() == true ) {
108  pickIt = FragmentPickerOP( new FragmentPicker("PValuedFragmentScoreManager") );
109  } else {
110  pickIt = FragmentPickerOP( new FragmentPicker() );
111  }
112  pickIt->parse_command_line();
113  trace << "After setup; size of a query is: " << pickIt->size_of_query() << std::endl;
114 
115  //-------- Trata ta ta, tra ta... (picking fragment candidates)
116  trace << "Picking candidates" << std::endl;
117 
119  trace << "Running quota protocol" << std::endl;
120  pickIt->quota_protocol();
121  } else {
123  trace << "Running keep-all protocol" << std::endl;
124  pickIt->keep_all_protocol();
125  } else {
126  trace << "Running bounded protocol" << std::endl;
127  pickIt->bounded_protocol();
128  }
129  }
131  }
132 catch (utility::excn::EXCN_Base const & e) {
133  std::cout << "caught exception " << e.msg() << std::endl;
134  return -1;
135 }
136 }
137 
RealVectorOptionKey const dist_cutoffs("frags:contacts:dist_cutoffs")
#define THREAD_LOCAL
virtual std::string const msg() const
Definition: EXCN_Base.hh:70
FileOptionKey const quota_config_file("frags:picking:quota_config_file")
IntegerOptionKey const min_seq_sep("frags:contacts:min_seq_sep")
BooleanOptionKey const write_ca_coordinates("frags:write_ca_coordinates")
FileOptionKey const torsion_bin_probs("in:file:torsion_bin_probs")
FileOptionKey const config("frags:scoring:config")
RealOptionKey const min_contacts_per_res("frags:nonlocal:min_contacts_per_res")
basic::options::OptionKeys collection
void init(int argc, char *argv[])
Command line init() version.
Definition: init.cc:23
int main(int argc, char *argv[])
FileVectorOptionKey const fasta("in:file:fasta")
BooleanOptionKey const p_value_selection("frags:p_value_selection")
StringVectorOptionKey const type("frags:contacts:type")
FileOptionKey const talos_phi_psi("in:file:talos_phi_psi")
basic::options::OptionKeys collection
StringVectorOptionKey const ss_pred("frags:ss_pred")
StringOptionKey const profile_score("frags:scoring:profile_score")
IntegerOptionKey const n_candidates("frags:n_candidates")
common derived classes for thrown exceptions
IntegerVectorOptionKey const frag_sizes("frags:frag_sizes")
StringOptionKey const frag_prefix("out:file:frag_prefix")
FileOptionKey const allowed_pdb("frags:allowed_pdb")
BooleanOptionKey const bounded_protocol("frags:bounded_protocol")
macros to define options on a per-application basis at the top of app files (those with main) ...
Tracer IO system.
IntegerVectorOptionKey const query_pos("frags:picking:query_pos")
basic::options::OptionKeys collection
StringOptionKey const selecting_rule("frags:picking:selecting_rule")
StringVectorOptionKey const cst_file("constraints:cst_file")
static THREAD_LOCAL basic::Tracer trace("fragment_picker")
basic::options::OptionKeys collection
rule< Scanner, options_closure::context_t > options
Definition: Tag.cc:377
BooleanOptionKey const quota_protocol("frags:quota_protocol")
BooleanOptionKey const keep_all_protocol("frags:keep_all_protocol")
FileOptionKey const native("in:file:native")
StringOptionKey const selecting_scorefxn("frags:picking:selecting_scorefxn")
ocstream cout(std::cout)
Wrapper around std::cout.
Definition: ocstream.hh:287
vector1: std::vector with 1-based indexing
IntegerOptionKey const n_frags("frags:n_frags")
Class for handling user debug/warnings/errors. Use instance of this class instead of 'std::cout' for ...
Definition: Tracer.hh:134
RealOptionKey const centroid_distance_scale_factor("frags:contacts:centroid_distance_scale_factor")
FileOptionKey const denied_pdb("frags:denied_pdb")
StringVectorOptionKey const scores
basic::options::OptionKeys collection
PathVectorOptionKey const database("in:path:database")
Program options global and initialization function.
void register_options()
#define OPT(akey)
void prof_show()
Definition: prof.cc:326
BooleanOptionKey const nonlocal_pairs("frags:nonlocal_pairs")
TracerProxy Debug
Definition: Tracer.hh:262
FileOptionKey const checkpoint("in:file:checkpoint")
FileVectorOptionKey const pssm("in:file:pssm")
FileVectorOptionKey const s("in:file:s")
StringOptionKey const xyz("in:file:xyz")
rule< Scanner, option_closure::context_t > option
Definition: Tag.cc:378
StringOptionKey const describe_fragments("frags:describe_fragments")