From e939008d2337dc3e36fffd090eb85899714979f3 Mon Sep 17 00:00:00 2001
From: Marco Biasini <marco.biasini@unibas.ch>
Date: Fri, 15 Oct 2010 09:10:43 +0200
Subject: [PATCH] also read element column in charmm pdb import mode

---
 modules/io/src/mol/pdb_reader.cc | 36 +++++++++++++++-----------------
 1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/modules/io/src/mol/pdb_reader.cc b/modules/io/src/mol/pdb_reader.cc
index 909a4ec75..6fad3dc2c 100644
--- a/modules/io/src/mol/pdb_reader.cc
+++ b/modules/io/src/mol/pdb_reader.cc
@@ -456,26 +456,24 @@ void PDBReader::ParseAndAddAtom(const StringRef& line, int line_num,
   }
   LOG_TRACE( "line: [" << line << "]" );
   String s_ele;
-  if (!(PDB::Flags() & PDB::CHARMM_FORMAT)) {
-    // determine element from element column (77-78, right justified) if 
-    // present otherwise set to empty String. It is up to the builder to 
-    // determine the correct element in that case.
-    if (line.length()>=78) {                       // element column present
-      if(line[76]==' ' && line[77]==' ') {         // both characters are empty
-        s_ele="";                                  
-      } else if(line[76]!=' ' || line[77]!=' ') {  // at least one character not
-                                                   // empty
-        if(line[76]==' ' && line[77]!=' ') {       // single character element,
-                                                   // right justified
-          s_ele=line.substr(77,1).str();           
-        } else if(line[76]!=' ' && line[77]==' ') {// single character element,
-                                                   // left justified
-          s_ele=line.substr(76,1).str();           
-        } else {                                   // Real character element
-          s_ele=line.substr(76,2).str();            
-        }
+  // determine element from element column (77-78, right justified) if 
+  // present otherwise set to empty String. It is up to the builder to 
+  // determine the correct element in that case.
+  if (line.length()>=78) {                       // element column present
+    if(line[76]==' ' && line[77]==' ') {         // both characters are empty
+      s_ele="";                                  
+    } else if(line[76]!=' ' || line[77]!=' ') {  // at least one character not
+                                                 // empty
+      if(line[76]==' ' && line[77]!=' ') {       // single character element,
+                                                 // right justified
+        s_ele=line.substr(77,1).str();           
+      } else if(line[76]!=' ' && line[77]==' ') {// single character element,
+                                                 // left justified
+        s_ele=line.substr(76,1).str();           
+      } else {                                   // Real character element
+        s_ele=line.substr(76,2).str();            
       }
-    }  
+    }
   }
   String aname(atom_name.str());  
   // some postprocessing
-- 
GitLab