From 7951fac56df0ee03b2691345a2f473a784196edf Mon Sep 17 00:00:00 2001
From: Ansgar Philippsen <ansgar.philippsen@gmail.com>
Date: Wed, 1 Dec 2010 14:09:19 -0500
Subject: [PATCH] tweaks to gfx trace connectivity; fixed dcd loader error
 message

---
 modules/gfx/src/impl/backbone_trace.cc |  2 ++
 modules/io/src/mol/dcd_io.cc           | 10 ++++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/modules/gfx/src/impl/backbone_trace.cc b/modules/gfx/src/impl/backbone_trace.cc
index 2a0315380..e3a14b7a7 100644
--- a/modules/gfx/src/impl/backbone_trace.cc
+++ b/modules/gfx/src/impl/backbone_trace.cc
@@ -38,6 +38,8 @@ bool in_sequence(const mol::ResidueHandle& r1, const mol::ResidueHandle& r2)
   if(n2.GetInsCode()!='\0') {
     if(n1.NextInsertionCode()==n2) return true;
   }
+  if(mol::InSequence(r1,r2)) return true;
+  // perhaps this fallback is not so good...
   if(n1.GetNum()+1==n2.GetNum()) return true;
   return false;
 }
diff --git a/modules/io/src/mol/dcd_io.cc b/modules/io/src/mol/dcd_io.cc
index bc36cb93f..15e056daf 100644
--- a/modules/io/src/mol/dcd_io.cc
+++ b/modules/io/src/mol/dcd_io.cc
@@ -188,12 +188,18 @@ mol::CoordGroupHandle load_dcd(const mol::AtomHandleList& alist2,
                                const String& trj_fn,
                                unsigned int stride)
 {
+  std::ifstream istream(trj_fn.c_str(), std::ios::binary);
+  if(!istream) {
+    std::ostringstream msg;
+    msg << "LoadCHARMMTraj: cannot open " << trj_fn;
+    throw(IOException(msg.str()));
+  }
   Profile profile_load("LoadCHARMMTraj");
 
   mol::AtomHandleList alist(alist2);
   std::sort(alist.begin(),alist.end(),less_index);
   
-  std::ifstream istream(trj_fn.c_str(), std::ios::binary);
+  
   DCDHeader header; 
   bool swap_flag=false, skip_flag=false, gap_flag=false;
   read_dcd_header(istream, header, swap_flag, skip_flag, gap_flag);
@@ -315,7 +321,7 @@ mol::CoordGroupHandle LoadCHARMMTraj(const mol::EntityHandle& ent,
     DCDCoordSource* source=new DCDCoordSource(alist, trj_fn, stride);
     return mol::CoordGroupHandle(DCDCoordSourcePtr(source));
   }
-    LOG_INFO("Importing CHARMM trajectory with lazy_load=false");  
+  LOG_INFO("Importing CHARMM trajectory with lazy_load=false");  
   return load_dcd(alist, trj_fn, stride);
 }
 
-- 
GitLab