From 46925c8804e63615f4d733c07b1447744067a8f6 Mon Sep 17 00:00:00 2001 From: Jannis de Riz Date: Thu, 12 Feb 2026 20:08:42 +0100 Subject: [PATCH 1/2] feat: Add an `interface` option to `cartesian_ddg`/ options_rosetta.py for defining the interface via a string AB_HL in line with other apps, overriding the `interface_ddg` jump number. --- source/src/apps/public/ddg/cartesian_ddg.cc | 12 ++++++++++++ source/src/basic/options/options_rosetta.py | 1 + 2 files changed, 13 insertions(+) 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'), From c46612a2ccdbd8e0ee49cc39f63c67e3884fbfcb Mon Sep 17 00:00:00 2001 From: Rocco Moretti Date: Tue, 7 Jul 2026 17:07:12 -0500 Subject: [PATCH 2/2] Fix compilation post-merge. --- source/src/apps/public/ddg/cartesian_ddg.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/src/apps/public/ddg/cartesian_ddg.cc b/source/src/apps/public/ddg/cartesian_ddg.cc index cff8a936ab4..da27d701748 100644 --- a/source/src/apps/public/ddg/cartesian_ddg.cc +++ b/source/src/apps/public/ddg/cartesian_ddg.cc @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -320,7 +321,7 @@ main( int argc, char * argv [] ) 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 ); + protocols::docking::setup_foldtree( pose, core::pose::DockingPartners::docking_partners_from_string(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;