Download Latest Version (70.4 MB) Get Updates
Home / Jmol-beta / Jmol 14.1 / Jmol 14.1.4
Name Modified Size InfoDownloads / Week
Parent folder
Jmol-14.1.4-full.tar.gz 2014-01-05 117.1 MB 2014-01-05 140.7 kB 2014-01-05 52.1 MB
Jmol-14.1.4-binary.tar.gz 2014-01-05 52.1 MB
Totals: 4 Items   221.4 MB 0
___JmolDate="$Date: 2014-01-05 14:47:07 -0600 (Sun, 05 Jan 2014) $" ___fullJmolProperties="src/org/jmol/viewer/" # THIS IS THE DEVELOPMENT TRUNK # Developers: to add a description of changes you have made, # add it on a line below the "___JmolVersion=..." line. # Don't use ___ in your text, as that is the key for stripping out # the information saved in the JAR version of this file. # The quotes above look odd for a parameter file, but they are # important for the JavaScript version of Jmol. ___JmolVersion="14.1.4" JmolVersion="14.1.4_dev_2014.01.05" bug fix: PDB byChain, bySymop not supported. TODO: Add BSPF for symmetry distance checking in AtomSetCollection to speed special-position checking new feature: {xxx}.distance.all({yyy}) returns float[][] of values new feature: expanded unit cell ijk notation: - 111 - 1000 --> center 5,5,5; range 0 to 9 or -5 to +4 - 1000000 - 1999999 --> center 50,50,50; range 0 to 99 or -50 to +49 - 1000000000 - 1999999999 --> center 500, 500, 500; range 0 to 999 or -500 to +499 JmolVersion="14.1.3" JmolVersion="14.1.3_dev_2013.12.29" new feature: filter "MODCELL=x" -- incommensurate composite readers Jana2006 and CIF -- sets base cell to specified subsystem new feature: MSCIF reader now allowing up to d=10; was d=6 new feature: escape pressed cancels pending measurement new feature: {xxx}.getProperty("yyy") -- only for FIRST atom -- returns getProperty("atomInfo.yyy", {xxx})[1] (not xxx.yyy.all) new feature: unitcell {atomset} -- unit cell based on first atom of atom set. -- canceled by any unitcell {none} or other unitcell command other than on/off and width new feature: altloc set for msCIF _atom_site_subsystem_code -- sets % and also configuration -- prevents covalent bonding between subsystems new feature: select ON ; select OFF -- same as selectionHalos ON/OFF -- deprecates selectionHalos command new feature: atomSet1.distance.min(atomSet2, TRUE) new feature: atomSet1.distance.min(point, TRUE) new feature: atomSet1.distance.max(atomSet2, TRUE) new feature: atomSet1.distance.max(point, TRUE) -- returns single closest/furthest atom in atomSet1 from point or atomSet2 bug fix: incommensurate composite structures not packed into unit cell properly bug fix: incommensurate composite structures - wrong unit cell for d > 1 bug fix: if load "" fails, last file name is lost bug fix: print a (operator) b not processing string parameter B consistently across operators bug fix: composite structures reading for JANA2006 M50/M40 files bug fix: capture time slightly off; needs 50 ms addition. This may vary with rendering speeds. bug fix: CIF reader goes into molecular mode even if geom_bond block is all "? ? ? ? ?" bug fix: n-d incommensurate modulated composite structures (preliminary testing) bug fix: getProperty atomInfo broken for modulated atoms bug fix: x.distance.min(y) broken code: generic javajs.util.Matrix class added based on Jama code for inversion using L/U decomposition JmolVersion="14.1.2" JmolVersion="14.1.2_2013.12.13" new feature: JavaScript: JSmol api Jmol.evaluateVar(applet, expression) -- better than Jmol.evaluate because result is a JavaScript variable, not a string. -- DEPRECATING JSmol api Jmol.evaluate(applet, expression) new feature: getProperty("JSON", ....) -- returns JSON code for property -- allows JavaScript: x = Jmol.getPropertyAsArray("variableInfo","some expression") new feature: getProperty variableInfo <expression> -- allows retrieval of variables in Java or JSON format -- evaluates expression -- defaults to "all" new feature: modulation adjustable by q and t, up to d=3 // modulation on/off (all atoms) // moduation {atom set} on/off // modulation int q-offset // modulation x.x t-offset // modulation {t1 t2 t3} // modulation {q1 q2 q3} TRUE new feature: pickedList -- ordered array of recently picked atoms -- can be used the same as the PICKED variable, but that is ordered sequentially, not temporally -- twice clicking off structure clears the list -- @{pickedList}[0] last-picked atom -- @{pickedList}[-1] next-to-last-picked atom -- @{pickedList}[-1][0] last two picked atoms new feature: array.pop(), array.push() -- similar to JavaScript -- for example: a=[];a.push("testing");print a.pop() // create a distance t-plot at = [] // t points am = [] // distance measurements var p1 = a.modulation(1e10)[1] var p2 = a2.modulation(1e10)[1] for (var i = 0; i <= 50; i++) { var t = i / 50.0; at.push(t); var b1 = a.modulation(t)[1]; var b2 = b.modulation(t)[1]; var m = distance((p1 + b1).xyz, (p2 + b2).xyz); am.push(m); } d = at.add("\t", am) new feature: modulation scale x.x new feature: caption "xxxxx" x.x -- number of seconds to run new feature: modulation 0.2 // sets t-value new feature: select ON/OFF atom-set -- turns selection halos on or off as well as doing the selection -- convenience only -- for example: select on _O2 select off * new feature: pt1.mul3(pt2) -- returns {pt1.x*pt2.x, pt1.y*pt2.y, pt1.z*pt2.z} -- if both are not points, reverts to simple multiplication new freature: array.mul3(pt2) -- applies mul3 to all elements of array new feature: {atomset}.modulation(type, t) -- delivers P3 (displacement modulation) -- implemented only for type="D" (optional) -- optional t is 0 by default -- if t is missing, the unmodulated displacement is returned bug fix: modulation not distinguishing between q and t; bug fix: modulated measurements not working bug fix: not skipping set defaultLattice "{NaN NaN NaN}" bug fix: isosurface map atomic orbital fails bug fix: vibrational display of modulation with distances doesn't update bug fix: vibration off causes unnecessary warning in console bug fix: draw symop broken bug fix: array.mul(matrix3f) crashes Jmol bug fix: select symop=1555 broken bug fix: set picking dragSelected not working code: refactored CifReader, separating out MMCifReader and MSCifReader code: minor renaming/refactoring of methods in SV code: adds javajs.api.JSONEncodable interface -- super-simple implementation in org.jmol.script.SV -- allows implementations of javajs to deliver custom JSON results JmolVersion="14.1.1_2013.12.04" JmolVersion="13.3.9_dev_2013.12.04" new feature: Jmol._j2sLoadMonitorOpacity (default 55) new feature: load() function, as in print load("xxx"), limited local file reading in applet: -- no root-directory files -- no files without extension -- no files with any "/." in path new feature: JAR files securely signed new feature: applet JAR files include JNLPs (Java Network Launch Protocols) for local file loading new feature: JSmol URL options _USE= _JAR= _J2S= overrides for Info data new feature: (was present but undocumented) print quaternion([array of quaternions]) -- returns spherical mean a la Buss and Fillmore ( new feature: print quaternion([array of quaternions], true) -- returns standard deviation for spherical mean a la Buss and Fillmore ( -- units are angular degrees new feature: named quaternion modulus values -- print quaternion(1,0,0,0)%"matrix" -- options include w x y z normal eulerzxz eulerzyz vector theta axisx axisy axisz axisangle matrix new feature: set celShadingPower -- sets strength of cel shading -- integer values -- default 10 is a thick line -- 5 is a fine line -- 0 turns cel shading off -- negative value removes interior shading -- outline only -- operates on pixel based on normal to light source (power > 0) or user (power < 0) -- sets color to background contrast (black or white) when normal_z < 1 - 2^-(|celShadingPower|/10) new feature: mmCIF reading reports _citation.title in Jmol scripting console new feature: minimize SELECT {atomset} ONLY -- ONLY option excludes all other atoms new feature: minimize {atomset} -- implicit SELECT and ONLY new feature: "extensions" directories in JSmol for contributed JS and SPT scripts -- jsmol/js/ext -- jsmol/spt/ext new feature: load ... filter "ADDHYDROGENS" -- local set pdbAddHydrogens just for one load command new feature: compare {1.1} {2.1} BONDS SMILES new feature: list = compare({atomset1} {atomset2} "SMILES" "BONDS") new feature: list = compare({atomset1} {atomset2} SmartsString "BONDS") new feature: write JSON xxx.json new feature: [#210] JSON {"mol":...} reader -- example (penicillin; no actual line breaks) {"mol":{ "_is2D":false, "_scale":{"x":1,"y":1,"z":1}, "a":[{"x":3.9236999,"y":-0.9222,"z":0.1835},{"x":3.2479,"y":-3.2106004,"z":0.3821},{"x":5.1731,"y":-1.3284999,"z":-0.24640003},{"x":4.4973,"y":-3.6169,"z":-0.0478},{"x":5.4598002,"y":-2.6759,"z":-0.3623},{"x":1.599,"y":-1.4203,"z":0.9663},{"x":-4.2137,"y":0.8188001,"z":2.5929},{"x":-5.7525997,"y":0.1604,"z":0.70350003},{"l":"H","x":-0.92130005,"y":-0.6858,"z":0.8503},{"x":2.961,"y":-1.8632,"z":0.49760002},{"l":"O","x":-4.989,"y":2.5026002,"z":-1.2333001},{"l":"O","x":-1.2756001,"y":1.6640999,"z":-1.9360001},{"l":"O","x":1.104,"y":-1.4738001,"z":-1.3405999},{"l":"O","x":-4.604,"y":3.4702,"z":0.7158},{"x":-4.4305005,"y":2.47,"z":-0.1623},{"x":0.68810004,"y":-1.2541,"z":-0.2227},{"x":-3.5391,"y":1.3063,"z":0.1875},{"x":-1.4742,"y":-0.7,"z":-1.1997},{"x":-1.8847001,"y":0.7218999,"z":-1.4753001},{"l":"H","x":-5.185,"y":4.1949,"z":0.44660002},{"l":"N","x":-0.5887,"y":-0.86149997,"z":-0.043799996},{"x":-2.9578,"y":-0.84800005,"z":-0.8823999},{"x":-4.298,"y":0.3443,"z":1.1408},{"l":"S","x":-3.3189998,"y":-1.1949,"z":0.8809},{"l":"N","x":-3.159,"y":0.59889996,"z":-1.0386},{"l":"H","x":-2.6423,"y":1.6747,"z":0.6855},{"l":"H","x":-3.5207,"y":-1.4693998,"z":-1.5789001},{"l":"H","x":-4.6569,"y":1.8111,"z":2.6771998},{"l":"H","x":-4.7551003,"y":0.123500004,"z":3.2344003},{"l":"H","x":-3.1692,"y":0.86,"z":2.9017},{"l":"H","x":-5.7794,"y":-0.2569,"z":-0.3031},{"l":"H","x":-6.2558002,"y":-0.5187,"z":1.3918},{"l":"H","x":-6.2588997,"y":1.1256,"z":0.71029997},{"l":"H","x":-1.1443,"y":-1.2523,"z":-2.0796},{"l":"H","x":1.1846,"y":-2.1707997,"z":1.6393999},{"l":"H","x":1.6871,"y":-0.46960002,"z":1.4921},{"l":"H","x":3.7012,"y":0.1303,"z":0.2784},{"l":"H","x":2.4957001,"y":-3.9457002,"z":0.62750006},{"l":"H","x":5.9251003,"y":-0.5933,"z":-0.4921},{"l":"H","x":4.7215,"y":-4.6695,"z":-0.13759999},{"l":"H","x":6.4357004,"y":-2.9933,"z":-0.6989}], "b":[{"b":10,"e":14,"o":2},{"b":13,"e":14},{"b":14,"e":16},{"b":16,"e":24},{"b":16,"e":22},{"b":21,"e":24},{"b":18,"e":24},{"b":6,"e":22},{"b":7,"e":22},{"b":22,"e":23},{"b":21,"e":23},{"b":17,"e":21},{"b":17,"e":18},{"b":11,"e":18,"o":2},{"b":17,"e":20},{"b":15,"e":20},{"b":5,"e":15},{"b":12,"e":15,"o":2},{"b":5,"e":9},{"b":0,"e":9,"o":2},{"b":1,"e":9},{"b":0,"e":2},{"b":1,"e":3,"o":2},{"b":2,"e":4,"o":2},{"b":3,"e":4},{"b":13,"e":19},{"b":16,"e":25},{"b":21,"e":26},{"b":6,"e":27},{"b":6,"e":28},{"b":6,"e":29},{"b":7,"e":30},{"b":7,"e":31},{"b":7,"e":32},{"b":17,"e":33},{"b":8,"e":20},{"b":5,"e":34},{"b":5,"e":35},{"b":0,"e":36},{"b":1,"e":37},{"b":2,"e":38},{"b":3,"e":39},{"b":4,"e":40}] }} -- is2D will trigger minimization -- scale indicates overall scaling present in the "a" records new feature: set particleRadius -- global radius for atoms over the max radius value (16.0) -- defaults to 20.0 new feature: CIF and PDB filters "BYCHAIN" and "BYSYMOP" for virus particulation -- creates just one atom per chain or per symop -- size can be scaled larger than the max of 16 Angstroms using, for example: set particleRadius 30; spacefill 30; // any number over 16 here uses particleRadius instead new feature: symop() function allows symmetry from biomolecule filter for PDB and mmCIF new feature: isosurface SYMMETRY -- applies symmetry operators to isosurface -- more efficient rendering and creation -- default selection is {symop=1} only -- default coloring is to color by symop based on propertyColorScheme -- example: load 1stp filter "biomolecule 1" color property symop isosurface sa resolution 0.8 symmetry sasurface 0 new feature: new atom property: chainNo -- sequentially from 1 for each model; -- chainNo == 0 means "no chain" or chain = '<space>' new feature: new propertyColorScheme "friendly" -- color-blindness-friendly color scheme -- used at RCSD -- example: set propertyColorScheme "friendly" color {chainNo > 0} property chainNo new feature: JSpecView completely Java-free; includes 2D nmr and PDF printing of spectra new feature: WRITE PDF <width> <height> <quality> "xxx.pdf" quality > 1 requests landscape mode -- uses efficient custom PDF creation classes -- sizes image to fit if too large new feature: JSpecView adds PDF and 2D NMR for JavaScript new feature: load "==xxx" FILTER "NOIDEAL" -- chemical component load from PDB using the "nonideal" coordinate set bug fix: write CD removed; ChemDoodle has changed formats; use JSON instead bug fix: PDB and CIF files indicated assemblies such as PAU as large negative number bug fix: COMPARE with no rotation starts infinite loop bug fix: looping problem with delay(-1) bug fix: Mouse wheeling for Chrome in JavaScript bug fix: JavaScript popup menu fix for language changes bug fix: JavaScript core components not being processed; Jmol._debugCode not recognized bug fix: unitcell offset incorrectly for biomolecules; origin incorrect for axes. bug fix: isosurface/mo FRONTONLY broken bug fix: language localization broken in JavaScript bug fix: ADF reader not reading MO output from DIRAC Build 201304052106 bug fix: Safari reports yellow Jmol info instead of asking to accept applet -- <object> tag needed to be <applet> bug fix: CIF reader not handling _pdbx_struct_assembly_gen.assembly_id properly -- wrong atom set for load =3fsx.cif filter "ASSEMBLY 1" bug fix: [#558 Compatibility issue with ChemDoodle] JSmol error in definition of Number.toString() bug fix: mouse wheel not working properly bug fix: JavaScript J2S compiler error does not coerce int += float to integer bug fix: JavaScript WEBGL option broken bug fix: JavaScript NMRCalculation does not access resources bug fix: JavaScript stereo not implemented bug fix: MOL reader fix for multiple-model file (just 13.3.9_dev) bug fix: MOL reader error with load APPEND -- does not continue atom numbers bug fix: CIF modulation reader not reading linear combinations of cell wave vectors bug fix: CIF reading with filter "BIOMOLECULE 1" fails if only the identity operation bug fix: mmCIF reader not reading all _pdbx_struct_assembly_gen.oper_expression options bug fix: PDB CRYST entry 1.0 1.0 1.0 90 90 90 should mean "no unit cell" regardless of biomolecule filter bug fix: isosurface slab <percent> not adapting well for flat molecules such as HEM bug fix: print userfunc() may fail (userfunc() by itself is fine) bug fix: within(helix) not implemented for C-alpha-only polymers bug fix: _modelTitle not updated when a new file is loaded or zapped bug fix: {*}.symop.all not delivering symmetry operator appropriately bug fix: for triple bond in SMILES in URLs bug fix: build.xml missing PDF creation classes bug fix: [#554] for load; zap model!=1.1; bug fix: following Java update, adding proper path check for local signed applet bug fix: {xxx}.property_xx not saved in state (broken 8/7/2013 rev 18518) bug fix: Manifests updated for signed and unsigned applet JAR files bug fix: write <type> <filename> fails bug fix: applet scriptWait() method broken bug fix: PyMOL session may display unit cell after read from saved state bug fix: MMCIF reader fails for multiple assembly types bug fix: CIF reader "biomolecule 1" translating to "molecular" rather than "assembly" bug fix: load trajectory with multiple files not working bug fix: JS applet popup menu not closing properly upon language change bug fix: HTML checkbox id attribute not assigned code: refactoring of applet/appletjs code; org.jmol.util.GenericApplet code: refactoring, simplification of buffered readers and buffered input streams. code: JavaScript refactoring, better build_...xml code: JavaScript Integer, Long, Short, Byte, Float, Double all reworked code: disambiguation of GT._ code: Refactored all unnecessarily inner classes to top level code: isolated util/ModulationSet using api/JmolModulationSet code: All applet language localization read from plain .po files -- as for JavaScript already -- no need to compile class files for applet languages -- no language .jar files -- new jsmol/idioma directory holds .po files for both Java and HTML5 code: faster isosurface rendering adding implicit "frontonly" with select {xxx} ONLY code: faster isosurface rendering with implicit "isosurfacepropertySmoothing FALSE" in relevant (integer) cases code: JmolBinary.getBufferedReaderForResource() -- consolidates all references to URL.getContent() and Class.getResource() code: JavaScript work around for inner class problem with variable name reassignment code: work-around for eval(functionName) not working in JavaScript. code: experimenting with ambient occlusion code: Required manifests added for Java Ju51 (January, 2014). code: JmolOutputChannel moved to javajs.util.OutputChannel code: jsmol.php fixed to allow " in saveFile method code: refactoring Parser into javajs.util code: DSSP moved to org.jmol.dssx, reducing JSmol bio load by 20K code: iText package jettisoned, no longer nec, as I wrote my own PDF creator JmolVersion="13.3.7" code; JavaScript comparison, 13.2.7 with 13.3.7. module 13.2.7 13.3.7 dBytes % core.z.js* 781,122 582,590 -198,532 75 corebinary.z.js 10,958 10,852 -106 99 corebio.z.js 199,251 199,249 -2 100 coreconsole.z.js 13,421 13,421 0 100 coremenu.z.js 105,606 107,832 2,226 102 coremin.z.js 113,754 113,938 184 100 coreprop.z.js 28,601 28,918 317 101 corepymol.z.js 153,236 153,271 35 100 corescript.z.js* 430,832 339,062 -91,770 79 corescript2.z.js 159,078 159,078 coresmiles.z.js 90,317 90,317 0 100 corestate.z.js 60,478 49,667 -10,811 82 coresurface.z.js 271,642 271,535 -107 100 coresym.z.js 129,456 129,529 73 100 coretext.z.js 46,033 46,033 corezip.z.js 163,080 92,476 -70,604 57 *core+scripting 1,211,954 921,652 -290,302 76 TOTAL 2,551,754 2,387,768 -163,986 94 JmolApplet0.jar 1,034,203 1,044,111 JmolApplet.jar 2,757,469 2,766,400 JmolVersion="13.3.7_dev_2013.10.01" bug fix: Crystal reader not applying lattice translations bug fix: translations incomplete bug fix: state saving of echo "bottom left" instead does "top left" bug fix: multiple-file crystal structures may fail to load if there is a lattice shift bug fix: space group not being calculated automatically for user-defined space groups bug fix: measures broken code: further consolidation: -- uncompressed(former) gzipped -- JSmol.min.nojq.js 134K 38K -- core.z.js 1583K(1781K) 363K -- corescript.z.js 339K (436K) 83K -- TOTAL 2056K(2217K) 484K (7% reduction) -- JmolApplet0.jar 1038K 1005K JmolVersion="13.3.7_dev_2013.09.30" JmolVersion="13.3.6" bug fix: angle measurements can end with "//nanometers" bug fix: first pending measurement loses label JmolVersion="13.3.6_dev_2013.09.27" new feature: adds remote logging for applet and app via http:// and via function for applet using jmolApplet0._applet.viewer.setLogfile(function(data) {......}) new feature compare {1.1} {2.1} BONDS "smiles" -- does flexible fit based on dihedrals. -- does internal rotation even if ROTATION TRANSLATION are not given (considered a possible bug) -- concatenation of: list = compare({1.1},{2.1},"smiles","BONDS") rotate branch @list 1 compare {1.1} {2.1} SMARTS "smiles" rotate translate so, for example: load files "$tyrosine" "$lysergamide" select 1.1; color bonds red select 2.1; color bonds yellow sm = "c1ccccc1CCN" compare {1.1} {2.1} BONDS @sm rotate translate new feature: show BEST ROTATION / show BEST VOLUME (better than undocumented show rotation best, show rotation volume) new feature: set animationMode "ONCE" "LOOP" "PALINDROME" new feature: show animationMode; x = animationMode new feature: CAPTURE command, including ROCK and SPIN -- application and signed applet only (no JS) -- creates animated GIF -- uses ANIMATION FPS to determine play-back rate. CAPTURE "filename" -- starts capturing -- uses ANIMATION MODE to determine looping -- both PALINDROME and LOOP create looping; ONCE (default) does not CAPTURE "filename" ROCK x|y|z degrees -- does a clean rocking of the molecule about one of the three major axes -- axis and degrees optional; y 5 assumed -- based on: rotate Y 10 10;delay 2.0; rotate Y -10 -10; delay 2.0;rotate Y -10 -10; delay 2.0;rotate Y 10 10;delay 2.0 -- uses LOOP mode CAPTURE "filename" SPIN x|y|z -- does a full spin of the molecule about one of the three major axes -- axis optional; y assumed -- based on: rotate Y 360 30;delay 15.0; -- uses LOOP mode CAPTURE off/on -- temporarily disables/enables capturing CAPTURE "" or just CAPTURE -- end capturing new feature: set drawFontSize // defaults to 14.0 FEATURE CHANGE: added bindings: "drag" and "up" -- may affect power users who use BIND command new: _center CTRL+SHIFT+LEFT+click new: _reset SHIFT+LEFT+double+click mouse actions include one (each) of: SINGLE DOUBLE LEFT MIDDLE RIGHT WHEEL DOWN DRAG UP CLICK for example: SINGLE-RIGHT-CLICK DOUBLE-LEFT-DRAG defaults are SINGLE, LEFT, and CLICK sequence is always: down (drag,drag,drag...) up (click) (only if no drag) Any of these actions may be tapped using bind "<some mouse action>" "<jmol action or script>" Note that adding "+:" to an action bind "<some mouse action" "+:<script...>" does not replace the Jmol action, just supplements it. $ show mouse _assignNew LEFT+click assign/new atom or bond (requires set picking assignAtom_??/assignBond_?) _center CTRL+SHIFT+LEFT+click center _clickFrank LEFT+click pop up recent context menu (click on Jmol frank) _pickConnect LEFT+click connect atoms (requires set picking CONNECT) _deleteAtom LEFT+click delete atom (requires set picking DELETE ATOM) _deleteBond LEFT+click delete bond (requires set picking DELETE BOND) _depth CTRL+SHIFT+LEFT+double+drag adjust depth (back plane; requires SLAB ON) _dragAtom LEFT+drag move atom (requires set picking DRAGATOM) _dragDrawObject SHIFT+LEFT+drag move whole DRAW object (requires set picking DRAW) _dragDrawPoint ALT+LEFT+drag move specific DRAW point (requires set picking DRAW) _dragLabel SHIFT+LEFT+drag move label (requires set picking LABEL) _dragMinimize LEFT+drag move atom and minimize molecule (requires set picking DRAGMINIMIZE) _dragMinimizeMolecule LEFT+drag move and minimize molecule (requires set picking DRAGMINIMIZEMOLECULE) _dragSelected ALT+SHIFT+LEFT+drag move selected atoms (requires set DRAGSELECTED) _dragZ SHIFT+LEFT+drag drag atoms in Z direction (requires set DRAGSELECTED) _navTranslate LEFT+drag translate navigation point (requires set NAVIGATIONMODE and set picking NAVIGATE) _pickAtom LEFT+click pick an atom _pickIsosurface LEFT+click pick an ISOSURFACE point (requires set DRAWPICKING _pickLabel LEFT+click pick a label to toggle it hidden/displayed (requires set picking LABEL) _pickMeasure LEFT+click pick an atom to include it in a measurement (after starting a measurement or after set picking DISTANCE/ANGLE/TORSION) _pickNavigate CTRL+SHIFT+LEFT+click pick a point or atom to navigate to (requires set NAVIGATIONMODE) _pickPoint LEFT+click pick a DRAW point (for measurements) (requires set DRAWPICKING _popupMenu CTRL+LEFT+down, RIGHT+down pop up the full context menu _reset SHIFT+LEFT+double+click, MIDDLE+double+click reset (when clicked off the model) _rotate LEFT+drag rotate _rotateBranch SHIFT+LEFT+drag rotate branch around bond (requires set picking ROTATEBOND) _rotateSelected ALT+LEFT+drag rotate selected atoms (requires set DRAGSELECTED) _rotateZ ALT+LEFT+drag, SHIFT+RIGHT+drag rotate Z _rotateZorZoom SHIFT+LEFT+drag, MIDDLE+drag rotate Z (horizontal motion of mouse) or zoom (vertical motion of mouse) _select LEFT+double+click select an atom (requires set pickingStyle EXTENDEDSELECT) _selectToggleOr LEFT+click if all are selected, unselect all, otherwise add this group of atoms to the set of selected atoms (requires set pickingStyle DRAG) _setMeasure LEFT+double+click pick an atom to initiate or conclude a measurement _slab CTRL+SHIFT+LEFT+drag adjust slab (front plane; requires SLAB ON) _slabAndDepth CTRL+ALT+SHIFT+LEFT+drag move slab/depth window (both planes; requires SLAB ON) _slideZoom LEFT+drag zoom (along right edge of window) _spinDrawObjectCCW LEFT+drag click on two points to spin around axis counterclockwise (requires set picking SPIN) _spinDrawObjectCW SHIFT+LEFT+drag click on two points to spin around axis clockwise (requires set picking SPIN) _stopMotion LEFT+double+click stop motion (requires set waitForMoveTo FALSE) _swipe LEFT+drag spin model (swipe and release button and stop motion simultaneously) _translate CTRL+ALT+LEFT+drag, CTRL+RIGHT+drag, SHIFT+LEFT+double+drag, MIDDLE+double+drag translate _wheelZoom WHEEL zoom bug fix: JSON NIO port SYNC broken bug fix: print getProperty("image", "width=200;height=300;type=png") not working bug fix: write IMAGE "t.png" not working bug fix: rotate -10 -10 not working bug fix: mouse bindings not distinguishing DOWN/CLICK/DRAG/UP properly bug fix: mouse bindings _center and _reset not working bug fix: show MOUSE not including user-defined mouse bindings bug fix: chains improperly selected in JSmol/HTML5 bug fix: JSmol/HTML5 not allowing drag-drop or file loading from a local drive. bug fix: JSmol/HTML5 not allowing WRITE FILE ? bug fix: JSmol/HTML5 not allowing WRITE xxx.pdb, xxx.mol, etc bug fix: platformSpeed persists but appears unreadable after loading a state bug fix: JavaScript version InputStreamReader not processing non-UTF data correctly bug fix: second reading of older PNG files with embedded script fails due to improper png file caching code: overhaul of image creation methods code: careful attention to core functions yields results in 5% reduction in core download size: -- uncompressed(former) gzipped -- JSmol.min.nojq.js 134K 38K -- core.z.js 1586K(1781K) 364K -- corescript.z.js 378K (436K) 95K -- TOTAL 2098K(2217K) 497K (5% reduction) -- JmolApplet0.jar 1038K 1005K -- Thus, the "real" transfer size -- based on server-side gzipping -- is half the size of Jmol/Java. code: continued refactoring of ScriptEvaluator to ScriptExt code: refactoring to isolate LabelToken and Labels from core JavaScript load code: refactoring, simplification of image output and export -- folders created: org.jmol.image, org.jmol.dialog -- JpgEncoder, Jpg64Encoder, PngEncoder brought to org.jmol.image and made subclasses of ImageEncoder -- PpmEncoder fixed -- ImageEncoder stripped of all unnecessary ImageConsumer/producer business -- org.jmol.export.image.ImageCreator and parts of org.jmol.viewer.stateCreator reorganized into org.jmol.OutputManager, org.jmol.OutputManagerAwt, and org.jmol.OutputManagerJS -- clipboard functions moved into org.jmol.awt and org.jmol.awtjs2d -- now serves for just about all output needs. code: major simplification and consolidation of file I/O methods, including exporters, using JmolOutputChannel class. code: only FileOutputStream reference is one reference in org.jmol.awt. code: code merge between 13.2 and 13.3 18 Sept 2013 code: major clean-up of ActionManager JmolVersion="13.3.5" JmolVersion="13.3.5_dev_2013.09.06" new feature: show NMR taps into NMRDB directly -- for now, application only bug fix: CRYSTAL reader not allowing vibration for conventional cell bug fix: JavaScript binary for Safari and Opera new feature: strutureModifiedCallback bug fix: ID @id vector fails JmolVersion="13.3.4" bug fix: select 1-5 broken JmolVersion="13.3.4_dev_2013.08.21" bug fix: JANA2006 reader not processing occupancies -- read now forced to "PACKED" in order to calculate site multiplicity bug fix: CIF reader not reading _CCDC_GEOM_BOND_TYPE record bug fix: File dialog problems with paths having space bug fix: GAMESS reader not reading energies bug fix: TRY failure in a load command followed by a successful load having a loadScript will pop past the second TRY and crash Jmol new feature: _logfile holds full path to logfile code: Incommensurate modulated structure CIF and M50/40 file loading validation -- includes d=1 and d=2 -- Fourier, sawtooth, crenel bug fix: translation not read from state new feature: set platformSpeed [0 to 10] -- basically an expanded "set wireframe OFF" with more options -- only effected during model rotation (including mouse dragging, spin, vibration, and animation) -- default value is 10 (all features; no compromises) -- value >= enables 8 antialiasDisplay (and thus, all features) 7 translucency 6 meshes (contact, draw, isosurface, MO, pmesh, lcaocartoon, CGO) 5 cartoons, rockets, trace, ribbon 4 geosurfaces 3 ellipsoids 2 wireframe and balls 1 none of the above (same as "set wireframeRotation off") 0 [reserved for "auto"] FEATURE CHANGE: set wireframeRotation expanded new feature: show ROTATION BEST -- operates on currently selected atoms -- reports "{quaternion}" new feature: quaternion("best") -- delivers actual quaternion new feature: show ROTATION VOLUME -- calculates approximate best box (from 1495 quaternion-based alternatives) -- reports "<volume> {dx dy dz}" -- where <volume> is the volume, -- and {dx dy dz} are the dimensions, where dx > dy > dz new feature: rotate BEST new feature: rotate SELECTED BEST new feature: pop-up menu selection "" bug fix: CIF reader does not find Hall name for space groups bug fix: binding names not included in SHOW MOUSE bug fix: "single" touch can fire double-click bug fix: {x}.tensor() command fails when no atom tensors bug fix: isosurface slab not allowing two different slabs for two diffrent isosurfaces bug fix: set wireframeRotation not working ("inMotion" flag not properly read in Viewer). bug fix: screen repaints were being requested far too frequently *indicates when a refresh is made (external apps and applets only) external apps only via loadInline(List)* createModelSetAndReturnError openDOM, openReader, openFile, openFiles via loadModelFromFileRepaint* createModelSetAndReturnError loadInLine(String) via loadInLineScriptRepaint* FileDropper (string drop) via openStringInline* via openStringInlineParamsAppend createModelSetAndReturnError external apps, applet only, via loadInline(String[])* via openStringsInlineParamsAppend createModelSetAndReturnError script LOAD via loadModelFromFile createModelSetAndReturnError script CALCULATE HYDROGENS, PLOT, ZAP (modelkit) via openStringInlineParamsAppend createModelSetAndReturnError script LOAD DATA via loadFileFull and loadInlineScript openStringsInlineParamsAppend createModelSetAndReturnError new feature: incommensurate modulation of ADPs. new feature: Jana2006 M40/M50 file reading bug fix: set loglevel 6 (debugHigh) not working bug fix: {*}.tensor("", "id") not implemented bug fix: {*}.tensor("") not implemented bug fix: {*}.tensor("adp") fails bug fix: {*}.symmetry fails when space group is P1 bug fix: atom tensors lost when merging bug fix: Jsmol menu and console broken in 2013.08.07 when jQuery calls were all moved into JSmolCore.js bug fix: float parser broken in dev_2013.08.07 code: reorganization of ScriptEvaluator into two sections, one optional new feature: COMPARE {atoms} [coords] new feature: COMPARE {atoms} ATOMS {subset1} [coords1] {subset2} [coords2] ... new feature: MODULATION command -- for modulated structures -- operates on currently selected set of atoms -- MODULATION ON -- MODULATION OFF -- MODULATION t -- sets modulation "t" of selected atoms -- MODULATION PLAY t1 t2 -- animates a once-through sequence of t from t1 to t2 -- MODULATION FPS x.x // may be < 1 -- sets speed of animation bug fix: zoom setting lost in state code: incommensurate crystal work -- Uiso, preliminary Uij and subsystems code: incommensurate crystal work -- occupancy Crenel, displacive sawtooths bug fix: shapeInfo not reporting visibility of isosurface code: pdb, cif readers separated into separate packages; p2n, pqr readers with pdb now new feature: Jana2006 reader -- reader for new feature: CIF reader reads incommensurate modulated structures -- FILTER options include: -- NOSPECIAL (include special atoms for debugging -- MODAVERAGE (do not read modulation -- MODAXES=xyz (select only specific axes -- x, y, and/or z) -- NOSYM (no symmetry read) code: Even faster float parsing bug fix: filter lost after CENTROID or PACKED load option bug fix: set rangeSelected not functional new feature: msCIF file reading of incommensurate modulation data as vibration new feature: msCIF file filter "MODAXES=xxx" where xxx = X,XY,XYZ,YZ,etc. new feature: msCIF file filter "MODAVE" gives average structure with vibration vectors. bug fix: minimization can fail after MMFF switches to UFF. bug fix: CIF reader fix for no element given "phenyl1" in ZjzxlegN.cif JSmol: Jmol form moved to end of body JSmol: All $(xx) references moved to JmolCore.js JmolVersion="13.3.3_dev_2013.07.27" code: reconfigured JSmol build no longer needs jsmol/make directory. bug fix: Gaussian cube format changed and not recognized (extra "1" in third line). bug fix: PDB header don't do trim(); bug fix: isosuface ID @x ... becomes isosurface ID "@x" bug fix: color chain broken bug fix: rockets with color chain bug fix: filter ":X" broken bug fix: O not 2- in PDB adding hydrogens bug fix: NWChem reader error TODO: mouse exit then release doesn't trigger release TODO: ingenol/jsmetest.htm? TODO: minimization set position calculation optimization? TODO: documentation (see below, including % units on measure distance) TODO: isosurface SLAB TRANSLUCENT 0.x color -- inherits color of isosurface when color parameter is absent -- TODO - properly save in JVXL file TODO: PyMOL uniqueAtomSettings for transparency -- will require by-vertex translucent option bug fix: JSmol 2-sided surface color problem due to Java2Script miscoding of Number.shortValue() bug fix: PyMOLMeshReader code clean-up. JmolVersion="13.3.2_dev_2013.07.21" bug fix: PyMOL mesh reader broken for EDS files JmolVersion="13.3.1_dev_2013.07.20" bug fix: MMCIF_PDBX structures not being read bug fix: allow PyMOL PSE files reading as part of a set of files, not just by itself bug fix: quaternion plots not synched with originating structure bug fix: 1skt.cif loses secondary structure (MMCIF_PDBX reader needed) new feature: calculate formalCharge bug fix: set showTiming not functional bug fix: set pdbAddHydrogens does not set formal charge on O(1-) or "O" of H2O (2-) bug fix: PNGJ files not properly caching, and PSE files with DOCACHE option JmolVersion="13.3.0" JmolVersion="13.1.19_dev_2013.07.18" new feature: set exportScale x.x -- adjusts export scale -- only implemented for VRML and X3D exporters new feature: unitcell center {atomset} new feature: unitcell center {fx fy fz} new feature: {*}.ms, {*}.cs %[ms] %[cs] magnetic shielding and chemical shift new feature: label <color red>xxx</color> new feature: set shift_H xxx (ppm) new feature: getProperty("nmrInfo") new feature: NMR analysis tools: -- x = measure({a} {b} "isc_hz") -- J coupling -- x = measure({a} {b} "dc_khz") -- dipolar constant -- MEASURE {a} {b} "2://dc_hz" -- dipolar constant -- MEASURE {a} {b} "2:%3.2VALUE//dc_khz" -- dipolar constant -- MEASURE {a} {b} "2://khz" -- defaults to dc_khz -- MEASURE {a} {b} "2://hz" -- defaults to isc_hz -- MEASURE {a} {b} "2://isc_1hz" new feature: {xxx}.tensor(type,what) -- type = "temp", "ms", "efg", etc. -- returns a list of data. isc-type returns a list of lists [index1, index2, value] -- what = "j" (isc-type only) "chi" (efg only) "dc" (dipolar coupling constant; type ignored) "eigenvalues" float[v1,v2,v3] "eigenvectors" P3[V1,V2,V3] "value" Float (v3) "asymMatrix" Matrix3f "symMatrix" Matrix3f "isotropy" Float v_iso=(v1 + v2 + v3)/3 "anisotropy" Float v3 - (v1 + v2)/2 "asymmetry" Float (v2 - v1)/(v3 - v_iso) "eulerzxz" float[] "eulerzyz" float[] "quaternion" Quaternion "indices" float[modelIndex,atomIndex1,atomIndex2] "string" selected readable data "type" anything else -- all key/value pairs new feature: bind "+:<script...>" -- added "+:" indicates to NOT unbind Jmol action new feature: ellipsoid OPTIONS "xxxx" -- "xxxx" is a quoted string of options separated by semicolon: "arcs;arrows;axes;ball;dots;fill;wireframe" with optional "no" in front of each new feature: SET ECHO POINT {atom or point} -- allows 2D and 3D echos to have pointers to atoms or points bug fix: set shift_XX not saved in state bug fix: JSmol menu not disappearing upon touch outside menu bug fix: PyMOL surface map reading error bug fix: magres measurement of dipole coupling constants do not reach just min-distance set bug fix: "cs" for Cs symmetry broken in chemicalshift bug fix: cartoons with too small nonzero size will not render anything code: org.jmol.quantum.NMRCalculation smoothly handles J-coupling and dipolar coupling constant display. code: org.jmol.quantum.NMRCalculation implements org.jmol.api.JmolNMRCalculation: public float getQuadrupolarConstant(Tensor efg); public float getJCouplingHz(Atom a1, Atom a2, String type, Tensor t); public float getDipolarConstantHz(Atom a1, Atom a2); public float getDipolarCouplingHz(Atom a1, Atom a2, V3 vField); public JmolList<Tensor> getInteractionTensorList(String type, BS bs); public BS getUniqueTensorSet(BS bs); public JmolList<Object> getTensorInfo(String tensorType, String infoType, BS bs); public Map<String, Float> getMinDistances(MeasurementData md); public boolean getState(SB sb); public Object getInfo(String sym); JmolVersion="13.1.17_dev_2013.06.27" new feature: CASTEP reader filter option q=all new feature: set picking DRAGLIGAND -- won't move the protein new feature: CIF reader upgrade to allow multicharacter chain specs. -- See 1bgl_1bgm.cif -- automatically switches to chainCaseSensitive if multi-character or lower-case chains are read in a CIF file. -- note that in certain cases quotation marks will be needed: select chain=0123 NOT OK select :0123 NOT OK select chain="0123" OK select :"0123" OK select :"A*" or :"A'" or :'A"' or :"A\"" TODO: document these: new feature: {atomset1}.distance.min({atomset2}) -- returns an array -- minimum distance of each atom in atomset1 to any atom in atomset2 new feature: {atomset1}.distance.max({atomset2}) -- returns an array -- maximum distance of each atom in atomset1 to any atom in atomset2 note: much of the next compare/branch business was built into a new COMPARE command for Jmol 13.3.6 new feature: list = compare({atomset1} {atomset2} "ccCCN" "BONDS") -- determines the dihedrals that match atomset1 to atomset2 -- returns arrays of length 6n, list[6n] which lists six numbers for each dihedral in the comparison set, including i1 i2 i3 i4 set1value set2value, where i1-i4 are atom indices, and set1value and set2value are the dihedral angles in sets 1 and 2, respectively. -- feeds into the rotate BRANCH @list command new feature: BRANCH @list -- takes a list of 6n numbers from compare function -- rotates all dihedrals in the selected atom set to target values concurrently // application: flexible substructure fit using a SMARTS search load files "$tyrosine" "$lysergamide" select 1.1; color bonds red select 2.1; color bonds yellow sm = "c1ccccc1CCN" list = compare({1.1},{2.1},sm,"BONDS") rotate branch @list 1 compare {1.1} {2.1} SMARTS @sm rotate translate // at this point the two models match almost perfectly among these key atoms. new feature: {1.1}.find("ccCCN", "BONDS") -- finds the first match in the structure to the given SMARTS string -- returns an n-length array of 4-length arrays, list[n][4] -- each list[i] is a set of four atoms in bond-connected order -- full list comprises all dihedrals in the found set of atoms. new feature: set translucent -- default TRUE : translucent objects are fully translucent -- FALSE: translucent objects are opaque to other translucent objects bug fix: CrystalReader broken by recent change to simpleReplace() 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 bug fix: set defaultDrawArrowScale broken bug fix: "ligand" should include all _g=0 (nonPDB atoms) bug fix: applet getpropertyAsArray("bondInfo") fails bug fix: JSmol script/scriptWait nuance with moveto. -- when using scriptWait with HTML5, there can be no threading bug fix: invertSelected on trajectory causes nullPointerException bug fix: POLYHEDRA with faceCenterOffset not saved in state properly; EDGES option nonfunctional bug fix: JavaScript not returning arrays properly from Jmol.getPropertyXXXX() -- very important to have {} after j2sNative directive! bug fix: COMPARE could rotate to less-good fit with SMARTS search bug fix: draw ARROW ATOM/BOND broken bug fix: animation MORPH broken for non-PyMOL files -- load trajectory ({0 6}) 1cdr.pdb -- animation MORPH 10 -- animation ON -- load trajectory "test1.pdb" "test2.pdb" -- animation MORPH 30 -- animation ON bug fix: draw ARROW ATOM/BOND broken bug fix: draw ARROW with offset disallows set picking draw adjustments bug fix: concurrent loading of two cif files by two different applets fails bug fix: draw LINEDATA not operative (undocumented, for state; from draw xxx INTERSECT yyy) -- needs revision to create DATA option; can be huge and very long to process state file bug fix: load :2-butanone fails bug fix: PyMOL volume map data saved from PyMOL 1.6 has slightly different data structure bug fix: jvxl reader ignores jvxlVertexColorData bug fix: ellipsoid rendering problems code: MagRes/CASTEP reader upgrades code: color/translucent/opaque clean up in ScriptEvaluator ============================================================================= JmolVersion="13.1.16_a" new feature: set defaults PyMOL -- zoomHeight TRUE -- measurementUnits ANGSTROMS new feature: color BALLS -- distinct from color ATOMS because it doesn't get inherited -- for PyMOL compatability with sphere_color TODO: document these: new feature: restore SCENE "xxxx" nSec new feature: Scene menu -- PyMOL scene names, in order new feature: added parameters to moveTo allows setting cameraDepth, cameraX, and cameraY new feature: moveTo <nseconds> PYMOL [18-element standard PyMOL view matrix] -- used for PSE file loading -- to be used also for scenes [0-8] are 3x3 rotation matrix (row/column inverted) [9,10] are x,y translations (y negative) [11] is distance from camera to center (negative) [12-14] are rotation center coords [15-16] are slab and depth distance from camera (0 to ignore) [17] is field of view; positive for orthographic projection new feature: cache CLEAR -- same as cache REMOVE ALL new feature: load xxx.pse FILTER "DOCACHE" -- specifically for editing large PSE files when included in a state -- caches streamlined file that is still readable by PyMOL (needs testing!) (no electron density map data, for instance -- see HupA_2.pse) -- caches all isosurfaces, creating JVXL equivalents -- should be followed with WRITE xxx.pngj or WRITE xxx.jmol or WRITE -- for example: before: 04/07/2013 07:46 AM 11,929,507 HupA_2.pse $ zap;load "HupA_2.pse" filter 'DOcache' $ write after: Listing archive: Physical Size = 395174 Date Time Attr Size Compressed Name ------------------- ----- ------------ ------------ ------------------------ 2013-05-17 06:46:36 ..... 1092432 219718 HupA_2.pse 2013-05-17 06:46:36 ..... 1473760 6589 isosurface_level2 2013-05-17 06:46:36 ..... 25495 11624 state.spt 2013-05-17 06:46:36 ..... 134 119 JmolManifest.txt 2013-05-17 06:46:36 ..... 0 2 Jmol_version_13.1.16_dev_2013.05.17__2013-05-15_07.09 2013-05-17 06:46:36 ..... 158082 156316 preview.png ------------------- ----- ------------ ------------ ------------------------ 2749903 394368 6 files, 0 folders new feature: anim FRAMES [1, 3, 9, 9, 9, 3, 1] -- arbitrary PyMOL-like model list new feature: FRAME n -- same as MODEL n, unless we have PyMOL-like frames -- if have frames, then FRAME 2 goes to the second frame (model 3 in this case) -- MODEL n still always goes to a specific model. -- all relative options -- FIRST LAST PREV NEXT -- refer to frames if there are frames even if the MODEL command is given. new feature: pyMOL PSE state options: LOAD "FOO.PSE" state FILTER "xxxx" -- [state not present; default] load all PyMOL states (one PyMOL state == one Jmol model) -- state = 0 (load only the current PyMOL state) -- state > 0 (load just a specific PyMOL state) -- FILTER "nosurface" -- load PyMOL file without surfaces new feature: getProperty BONDINFO {atomset1} {atomset2} new feature: measurements with IDs and radius/diameter: -- measure ID "xxx" ... -- measure ID "xxx" RADIUS x.y (or DIAMETER x.y) -- renders as dots new feature: set zoomHeight -- FALSE by default -- set TRUE for PyMOL-like resizing (scale only set by height adjustment) new feature: isosurface color density (decimal) - variable decimal point size new feature: PyMOL CGOs as CGO command - needs testing - CGO ID "xxx" [ cgo data (float array) ] - includes basic CGO methods BEGIN GL_POINTS GL_LINES GL_LINESTRIP GL_TRIANGLE GL_TRIANGLE_STRIP GL_TRIANGLE_FAN VERTEX END COLOR NORMAL SIMPLE_LINE SAUSAGE TRICOLOR_TRIANGLE popup: added menu for MEP range -0.1 0.1 PyMOL: uniqueBondSettings working PyMOL: better scene restore; PyMOL: adds SASURFACE option (surface_solvent ON), with "carving" (ProFusion_ABL.pse, scene F6) PyMOL: abstraction of scene setting from reader PyMOL: first phase of reader development complete (working with Jaime Prilusky) -- 104 test models -- implementation of standard objects, including: -- atoms with labels -- bonds -- standard PyMOL rendering, including: -- lines -- sticks -- nonbonded (stars) -- nb_spheres -- cartoons of various types (not plank) -- rockets -- ribbon (backbone/trace) -- putty (trace) -- dots -- measures -- simple CGO objects -- molecular surfaces -- electron density as points and meshes -- custom colors -- fog and slab -- morphing movies -- JVXL caching of isosurfaces PyMOL: measurement font/offsets enabled -- adds measure ID "xxx" FONT scale face style -- adds measure ID "xxx" OFFSET [mode, sx, sy, sz, ax, ay, az] -- adds measure ID "xxx" OFFSET {sx, sy, sz} PyMOL: perspective fix for translated center -- H115W.PinM.PSE PyMOL: preliminary scene implementation -- view only -- use RESTORE ORIENTATION xxxxx code:, moved from shapes to modelset bug fix: COMPARE move of group saved in state may not be correct when restored bug fix: write command doesn't accept parameter sequence IMAGE PNGJ ... (broken in 13.1.14) bug fix: load APPEND with PDB file loses structure (broken in 13.1.15) bug fix: restore command broken bug fix: JavaScript: adding SYNC bug fix: antialiasing or resizing stray lines problem solved (introduced in 11.0, 08/2006!) bug fix: "display add" by itself should not do anything bug fix: Hall translation initialization problem bug fix: JavaScript reading of old-style JVXL files bug fix: Gaussian reader not splitting MO set by model bug fix: polyhedron reading from state bug fix: connect delete not saved in state bug fix: rockets not working for alpha polymer (also in 13.0.16) bug fix: GXL added to carbohydrates bug fix: show state/anim turns "anim" into "animation" bug fix: MoldenReader orbitals are not in energy order; use FILTER "NOSORT" to prevent sorting by energy bug fix: simultaneous spin/animation broken in 13.1.13 bug fix: MoldenReader fix for file blank lines and g,h,i orbitals - also for 13.0.16 bug fix: COMPARE does not allow nSeconds at beginning, as described in documentation bug fix: isosurface VOLUME/AREA SET n cannot return to full array reporting; SET -1 added. bug fix: isosurface VOLUME/AREA always returns an array, possibly of length 0 bug fix: isosurface molecular/solvent can give inappropriate inner surfaces bug fix: show selected includes deleted atoms ============================================================================= JmolVersion="13.1.15" FEATURE CHANGE: default JPEG quality set to 100 (was 75, which looks crappy) new feature: select command parameter completion using [TAB] includes variables new feature: PyMOL-like label offset options: set labelOffset [sx, sy, sz] set labelOffset [mode, sx, sy, sz, ax, ay, az] where sx,sy,sz are screen coord offsets -- in Angstroms -- applied after view rotation -- sy > 0 LOWERS label ax,ay,az are xyz position (in Angstroms; applied before view rotation) mode == 1 indicates xyz position is an offset to the atom position mode != 1 indicates xyz position is absolute defaults: mode == 1; ax = ay = az = 0 new feature: CASTEP energy reading new feature: XCrysDen file reader new feature: VASP POSCAR reader new feature: set cartoonLadders -- no bases, like PyMOL new feature: model CREATE n -- allows "empty" model creation without atoms -- n = number of models to create -- defaults to 1 new feature: "all frames" toolbar button starts/stops PyMOL movies: if(_isMovie){if (_animating) {animation off}else{animation play}} else {frame *} new feature: Jmol/JmolData application -I flag accepts input from and command piping: type t.spt | jmol -I start Jmol with this script Note: if you use a pipe, be sure to make "exitJmol" the last command of the script Add -o for output to System.out. Without the pipe, we are going to control Jmol from a Jmol> prompt on the command line console jmol -Io see messages on input console ...messages from Jmol Jmol> background red;load 1crn.pdb;.... ...messages from Jmol Jmol> exitJmol Add -n for headless operation (will not exit automatically). type t.spt | jmol -Ion Note: if you use a pipe, be sure to make "exitJmol" the last command of the script Add -i for silent operation (no writing to System.output). new feature: dots IGNORE {atom set} ON; new feature: Jmol or JmolData with -g0x0 and load filter "DORESIZE" will automatically resize the image to what is given in the PyMOL file as its default size: JmolData -ns "load t.pse filter 'DORESIZE'" -g0x0 -w "PNGJ:t.png" bug fix: isosurface map property may not reference correct atom bug fix: set isosurfacekey may not work with slabbing bug fix: deleting atoms does not remove bioshape rendering bug fix: isosurface in multi-model context saved in state with wrong model number bug fix: PyMOL label fix, including fonts bug fix: PyMOL rockets, nucleic acid rendering bug fix: write JPG not working in JavaScript bug fix: isosurface ... map property colors not cleared entirely before next mapping bug fix: MSMS reader broken bug fix: labels lost upon z-shading bug fix: isosurface property temperature default smoothing broken in 13.1.13. bug fix: {xxx}.cartoon = {xxx}.temperature.all fails to use correct values (also backbone, trace, etc.) bug fix: isosurface translucent level not re-zeroed properly bug fix: IDTF exporter with translucency fails bug fix: commands f.sort() and f.reverse() fail. bug fix: {;...;} syntax does not work in 13.1 bug fix: select dots > 0 does not work bug fix: JmolData broken code: PyMOL work; CGO command and class CGO extends DRAW preliminary only; preliminary putty; fix for putty+sticks issue code: PyMOL reader localSettings code: PyMOL putty hack for Cover1.pse removed; colix index error fixed code: PyMOL slab and depth; better field of view; even better zslab/zdepth code: PyMOL reader "backbone" (really a trace -- fixed width?) code: PyMOL reader isosurface solvent code: PyMOL reader and full surfaces, mixed bigEndian/littleEndian Pickle reading code: PyMOL reader: cartoon_ladder_mode approximation as cartoons code: PyMOL reader: includes cartoon type 1,4,7 -> trace code: String JmolViewer.runScript(String script) runs script immediately and returns output buffer code: continued work on PyMOL PSE file reader code: simplification of JmolViewer interface and access to global parameters: // several; methods were deprecated and removed in 13.1.15. All are accessible via "getXxxx" methods: abstract public float getFloat(int tok); abstract public int getInt(int tok); abstract public boolean getBoolean(int tok); //abstract public int getAnimationFps(); see getInt(T.animationFps) //abstract public boolean getShowHydrogens(); see getBoolean(T.showhydrogens) //abstract public boolean getShowMeasurements(); see getBoolean(T.showmeasurements) //abstract public boolean getAxesOrientationRasmol(); see getBoolean(T.axesorientationrasmol) //abstract public int getPercentVdwAtom(); see getInt(T.percentvdwatom) //abstract public boolean getAutoBond(); see getBoolean(T.autobond)) //abstract public boolean showModelSetDownload(); deprecated -- was just "true" ============================================================================= JmolVersion="13.1.14" new feature: JVXL vertex-only data encoding "none" allows hand-coding of JVXL files new feature: isosurface efvet reader data "0" is "indicated colors" -- isosurface "test.efvet" 0 JavaScript: WebGL fix involving Collections.list calling ArrayList.add() JavaScript: disambiguation of Mesh() JavaScript: changing to utf-8 String nonbinary reading of .po files JavaScript: localization working code: cleaning up of Escape and checks for array types code: JavaScript does not need a visible canvas to create images -- could allow for "headless" JS operation bug fix: isosurface boundbox plane .... bug fix: isosurface boundbox {pt1} {pt2} plane ... bug fix: JVXL 1.0 format reading broken bug fix: MOL2 reader not properly assigning element symbols bug fix: isosurface slab translucent broken when saved in state bug fix: isosurface slab translucent mesh broken when saved in state bug fix: JavaScript minimization fix bug fix: sync socket connections not working bug fix: "navigate percent" broken bug fix: isosurface area/volume broken bug fix: JavaScript WRITE IMAGE with HTML5 does not allow change of width or height bug fix: WRITE PNGJ does not allow sizing of image bug fix: backbone/spine defs do not take into account phosphorylated proteins. Better: "@backbone protein&(_a>=1&_a<6|_a>=64&_a<72)|nucleic&(_a>=6&_a<14|_a>=72)", "@spine protein&_a>=1&_a<4|nucleic&_a>=6&_a<14&_a!=12", bug fix: getProperty fileInfo fixed and documented bug fix: assign atom does not update selections for elements bug fix: FileDropper broken bug fix: LcaoCartoon "-sp3d" not working bug fix: PyMOL PSE files not accessible by Jmol app File...Open or drag/drop bug fix: incorrect calculation of RMSD for COMPARE and SMILES bug fix: ModelKit menu "SHIFT to rotate" should read "ALT to rotate" bug fix: starting applet console takes two clicks bug fix: JavaScript SMILES bug (String.replaceAll() does not work bug fix: JavaScript LOOP command not implemented ============================================================================= JmolVersion="13.1.13" FEATURE CHANGE: multiple applets no longer share the same lighting space new feature: animation DISPLAY {atomset} - applies a filter to a running animation to display only a certain set of atoms. - for example: load test.pse animation display {act_site} // defined in test.pse new feature: animation MORPH n - where n is a number of frames to be inserted between trajectories - requires previous LOAD TRAJECTORY or the loading of a PyMOL PSE file having a movie (automatically a trajectory) - Jmol will do a linear morph as the animation runs. - for example: load test.pse animation morph 3 - could be used for a linear morph between just two structures: load trajectory "test1.pdb" "test2.pdb" animation morph 32 // animation will run 33 frames new feature: frame -x.y - negative decimals indicate a linear morph is requested between two trajectory frames. - for example: load test.pse frame -3.5 new feature: set celShading TRUE -- produces cel shading effect - see - introduced by N David Brown new Feature: Experimenting with ellipsoid {atom set} and ellipsoid $isosurfaceID new feature: PyMOL PSE reader enhancements -- labels, simple surfaces, measures new feature: isosurface xxxx MAP property COLOR -- allows inheritance of color from underlying atom (as in PyMOL) new feature: UHBD grid file reader new feature: DelPhi grid file reader new feature: load =xxx/ where xxx is a database code that can be set up in the future by a user. -- currently including mp MaterialsProject -- along with ligand, nci, nmr, pdb, pubchem -- see JmolConstants.databases for the full list. -- note that nci can take an additional tag such as /names after the name, and pubchem can take one before it: load =mp/1 load =nci/caffeine load =pubchem/caffeine load =pubchem/cid/2345 print(load('=nci/caffeine/names')) bug fix: set picking IDENT when picking is already ident can cancel a pending measurement bug fix: applet does not refresh when mouse exits with pending measurement bug fix: labels within fog should be hidden bug fix: load CENTROID does not always work -- wrong implicit normalization flag (was -1 instead of 1) bug fix: property_xxx does not work (since 10/3/12, 13.1.7) bug fix: The "show history" command is supposed to clear out the "show history" command itself, but only if it is a top-level command (from the console), but it does more than that if it is part of script("show history"). Probably true with all recent versions of Jmol. bug fix: isosurface binary file reading (MRC, CCP4, O, binary PMESH, etc.) broken bug fix: JavaScript: zoomTo [seconds > 0]... and restore rotation|orientation [name] [seconds > 0] not waiting code: Refactoring class names to reduce JSmol JavaScript footprint ScriptVariable --> SV Token --> T BitSet --> BS BitSetUtil --> BSUtil Colix --> C Point3f --> P3 Point3fi --> P3i StringXBuilder --> SB Vector3f --> V3 JmolConstants --> JC code: shader functions removed from Colix; Shader class made nonstatic code: refactored to allow scriptless JavaScript. (reduces initial core code load size by 25%, to 2.5Mb) ============================================================================= version="13.1.12" new feature: PDB reading of X-PLOR using hybrid-36 and NAMD files using hex -- see -- see new feature: load xxx.pdb filter "TYPE i,n" -- loads custom text fields into the "atomType" property of an atom upon customized PDB file loading where i is the number of the column (starting with 1) and n is the number of columns -- text is trimmed -- e.g. load xxx.pdb filter "TYPE 73,4" loads four characters starting at column 73 as "atomType" (segID) -- to convert to a numerical value, convert that to .property_foo: load xxx.pdb filter "type 22,4"; {*}.property_seqNo = {*}.atomType new feature: PDB filter "TYPE 73,4=xxx" -- loads four characters starting at column 73 (1-based) as "atomType" -- loads only those atoms with atom types starting with "xxx" new feature: axes labels "a" "b" "c" "xxx" where "xxx" is the label for the origin bug fix: PDB file reading of remediated 1A7Y and 1E9W error due to too many CONECT bonds -- now reads HEADER columns 63-66 for 4-digit PDB ID. -- only if this ID is absent will the number of CONECT bonds be checked in decision to autobond bug fix/update: revision of the pages that make the About menu (application) in each language. -- Some changes that had been formerly applied to the English page are now in all. (Removal of copyright date in text) -- All About_xx.html file
Source:, updated 2014-01-05