Revision: 21454
          http://sourceforge.net/p/jmol/code/21454
Author:   hansonr
Date:     2017-03-25 22:38:54 +0000 (Sat, 25 Mar 2017)
Log Message:
-----------
Jmol.___JmolVersion="14.10.0" // released 3/25/2017

new feature: x = {*}.find(smartsString,"map")
 -- returns an array of arrays of atom indices (0-based)
 -- indicates exact correlation between atoms in {*} and atoms of smartsString
 -- only unique sets of atoms are found, not every possibility
 -- for example:
 
      load $caffeine
      print {*}.find("*1*****1", "map").format("JSON")

        [ [ 0,2,4,6,11,12 ] ]

new feature: SELECT @x  where x is an array of integers or array of array of 
integers
 -- selects atoms from array rather than from a bitset
 -- note that variable must be used, as SELECT [1,2,3] would look for PDB group 
"1,2,3"
 -- for example:

      load $caffeine
      x = {*}.find("*1*****1", "map")[0]
      select @x
      
        6 atoms selected

new feature: DRAW polygon @face @points 
 -- draws a filled polygon based on arrays of atom indices
 -- @face is an array of integers, not necessarily wound correctly
 -- @points is an atom bitset or an array of points (optional, defaults to {*}
 -- for example:

          load $p4
          x = {*}.find("*1**1","map");
          draw ID p4r polygon @{x[1]} color red
          draw ID p4b polygon @{x[2]} color blue
          draw ID p4y polygon @{x[3]} color yellow
          draw ID p4g polygon @{x[4]} color green


new feature: DRAW polyhedron @faces @points 
 -- draws sets of polygons based on arrays of atom indices
 -- @faces is an array of array of integers, not necessarily wound correctly
 -- @points is an atom bitset or an array of points (optional, defaults to {*}
 -- for example:

          load $caffeine
          draw polyhedron @{{*}.find("*1****1||*1*****1","map")}

          load $p4
          draw ID p polyhedron @{{*}.find("*1**1","map")} color red

new feature: POLYHEDRON ID xxx @faces @points
 -- @faces is an array of array of integers, not necessarily wound correctly
 -- @points is an atom bitset or an array of points (optional, defaults to {*}

          load $p4
          polyhedra ID p4 @{{*}.find("*1**1","map")}
        
new feature: 4-order bond in MOL file using 14 for bond order
 -- Jmol extension for MOL file format to allow 4-bond
 -- example: [Re2Cl8](2-)
 -- see https://en.wikipedia.org/wiki/Quadruple_bond
 
new feature: 5-order bond in MOL file using 15 for bond order
 -- Jmol extension for MOL file format to allow 5-bond
 -- example: [Mo2Cl8](4-)
 -- see https://en.wikipedia.org/wiki/Quintuple_bond 

new feature: 6-order bond in MOL file using 16 for bond order
 -- Jmol extension for MOL file format to allow 6-bond
 -- example: Mo2
 -- see https://en.wikipedia.org/wiki/Sextuple_bond 

new feature: load "=xxxx/dssr--xxx=yyy"
 -- allows adding specialized options to dssr
 -- --xxx=yyy added on to &opt= search item
 
bug fix: DSSR fix for multi-model PDB file
bug fix: DSSR - 4fe5 HPA ligand causes set backboneSteps true to fail
bug fix: EXIT command with -n command line flag does not exit Jmol
bug fix: echo renderer may not show correct font size
bug fix: POLYHEDRA ID id OFFSET {x y z} broken
bug fix: ScriptManager debug output being sent even if -i (silent) command line 
option set.

Modified Paths:
--------------
    trunk/Jmol/src/org/jmol/dssx/DSSR1.java
    trunk/Jmol/src/org/jmol/modelsetbio/BasePair.java
    trunk/Jmol/src/org/jmol/script/ScriptEval.java
    trunk/Jmol/src/org/jmol/viewer/JC.java
    trunk/Jmol/src/org/jmol/viewer/Jmol.properties
    trunk/Jmol/src/org/jmol/viewer/Viewer.java

Modified: trunk/Jmol/src/org/jmol/dssx/DSSR1.java
===================================================================
--- trunk/Jmol/src/org/jmol/dssx/DSSR1.java     2017-03-25 20:45:05 UTC (rev 
21453)
+++ trunk/Jmol/src/org/jmol/dssx/DSSR1.java     2017-03-25 22:38:54 UTC (rev 
21454)
@@ -286,6 +286,8 @@
   }
 
   private NucleicMonomer setRes(Atom atom) {
+    if (atom.group.getBioPolymerLength() == 0)
+      return  null;
     NucleicMonomer m = (NucleicMonomer) atom.group;
     ((NucleicPolymer) m.bioPolymer).isDssrSet = true;
     return m;

Modified: trunk/Jmol/src/org/jmol/modelsetbio/BasePair.java
===================================================================
--- trunk/Jmol/src/org/jmol/modelsetbio/BasePair.java   2017-03-25 20:45:05 UTC 
(rev 21453)
+++ trunk/Jmol/src/org/jmol/modelsetbio/BasePair.java   2017-03-25 22:38:54 UTC 
(rev 21454)
@@ -13,6 +13,8 @@
 
   public static BasePair add(Map<String, Object> info, NucleicMonomer g1,
                          NucleicMonomer g2) {
+    if (g1 == null || g2 == null)
+      return null; // can happen if one of DSSR pair is not a monomer (HPA in 
4fe5) 
     BasePair bp = new BasePair();
     bp.info = info;
     (bp.g1 = g1).addBasePair(bp);

Modified: trunk/Jmol/src/org/jmol/script/ScriptEval.java
===================================================================
--- trunk/Jmol/src/org/jmol/script/ScriptEval.java      2017-03-25 20:45:05 UTC 
(rev 21453)
+++ trunk/Jmol/src/org/jmol/script/ScriptEval.java      2017-03-25 22:38:54 UTC 
(rev 21454)
@@ -4640,7 +4640,7 @@
         filename = filename.substring(0, pt);
         if ((pt = filename.indexOf(".")) >= 0)
           filename = filename.substring(0, pt);
-        if (JC.PDB_ANNOTATIONS.indexOf(";" + ext + ";") >= 0) {
+        if (JC.PDB_ANNOTATIONS.indexOf(";" + ext + ";") >= 0 || 
ext.startsWith("dssr--")) {
           if (filename.startsWith("="))
             filename += ".cif";
           filenames = (ext.equals("all") ? new String[] { filename,

Modified: trunk/Jmol/src/org/jmol/viewer/JC.java
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/JC.java      2017-03-25 20:45:05 UTC (rev 
21453)
+++ trunk/Jmol/src/org/jmol/viewer/JC.java      2017-03-25 22:38:54 UTC (rev 
21454)
@@ -66,7 +66,7 @@
     "cod", 
"http://www.crystallography.net/cod/cif/%c1/%c2%c3/%c4%c5/%FILE.cif";,
     "nmr", "http://www.nmrdb.org/new_predictor?POST?molfile=";,
     "nmrdb", "http://www.nmrdb.org/service/predictor?POST?molfile=";,
-    "nmrdb13", "http://www.nmrdb.org/service/jsmol13c?POST?molfile=";,
+    "nmrdb13", "http://www.nmrdb.o  rg/service/jsmol13c?POST?molfile=",
     //"pdb", 
"http://ftp.wwpdb.org/pub/pdb/data/structures/divided/pdb/%c2%c3/pdb%file.ent.gz";,
 // new Jmol 14.5.0 10/28/2015
     "magndata", "http://webbdcrista1.ehu.es/magndata/mcif/%FILE.mcif";,
     "mmtf", "https://mmtf.rcsb.org/full/%FILE";, // new Jmol 14.5.4 4/2016
@@ -126,6 +126,7 @@
   public final static String copyright = "(C) 2015 Jmol Development";
   
   public final static String version;
+  public static String majorVersion;
   public final static String date;
   public final static int versionInt;
 
@@ -150,8 +151,11 @@
         bis = new BufferedInputStream(is);
         Properties props = new Properties();
         props.load(bis);
-        tmpVersion = PT.trimQuotes(props.getProperty("Jmol.___JmolVersion",
-            tmpVersion));
+        String s = props.getProperty("Jmol.___JmolVersion",
+            tmpVersion);
+        if (s != null && s.lastIndexOf("\"") > 0)
+          s = s.substring(0, s.lastIndexOf("\"") + 1);
+        tmpVersion = PT.trimQuotes(s);
         tmpDate = PT.trimQuotes(props.getProperty("Jmol.___JmolDate", 
tmpDate));
       } catch (Exception e) {
         // Nothing to do
@@ -180,11 +184,13 @@
       //  012345678901234567890123456789
     }
     version = (tmpVersion != null ? tmpVersion : "(Unknown_version)");
+    majorVersion = (tmpVersion != null ? tmpVersion : "(Unknown_version)");
     date = (tmpDate != null ? tmpDate : "(Unknown_date)");
     // 11.9.999 --> 1109999
     int v = -1;
     try {
       String s = version;
+      String major = "";
       // Major number
       int i = s.indexOf(".");
       if (i < 0) {
@@ -192,7 +198,7 @@
         s = null;
       }
       if (s != null) {
-        v = 100000 * Integer.parseInt(s.substring(0, i));
+        v = 100000 * Integer.parseInt(major = s.substring(0, i));
 
         // Minor number
         s = s.substring(i + 1);
@@ -202,7 +208,10 @@
           s = null;
         }
         if (s != null) {
-          v += 1000 * Integer.parseInt(s.substring(0, i));
+          String m = s.substring(0, i);
+          major += "." + m;
+          majorVersion = major;
+          v += 1000 * Integer.parseInt(m);
 
           // Revision number
           s = s.substring(i + 1);

Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2017-03-25 20:45:05 UTC 
(rev 21453)
+++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2017-03-25 22:38:54 UTC 
(rev 21454)
@@ -121,7 +121,12 @@
  -- example: Mo2
  -- see https://en.wikipedia.org/wiki/Sextuple_bond 
 
+new feature: load "=xxxx/dssr--xxx=yyy"
+ -- allows adding specialized options to dssr
+ -- --xxx=yyy added on to &opt= search item
+ 
 bug fix: DSSR fix for multi-model PDB file
+bug fix: DSSR - 4fe5 HPA ligand causes set backboneSteps true to fail
 bug fix: EXIT command with -n command line flag does not exit Jmol
 bug fix: echo renderer may not show correct font size
 bug fix: POLYHEDRA ID id OFFSET {x y z} broken
@@ -7631,7 +7636,7 @@
 new feature: set backboneSteps TRUE
  -- draws base pair steps between dssr-identified base pairs
    
-TO HERE
+>>>>> TO HERE
 
 TRANSCRIPTION/DNA                       06-MAR-92   1D66
 DNA RECOGNITION BY GAL4: STRUCTURE OF A PROTEIN/DNA COMPLEX

Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/Viewer.java  2017-03-25 20:45:05 UTC (rev 
21453)
+++ trunk/Jmol/src/org/jmol/viewer/Viewer.java  2017-03-25 22:38:54 UTC (rev 
21454)
@@ -3980,6 +3980,10 @@
         id = name.substring(pt + 1);
         format = (pt > 6 ? name.substring(6) : "loops");
         return PT.rep(g.resolveDataBase("rna3d", id, null), "%TYPE", format);
+      } else if (name.startsWith("*dssr--")) {
+        id = name.substring(pt + 1);
+        id = g.resolveDataBase("dssr", id, null);
+        return id +"%20" + PT.rep(name.substring(5, pt), " ", "%20");
       } else if (name.startsWith("*dssr/")) {
         id = name.substring(pt + 1);
         return g.resolveDataBase("dssr", id, null);
@@ -7831,7 +7835,7 @@
     if (g.helpPath.indexOf("?") < 0) {
       if (what.length() > 0 && what.indexOf("?") != 0)
         what = "?search=" + PT.rep(what, " ", "%20");
-      what += (what.length() == 0 ? "?ver=" : "&ver=") + JC.version;
+      what += (what.length() == 0 ? "?ver=" : "&ver=") + JC.majorVersion;
     } else {
       what = "&" + what;
     }

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


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jmol-commits mailing list
Jmol-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to