From a33c9c6a1f33d32a522a76a08448efba81e2b9f6 Mon Sep 17 00:00:00 2001 From: mabr3112 Date: Sat, 4 Jul 2026 15:51:11 +0200 Subject: [PATCH 1/3] fixed bug that caused runner failure when setting remap_motifs=True without specifying motif_cols. Now the failure is explicit as to why it failed. --- protflow/tools/rfdiffusion3.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/protflow/tools/rfdiffusion3.py b/protflow/tools/rfdiffusion3.py index 6967526..53cd23c 100644 --- a/protflow/tools/rfdiffusion3.py +++ b/protflow/tools/rfdiffusion3.py @@ -2059,6 +2059,10 @@ def remap_rfd3_motifs(poses: Poses, motifs: list[str], prefix: str, strict: bool strict=False, ) """ + # safety + if not motifs: + logging.info("Remap_rfd3_motifs did not receive any motifs to remap. Skipping remap.") + return diff_index_map_name = f"{prefix}_diffused_index_map" ligand_map_name = f"{prefix}_ligand_renumbering_map" From d844339ff3e4ae4908db2bd5b7512e2e365b015e Mon Sep 17 00:00:00 2001 From: mabr3112 Date: Sat, 4 Jul 2026 15:51:18 +0200 Subject: [PATCH 2/3] fixed bug that caused runner failure when setting remap_motifs=True without specifying motif_cols. Now the failure is explicit as to why it failed. --- protflow/tools/rfdiffusion3.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/protflow/tools/rfdiffusion3.py b/protflow/tools/rfdiffusion3.py index 53cd23c..1425f1e 100644 --- a/protflow/tools/rfdiffusion3.py +++ b/protflow/tools/rfdiffusion3.py @@ -1113,6 +1113,12 @@ def identify_checkpoint(model): if not multiplex_poses: multiplex_poses = 1 + + if update_motifs: + if not isinstance(update_motifs, list): + raise ValueError(f"Parameter update_motifs must contain list of pose_cols! update_motifs: {update_motifs}") + if not all(isinstance(item, str) for item in update_motifs): + raise ValueError(f"Parameter update_motifs must contain list of pose_cols! update_motifs: {update_motifs}") # update index layers as RFD3 adds 3 layers (later removed via reindexing) index_layers = self.index_layers + 2 @@ -2059,11 +2065,6 @@ def remap_rfd3_motifs(poses: Poses, motifs: list[str], prefix: str, strict: bool strict=False, ) """ - # safety - if not motifs: - logging.info("Remap_rfd3_motifs did not receive any motifs to remap. Skipping remap.") - return - diff_index_map_name = f"{prefix}_diffused_index_map" ligand_map_name = f"{prefix}_ligand_renumbering_map" col_in_df(poses.df, diff_index_map_name) From 964da5d4a983f54043e709b532fb6ef3c1388dce Mon Sep 17 00:00:00 2001 From: mabr3112 Date: Mon, 6 Jul 2026 23:05:11 +0200 Subject: [PATCH 3/3] hotfix for rfdiffusion3 runner --- protflow/tools/rfdiffusion3.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protflow/tools/rfdiffusion3.py b/protflow/tools/rfdiffusion3.py index 1425f1e..1a7a5f6 100644 --- a/protflow/tools/rfdiffusion3.py +++ b/protflow/tools/rfdiffusion3.py @@ -1113,7 +1113,7 @@ def identify_checkpoint(model): if not multiplex_poses: multiplex_poses = 1 - + if update_motifs: if not isinstance(update_motifs, list): raise ValueError(f"Parameter update_motifs must contain list of pose_cols! update_motifs: {update_motifs}")