Revision: 18359 http://sourceforge.net/p/jmol/code/18359 Author: hansonr Date: 2013-06-25 01:43:16 +0000 (Tue, 25 Jun 2013) Log Message: ----------- ___JmolVersion="13.1.17_dev_2013.06.25"
bug fix: PyMOL movie start frame Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java trunk/Jmol/src/org/jmol/modelset/ModelLoader.java trunk/Jmol/src/org/jmol/script/T.java trunk/Jmol/src/org/jmol/viewer/AnimationManager.java trunk/Jmol/src/org/jmol/viewer/JC.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/StateCreator.java trunk/Jmol/src/org/jmol/viewer/StateManager.java trunk/Jmol/src/org/jmol/viewer/Viewer.java Modified: trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java 2013-06-24 22:56:54 UTC (rev 18358) +++ trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java 2013-06-25 01:43:16 UTC (rev 18359) @@ -294,8 +294,9 @@ pymolScene.setStateCount(stateCount); int pymolState = (int) pymolScene.globalSetting(PyMOL.state); - pymolScene.setFrameObject(T.frame, (allStates ? Integer.valueOf(-1) - : Integer.valueOf(pymolState - 1))); + if (!isMovie) + pymolScene.setFrameObject(T.frame, (allStates ? Integer.valueOf(-1) + : Integer.valueOf(pymolState - 1))); appendLoadNote("frame=" + pymolFrame + " state=" + pymolState + " all_states=" + allStates); Modified: trunk/Jmol/src/org/jmol/modelset/ModelLoader.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelLoader.java 2013-06-24 22:56:54 UTC (rev 18358) +++ trunk/Jmol/src/org/jmol/modelset/ModelLoader.java 2013-06-25 01:43:16 UTC (rev 18359) @@ -740,6 +740,7 @@ int iLast = -1; boolean isPdbThisModel = false; boolean addH = false; + boolean isLegacyHAddition = false;//viewer.getBoolean(T.legacyhaddition); JmolAdapterAtomIterator iterAtom = adapter.getAtomIterator(atomSetCollection); int nRead = 0; Model[] models = modelSet.models; @@ -764,7 +765,7 @@ String group3 = iterAtom.getGroup3(); int chainID = iterAtom.getChainID(); checkNewGroup(adapter, chainID, group3, iterAtom.getSequenceNumber(), - iterAtom.getInsertionCode(), addH); + iterAtom.getInsertionCode(), addH, isLegacyHAddition); short isotope = iterAtom.getElementNumber(); if (addH && Elements.getElementNumber(isotope) == 1) jbr.setHaveHsAlready(true); @@ -794,7 +795,7 @@ ); } if (groupCount > 0 && addH) { - jbr.addImplicitHydrogenAtoms(adapter, groupCount - 1, isNewChain ? 1 : 0); + jbr.addImplicitHydrogenAtoms(adapter, groupCount - 1, isNewChain && !isLegacyHAddition? 1 : 0); } iLast = -1; EnumVdw vdwtypeLast = null; @@ -849,7 +850,7 @@ private void checkNewGroup(JmolAdapter adapter, int chainID, String group3, int groupSequenceNumber, - char groupInsertionCode, boolean addH) { + char groupInsertionCode, boolean addH, boolean isLegacyHAddition) { String group3i = (group3 == null ? null : group3.intern()); if (chainID != currentChainID) { currentChainID = chainID; @@ -863,7 +864,7 @@ || groupInsertionCode != currentGroupInsertionCode || group3i != currentGroup3) { if (groupCount > 0 && addH) { - jbr.addImplicitHydrogenAtoms(adapter, groupCount - 1, isNewChain ? 1 : 0); + jbr.addImplicitHydrogenAtoms(adapter, groupCount - 1, isNewChain && !isLegacyHAddition? 1 : 0); jbr.setHaveHsAlready(false); } currentGroupSequenceNumber = groupSequenceNumber; Modified: trunk/Jmol/src/org/jmol/script/T.java =================================================================== --- trunk/Jmol/src/org/jmol/script/T.java 2013-06-24 22:56:54 UTC (rev 18358) +++ trunk/Jmol/src/org/jmol/script/T.java 2013-06-25 01:43:16 UTC (rev 18359) @@ -985,26 +985,27 @@ public final static int justifymeasurements = booleanparam | 96; public final static int languagetranslation = booleanparam | 97; public final static int legacyautobonding = booleanparam | 98; - public final static int logcommands = booleanparam | 99; - public final static int loggestures = booleanparam | 100; - public final static int measureallmodels = booleanparam | 101; - public final static int measurementlabels = booleanparam | 102; - public final static int messagestylechime = booleanparam | 103; - public final static int minimizationrefresh = booleanparam | 104; - public final static int minimizationsilent = booleanparam | 105; - public final static int modelkitmode = booleanparam | 106; // 12.0.RC15 - public final static int monitorenergy = booleanparam | 107; - public final static int multiprocessor = booleanparam | 108; - public final static int navigatesurface = booleanparam | 109; - public final static int navigationmode = booleanparam | 110; - public final static int navigationperiodic = booleanparam | 111; - public final static int partialdots = booleanparam | 112; // 12.1.46 - public final static int pdbaddhydrogens = booleanparam | 113; - public final static int pdbgetheader = booleanparam | 114; - public final static int pdbsequential = booleanparam | 115; - public final static int perspectivedepth = booleanparam | 116; - public final static int preservestate = booleanparam | 117; - public final static int rangeselected = booleanparam | 118; + public final static int legacyhaddition = booleanparam | 99; + public final static int logcommands = booleanparam | 100; + public final static int loggestures = booleanparam | 101; + public final static int measureallmodels = booleanparam | 102; + public final static int measurementlabels = booleanparam | 103; + public final static int messagestylechime = booleanparam | 104; + public final static int minimizationrefresh = booleanparam | 105; + public final static int minimizationsilent = booleanparam | 106; + public final static int modelkitmode = booleanparam | 107; // 12.0.RC15 + public final static int monitorenergy = booleanparam | 108; + public final static int multiprocessor = booleanparam | 109; + public final static int navigatesurface = booleanparam | 110; + public final static int navigationmode = booleanparam | 111; + public final static int navigationperiodic = booleanparam | 112; + public final static int partialdots = booleanparam | 113; // 12.1.46 + public final static int pdbaddhydrogens = booleanparam | 114; + public final static int pdbgetheader = booleanparam | 115; + public final static int pdbsequential = booleanparam | 116; + public final static int perspectivedepth = booleanparam | 117; + public final static int preservestate = booleanparam | 118; + public final static int rangeselected = booleanparam | 119; public final static int refreshing = booleanparam | 120; public final static int ribbonborder = booleanparam | 122; public final static int rocketbarrels = booleanparam | 124; Modified: trunk/Jmol/src/org/jmol/viewer/AnimationManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/AnimationManager.java 2013-06-24 22:56:54 UTC (rev 18358) +++ trunk/Jmol/src/org/jmol/viewer/AnimationManager.java 2013-06-25 01:43:16 UTC (rev 18359) @@ -363,8 +363,8 @@ currentAnimationFrame = ((Integer) info.get("currentFrame")).intValue(); if (currentAnimationFrame < 0 || currentAnimationFrame >= animationFrames.length) currentAnimationFrame = 0; - //movie = info; } + setFrame(currentAnimationFrame); } if (!isMovie) { //movie = null; Modified: trunk/Jmol/src/org/jmol/viewer/JC.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/JC.java 2013-06-24 22:56:54 UTC (rev 18358) +++ trunk/Jmol/src/org/jmol/viewer/JC.java 2013-06-25 01:43:16 UTC (rev 18359) @@ -896,10 +896,13 @@ return (pt < 0 || pt >= pdbHydrogenCount.length ? -1 : pdbHydrogenCount[pt]); } - public static String[][] getPdbBondInfo(int pt) { + public static String[][] getPdbBondInfo(int pt, boolean isLegacy) { if (pt < 0 || pt > pdbBondInfo.length) return null; String s = pdbBondInfo[pt]; + // unfortunately, this change is not backward compatible. + if (isLegacy && (pt = s.indexOf("O3'")) >= 0) + s = s.substring(0, pt); String[] temp = Parser.getTokens(s); String[][] info = new String[temp.length / 2][]; for (int i = 0, p = 0; i < info.length; i++) { Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2013-06-24 22:56:54 UTC (rev 18358) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2013-06-25 01:43:16 UTC (rev 18359) @@ -9,8 +9,9 @@ # The quotes above look odd for a parameter file, but they are # important for the JavaScript version of Jmol. -___JmolVersion="13.1.17_dev_2013.06.24" +___JmolVersion="13.1.17_dev_2013.06.25" +bug fix: PyMOL movie start frame bug fix: PyMOL putty broken bug fix: pdbAddHydrogens may miss O3' or O5' H atoms at end of DNA strands bug fix: pdbAddHydrogens may miss H in first group of a chain Modified: trunk/Jmol/src/org/jmol/viewer/StateCreator.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/StateCreator.java 2013-06-24 22:56:54 UTC (rev 18358) +++ trunk/Jmol/src/org/jmol/viewer/StateCreator.java 2013-06-25 01:43:16 UTC (rev 18359) @@ -1138,7 +1138,6 @@ } public String getShapeState(Shape shape) { - clearTemp(); String s; switch (shape.shapeID) { case JC.SHAPE_ECHO: @@ -1171,6 +1170,7 @@ hs.translucentAllowed) + ";\n"; break; case JC.SHAPE_HOVER: + clearTemp(); Hover h = (Hover) shape; if (h.atomFormats != null) for (int i = viewer.getAtomCount(); --i >= 0;) @@ -1180,8 +1180,10 @@ s = "\n hover " + Escape.eS((h.labelFormat == null ? "" : h.labelFormat)) + ";\n" + getCommands(temp, null, "select"); + clearTemp(); break; case JC.SHAPE_LABELS: + clearTemp(); Labels l = (Labels) shape; for (int i = l.bsSizeSet.nextSetBit(0); i >= 0; i = l.bsSizeSet .nextSetBit(i + 1)) { @@ -1237,8 +1239,10 @@ s = getCommands(temp, temp2, "select") + getCommands(null, temp3, "select"); temp3.clear(); + clearTemp(); break; case JC.SHAPE_BALLS: + clearTemp(); int atomCount = viewer.getAtomCount(); Atom[] atoms = viewer.modelSet.atoms; Balls balls = (Balls) shape; @@ -1263,11 +1267,11 @@ } } s = getCommands(temp, temp2, "select"); + clearTemp(); break; default: s = ""; } - clearTemp(); return s; } @@ -1409,6 +1413,7 @@ // if (autoLoadOrientation) // appendCmd(str, "set autoLoadOrientation true"); appendCmd(str, "set legacyAutoBonding " + g.legacyAutoBonding); + appendCmd(str, "set legacyHAddition " + g.legacyHAddition); appendCmd(str, "set minBondDistance " + g.minBondDistance); // these next two might be part of a 2D->3D operation appendCmd(str, "set minimizationCriterion " + g.minimizationCriterion); Modified: trunk/Jmol/src/org/jmol/viewer/StateManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/StateManager.java 2013-06-24 22:56:54 UTC (rev 18358) +++ trunk/Jmol/src/org/jmol/viewer/StateManager.java 2013-06-25 01:43:16 UTC (rev 18359) @@ -559,7 +559,7 @@ + ";axis3color;backgroundcolor;backgroundmodel;bondsymmetryatoms;boundboxcolor;cameradepth" + ";debug;debugscript;defaultlatttice;defaults;defaultdropscript;diffusepercent;exportdrivers" + ";_filecaching;_filecache;fontcaching;fontscaling;forcefield;language" - + ";legacyautobonding" + + ";legacyautobonding;legacyhaddition" + ";loglevel;logfile;loggestures;logcommands;measurestylechime" + ";loadformat;loadligandformat;smilesurlformat;pubchemformat;nihresolverformat;edsurlformat;edsurlcutoff;multiprocessor;navigationmode;" + ";pathforallfiles;perspectivedepth;phongexponent;perspectivemodel;preservestate;refreshing;repaintwaitms;rotationradius" @@ -677,6 +677,7 @@ allowMultiTouch = g.allowMultiTouch; allowKeyStrokes = g.allowKeyStrokes; legacyAutoBonding = g.legacyAutoBonding; + legacyHAddition = g.legacyHAddition; useScriptQueue = g.useScriptQueue; useArcBall = g.useArcBall; databases = g.databases; @@ -886,6 +887,7 @@ setI("isosurfacePropertySmoothingPower", isosurfacePropertySmoothingPower); setB("justifyMeasurements", justifyMeasurements); setB("legacyAutoBonding", legacyAutoBonding); + setB("legacyHAddition", legacyHAddition); setF("loadAtomDataTolerance", loadAtomDataTolerance); setS("loadFormat", loadFormat); setS("loadLigandFormat", loadLigandFormat); @@ -1049,6 +1051,7 @@ boolean smartAromatic = true; boolean zeroBasedXyzRasmol = false; boolean legacyAutoBonding = false; + boolean legacyHAddition = false; void setDefaultLattice(P3 ptLattice) { ptDefaultLattice.setT(ptLattice); Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Viewer.java 2013-06-24 22:56:54 UTC (rev 18358) +++ trunk/Jmol/src/org/jmol/viewer/Viewer.java 2013-06-25 01:43:16 UTC (rev 18359) @@ -5728,6 +5728,9 @@ // wrong bonds. // reset after a state script is read return global.legacyAutoBonding; + case T.legacyhaddition: + // aargh -- Some atoms missed before Jmol 13.1.17 + return global.legacyHAddition; case T.loggestures: return global.logGestures; case T.measureallmodels: @@ -9567,6 +9570,7 @@ stateScriptVersionInt = main * 10000 + sub * 100 + minor; // here's why: global.legacyAutoBonding = (stateScriptVersionInt < 110924); + global.legacyHAddition = (stateScriptVersionInt < 130117); return; } } catch (Exception e) { @@ -9652,7 +9656,7 @@ String[][] info = htPdbBondInfo.get(group3); if (info != null) return info; - info = JC.getPdbBondInfo(Group.lookupGroupID(group3)); + info = JC.getPdbBondInfo(Group.lookupGroupID(group3), global.legacyHAddition); htPdbBondInfo.put(group3, info); return info; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ Jmol-commits mailing list Jmol-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-commits