From 34d990ed4f1676dd967f0c4dd8194135a6d09b4a Mon Sep 17 00:00:00 2001
From: Marco Biasini <marco.biasini@unibas.ch>
Date: Thu, 21 Jun 2012 10:59:38 +0200
Subject: [PATCH] do the right thing for incomplete structures

---
 modules/mol/alg/src/local_dist_diff_test.cc | 25 +++++++++------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/modules/mol/alg/src/local_dist_diff_test.cc b/modules/mol/alg/src/local_dist_diff_test.cc
index 91bba2f2b..434d3ccec 100644
--- a/modules/mol/alg/src/local_dist_diff_test.cc
+++ b/modules/mol/alg/src/local_dist_diff_test.cc
@@ -92,22 +92,19 @@ std::pair<long int, long int> calc_overlap1(const ResidueRDMap& res_distance_lis
         continue;
       }    
     }
-
-    AtomView av2=mdl_chain.FindAtom(second_atom.GetResNum(),second_atom.GetAtomName());
+    ResidueView rv2=mdl_chain.FindResidue(second_atom.GetResNum());
     overlap.second+=tol_list.size();
-    int rindex1=0, rindex2=0;
-    if (av1) {
-      rindex1=av1.GetResidue().GetIndex();
-      if (!only_fixed)
-        overlap_list[rindex1].second+=tol_list.size();
-    }
-
-    if (av2) {
-      rindex2=av2.GetResidue().GetIndex();
-      if (!only_fixed)
-        overlap_list[rindex2].second+=tol_list.size();
-
+    int rindex2=0;
+    int rindex1=mdl_res.GetIndex();
+    if (!only_fixed)
+      overlap_list[rindex1].second+=tol_list.size();
+    if (!rv2) {
+      continue;
     }
+    rindex2=rv2.GetIndex();
+    if (!only_fixed)
+      overlap_list[rindex2].second+=tol_list.size();
+    AtomView av2=rv2.FindAtom(second_atom.GetAtomName());
     if (!(av1 && av2)) {
       continue;
     }
-- 
GitLab