35 #include <basic/Tracer.hh>
36 #include <utility/excn/Exceptions.hh>
37 #include <basic/options/option.hh>
38 #include <basic/options/keys/in.OptionKeys.gen.hh>
41 #include <utility/vector1.hh>
47 static basic::Tracer
tr(
"protocols.topo_broker",basic::t_info);
50 namespace topology_broker {
54 sequence_(
"NO_SEQUENCE" ),
55 rsd_type_set_( core::chemical::
CENTROID ),
61 rsd_type_set_( rsd_type_set_identifier ),
77 tr.Info <<
"make pose from sequence: " << str << std::endl;
81 *( chemical::ChemicalManager::get_instance()->residue_type_set(
rsd_type_set_ ))
107 for ( DofClaims::const_iterator it = init_claims.begin(), eit = init_claims.end();
109 if ( (*it)->owner()==this ) {
111 tr.Trace <<
"SequenceClaimer: 1-residue chain --- no need to init: " << **it << std::endl;
114 tr.Trace <<
"SequenceClaimer: can't handle " << **it << std::endl;
115 failed_to_init.push_back( *it );
143 *( chemical::ChemicalManager::get_instance()->residue_type_set(
rsd_type_set_ ))
156 if ( tag ==
"file" || tag ==
"FILE" || tag ==
"file:" ) {
159 }
else if ( tag ==
"DEF" ) {
160 while ( is >> tag && tag !=
"END_DEF" ) {
165 copy( tag.begin(), tag.end(), std::back_inserter(
sequence_ ) );
168 if ( tag !=
"END_DEF" ) {
169 throw EXCN_Input(
"END_DEF expected after DEF while reading sequence" );
171 }
else if ( tag ==
"CMD_FLAG" ) {
172 using namespace basic::options;
173 using namespace basic::options::OptionKeys;
174 if ( option[ in::file::fasta ].user() ) {
176 tr.Info <<
"read fasta sequence: " <<
sequence_.size() <<
" residues\n" <<
sequence_ << std::endl;
178 throw EXCN_Input(
"SequenceClaimer found tag CMD_FLAG but no -in:file:fasta on command-line");