20 #include <basic/options/option.hh>
21 #include <basic/options/keys/in.OptionKeys.gen.hh>
22 #include <basic/Tracer.hh>
39 #include <utility/tag/Tag.hh>
40 #include <utility/vector1.hh>
43 #include <utility/vector0.hh>
46 static basic::Tracer
TR(
"protocols.toolbox.task_operations.JointSequenceOperation");
50 namespace task_operations{
61 use_current_pose_(true),
110 for( std::vector<core::sequence::SequenceOP>::const_iterator iter(
sequences_.begin()); iter !=
sequences_.end(); iter++ ) {
111 if( (*iter)->length() != seq_length ) {
116 TR.Warning <<
"WARNING: considered sequence " << (*iter)->id() <<
" contains a different number of residues than " << name << std::endl;
124 int na_ii = ii - start + 1;
132 if( pose.
aa(ii) <= allowed.size() ) allowed[ pose.
aa(ii) ] =
true;
134 for( std::vector<core::sequence::SequenceOP>::const_iterator iter(
sequences_.begin()); iter !=
sequences_.end(); iter++ ) {
136 char aa( (*(*iter))[ na_ii ] );
156 use_natro( tag->getOption<
bool >(
"use_natro",
false ) );
161 if( tag->getOption<
bool >(
"use_native",
false )) {
162 if( basic::options::option[ basic::options::OptionKeys::in::file::native ].user() ) {
163 add_native_pdb( basic::options::option[ basic::options::OptionKeys::in::file::native ] );
166 utility_exit_with_message(
"Native PDB not specified on command line.");
170 if( tag->getOption<
bool >(
"use_starting_as_native",
false )) {
175 if( tag->hasOption(
"filename") ){
178 if( tag->hasOption(
"native") ){
182 if ( tag->getOption<
bool >(
"use_fasta",
false )) {
184 if( basic::options::option[ basic::options::OptionKeys::in::file::fasta ].user() ) {
189 utility_exit_with_message(
"Native FASTA file not specified on command line.");
199 use_current_pose( def[
"use_current"] ? def[
"use_current"].to<bool>() :
true );
200 use_natro( def[
"use_natro"] ? def[
"use_natro"].to<bool>() :
false );
205 if( def[
"use_native"] && def[
"use_native"].to<bool>() == false ) {
206 if( basic::options::option[ basic::options::OptionKeys::in::file::native ].user() ) {
207 add_native_pdb( basic::options::option[ basic::options::OptionKeys::in::file::native ] );
210 utility_exit_with_message(
"Native PDB not specified on command line.");
214 if( def[
"use_starting_as_native"] && def[
"use_starting_as_native"].to<bool>() ==
false ) {
219 if( def[
"filename"] ) {
220 add_pdb( def[
"filename"].to<std::string>() );
222 if( def[
"native"] ) {
226 if( def[
"use_fasta"] && def[
"use_fasta"].to<bool>() ==
false ) {
228 if( basic::options::option[ basic::options::OptionKeys::in::file::fasta ].user() ) {
233 utility_exit_with_message(
"Native FASTA file not specified on command line.");
249 TR <<
"taking only chain " <<
chain_ << std::endl;
283 ubr_->add_pose(posecop);