From 63bf2fb690f3842896bc6f7b4f9658dd7b2fa398 Mon Sep 17 00:00:00 2001
From: Gabriel Studer <gabriel.studer@unibas.ch>
Date: Wed, 18 Jan 2023 18:38:47 +0100
Subject: [PATCH] bugfix

---
 modules/mol/alg/pymod/scoring.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/modules/mol/alg/pymod/scoring.py b/modules/mol/alg/pymod/scoring.py
index 5555282b5..a2fd44555 100644
--- a/modules/mol/alg/pymod/scoring.py
+++ b/modules/mol/alg/pymod/scoring.py
@@ -888,7 +888,14 @@ class Scorer:
                     mdl_ch2 = flat_mapping[trg_ch2]
                     aln1 = self.mapping.alns[(trg_ch1, mdl_ch1)]
                     aln2 = self.mapping.alns[(trg_ch2, mdl_ch2)]
-                    res = dockq.DockQ(self.model, self.target, mdl_ch1, mdl_ch2,
+                    # we're operating on the model/target from the MappingResult
+                    # as their ATOMSEQ corresponds to the alignments above.
+                    # Residues that do not contain all atoms required for
+                    # ChainMapper (e.g. N, CA, C, CB) are removed which triggers
+                    # a mismatch error in DockQ
+                    model = self.mapping.model
+                    target = self.mapping.target
+                    res = dockq.DockQ(model, target, mdl_ch1, mdl_ch2,
                                       trg_ch1, trg_ch2, ch1_aln=aln1,
                                       ch2_aln=aln2)
                     if res["nnat"] > 0:
-- 
GitLab