Revision: 20901
          http://sourceforge.net/p/jmol/code/20901
Author:   hansonr
Date:     2015-12-23 04:18:04 +0000 (Wed, 23 Dec 2015)
Log Message:
-----------
Jmol.___JmolVersion="14.5.1_2015.12.22"

bug fix: PyMOL 1.8 PSE files cannot be read

Modified Paths:
--------------
    trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java
    trunk/Jmol/src/org/jmol/viewer/Jmol.properties

Modified: trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java
===================================================================
--- trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java      
2015-12-23 04:17:37 UTC (rev 20900)
+++ trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java      
2015-12-23 04:18:04 UTC (rev 20901)
@@ -272,8 +272,9 @@
         pymolVersion, haveScenes, baseAtomIndex, baseModelIndex, doCache, 
filePath);
 
     // just log and display some information here
-
-    logging = (vwr.getLogFileName().length() > 0);
+    String logFile = vwr.getLogFileName();
+    logging = (logFile.length() > 0);
+    Logger.info(logging ? "PyMOL file data streaming to " + logFile : "To view 
raw PyMOL file data, use 'set logFile \"some_filename\" ");
     Lst<Object> names = getMapList(map, "names");
     for (Map.Entry<String, Object> e : map.entrySet()) {
       String name = e.getKey();
@@ -333,6 +334,7 @@
     if (!isStateScript && doResize) {
       int width = 0, height = 0;
       try {
+        // not all PSE files have this
         width = intAt(getMapList(map, "main"), 0);
         height = intAt(getMapList(map, "main"), 1);
       } catch (Exception e) {
@@ -1083,6 +1085,7 @@
     int formalCharge = intAt(a, 18);
 
     BS bsReps = getBsReps(listAt(a, 20));
+    int intReps = (bsReps == null ? intAt(a, 20) : 0); // Pymol 1.8      
     int atomColor = intAt(a, 21);
     int serNo = intAt(a, 22);
     int cartoonType = intAt(a, 23);
@@ -1116,7 +1119,7 @@
     if (isNucleic)
       pymolScene.bsNucleic.set(ac);
     for (int i = 0; i < PyMOL.REP_MAX; i++)
-      if (bsReps.get(i))
+      if (bsReps == null ? ((intReps &  (1<<i)) != 0) : bsReps.get(i))
         reps[i].set(ac);
     if (atom.elementSymbol.equals("H"))
       pymolScene.bsHydrogen.set(ac);
@@ -1353,6 +1356,8 @@
   }
 
   private static BS getBsReps(Lst<Object> list) {
+    if (list == null)
+      return null;
     BS bsReps = new BS();
     int n = Math.min(list.size(), PyMOL.REP_MAX);
     for (int i = 0; i < n; i++) {

Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2015-12-23 04:17:37 UTC 
(rev 20900)
+++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2015-12-23 04:18:04 UTC 
(rev 20901)
@@ -62,8 +62,12 @@
 
 TODO: consider if models with no atoms will cause issues in relation to 
model.firstAtomIndex
 
-Jmol.___JmolVersion="14.5.1_2015.12.21"
+Jmol.___JmolVersion="14.5.1_2015.12.22"
 
+bug fix: PyMOL 1.8 PSE files cannot be read
+
+JmolVersion="14.5.1_2015.12.21"
+
 bug fix: color [0xffffff] should not be case-sensitive -- [0Xffffff] should be 
OK
 bug fix: set spin fps ... fails
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
_______________________________________________
Jmol-commits mailing list
Jmol-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to