# Developers: to add a description of changes you have made,
# add it on a line starting with # below the "version=..." line
date=$Date: 2012-05-08 18:58:54 +0200 (mar., 08 mai 2012) $
version=12.3.24
# new feature: SMARTS search for atom type using quotes: ["37"]-["58"]
# new feature: SMARTS option /aromaticdouble/ allows distinguishing between aromatic single and double bonds
# new feature; SMARTS option /aromaticstrict/ checks 6-electron rule for aromatics
# new feature: CALCULATE partialCharge does MMFF94 charge calculation
# -- all atom types validated
# -- charge values validated to +- 0.001001 over the 761-atom dative validation set
# new feature: isosurface CACHE
# -- creates a JVXL version of the surface (possibly outside of Jmol, but that's not implemented yet)
# -- saved by write JMOL as a JVXL file "isosurface_ID"
# (where ID is the original isosurface ID) within the JMOL zip collection
# -- Warning! not saved using write SPT
# ***ALWAYS*** use write JMOL or write PNGJ after using the CACHE option, not write SPT
# -- invoked by isosurface file "cache://isosurface_ID"
# -- cleared by reset CACHE
# -- allows rapid recreation of an isosurface across file loads
# -- possibly limited to a subset of surface types
# -- not fully tested
#
# new feature: write ... "http://....."
# -- POSTs JMOL or IMAGE or structure or whatever to a server as application/octet-stream
# -- to be used in Proteopedia for saving a fully self-contained state
#
# new feature: load filter "CENTER" -- centers models on the first model as they are loaded
# new feature: load filter "NAME=..." -- loads only those models with a name that contains ...
# new feature: calculate partialcharge
# -- works on currently selected set of atoms
# -- uses MMFF94 charge calculation (unverified; most certainly not quite correct)
# -- preliminary only; working on validation
# bug fix: x = {"c1": 3}; if(x["c1"]) should return TRUE
# code: Simple way to assign MMFF94 atom types and partial charges
# -- N,S-containing compounds not validated; CHO-containing compounds partially validated
# bug fix: MOL2 reader assuming PDB for non-PDB format files (such as MMFF94-dative.mol2)
# bug fix: label %W not working properly for non-PDB files
# bug fix: write MOL does not save partial-single bond as type 8 ("ANY")
# bug fix: set echo IMAGE fails (since 12.3.20)
# code: (applet) JmolCore.js free of need for JSON
# =============================================================================
#version=12.3.23
# new feature: (applet) new interface for Jmol as an HTML object as well as full support on all platforms
# using a ChemDoodle fall-back option for Java/Applet-challenged platforms (iPad,iPhone,Android)
#
# Note that Jmol.js is no longer required, but not all of the features of Jmol.js are in place yet
#
# allows Jmol applets to be created on a page with more flexibility and extendability
# possibly using infrastructure of ChemDoodle for multiplatform doodlable structures
#
# required/optional libraries (preferably in the following order):
#
# jQuery.min.js -- required for ChemDoodle or any server-based options
# gl-matrix-min.js -- required for ChemDoodle option
# mousewheel.js -- required for ChemDoodle option
# ChemDoodleWeb.js -- required for ChemDoodle option
# JmolCore.js -- required
# JmolApplet.js -- required
# JmolCD.js -- required for ChemDoodle option
# JmolApi.js -- required
#
# Allows Jmol-like objects to be displayed on Java-challenged (iPad/iPhone)
# or applet-challenged (Android/iPhone) platforms, with automatic switching to
# whatever is appropriate. You can specify "ChemDoodle-only", "Jmol-only", "Image-only"
# or some combination of those -- and of course, you are free to rewrite the logic below!
#
# Allows ChemDoodle-like 3D and 3D-faked 2D canvases that can load files via a privately hosted
# server that delivers raw data files rather than specialized JSON mol data.
# Access to iChemLabs server is not required for simple file-reading operations and
# database access. PubChem and image services are provided by a server-side PHP program
# running JmolData.jar with flags -iR (at St. Olaf College).
# For your installation, you should consider putting JmolData.jar and jmolcd.php
# on your own server. Nothing more than these two files is needed on the server.
#
# The NCI and RCSB databases are accessed via direct AJAX if available (xhr2).
# new feature: PubChem search for name (which can be a CAS number), cid, or SMILES using ":"
# from pubChemFormat = "http://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/%FILE/SDF?record_type=3d";
# (many thanks to Evan Bolton and Paul Thiessen (NIH) for their assistance on this.
# load :name:tylenol # or load :tylenol
# load :cas:103-90-2 # or load :103-90-2
# load :cid:1983 # or load :1983
# load :smiles:C/C=C/C
# bug fix: callback functions for modular calls: applet0.readCallback(....)
# bug fix: Molden reader problems reading frequencies
# bug fix: VASP reader with {n n n} and vibration vectors problem
# bug fix: in 2bat, SIA was considered part of the carbohydrate chain because we were not checking bonding
# =============================================================================
#version=12.3.22
# new feature: Jmol extensions to ChemDoodle allow display of Jmol, ChemDoodle-equivalent (simple model only),
# or just an image with server-side JmolData.jar support.
#
# JmolCD.js -- Jmol ChemDoodle extension author: Bob Hanson, hansonr@stolaf.edu 4/16/2012
#
# requires ChemDoodleWeb.js and ChemDoodleWeb-libs.js
# prior to JmolCD.js
#
# allows Jmol applets to be created on a page with more flexibility and extendability
# using much of the infrastructure of ChemDoodle.
#
# allows Jmol-like objects to be displayed on Java-challenged (iPad/iPhone)
# or applet-challenged (Android/iPhone) platforms, with automatic switching to
# whatever is appropriate. You can specify "ChemDoodle-only", "Jmol-only", "Image-only"
# or some combination of those -- and of course, you are free to rewrite the logic below!
#
# allows ChemDoodle-like 2D and 3D canvases that can load files via a privately hosted
# server that delivers raw data files rather than specialized JSON mol data.
# access to iChemLabs server is not required for simple file-reading operations and
# database access. Database and image services are provided by a server-side PHP program
# running JmolData.jar with flags -iR.
#
# In this case, the NCI and RCSB databases are accessed via a St. Olaf College server,
# but for your installation, you should consider putting JmolData.jar and jmolcd.php
# on your own server. Nothing more than these two files is needed on the server.
#
# new feature: write CD (simple ChemDoodle JSON format -- atoms and bonds only)
# For example: java -jar JmolData.jar -iRJ "load $tylenol;print write('cd')"
# generates: {"mol":{"a":[{"x":0.20549999,"y":0.8303,"z":0.3823},{"x":0.6906,"y":-1.4656999,"z":-0.14220001},{"x":1.5485,"y":1.1359,"z":0.2829},{"x":2.0332,"y":-1.1585,"z":-0.24180001},{"x":-3.9799001,"y":-0.1617,"z":0.1295},{"l":"H","x":4.2731,"y":0.35680005,"z":0.7047},{"l":"H","x":-1.8655999,"y":-1.6522,"z":0.6012},{"x":-0.2273,"y":-0.4718,"z":0.17},{"x":2.4650002,"y":0.1425,"z":-0.029099999},{"l":"O","x":-2.1741998,"y":1.1759001,"z":-0.59169996},{"l":"O","x":3.7872,"y":0.4441,"z":-0.1268},{"x":-2.5170999,"y":0.1262,"z":-0.089999996},{"l":"N","x":-1.5898,"y":-0.78279996,"z":0.2712},{"l":"H","x":-0.50740004,"y":1.6029,"z":0.6296},{"l":"H","x":0.35450003,"y":-2.4786,"z":-0.3079},{"l":"H","x":1.8853,"y":2.1487997,"z":0.4477},{"l":"H","x":2.7472,"y":-1.9314001,"z":-0.485},{"l":"H","x":-4.3884,"y":-0.65880007,"z":-0.7504},{"l":"H","x":-4.0964003,"y":-0.8086,"z":0.9991},{"l":"H","x":-4.513,"y":0.7739,"z":0.2986}],"b":[{"b":8,"e":10},{"b":9,"e":11,"o":2},{"b":7,"e":12},{"b":11,"e":12},{"b":0,"e":7,"o":2},{"b":1,"e":7},{"b":0,"e":2},{"b":2,"e":8,"o":2},{"b":3,"e":8},{"b":1,"e":3,"o":2},{"b":4,"e":11},{"b":5,"e":10},{"b":6,"e":12},{"b":0,"e":13},{"b":1,"e":14},{"b":2,"e":15},{"b":3,"e":16},{"b":4,"e":17},{"b":4,"e":18},{"b":4,"e":19}]}}
# (this ended up NOT being used in the Jmol extension to ChemDoodle)
# new feature: (JmolData) -iR (silent, restricted) mode sends output from PRINT and ECHO commands to SYSOUT
# and also restricts the application to no local file read/writing
#
# bug fix: "connect;" command in states saved prior to 11.9.24 and then read by versions after that
# The order in which Jmol created bonds changed in 11.9.24. Due to this, Jmol must check for the
# version number of Jmol used to create a state, and if it was before this point, it must
# apply "legacy" autobonding methods. Unfortunately, if that state from pre-11.9.24 versions
# contains the "connect;" command, which it would if someone used the CONNECT command by itself
# to regenerate all bonds in a model PRIOR to saving the state (Proteopedia does this), then
# those scripts will be misread in versions 11.9.24-12.2.21/12.3.21.
# bug fix: antialiasDisplay does not show drag-box properly
# bug fix: SMARTS syntax [${xxx}n] and [${xxx}m-n] changed to [$n{xxx}] and [$m-n{xxx}]
# to avoid conflict with specifying isotope
# =============================================================================
#version=12.3.21
# new feature: app flag -R restricts file access -- no local file reading; no writing, no logging
# // disables WRITE, LOAD file:/, set logFile
# // command line -g and -w options ARE available for final writing of image
# // for use with headless operation
# new feature: app flag -T <seconds> headless timeout delay for "exitJmol"
# note: Headless operation with image creation works perfectly using JmolData.jar
# java -Djava.awt.headless=true -Xmx512m -jar "JmolData.jar" -RJ "load $tylenol;" -g1000x1000 -wJPG:t.jpg
# see also: http://leshazlewood.com/2009/08/26/linux-javaawtheadless-and-the-display-environment-variable/
# // determined by GraphicsEnvironment.isHeadless()
# // from java -Djava.awt.headless=true
# // disables command threading
# // disables DELAY, TIMEOUT, PAUSE, LOOP, GOTO, SPIN <rate>, ANIMATION ON
# // turns SPIN <rate> <end> into just ROTATE <end>
# new feature: JSpecView JCamp-MOL files can reference model="$xxxx" -- model retrieved from NCI
# bug fix: PDB reader
# and state scripts created with 12.1.51-12.2.20 and 12.3.0-12.3.20
# state scripts prior to those versions with multiple models
# and also select BOND commands will read the bond indexes incorrectly
# and, in addition, will assign proper CONECT links only to the last model
# bug fix: if (....) # comment fails
# bug fix: Molden reader hack for bad Molden files with ** instead of atom number in [GTO]
# bug fix: headless creation of JPG fails
# bug fix: spin .... 30 takes 30 to be number of degrees, not rate
# version=12.3.20 -- skipped
# =============================================================================
#version=12.3.19
# bug fix: set dragSelected disallows popup menu
# new feature: select baseModel for JSpecView
# new feature; model {atomset} -- model of first atom in this set
# bug fix: MOPAC (PUBLIC DOMAIN) output reader can fail on reading vibrations
# bug fix: Spartan 10 archives have .gz and .carc files. This fix adds .gz reading;
# work-around is that Spartan 10 allows saving of Archive without carc compression,
# which is a proprietary format. From Wavefunction:
# "If you want all files to use the "text" version, you can go to the
# Options->Preferences->X-Platform pane and make sure "Use Binary Archive" is unchecked."
# bug fix: rotateSelected of models that have had dots at one point retrieved from a state file fails
# code: refactored org.jmol.g3d.[Normix3d,Shade3D] --> org.jmol.util.[Normix, Shader]
# code: refactored org.jmol.geodesic.Geodesic --> org.jmol.util.Geodesic
# bug fix: Jmol defaults not being loaded with startup option -n (no display)
# bug fix: UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()
# failed for non-graphics system, and even though it is an exception, it
# isn't trapped by try/catch.
# bug fix: point() function does not accept 3x1 array
# bug fix: show x where x is a matrix does not have ',' before tabs, so it can't be clipped directly
# back into Jmol
# code: better coding for quaternions
# =============================================================================
#version=12.3.18
# bug fix: allow for alternating list/hash entry:
# for example: print getproperty("jspecview","##TITLE")["items"][1]["spectra"][1]["id"]
# instead of: print ((getproperty("jspecview","##TITLE")["items"][1])["spectra"][1])["id"]
# new feature: JSpecView reads and displays 2D spectra very quickly -- all
# tested JCamp-DX 6.0 files readable. -- JSpecView 2.0.10176
# bug fix: GaussianReader not reading "Natural Orbitals" section from
# B3LYP 6-31g sp gfprint pop(full,NO)
# bug fix: Jmol support for ZIP collection of JDX files read properly
# bug fix: support for file reading with BOM UTF-8, UTF-16, or UTF-32
# bug fix: script processor not recognizing UTF-8 Binary Order Mark at start of script
# bug fix: (undocumented) POLYHEDRA {...} to {...} with COLOR or TRANSLUCENT fails
# bug fix: POLYHEDRA command or COLOR POLYHEDRA can change selection
# bug fix: PDB reader doesn't recognize 16 LINK records at start of file
# bug fix: script xxxx(xxx)xxx/xx.xxx fails at "(" due to revision 16201 2011-10-02
# =============================================================================
#version=12.3.17
# new feature: (JspecView 2.0.10033) new script commands (indicated with *)
# UNKNOWN("?"),
# APPLETID("APPLETID"),
# APPLETREADYCALLBACKFUNCTIONNAME("APPLETREADYCALLBACKFUNCTIONNAME"),
# AUTOINTEGRATE("AUTOINTEGRATE", "TF"),
# BACKGROUNDCOLOR("BACKGROUNDCOLOR", "C"),
# *CLOSE("CLOSE", "spectrumId or fileName or ALL"),
# COMPOUNDMENUON("COMPOUNDMENUON", "TF"),
# COORDCALLBACKFUNCTIONNAME("COORDCALLBACKFUNCTIONNAME"),
# COORDINATESCOLOR("COORDINATESCOLOR", "C"),
# COORDINATESON("COORDINATESON", "TF"),
# *DEBUG("DEBUG", "TF"),
# DISPLAYFONTNAME("DISPLAYFONTNAME", "fontName"),
# ENABLEZOOM("ENABLEZOOM", "TF"),
# ENDINDEX("ENDINDEX"),
# *EXPORT("EXPORT", "[JPG,PNG,XY,...] \"filename\""),
# GETSOLUTIONCOLOR("GETSOLUTIONCOLOR", ""),
# GRIDCOLOR("GRIDCOLOR", "C"),
# GRIDON("GRIDON", "TF"),
# *INTEGRATE("INTEGRATE", ""),
# INTEGRALPLOTCOLOR("INTEGRALPLOTCOLOR"),
# INTEGRATIONRATIOS("INTEGRATIONRATIOS"),
# INTERFACE("INTERFACE"),
# *IRMODE("IRMODE", "A or T or ?"),
# *LABEL("LABEL", "x y [color and/or \"text\"]"),
# *LOAD("LOAD", "[APPEND] \"fileName\""),
# MENUON("MENUON"),
# OBSCURE("OBSCURE"),
# *OVERLAY("OVERLAY", "spectrumID, spectrumID, ..."),
# PEAKCALLBACKFUNCTIONNAME("PEAKCALLBACKFUNCTIONNAME"),
# PLOTAREACOLOR("PLOTAREACOLOR", "C"),
# PLOTCOLOR("PLOTCOLOR", "C"),
# PLOTCOLORS("PLOTCOLORS"),
# REVERSEPLOT("REVERSEPLOT", "TF"),
# SCALECOLOR("SCALECOLOR", "C"),
# SPECTRUM("SPECTRUM", "spectrumID"),
# SPECTRUMNUMBER("SPECTRUMNUMBER"),
# STARTINDEX("STARTINDEX"),
# SYNCCALLBACKFUNCTIONNAME("SYNCCALLBACKFUNCTIONNAME"),
# SYNCID("SYNCID"),
# TITLEBOLDON("TITLEBOLDON", "TF"),
# TITLECOLOR("TITLECOLOR", "C"),
# TITLEFONTNAME("TITLEFONTNAME", "fontName"),
# UNITSCOLOR("UNITSCOLOR", "C"),
# VERSION("VERSION"),
# XSCALEON("XSCALEON", "TF"),
# XUNITSON("XUNITSON", "TF"),
# YSCALEON("YSCALEON", "TF"),
# YUNITSON("YUNITSON", "TF"),
# *ZOOM("ZOOM", "OUT or x1,x2");
# new feature: allows simpler color scheme definition
# color property occupancy "myscheme=red green blue"
# Var x = ["red","green","blue"]; color property occupancy @{"myscheme=" + x}
# bug fix: JCampDX reader resolving should allow spaces before "##TITLE"
# bug fix: jvxl issue when color PHASE and translucent
# -- upon reading JVXL doesn't handle translucency right
# -- upon writing SPT doesn't preserve colors
# bug fix: user variable lower case "x" not cleared by "X = none"
# bug fix: draw HELIX fails for residue numbers < 0
# code: better Enum structure using name()
# =============================================================================
#version=12.3.16
# new feature: (application) SYNC ON; sync * "JSpecView:..." sends commands to JSpecView
# new feature: (JSpecView) accepts commands using public syncScript(script)
# bug fix: GAMESS-US reader error reading NBOs
# bug fix: print [2, 3, 4].mul([3,4,5]) fails
# bug fix: missing ANISOU records cause file-read error in PDB files
# bug fix: JCAMP-DX reading by JSpecView for tiered BLOCK files
# =============================================================================
#version=12.3.15
# new feature: JCAMP-DX file reading
# -- reading of ##$MODELS and ##$PEAKS (see http://chemapps.stolaf.edu/jmol/docs/examples-12/jspecview)
# new feature: context menu Spectra submenu
# new feature: JSpecView integration into Jmol application
# -- if model/peak-enhanced JDX file is read, clicking on an atom or switching
# to an IR vibration or MS fragment displays the appropriately highlighted spectrum/fragment
# bug fix: SLAB unit cell not showing all lines
# bug fix: CRYSTAL reader needs to change to MOLECULAR when X(ANGSTROMS) found (fullerene slab)
# new feature: model ID "..."
# -- can be file-specific using "filename#..."
# -- used for correlating non-Jmol synced applets
# new feature: sync ~ 'Select: xxx'
# -- xxx can include file="xxx" model="xxx" atoms="xxx" select="xxx" script="xxx"
# -- file and model combined as model ID "file#model"
# -- will automatically load the file if the given file#model ID is not found
# -- atoms = list of atom numbers separated by commas: 1,2,3 --> @1 or @2 or @3
# -- select is any valid selection such as THR or 1-30
# -- automatically adds "visible &" to atoms or select
# -- requires sync ON
# new feature: NFF neutral file format reader (http://paulbourke.net/dataformats/nff/nff1.html)
# for electron microscopy data exported from IMOD
# new feature: preliminary JCAMP-DX file reader, where <models></models> is present
# new feature: when picking struts or delete bond or measure, distance shows as per usual measurement
# bug fix: Popup Menu item hbond calculate should not require PDB
# =============================================================================
#version=12.3.14
# bug fix: state after frame RANGE or frame 0 not saved properly (state saves "frame all" instead of "frame 0")
# bug fix: frame n does not work properly after load APPEND
# bug fix: measurement units may appear as full word "nanometers" instead of "nm"
# bug fix: user bindings do not access _atomPicked
# -- solution is to add _ATOM _BOND _POINT _OBJECT to user binding actions
# =============================================================================
#version=12.3.13
# bug fix: getProperty("bondinfo",[{13}]) gets info for atom 13 instead of bond 13
# bug fix: isosurface offset does not change boundbox or zoom/center points
# new feature: isosurface SCALE extends to volume file readers
# new feature: zoom $isosurface1 0 -- scales to match isosurface boundbox
# note to Bob: jpe needs update of img/blank.js js/top_buttons.js htm1/quickvs.js,qv_msgs.js molview/JmolAppletSigned.jar
# =============================================================================
#version=12.3.12
# bug fix: symmetry popup submenu not enabled
# bug fix: show spacegroup not working
# bug fix: lcaocartoon for allene central carbon py incorrect
# bug fix: antialiasdisplay (and image writing) not compatible with scaleAngstromsPerInch
# bug fix: last group of protein cartoon will not display if it is not helix and not sheet
# bug fix: getproperty MENU does not work
# bug fix: PDB reader of multiple-bond files with duplicated bonds does not ignore duplicate
# =============================================================================
#version=12.3.11
# new feature: plot ramachandran -- now those points .phi and psi return values
# -- load 1crn.pdb;plot ramachandran;print {2.1}.psi
# new feature: LOAD .... filter "reverseModels"
# -- does just that
# -- for IRC calculation transition state -> minimum reversal
# new feature: measures "2:%VALUE %UNITS//xx"
# -- where xx is a specified unit such as nm or Angstroms
# -- overrides set measurementUnits
# -- fixes state problem when units or labels are changed after measurements are made
# -- operates on selected measurements only (or all, if no measurements are selected)
# bug fix: frame 0 during animation can cause exception
# bug fix: changes in defaultDistanceLabel not always preserved in state correctly
# bug fix: parameters can be set to invalid values using xxx = ... instead of set xxx ...
# bug fix: (Application) proper Edit...Preferences dialog action
# =============================================================================
#version=12.3.10
# new feature: _animTimeSec
# new feature: Application -- press and hold animation next/prev button to continuously run animation
# new feature: write PDB adds CONECT records
# -- for all multiple bonding and all HETATM bonds
# -- uses CONECT i j j to indicate multiple bonding
# new feature: compare {from} {to} FRAME
# -- aligns frames automatically
# -- particularly nice for IRC calculation animations
# -- for example: compare {file=2} {1.1} FRAME
# -- can be followed by quaternion, atom, or SMILES options
# -- for example: compare {file=2} {1.1} FRAME ATOMS @1 @5 @2 @8 @3 @9
# (all of file 2 atoms moved) file 2 atoms 1,2,3 aligned
# with file 1.1 atoms 5,8,9)
# -- if {to} is a subset of {from}, then FRAME is unnecessary,
# and if ATOMS is included, then just the list of alignment
# atoms is necessary. For example:
# compare {*} {1.1}
# compare {*} {1.1} atoms @1 @2 @3
# -- see http://chemapps.stolaf.edu/jmol/docs/examples-12/mp for more examples
# bug fix: script @{x} fails
# bug fix: Molecular Playground should allow for set allowGestures OFF to disallow swipe
# bug fix: lcaoCartoon dual color p orbitals giving white for one lobe
# new feature: set echo myecho SCALE 0.3 -- for image scaling
# bug fix: after "ZAP; LOAD append" show orientation will have incorrect zyz script
# bug fix: function call with @x or @1 in parameters fails
# bug fix: PNGJ reading remote fails
# bug fix: H5T should not be used as a lead atom ever, because of set showHydrogens FALSE
# bug fix: adding H atoms to mol2 file faulty
# bug fix: load xxx.png;write PNGJ xxx.png (to same file as loaded) fails
# =============================================================================
#version=12.3.9
# new feature: FRAME DELAY x.y
# -- specific delay (in seconds) in animation at a given frame
# -- applies to all currently in-frame models
# bug fix: set isKiosk should:
# (a) not be reversible
# (b) not allow file saves other than logging
# (c) not allow prompt dialogs
# (d) not allow console or popup menu or ScriptEditor
# bug fix: background colors saved to state can be off very slightly
# bug fix: draw PLANE with three vertices problems after save -- four-atom planes, not three
# bug fix: x = file("?") fails on Cancel
# bug fix: delay not allowed within try{...}
# =============================================================================
#version=12.3.8
# new feature: MolecularPlayground -- remote status and remote control
# -- see for example http://chemapps.stolaf.edu/jmol/mpstatus.php
# -- set topic, subtopic, delay from a web page
# -- set banner and image for website from Jmol
# new feature: load("http://.....?POST?_PNG_") or load("http://....?POST?_PNGJ_")
# -- sends PNG or PNGJ image to server
# -- return value is whatever server is set up to send
# -- used by MolecularPlayground at St. Olaf to send current state to web server
# new feature: polyhedra FULLYLIT -- useful for zeolites along with COLLAPSED
# new feature: ZMATRIX upgraded to allow all forms of Gaussian input
# http://www.gaussian.com/g_tech/g_ur/c_zmat.htm
# bug fix: set picking DRAW does not work on polygon sets
# bug fix: set picking DRAW does not report position change
# bug fix: MPJmolApp (Molecular Playground) problems when navigation is on
# bug fix: CifReader (molecular type, with GEOM_BOND records) adds
# extra atoms when embedded in JMOL or PNGJ file or part load FILES command
# bug fix: PdbReader -- crystallographic non-PDB files not checking special positions
# =============================================================================
#version=12.3.7
# bug fix: show orientation shows incorrect zyz format if reset uses file-based orientation matrix (smol, Sygress)
# bug fix: isosurface plane xy map mep
# code: MPJmolApp work
# bug fix: user variables should not be rest by INITIALIZE in an spt file
# new feature: "Write PNG+JMOL" added to application and signed applet menu
# code: dispensing with InputStream in favor of BufferedInputStream
# new feature: write PNGJ
# -- creates a PNG file with appended JMOL (zip) data containing
# all necessary files, MANIFEST, and script file.
# -- viewable in directories as an "icon" and readable by image readers
# -- draggable back into Jmol and readable using LOAD
# -- PNG file includes:
# -- iTXt field "Jmol Type\0PNGJxxxxxxxxx+yyyyyyyyy"
# where xxxxxxxxx is a pointer to the ZIP data
# yyyyyyyyy is the number of ZIP data bytes
# -- iTXt field "Software\0Jmol 12.3.7 2011-10-11 15:30"
# -- iTXt field "Creation Time\0Tue, 24 Nov 2011 19:56:10 -0600"
# -- yyyyyyyyy bytes of .JMOL zip data
# -- show FILE "xxx.PNG" will show list of contained files.
# -- show state FILE "xxx.PNG" will extract state
# -- show FILE "xxx.PNG|1crn.pdb" for example will extract file
# bug fix: x3d/vrml outputting unnecessary spheres
# -- bond caps within opaque atoms removed (not precisely correct to do that)
# bug fix: minimization broken
# bug fix: contact still not quite right -- setting default to +0.0 instead of +0.25
# new feature: simple Z-Matrix reader
# -- invoked by ZMATRIX:: or file starting with #ZMATRIX
# -- lines starting with # are comments, which can contain jmolscript:
# -- blank lines are ignored
#
# #ZMATRIX -- methane
# C
# H 1 1.089000
# H 1 1.089000 2 109.4710
# H 1 1.089000 2 109.4710 3 120.0000
# H 1 1.089000 2 109.4710 3 -120.0000
#
# -- allows bond order specification
#
# #ZMATRIX -- CO2
# C
# O 1 1.3000 2
# O 1 1.3000 2 180 2
#
# -- any position number may be replaced by a unique atom name, with number:
#
# #ZMATRIX -- CO2
# C1
# O1 C1 1.3000 2
# O2 C1 1.3000 O1 180 2
#
# -- allows for dummy atoms Xn, allowing for positioning:
#
# #ZMATRIX -- CO2
# X1
# X2 X1 1.0
# C1 X1 1.0 X2 90
# O1 C1 1.3000 X2 90 X1 0 2
# O2 C1 1.3000 O1 180 X2 0 2
#
# -- negative distance indicates that the second angle is a normal angle, not a dihedral
#
# #ZMATRIX -- NH3 (using simple angles only)
# N1
# H1 N1 1.0
# H2 N1 1.0 H1 107
# H3 N1 -1.0 H1 107 H2 107
#
# -- negative distance and one negative angle reverses the chirality
#
# #ZMATRIX -- NH3 (using simple angles only; reversed chirality)
# N1
# H1 N1 1.0
# H2 N1 1.0 H1 107
# H3 N1 -1.0 H1 -107 H2 107
#
#
# -- symbolics may be used -- they may be listed first or last
#
# #ZMATRIX
#
# dist 1.0
# angle 107
#
# N1
# H1 N1 dist
# H2 N1 dist H1 angle
# H3 N1 -dist H1 angle H2 angle
#
# -- If #ZMATRIX is not the start of the file, MOPAC style is assumed.
# The first two lines will be considered to be comments and ignored:
#
# AM1
# Ethane
#
# C
# C 1 r21
# H 2 r32 1 a321
# H 2 r32 1 a321 3 d4213
# H 2 r32 1 a321 3 -d4213
# H 1 r32 2 a321 3 60.
# H 1 r32 2 a321 3 180.
# H 1 r32 2 a321 3 d300
#
# r21 1.5
# r32 1.1
# a321 109.5
# d4213 120.0
# d300 300.0
# =============================================================================
#version=12.3.6
# new feature: load files "xxx.tlsout" "xxxx.pdb"
# -- loads REFMAC-style TLS data into xxxx.pdb
# new feature: contact SASURFACE <radius>
# -- ignores solvent (as does CAP)
# bug fix: contact command hbond/clash cutoff not sensitive to H-O/N vs O/N-O/N
# -- set to -1.2 for H-N/O, -1.0 for N/O-N/O
# bug fix: contact command default probe radius should be 0.0 except for VDW (0.25)
# bug fix: minimize constraint CLEAR broken
# bug fix: constraints not reported in show minimization
# bug fix: set measures off broken
# bug fix: contact color density broken
# bug fix: contact volume report not correct for color density
# bug fix: MO HOMO not set properly when using LUMO = "lowest E > 0" (GAMESS-US reader)
# bug fix: zSlab settings not stored properly in parameters; should have default zSlab = 50
# =============================================================================
#version=12.3.5
# new feature: color isosurface PHASE color1 color2
# -- allows post-isosurface creation coloring by phase (atomicOrbitals)
# bug fix: isosurface scale 0.5 plane... broken if no atoms present
# bug fix: isosurface color density broken
# bug fix: set PdbAddHydrogens does not transfer C atomSymmetry to H atoms
# bug fix: contact() function not working when typed from console
# bug fix: set axesOrientationRasmol not working properly (since 11.5.51)
# code: org.jmol.modelsetbio.BioModel localizes more bio-only code into modelsetbio package
# code: removal of org.jmol.modelset.Polymer
# code: refactoring and organizing RepaintManager and ShapeManager
# =============================================================================
#version=12.3.4
# bug fix: frame x.y - y.z not working
# bug fix: with antialiasDisplay, dragMolecule goes 1/2 speed of cursor
# bug fix: nucleic acid residues with HO5' may render last group strangely (since 12.0.RC16, 6/6/2010)
# bug fix: workaround for weird Mac Point3i(Point3i pt) class initializer bug
# bug fix: array.bin(low,high,binSize) not documented and can cause exception
# bug fix: MO readers can fail if inappropriate filter "TLS" is given
# bug fix: PDB TLS error reading TLS data missing "NUMBER OF COMPONENTS" line
# =============================================================================
#version=12.3.3
# new feature: ellipsoid SET 1; ellipsoid SET 2;
# -- TLS ellipsoids are dual
# -- TLS-S is SET 1; TLS-T is SET 2
# -- after issuing this command, further size or color commands affect only that set
# -- needs verification by Ethan Merrit
# new feature: load xxx.pdb filter "TLS" -- loads TLS data
# new feature: atom property property_tlsGroup
# new feature: MolecularPlayground now accepts messages to the banner:
# message banner: xxxxxxx
# new feature: MolecularPlayground fully functional.
# This application (MPJmolApp) is part of a three-part suite
# that runs on a Mac mini involving:
# "Hub" [name] for overall control (Mac app; not open source yet)
# MPKinectDriver for obtaining motion events (Mac app; not open source yet)
# MPJmolApp for displaying the results (source here)
# The Hub and MPJmolApp communicate over local port 31416, sending
# JSON messages back and forth. (See note in org.jmol.app.jsonkiosk.JsonNioService.java)
# For demonstrations of the installation at St. Olaf College,
# see the following YouTube videos:
# http://www.youtube.com/watch?v=iQRkuku8ry0
# http://www.youtube.com/watch?v=XCRrRZe1j6g
# http://www.youtube.com/watch?v=FTTIVWGtFD0
# For details relating to the original Molecular Playground
# installation at U. Mass.-Amherst, see
# http://molecularPlayground.org
# Note that all of the functionality of the original MP are
# present in MPJmolApp
# new feature: MolecularPLayground can now ignore all Hub requests for
# commands and content changes, thus allowing its own configuration
# script to drive the presentation instead of the Hub's. So the Hub
# can be used simply as an interface to the Kinect driver. This just
# allows a simpler development interface -- a simple three-column Excel file can
# be used to drive a presentation. (see org.jmol.molecularplayground.biophysics.xlsx)
# -- MPJmolApp looks for the file MpJmolAppConfig.spt
# -- This file can override MPJmolApp's default parameters:
# NIOContentPath
# -- default: System.getProperty("user.dir").replace('\\', '/')
# + "/Content-Cache/%ID%/%ID%.json"
# -- ignored if NIOcontentDisabled ends up true (see below)
# NIOterminatorMessage
# -- default: "MP_DONE"
# NIObannerEnabled
# -- default: true
# NIOcontentScript
# -- default: (not present, setting NIOcontentDisabled=false)
# NIOcontentDisabled
# -- default: true if NIOcontentScript is present; false if not
# NIOmotionDisabled
# -- default: false
# -- The script in MpJmolAppConfig.spt is run, along with whatever
# default settings are generated by the above checks.
# -- Parameters are set by querying the Viewer for those Jmol variables.
# -- If NIOcontentDisabled is true, then all JSON messages from the Hub
# of types "content", "command", and "banner" are ignored. It is still
# important that the running script send "MP_DONE" messages periodically
# (within every 6 minutes) so that the Hub knows that MPJmolApp is still
# alive and does not try to restart it.
# -- If NIOmotionDisabled is true, then all JSON messages from the Hub
# of types "move", "sync", and "touch" are ignored.
# -- These are checked every time a JSON command is received, so the
# running script can specifically turn off motion detection if that
# or content detection if that is desired.
# -- Note that MPJmolApp has a full console and menu that are available
# on the operator's screen, (which is just mirrored to the projector).
# This allows for parameter setting and adjustments on the fly.
#
# new feature: show NMR
# -- predicted NMR spectrum
# -- uses http://www.nmrdb.org/predictor?smiles=xxxx
# -- requires NCI SMILES due to bug at nmrdb not allowing "."
# bug fix: CRYSTAL reader not properly setting model properties
# bug fix: userFunction(x,@y) should operate as per all math
# -- parens - value of variable pointed to by y
# -- x = myfunc(x, @y) same action as just myfunc(x, @y)
# bug fix: userFunction x @y
# -- no parens - should operate as value of x and value of y
# -- @ is unnecessary but allowed
# bug fix: set echo "myecho" [10 10%] not working
# bug fix: apiPlatform not correctly accessed in JpegEncoder
# bug fix: reading of JVXL files for color density fails to color properly
# bug fix: .... vdw 100.0% --- should be OK with float there, even if it rounds.
# code: refactored for Molecular Playground and Jmol Android
# -- several System.out. messages present.
# code: refactoring adapter XML readers
# =============================================================================
#version=12.3.2
# bug fix: array.bin(low,high,binSize) not documented and can cause exception
# new feature: PQR write option
# bug fix: load append twice can cause zap to be in wrong place in state file
# bug fix: for (x IN {*}) ... makes x a bitset and leads to array[1] for x.atomName
# bug fix: for (x IN {*}.bonds) does not work
# new feature: show chemical XXXXX where XXXXX is any NCI Cactus information token:
# stdinchikey Standard InChIKey
# stdinchi Standard InChI
# smiles SMILES
# ficts FICTS Identifier
# ficus FICuS Identifier
# uuuuu uuuuu Identifier
# hashisy Cactvs HASHISY
# sdf SD File
# names Names
# iupac_name IUPAC Name
# cas CAS Registry Number(s)
# chemspider_id ChemSpider ID
# mw Molecular Weight
# formula Chemical Formula
# h_bond_donor_count Number of Hydrogen Bond Donors
# h_bond_acceptor_count Number of Hydrogen Bond Acceptors
# h_bond_center_count Number of Hydrogen Bond Acceptors and Donors
# rule_of_5_violation_count Number of Rule of 5 Violations
# rotor_count Number of Freely Rotatable Bonds
# effective_rotor_count Number of Effectively Rotatable Bonds
# ring_count Number of Rings
# ringsys_count Number of Ring Systems
# bug fix: POV-Ray export of cartoons broken
# bug fix: script javascript:xxxx() broken
# new feature: set vectorSymmetry -- displays vibration vectors as double-ended arrows.
# bug fix: SMILES comparison when the number of stereocenters is not the same is wrong
# new feature: compare("XXX","XXXX","ISOMER") comparison now includes "AMBIGUOUS STEREOCHEMISTRY!"
# code: popup/modelkit refactoring to isolate awt/Swing references
# bug fix: connection deletion removes all measurements -- can't imagine why...
# code: JmolModelKitInterface part of apiPlatform call
# code: JmolPromptInterface replaced with apiPlatform call
# =============================================================================
#version=12.3.1
# bug fix: H2,H3 connected to terminal N of protein not backbone
# bug fix: select PROTEIN selects non-PDB atoms
# new feature: CASTEP reader (take 2)
# -- reads Mulliken files by default, Hirshfield with filter "CHARGE=HIRSH"
# -- reads spins into {*}.property_spin. label is %[property_spin]
# -- reads Born charge tensors as atom ellipsoids
# bug fix: Molden reader does not read "Sym=X" (missing space after '=')
# bug fix: Molden reader does not read angstrom units
# bug fix: color isosurface {atomset} <color> does not work if isosurface has not already been mapped.
# bug fix: PDB reader not reading Rasmol-style files with multiple bonding
# CONECT 1 2 2
# or
# CONECT 1 2
# CONECT 1 2
# means for Rasmol double bond between atoms 1 and 2
# code: experimenting with fragmentation of applet core classes into _1b, _1c, _1d, _1e, _1f
# version=12.3.0
# October 4, 2011