Faster, leaner, better.
Full integration of JSME, JSpecView, and Jmol (Thank you, Robert
Lancashire, Peter Ertl, and Bruno Bienfait!)
New no-server file saving (Firefox and Chrome only -- Thank you, Charles
Shubert!) If you would like to try this with Safari or MSIE, just add
Jmol._useDataURI = true
New color schemes, including hue/saturation/lightness
https://sourceforge.net/projects/jmol/files/Jmol/Version%2014.0/Version%2014.0.11/
Bob
In all since Jmol 14.0.10 was released:
___JmolVersion="14.0.11"
JmolVersion="14.0.11_2014.03.08"
FEATURE CHANGE: associative array .count, .length, .lines removed
-- specifically for associative arrays, nothing more
-- these were unnecessary equivalents of .size
-- change will not be incorporated into Jmol 14.0
new feature: JSpecView readers for ACD/Labs annotated MS, IR, Raman, and
UV/VIS
-- displays fragments for MS (highlights atoms)
-- highlights atoms involved in an IR/Raman stretch
-- UV/VIS and Raman untested
new feature: JSpecView and Jmol read ACD/Labs assigned spectra block JDX
files.
-- 2D MOL files with missing hydrogens on hetero atoms.
-- fully synced
-- drag-drop enabled
new feature: associative array standard "dot" notation
-- a.test = 33
-- print a.test
-- caveat: cannot do this with a.keys, a.size, or a.type
-- not implemented in Jmol 14.0 because of the feature change
new feature: associative array alternative ".." syntax
-- same as JavaScript and Java, but ".." instead of "."
-- for example:
a["test"] == a..test
new feature: .covalentRadius added as more appropriate alias for .covalent
new feature: .bondingRadius added as more appropriate alias for .ionic
new feature: set bondingVersion
-- 0: Jmol default, from OpenBabel 1.100.1
-- uses a mix of covalent and ionic radii for autobonding
-- 1: Pyykko and Atsumi, 2009
-- changes the distance criteria for autobonding to be specifically
covalent
-- saved in state only for file loading; should be unchanged after state
loading.
new feature: color(color1, color2, n, asHSL)
-- returns a color scheme as a string
-- colors can be of any nature -- string or point, name or rgb
-- n colors; simple interpolation from color1 to color2
-- asHSL must be TRUE or FALSE;
-- when TRUE, uses hue/saturation/luminance instead of rgb gradient
-- example:
$ print color("white", "red", 5, false)
[xffffff][xffbfbf][xff7f7f][xff3f3f][xff0000]
$ print color("red", "blue", 5, true)
[xff0000][xffff00][x00ff00][x00ffff][x0000ff]
$ set propertyColorScheme color("yellow","black",50,true)
$ color property temperature
new feature: added simpler associative array notation: [key:value,...]
-- no quotes required
-- supplements {"key":value,...} where quotes are still required
due to conflict with atom set chain descriptors such as {a:b}.
new feature: catchable THROW
-- as in Java or JavaScript, allows a way of jumping
out of a process.
-- outside of try/catch gives the expected error report:
$ print "testing"
$ throw "testing here"
$ print "we will never see this"
testing
script ERROR: testing here
----
throw >> "testing here" <<
-- passes a string as the variable thrown_value
$ print thrown_value
testing here
-- can be trapped with try/catch:
try{
print "testing"
throw "testing here"
print "continuing"
} catch(e) {
print "thrown_value=" + thrown_value;
}
results in:
testing
thrown_value=testing here
new feature: asynchronous resumable processes
-- THROW CONTEXT contextName
-- throws a catchable error, but in the process of doing so,
creates a script context that allows RESUMING
at the point of the throw, unlike anything in JavaScript
or Java (or perhaps like a debug mode).
-- if within a try/catch phrase, is handled by catch.
in which case the error message is simply the context name.
-- if not within a try/catch phrase just reports
to resume, enter: &contextName
-- essentially provides a callback into the running
script, so you could, for example, put a running script
on hold while you load a file, check variables, etc.,
then continue.
-- can be resumed using RESUME CONTEXT or just & followed
by the name of the context:
&test
resume context &test
-- replaces PAUSE/RESUME, now deprecated.
-- The current context returns to the highest level, however
the variables in the context that was thrown are
accessible as though the context variable was an
associative array. So, for example, if we have
function f(a, b, c) {
var x = 5
throw context testing
print "x=" + x
}
f(1,2,3)
print "done"
The context will be saved as the variable "testing", and
we can then test all the variables in that saved context,
(and change them before continuing):
print testing["x"]
5
testing["x"]++
print testing
_path : [script] >> function f
_retval : 0
a : 2
b : 2
c : 3
x : 6
-- contexts can be restored using
&contextName
In the above case, we would get the report:
x=6
done
new feature: SAVE CONTEXT contextName
-- similar to THROW, but does not stop processing.
So in the above example, if we change THROW to SAVE,
the processing continues, but after it has completed,
we can change context variables and run it again.
new feature: show SAVED
-- same as show SAVE
new feature: delete $SAVED savedName
delete $SAVED Context_xxxx
-- $ is important; case is not.
-- allows selective deletion of saved objects
-- Contexts always start with "Context_" but the subname
"xxxx" in this case will work as well.
new feature: RESUME with arguments is synonymous with RESTORE
new feature: Better idea for THROW:
throw "this is an error"
throw x
-- that is, throw is like PRINT, not LABEL
bug fix: applet language localization skipping translations containing \"
bug fix: application language localization does not include defs defined
for JmolApplet
bug fix: JSpecView/JSME connection with simulated and ACD/Labs annotated
spectra
bug fix: JSpecView loading simulation now compatible with synced applets
bug fix: drag/drop not working for JSV applet
bug fix: solid-state NMR calc (Magres) should not apply "nearest-atom-only"
algorithm for measure ALL in dipolar coupling measurements
bug fix: state contains: zap;load /*data*/ data "append inline"
bug fix: zoomto without time goes over 2 seconds, not 1 second
bug fix: print "id" + "x" fails (back to 13.2 at least)
bug fix: animFrameCallback not reporting for each morph
bug fix: inline-if fails if not at end of statement
-- Bug goes back to at least 11.8
bug fix: Jmol math fix for new . notation.
-- needs testing
-- examples:
-- note that .. notation works with numbers
and in all expressions
b = [1 2 3 [ 1 2 [1 2 [1 [testing:"here"] 3]]]]
print b..4..3..1
b..2 = 34
b..2..1 = 33
print b..2..1
-- alternative single dot notation also on both sides
-- associative arrays only
-- no numbers here
b = [testing:"here"]
b.testing= 33
print b.testing
-- note that sequential brackets for arrays
work only on the left side of an assignment
b = [ [2] 10 11 ]
b[1][2]= 33
#NOT print b[1][2] (that's a range)
b = [1 2 3 [ 1 2 [1 2 [1 [testing:"here"] 3]]]]
b[4][3][3][2].more = "yes"
#NOT print b[4][3] (that's a range)
-- extends to matrices
b = quaternion()%"matrix"
b[1] = [1 2 3]
b[-1] = [1 2 3]
b[2][3] = 2
-- extends to string
b = "testing"
b[1] = "T"
b[1][3] = "T"
b["t"] = "T"
-- extends to points
p = {3 3 3}
p.x = 10
p.y = 5
p.z = 3
-- extends to bitsets
-- single dots only, not a["color"] or a..color
a = {*}
a.color = "red"
a.property_x = {*}.temperature.all
bug fix: state reading broken in most recent version at chemapps
bug fix: ++/-- compatibility with no-comma arrays
bug fix: print ++b["test"] fails
bug fix: ++b["test"] fails
bug fix: a[6][8] = "q" not working correctly when a is a string
bug fix: {*}.covalent is misleading in that it is a mix of covalent and
ionic bonding
distances. As such, I have replaced it with data at the Blue Obelisk Data
Repository
which are from
Pyykkö, P. and Atsumi, M. (2009),
Molecular Single-Bond Covalent Radii for Elements 1\u2013118.
Chem. Eur. J., 15: 186\u2013197. doi: 10.1002/chem.200800987
bug fix: try { ... throw ...} catch {....} continues through catch when
resumed.
bug fix: anonymous context { ..... } not closed
bug fix: JSON of 4x4 matrix (M4) fails
bug fix: modelkitmode broken for Java in 14.1.10
--
Robert M. Hanson
Larson-Anderson Professor of Chemistry
St. Olaf College
Northfield, MN
http://www.stolaf.edu/people/hansonr
If nature does not answer first what we want,
it is better to take what answer we get.
-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works.
Faster operations. Version large binaries. Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users