From 7d7258c923bf181043980e17e6e3276ad1561352 Mon Sep 17 00:00:00 2001
From: Gabriel Studer <gabriel.studer@unibas.ch>
Date: Mon, 28 Nov 2022 18:32:18 +0100
Subject: [PATCH] bugfix

---
 modules/mol/alg/pymod/scoring.py | 30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/modules/mol/alg/pymod/scoring.py b/modules/mol/alg/pymod/scoring.py
index 9da83733d..9c69bb007 100644
--- a/modules/mol/alg/pymod/scoring.py
+++ b/modules/mol/alg/pymod/scoring.py
@@ -1136,14 +1136,15 @@ class Scorer:
         full_trg_coverage = True
         trg_patch_one = self.target.CreateEmptyView()
         for r in mdl_patch_one.residues:
-            mdl_cname = r.GetChain().GetName()
-            aln = self.mapping.alns[(flat_mapping[mdl_cname], mdl_cname)]
             trg_r = None
-            for col in aln:
-                if col[0] != '-' and col[1] != '-':
-                    if col.GetResidue(1).GetNumber() == r.GetNumber():
-                        trg_r = col.GetResidue(0)
-                        break
+            mdl_cname = r.GetChain().GetName()
+            if mdl_cname in flat_mapping:
+                aln = self.mapping.alns[(flat_mapping[mdl_cname], mdl_cname)]
+                for col in aln:
+                    if col[0] != '-' and col[1] != '-':
+                        if col.GetResidue(1).GetNumber() == r.GetNumber():
+                            trg_r = col.GetResidue(0)
+                            break
             if trg_r is not None:
                 trg_patch_one.AddResidue(trg_r.handle,
                                          mol.ViewAddFlag.INCLUDE_ALL)
@@ -1152,14 +1153,15 @@ class Scorer:
     
         trg_patch_two = self.target.CreateEmptyView()
         for r in mdl_patch_two.residues:
-            mdl_cname = r.GetChain().GetName()
-            aln = self.mapping.alns[(flat_mapping[mdl_cname], mdl_cname)]
             trg_r = None
-            for col in aln:
-                if col[0] != '-' and col[1] != '-':
-                    if col.GetResidue(1).GetNumber() == r.GetNumber():
-                        trg_r = col.GetResidue(0)
-                        break
+            mdl_cname = r.GetChain().GetName()
+            if mdl_cname in flat_mapping:
+                aln = self.mapping.alns[(flat_mapping[mdl_cname], mdl_cname)]
+                for col in aln:
+                    if col[0] != '-' and col[1] != '-':
+                        if col.GetResidue(1).GetNumber() == r.GetNumber():
+                            trg_r = col.GetResidue(0)
+                            break
             if trg_r is not None:
                 trg_patch_two.AddResidue(trg_r.handle,
                                          mol.ViewAddFlag.INCLUDE_ALL)
-- 
GitLab