From 53fc5c9b2be9a8d8b415731402c194916c6563cd Mon Sep 17 00:00:00 2001
From: Gabriel Studer <gabriel.studer@unibas.ch>
Date: Thu, 25 May 2023 15:42:27 +0200
Subject: [PATCH] BUGFIX: FindResidue with a ost.mol.ResNum containing ins code

An ins code in the search ResNum caused a jump to the next residue.
The assertion that should've catched this is optimized away with -O3.
The new behaviour returns an invalid residue if the exact ResNum
(including ins code) is not present in these cases.
---
 modules/mol/base/src/impl/chain_impl.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/modules/mol/base/src/impl/chain_impl.cc b/modules/mol/base/src/impl/chain_impl.cc
index ca2aeaad7..adf5aeb8b 100644
--- a/modules/mol/base/src/impl/chain_impl.cc
+++ b/modules/mol/base/src/impl/chain_impl.cc
@@ -409,7 +409,9 @@ int ChainImpl::GetIndexForResNumInSequence(const ResNum& number) const
   if (pos<0 || pos>=static_cast<int>(residue_list_.size())) {
     return -1;
   }
-  assert(residue_list_[pos]->GetNumber()==number);
+
+  if(residue_list_[pos]->GetNumber()!=number) return -1;
+
   return pos;
 }
 
-- 
GitLab