15 #include <core/types.hh>
16 #include <core/chemical/AA.hh>
17 #include <core/chemical/ChemicalManager.hh>
18 #include <core/scoring/ScoreFunction.hh>
19 #include <core/scoring/ScoreFunctionFactory.hh>
20 #include <core/scoring/constraints/ConstraintSet.hh>
21 #include <core/scoring/constraints/ConstraintSet.fwd.hh>
22 #include <core/scoring/constraints/ConstraintIO.hh>
23 #include <core/sequence/util.hh>
24 #include <core/import_pose/pose_stream/SilentFilePoseInputStream.hh>
28 #include <protocols/viewer/viewers.hh>
29 #include <core/pose/Pose.hh>
30 #include <core/init/init.hh>
31 #include <core/io/pdb/pdb_writer.hh>
32 #include <core/io/rna/RNA_DataReader.hh>
37 #include <protocols/farna/RNA_DeNovoProtocol.hh>
38 #include <protocols/farna/options/RNA_DeNovoProtocolOptions.hh>
39 #include <protocols/farna/util.hh>
54 #include <core/import_pose/import_pose.hh>
55 #include <core/pose/annotated_sequence.hh>
56 #include <core/sequence/Sequence.hh>
62 using namespace protocols;
63 using namespace basic::options::OptionKeys;
68 core::chemical::ResidueTypeSetCOP rsd_set );
76 using namespace basic::options::OptionKeys;
87 ResidueTypeSetCOP rsd_set;
88 rsd_set = core::chemical::ChemicalManager::get_instance()->residue_type_set( FA_STANDARD );
97 bool native_exists =
false;
100 native_exists =
true;
103 core::import_pose::pose_from_file(
native_pose, *rsd_set, in_path + native_pdb_file , core::import_pose::PDB_file);
113 core::pose::make_pose_from_sequence(
extended_pose, sequence, *rsd_set );
122 ScoreFunctionOP
scorefxn = ScoreFunctionFactory::create_score_function( RNA_LORES_WTS );
124 RNA_DeNovoProtocolOptionsOP
options(
new RNA_DeNovoProtocolOptions);
125 options->initialize_from_command_line();
128 protocols::farna::RNA_DeNovoProtocol rna_de_novo_protocol( options );
129 if ( native_exists ) rna_de_novo_protocol.set_native_pose( native_pose_OP );
130 rna_de_novo_protocol.set_refine_pose_list( refine_pose_list );
134 pose.constraint_set( cst_set );
135 for (
Size i = 1; i <= refine_pose_list.size(); ++i ) refine_pose_list[i]->constraint_set( cst_set );
140 rna_data_reader.fill_rna_data_info( pose );
143 protocols::viewer::add_conformation_viewer( pose.conformation(),
"current", 600, 600 );
147 rna_de_novo_protocol.apply( pose );
155 core::chemical::ResidueTypeSetCOP rsd_set )
159 if ( input_silent_file.size() > 0 ) {
160 core::import_pose::pose_stream::SilentFilePoseInputStream
input( input_silent_file );
161 input.set_order_by_energy(
true );
162 while ( input.has_another_pose() ) {
164 input.fill_pose( *new_pose, *rsd_set );
165 protocols::farna::set_output_res_and_chain( *new_pose, output_res_and_chain );
166 refine_pose_list.push_back( new_pose );
169 return refine_pose_list;
177 protocols::viewer::clear_conformation_viewers();
184 main(
int argc,
char * argv [] )
189 std::cout << std::endl <<
"Basic usage: " << argv[0] <<
" -fasta <fasta file with sequence> [ -native <native pdb file> ] " << std::endl;
190 std::cout << std::endl <<
" Type -help for full slate of options." << std::endl << std::endl;
255 protocols::viewer::viewer_main(
my_main );
257 std::cout <<
"caught exception " << e.
msg() << std::endl;
int main(int argc, char *argv[])
StringOptionKey const silent("out:file:silent")
RealOptionKey const rna_lores_chainbreak_weight("rna:farna:rna_lores_chainbreak_weight")
RealOptionKey const suppress_bp_constraint("rna:farna:suppress_bp_constraint")
vector1< pose::PoseOP > get_refine_pose_list(std::string const &input_silent_file, std::pair< utility::vector1< int >, utility::vector1< char > > const &output_res_and_chain, core::chemical::ResidueTypeSetCOP rsd_set)
virtual std::string const msg() const
BooleanOptionKey const relax_rna("rna:farna:relax_rna")
RealOptionKey const jump_change_frequency("rna:farna:jump_change_frequency")
BooleanOptionKey const minimize_bps("rna:farna:minimize:minimize_bps")
BooleanOptionKey const bps_moves("rna:farna:bps_moves")
BooleanOptionKey const dump("rna:farna:dump")
IntegerOptionKey const extended_pose
StringOptionKey const jump_library_file("rna:farna:jump_library_file")
BooleanOptionKey const allow_bulge("rna:farna:allow_bulge ")
BooleanOptionKey const filter_chain_closure_halfway("rna:farna:filter_chain_closure_halfway")
BooleanOptionKey const scoring
basic::options::OptionKeys collection
BooleanOptionKey const refine_native
BooleanOptionKey const simple_relax("rna:farna:simple_relax")
FileVectorOptionKey const fasta("in:file:fasta")
Platform independent operations on files (except I/O)
StringOptionKey const vall_torsions
#define runtime_assert(_Expression)
Assert that the condition holds. Evaluated for both debug and release builds.
BooleanOptionKey const allow_consecutive_bulges("rna:farna:allow_consecutive_bulges")
BooleanOptionKey const output_lores_silent_file("rna:farna:output_lores_silent_file")
IntegerVectorOptionKey const extra_minimize_res("rna:farna:minimize:extra_minimize_res")
basic::options::OptionKeys collection
ResidueChainVectorOptionKey const input_res("in:file:input_res")
common derived classes for thrown exceptions
IntegerVectorOptionKey const extra_minimize_chi_res("rna:farna:minimize:extra_minimize_chi_res")
BooleanOptionKey const staged_constraints("rna:farna:staged_constraints")
BooleanOptionKey const heat("rna:farna:heat")
ResidueChainVectorOptionKey const output_res_num
BooleanOptionKey const output_filters("rna:farna:output_filters")
StringOptionKey const refine_silent_file("rna:farna:refine_silent_file")
BooleanOptionKey const farna
StringOptionKey const lores_scorefxn("rna:farna:lores_scorefxn")
BooleanOptionKey const minimize_rna("rna:farna:minimize_rna")
basic::options::OptionKeys collection
BooleanOptionKey const filter_lores_base_pairs_early("rna:farna:filter_lores_base_pairs_early")
StringOptionKey const params_file("rna:farna:params_file")
BooleanOptionKey const ignore_secstruct("rna:farna:ignore_secstruct")
Functions for opening database files.
macros to define options on a per-application basis at the top of app files (those with main) ...
ResidueChainVectorOptionKey const output_res_num("rna:farna:output_res_num")
PathVectorOptionKey const path("in:path")
BooleanOptionKey const sequence
BooleanOptionKey const refine_native("rna:farna:refine_native")
BooleanOptionKey const use_1jj2_torsions("rna:farna:use_1jj2_torsions")
std::vector with 1-based indexing
StringVectorOptionKey const cst_file("constraints:cst_file")
BooleanOptionKey const constraints
BooleanOptionKey const close_loops_after_each_move("rna:farna:close_loops_after_each_move")
basic::options::OptionKeys collection
rule< Scanner, options_closure::context_t > options
BooleanOptionKey const autofilter("rna:farna:autofilter")
BooleanOptionKey const binary_output("rna:farna:binary_output")
BooleanOptionKey const vary_geometry("rna:vary_geometry")
BooleanOptionKey const move_first_rigid_body("rna:farna:move_first_rigid_body")
BooleanOptionKey const close_loops("rna:farna:close_loops")
BooleanOptionKey const filter_lores_base_pairs("rna:farna:filter_lores_base_pairs")
StringOptionKey const weights("score:weights")
FileOptionKey const native("in:file:native")
ocstream cout(std::cout)
Wrapper around std::cout.
BooleanOptionKey const exit("options:exit")
vector1: std::vector with 1-based indexing
IntegerVectorOptionKey const allowed_bulge_res("rna:farna:allowed_bulge_res")
basic::options::OptionKeys collection
BooleanOptionKey const minimizer_use_coordinate_constraints("rna:farna:minimize:minimizer_use_coordinate_constraints")
RealOptionKey const filter_chain_closure_distance("rna:farna:filter_chain_closure_distance")
StringOptionKey const data_file
void init()
set global 'init_was_called' to true
Program options global and initialization function.
BooleanOptionKey const chemical
basic::options::OptionKeys collection
IntegerOptionKey const cycles("rna:farna:cycles")
BooleanOptionKey const root_at_first_rigid_body("rna:farna:root_at_first_rigid_body")
BooleanOptionKey const filter_chain_closure("rna:farna:filter_chain_closure")
RealOptionKey const temperature("rna:farna:temperature")
StringOptionKey const user
StringVectorOptionKey const cst_file
rule< Scanner, option_closure::context_t > option
StringOptionKey const refine_silent_file
RealOptionKey const rna_lores_linear_chainbreak_weight("rna:farna:rna_lores_linear_chainbreak_weight")
IntegerOptionKey const nstruct("out:nstruct")
StringOptionKey const data_file