15 #include <core/types.hh>
16 #include <core/sequence/util.hh>
19 #include <protocols/viewer/viewers.hh>
20 #include <core/init/init.hh>
23 #include <core/chemical/ChemicalManager.fwd.hh>
26 #include <protocols/stepwise/modeler/align/StepWiseLegacyClustererSilentBased.hh>
40 #include <core/chemical/ResidueType.hh>
43 using namespace protocols;
59 using namespace basic::options::OptionKeys;
63 if ( !
option[
in::file::silent ].
user() )
utility_exit_with_message(
"The rna_cluster executable requires silent input [with -in:file:silent], and models need to be scored. The clustering algorithm starts with the lowest scoring models and works its way up." );
66 protocols::stepwise::modeler::align::StepWiseLegacyClustererSilentBased stepwise_clusterer( silent_files_in );
68 Size max_decoys( 400 );
70 stepwise_clusterer.set_max_decoys( max_decoys );
75 stepwise_clusterer.set_cluster_radius( cluster_radius );
77 stepwise_clusterer.set_cluster_by_all_atom_rmsd(
true );
79 stepwise_clusterer.set_rename_tags(
true );
80 stepwise_clusterer.set_rsd_type_set( core::chemical::FA_STANDARD );
83 stepwise_clusterer.cluster();
86 stepwise_clusterer.output_silent_file( silent_file_out );
88 std::cout <<
"Maximum number of models: " << max_decoys <<
". [use -nstruct to set higher]" << std::endl;
89 std::cout <<
"Used all-heavy-atom clustering radius of " << cluster_radius <<
" Angstroms. [use -cluster:radius to change.]" << std::endl;
105 main(
int argc,
char * argv [] )
109 using namespace basic::options::OptionKeys;
111 std::cout << std::endl <<
"Basic usage: " << argv[0] <<
" -in:file:silent <input silent file> -out:file:silent <output silent file> -cluster:radius <RMSD threshold in Angstroms>" << std::endl;
112 std::cout << std::endl <<
" Type -help for full slate of options." << std::endl << std::endl;
132 protocols::viewer::viewer_main(
my_main );
134 std::cout <<
"caught exception " << e.
msg() << std::endl;
StringOptionKey const silent("out:file:silent")
#define utility_exit_with_message(m)
Exit with file + line + message.
RealOptionKey const cluster_radius
BooleanOptionKey const cluster
virtual std::string const msg() const
basic::options::OptionKeys collection
common derived classes for thrown exceptions
int main(int argc, char *argv[])
RealOptionKey const score_diff_cut("cluster:score_diff_cut")
macros to define options on a per-application basis at the top of app files (those with main) ...
std::vector with 1-based indexing
basic::options::OptionKeys collection
rule< Scanner, options_closure::context_t > options
RealOptionKey const radius
BooleanOptionKey const auto_tune
RealOptionKey const radius("cluster:radius")
ocstream cout(std::cout)
Wrapper around std::cout.
BooleanOptionKey const exit("options:exit")
vector1: std::vector with 1-based indexing
BooleanOptionKey const auto_tune("cluster:auto_tune")
RealOptionKey const score_diff_cut
basic::options::OptionKeys collection
FileVectorOptionKey const silent("in:file:silent")
void init()
set global 'init_was_called' to true
Program options global and initialization function.
StringOptionKey const user
rule< Scanner, option_closure::context_t > option
IntegerOptionKey const nstruct("out:nstruct")