From 80a53a5f3982a341bde267411c4ab2332cdfa627 Mon Sep 17 00:00:00 2001
From: Xavier Robin <xavalias-github@xavier.robin.name>
Date: Thu, 6 Jun 2024 10:30:47 +0200
Subject: [PATCH] test: SCHWED-6331 support for ? and . too

---
 modules/io/src/mol/mmcif_reader.cc | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/modules/io/src/mol/mmcif_reader.cc b/modules/io/src/mol/mmcif_reader.cc
index 9ab20c5e2..932d065ab 100644
--- a/modules/io/src/mol/mmcif_reader.cc
+++ b/modules/io/src/mol/mmcif_reader.cc
@@ -1702,12 +1702,15 @@ void MMCifReader::ParseStructRefSeqDif(const std::vector<StringRef>& columns)
  	 	         "pdbx_seq_db_seq_num");
  	 	 return;
   }
+
   std::pair<bool,int> seq_rnum;
   if (indices_[SRSD_SEQ_RNUM] != -1) {
-    seq_rnum=this->TryGetInt(columns[indices_[SRSD_SEQ_RNUM]],
-                             "_struct_ref_seq_dif.seq_num",
-                             profile_.fault_tolerant);
-    
+    StringRef col = columns[indices_[SRSD_SEQ_RNUM]];
+    if (col.size()!=1 || (col[0]!='?' && col[0]!='.')) {
+      seq_rnum=this->TryGetInt(col,
+                               "_struct_ref_seq_dif.seq_num",
+                               profile_.fault_tolerant);
+    }
   }
   if (!seq_rnum.first) {
  	 	LOG_INFO("Ignoring struct_ref_seq_dif with missing data item "
-- 
GitLab