14 #ifndef INCLUDED_protocols_flxbb_utility_HH
15 #define INCLUDED_protocols_flxbb_utility_HH
24 #include <basic/options/option.hh>
25 #include <basic/options/keys/flxbb.OptionKeys.gen.hh>
44 #include <numeric/xyzVector.hh>
47 #include <basic/Tracer.hh>
49 #include <utility/vector1.hh>
51 static basic::Tracer
TR(
"protocols.flxbb.FlxbbDesign.utility");
87 String tag(
"constraints_in_beta_sheet" );
102 runtime_assert( nres == blueprint->total_residue() );
104 TR <<
"Blueprint file is used for determining constrained residue pairs. " << std::endl;
105 TR <<
"Constrains between CA-CA atoms in sheet are applied for the following residues. " << std::endl;
106 TR <<
"dist=" << condist <<
", coef=" << coef << std::endl;
108 SS_Info2_OP ssinfo =
new SS_Info2( pose, blueprint->secstruct() );
109 StrandPairingSet spairset( blueprint->strand_pairings(), ssinfo );
113 StrandPairing & spair=**it;
114 for(
Size iaa=spair.begin1(); iaa<=spair.end1(); iaa++ ) {
115 Size jaa( spair.residue_pair( iaa ) );
116 TR << iaa <<
' ' << jaa << std::endl;
121 if( basic::options::option[ basic::options::OptionKeys::flxbb::constraints_sheet_include_cacb_pseudotorsion ].value() ){
130 if( spair.orient() ==
'P' ){
134 else if( spair.orient() ==
'A' ){
170 String tag(
"constraint_between_N_&_C_terminal_Calpha" );
178 TR <<
"Constraints between N- and C- terminal: 1-" << nres <<
", dist=" << condist <<
", coef=" << coef << std::endl;
214 for (
Size i=1; i<=nres; ++i ) {
215 char ss( dssp.get_dssp_secstruct( i ) );
216 if( ss ==
'E' && flag ==
false ){
221 if( ss !=
'E' && flag ==
true ){
228 TR <<
"# Constrains between CA-CA atoms in sheet are applied for the following residues " << std::endl;
229 TR <<
"dist=" << condist <<
", coef=" << coef << std::endl;
231 Real condist2 = condist*condist;
241 Size jca = jres.atom_index(
"CA" );
242 Real const dsq( ires.xyz( ica ).distance_squared( jres.xyz( jca ) ));
244 TR << iresid <<
' ' << jresid << std::endl;
269 TR <<
"Residue " << i <<
" (type=" << pose.
residue(i).
name3() <<
") is probably a ligand" << std::endl;
270 retval.push_back( i );