29 #include <utility/pointer/ReferenceCount.hh>
30 #include <utility/string_util.hh>
38 #include <utility/vector1.hh>
57 if (atom_num == 0) atom_num = 1;
60 out <<
"{" << res.
name3() <<
" " << residue_num
61 <<
" " << res.
atom_name(atom_num) <<
" (" << atom_type.
name() <<
")"
66 out <<
" " << atom_xyz.x() <<
" " << atom_xyz.y() <<
" " << atom_xyz.z() <<
"\n";
93 if (atom_name ==
"") {
106 write_virtual_atoms_( false )
116 Size const scaffold_build_point_id,
117 Size const upstream_conf_id,
132 ostr <<
"@" << (
group_ ?
"group" :
"subgroup" ) <<
" { rot" << upstream_conf_id <<
" }";
136 ostr <<
"@vectorlist {";
138 ostr << rsd.
name() <<
" " << scaffold_build_point_id <<
" " << upstream_conf_id;
140 ostr << rsd.
name() <<
" " << scaffold_build_point_id;
142 ostr <<
"} color= " << color;
145 ostr <<
" instance= {" << rsd.
name() <<
" " << scaffold_build_point_id <<
"}";
149 if ( ! is_instance ) {
152 for(core::conformation::Residue::AtomIndices::const_iterator j = nbrs.begin(), end_j = nbrs.end(); j != end_j; ++j) {
154 if(atom_j <= atom_i)
continue;
162 std::string const ptmaster = ( is_H ?
" 'h'" :
"" );
164 print_node( ostr, rsd.seqpos(), atom_j, rsd, tag+ptmaster);
179 DownstreamAlgorithm( 1 ),
180 kinemage_file_name_(
"NO_FILE" ),
183 last_scaffold_build_point_( 0 ),
185 n_downstream_to_output_( 0 ),
186 return_pseudo_hits_( false )
194 DownstreamAlgorithm( 1 ),
195 kinemage_file_name_( fname ),
198 last_scaffold_build_point_( 0 ),
200 n_downstream_to_output_( 0 ),
201 return_pseudo_hits_( false )
210 DownstreamAlgorithm( 1 ),
211 kinemage_file_name_(
"OSTREAM_MODE" ),
214 last_scaffold_build_point_( 0 ),
216 n_downstream_to_output_( 0 ),
217 return_pseudo_hits_( false )
238 Size const scaffold_build_point_id,
239 Size const upstream_conf_id,
243 std::list< Hit > empty_list;
245 writer.
master(
"rotamers" );
249 ostr_ <<
"@title { matcher }\n";
251 ostr_ <<
"@1center " << ctr.x() <<
" " << ctr.y() <<
" " << ctr.z() <<
"\n";
252 ostr_ <<
"@1span 25\n";
259 std::list< Hit > downstream_hits =
match_algorithm_->build( scaffold_build_point_id, upstream_conf_id, rsd );
268 for ( std::list< Hit >::const_iterator
269 iter = downstream_hits.begin(), iter_begin = downstream_hits.begin(),
270 iter_end = downstream_hits.end();
271 iter != iter_end; ++iter ) {
272 writer.
write_rsd_coords(
ostr_, scaffold_build_point_id, upstream_conf_id, rsd, (iter != iter_begin) );
283 if ( ! downstream_hits.empty() ) {
289 return downstream_hits;
299 hit.
first()[ 1 ] = scaffold_build_point_id;
300 hit.
first()[ 2 ] = upstream_conf_id;
301 empty_list.push_back( hit );
328 utility_exit_with_message(
"Cannot invoke WriteUpstreamCoordinateKinemage::hits_to_include_with_partial_match()" );
347 utility_exit_with_message(
"ERROR: Cannot set kinemage file name when in ostream mode" );
375 matches_output_count_( 0 ),
376 use_default_master_( true ),
380 write_virtual_atoms_( false ),
382 kinemage_file_name_(
"NO_FILE" ),
390 matches_output_count_( 0 ),
391 use_default_master_( true ),
395 write_virtual_atoms_( false ),
397 kinemage_file_name_( fname ),
406 matches_output_count_( 0 ),
407 use_default_master_( true ),
411 write_virtual_atoms_( false ),
413 kinemage_file_name_(
"OSTREAM_MODE" ),
469 ostr_ <<
"@kinemage 1\n";
480 utility_exit_with_message(
"ERROR: Cannot set kinemage file name when in ostream mode" );
498 dswriter_->set_downstream_master( master );
565 utility_exit_with_message(
"ERROR: SingleDownstreamResidueWriter must have its residue type initialized!" );
580 ostr <<
"@vectorlist {" <<
restype_->name() <<
" " << hit.
first()[ 1 ] <<
" " << hit.
first()[ 2 ] <<
" " << hit.
first()[ 3 ];
581 ostr <<
"} color= " << color <<
" master= {rotamers}";
583 ostr <<
" master= {" <<
master_ <<
"}";
589 for(core::chemical::AtomIndices::const_iterator j = nbrs.begin(), end_j = nbrs.end(); j != end_j; ++j) {
591 if ( atom_j <= atom_i )
continue;
592 bool const is_H =
restype_->atom_is_hydrogen(atom_j) ||
restype_->atom_is_hydrogen(atom_i);
596 if (
restype_->atom_type( atom_i ).element() ==
"X" ||
restype_->atom_type( atom_j ).element() ==
"X" )
continue;
600 std::string const ptmaster = ( is_H ?
" 'h'" :
"" );