From 3d63757374571c24567a2b66b6056dff502e7172 Mon Sep 17 00:00:00 2001 From: Xavier Robin <xavier.robin@unibas.ch> Date: Mon, 3 Jul 2023 16:27:37 +0200 Subject: [PATCH] fix: ignore invalid charge with fault_tolerant --- modules/io/src/mol/pdb_reader.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/io/src/mol/pdb_reader.cc b/modules/io/src/mol/pdb_reader.cc index 930ffbcf4..ee9cb18ed 100644 --- a/modules/io/src/mol/pdb_reader.cc +++ b/modules/io/src/mol/pdb_reader.cc @@ -737,10 +737,15 @@ void PDBReader::ParseAndAddAtom(const StringRef& line, int line_num, if(charge.first) { if(line[79] != '-' && line[79] != '+') { std::stringstream ss; - ss << "error on line " << line_num << ": " - << "expect charge in format 1+, 2-, etc. got: " + ss << "invalid charge on line " << line_num << ": " + << "expected 1+, 2-, etc. got: " << line.substr(78, 2); - throw IOException(ss.str()); + if (profile_.fault_tolerant) { + LOG_WARNING(ss.str()); + charge.first = 0.0; + } else { + throw IOException(ss.str()); + } } if(line[79] == '-') charge.second *= (-1); } -- GitLab