diff --git a/source/src/apps/public/ddg/cartesian_ddg.cc b/source/src/apps/public/ddg/cartesian_ddg.cc index 3f7f2369195..cff8a936ab4 100644 --- a/source/src/apps/public/ddg/cartesian_ddg.cc +++ b/source/src/apps/public/ddg/cartesian_ddg.cc @@ -41,6 +41,8 @@ #include #include #include +#include +#include //Auto Headers #include @@ -315,6 +317,16 @@ main( int argc, char * argv [] ) //interface mode? setting = jump number to use for interface Size interface_ddg = option[ OptionKeys::ddg::interface_ddg ].value(); + if ( option[ OptionKeys::ddg::interface ].user() ) { + std::string interface_str = option[ OptionKeys::ddg::interface ].value(); + protocols::docking::DockJumps movable_jumps; + protocols::docking::setup_foldtree( pose, interface_str, movable_jumps ); + if ( movable_jumps.size() > 0 ) { + interface_ddg = movable_jumps[1]; + TR << "Setting interface jump to " << interface_ddg << " from string " << interface_str << std::endl; + } + } + //fd try to be smart .. look for interchain jump if ( interface_ddg > pose.num_jump() ) { for ( int i=1; i<=(int)pose.fold_tree().num_jump(); ++i ) { diff --git a/source/src/basic/options/options_rosetta.py b/source/src/basic/options/options_rosetta.py index 6a11697e848..f6ea793c753 100755 --- a/source/src/basic/options/options_rosetta.py +++ b/source/src/basic/options/options_rosetta.py @@ -5424,6 +5424,7 @@ Option('initial_repack','Boolean',default='false'), # Option('rb_file','String'), Option('interface_ddg','Integer',default='0', desc='Calculate ddGs across an interface? Uses jump # specified for determining interface.'), + Option('interface', 'String', default='', desc="Interface definition (e.g. 'AB_HL' for chains A,B vs H,L). Overrides interface_ddg jump number if specified." ), Option('ens_variation', 'Real', default='0.5'), Option('sc_min_only','Boolean',default='true'), Option('rna_all_prot_sc_min_only','Boolean',default='false'),