Home / Jmol-beta / Jmol 14.1 / Jmol 14.1.12
Name Modified Size Downloads / Week Status
Parent folder
Totals: 4 Items   242.9 MB 4
README-14.1.12.properties 2014-03-31 173.7 kB 11 weekly downloads
Jmol-14.1.12-full.tar.gz 2014-03-31 127.7 MB 11 weekly downloads
Jmol-14.1.12-binary.zip 2014-03-31 57.5 MB 11 weekly downloads
Jmol-14.1.12-binary.tar.gz 2014-03-31 57.5 MB 11 weekly downloads
___JmolDate="$Date: 2014-03-30 10:24:51 -0500 (Sun, 30 Mar 2014) $" ___fullJmolProperties="src/org/jmol/viewer/Jmol.properties" # 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.12" JmolVersion="14.1.12_2014.03.30" changes since 14.1.11: new feature: JSpecView getSolutionColor fill/all/none/false -- any combination of these four flags -- fill: fill area under a VIS spectrum with color -- none: remove fill -- all: do this for all spectra, not just the selected spectrum -- false: use interpolation method rather than curve fitting (see jspecview.common.Visible.java for details) new feature: JSpecView PEAK command -- adds PEAK GC/MS "#1" -- #1 here indicates "MS for first GC peak" summary: We now have general ZIP and image file (including PDF) creation in JavaScript independent of Jmol itself. new feature: x= format("JSON", data) -- simple way to generate JSON code. new feature: x = format("base64", data) -- creates base64-encoding of the data -- prepends the string with ";base64," new feature; binary byte array -- from array(s) where s starts with ";base64," -- from binary associative arrays new feature: binary associative arrays -- Any array containing "$_BINARY_$" as a key. -- Values may contain raw byte array data, but need not. -- Can be expanded or changed, just like any associative array. -- Seen in string form when in a string context. -- .type of elements will report "byteArray" new feature: x = write("PNGJ") -- Creates a binary associative array equivalent to writing a PNGJ file -- Contains keys "_IMAGE_", "JmolManifest.txt", "state.spt" and all associated files. new feature: write VAR x "filename" or write @x "filename" -- Where x is a binary array or a binary associative array. -- When x is a binary array, writes binary data to a file. -- When x is an array, creates a ZIP file (or PNGJ file, if _IMAGE_ is present and is PNG format), automatically converting strings starting with ";base64," to byte arrays in the ZIP file. To do the same with x a binary array, just use @{array(x)} instead of @x. new feature: x = load("myfile",true) -- Creates a binary associative array variable x that contains the contents of the file file. -- data are stored as raw bytes. -- If the file is a standard file, the key "_DATA_" will hold the file data. -- If the file is a PNGJ file, the key "_IMAGE_" will hold the image data, and additional files are keyed by file name. -- If the file is a zip file, the files are keyed by file name. -- Note that x = load("myfile") without "true" loads the contents of the file into x and, if the file is a PNGJ or ZIP file, just loads the list of files in the collection, not the actual data. new feature: filter "ATOM" opposite of filter "HETATM" new feature: load ASYNC .... new feature: script ASYNC .... -- load and script ASYNC start a new asynchronous thread to load the file and then continue after that. -- JSmol/HTML5 only; others ignore new feature: Mol3D reader new feature: show CHEMICAL STDINCHIKEY new feature: show CHEMICAL STDINCHI new feature: load ":inchikey:xxxxx" -- requires STANDARD InChIKey (as from {*}.find("chemical", "stdinchikey") new feature: x = {*}.find("chemical",type) -- type is "smiles", "inchi", "stdinchi", "inchikey", "stdinchikey" -- uses NCI/CADD CIR -- Note that unlike SHOW CHEMICAL, "InChIKey=" and "InChI=" are dropped -- Note that unlike SHOW CHEMICAL, trailing new line char is removed new feature: x = smilesString.find("chemical",type) -- type is "smiles", "inchi", "stdinchi", "inchikey", "stdinchikey" -- allows going directly from SMILES to other quantities -- uses NCI/CADD CIR -- Note that unlike SHOW CHEMICAL, "InChIKey=" and "InChI=" are dropped -- Note that unlike SHOW CHEMICAL, trailing new line char is removed bug fix: NWChem reader broken bug fix: JSpecView GC/MS issues bug fix: JSmol callbacks should refer to "jmolApplet0" not "jmolApplet0_object" bug fix: set cameraDepth not working -- note that loading of PyMOL files affects this setting, which is reset only using the INITIALIZE command bug fix: getProperty() function does not recognize a list as a variable and returns it as a string bug fix: Dsn6Reader.java misnamed, causing EDS map file load error in JavaScript only. (I did not know that was even possible!) bug fix: java.io.dataStreamReader.readShort() does not take into account JavaScript equivalence of short and int, causing "-1" to be read as 65535. bug fix: minimum modulationScale set to 1; should be 0.1. bug fix: translucent echo backgrounds broken bug fix: filter "HETATM" does not work bug fix: write XYZ broken by changes to the way arrays are shown with the PRINT command bug fix: x = adfjladj(3) crashes Jmol bug fix: x[0] = "tst" "here" "now" should cause script exception bug fix: isosurface MOLECULAR delivers wrong surface bug fix: spacefill ionic not working bug fix: set cameraDepth disabled bug fix: some translations not being carried out. bug fix: msCIF reader not accepting normalized commensurate Fourier vectors bug fix: JSmol/HTML MSIE local installation AJAX working again (still no binary files) code: variable compression issues in Jmol and JSV code: org.jmol.io and org.jmol.io2 consolidated code: select water hard-coded for speed (2 x faster) code: careful attention to loading of biomolecules results in 160K core bio load savings code: JavaScript core load reduced by 2% (30KB) by changing high-frequency global name "viewer" to "vwr" code: refactoring of image writing code to javajs.img for general use code: refactoring of zip code into javajs.util for general use code: refactoring of minimization code saves 10KB code: isosurface MOLECULAR speed-up by a factor of 10. -- better handling of constants during iteration -- better identification of unnecessary edges and faces JmolVersion="14.1.12_2014.03.27b" bug fix: NWChem reader broken new feature: JSpecView PEAK command -- adds PEAK GC/MS "#1" -- #1 here indicates "MS for first GC peak" bug fix: JSpecView GC/MS issues bug fix: JSmol callbacks should refer to "jmolApplet0" not "jmolApplet0_object" bug fix: set cameraDepth not working -- note that loading of PyMOL files affects this setting, which is reset only using the INITIALIZE command code: variable compression issues in Jmol and JSV JmolVersion="14.1.12_2014.03.21" bug fix: getProperty() function does not recognize a list as a variable and returns it as a string code: org.jmol.io and org.jmol.io2 consolidated code: select water hard-coded for speed (2 x faster) code: careful attention to loading of biomolecules results in 160K core bio load savings code: JavaScript core load reduced by 2% (30KB) by changing high-frequency global name "viewer" to "vwr" code: refactoring of image writing code to javajs.img for general use code: refactoring of zip code into javajs.util for general use code: refactoring of minimization code saves 10KB summary: We now have general ZIP and image file (including PDF) creation in JavaScript independent of Jmol itself. JmolVersion="14.1.12_2014.03.19" new feature: x= format("JSON", data) -- simple way to generate JSON code. new feature: x = format("base64", data) -- creates base64-encoding of the data -- prepends the string with ";base64," new feature; binary byte array -- from array(s) where s starts with ";base64," -- from binary associative arrays new feature: binary associative arrays -- Any array containing "$_BINARY_$" as a key. -- Values may contain raw byte array data, but need not. -- Can be expanded or changed, just like any associative array. -- Seen in string form when in a string context. -- .type of elements will report "byteArray" new feature: x = write("PNGJ") -- Creates a binary associative array equivalent to writing a PNGJ file -- Contains keys "_IMAGE_", "JmolManifest.txt", "state.spt" and all associated files. new feature: write VAR x "filename" or write @x "filename" -- Where x is a binary array or a binary associative array. -- When x is a binary array, writes binary data to a file. -- When x is an array, creates a ZIP file (or PNGJ file, if _IMAGE_ is present and is PNG format), automatically converting strings starting with ";base64," to byte arrays in the ZIP file. To do the same with x a binary array, just use @{array(x)} instead of @x. new feature: x = load("myfile",true) -- Creates a binary associative array variable x that contains the contents of the file file. -- data are stored as raw bytes. -- If the file is a standard file, the key "_DATA_" will hold the file data. -- If the file is a PNGJ file, the key "_IMAGE_" will hold the image data, and additional files are keyed by file name. -- If the file is a zip file, the files are keyed by file name. -- Note that x = load("myfile") without "true" loads the contents of the file into x and, if the file is a PNGJ or ZIP file, just loads the list of files in the collection, not the actual data. JmolVersion="14.1.12_2014.03.18" bug fix: Dsn6Reader.java misnamed, causing EDS map file load error in JavaScript only. (I did not know that was even possible!) bug fix: java.io.dataStreamReader.readShort() does not take into account JavaScript equivalence of short and int, causing "-1" to be read as 65535. JmolVersion="14.1.12_2014.03.17" bug fix: minimum modulationScale set to 1; should be 0.1. new feature: filter "ATOM" opposite of filter "HETATM" bug fix: translucent echo backgrounds broken bug fix: filter "HETATM" does not work bug fix: write XYZ broken by changes to the way arrays are shown with the PRINT command bug fix: x = adfjladj(3) crashes Jmol bug fix: x[0] = "tst" "here" "now" should cause script exception JmolVersion="14.1.12_2014.03.16" code: isosurface MOLECULAR speed-up by a factor of 10. -- better handling of constants during iteration -- better identification of unnecessary edges and faces bug fix: isosurface MOLECULAR delivers wrong surface JmolVersion="14.1.12_2014.03.13" bug fix: spacefill ionic not working bug fix: set cameraDepth disabled JmolVersion="14.1.12_2014.03.10" bug fix: some translations not being carried out. new feature: load ASYNC .... new feature: script ASYNC .... -- load and script ASYNC start a new asynchronous thread to load the file and then continue after that. -- JSmol/HTML5 only; others ignore bug fix: msCIF reader not accepting normalized commensurate Fourier vectors bug fix: JSmol/HTML MSIE local installation AJAX working again (still no binary files) new feature: Mol3D reader new feature: show CHEMICAL STDINCHIKEY new feature: show CHEMICAL STDINCHI new feature: load ":inchikey:xxxxx" -- requires STANDARD InChIKey (as from {*}.find("chemical", "stdinchikey") new feature: x = {*}.find("chemical",type) -- type is "smiles", "inchi", "stdinchi", "inchikey", "stdinchikey" -- uses NCI/CADD CIR -- Note that unlike SHOW CHEMICAL, "InChIKey=" and "InChI=" are dropped -- Note that unlike SHOW CHEMICAL, trailing new line char is removed new feature: x = smilesString.find("chemical",type) -- type is "smiles", "inchi", "stdinchi", "inchikey", "stdinchikey" -- allows going directly from SMILES to other quantities -- uses NCI/CADD CIR -- Note that unlike SHOW CHEMICAL, "InChIKey=" and "InChI=" are dropped -- Note that unlike SHOW CHEMICAL, trailing new line char is removed JmolVersion="14.1.11" JmolVersion="14.1.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 code: unused obrador package removed from application code: JavaScript org.jmol.modelset->JM, org.jmol.modelsetbio->JMB code: org.jmol.util.Quaternion moved to javajs.util.Quat code: Refactoring of script.ScriptEvaluator to make it more manageable: * ScriptEval -- entry point and script command code * * extends ScriptExpr -- expression parsing * * extends ScriptParam -- parameter parsing * * extends ScriptError -- error handling * * scriptext.CmdExt -- optionally loaded, less-used commands * scriptext.MathExt -- optionally loaded, less-used functions * scriptext.SmilesExt -- optionally loaded methods for cmds and math code: faster CONNECT [{...}] process for specified bonds JmolVersion="14.1.10" JmolVersion="14.1.10_2014.02.20" new feature: THROW command -- accepts unquoted string or @x simple variable substitution -- examples: throw this is an error or x = "this is an error" throw @x resulting in: this is an error ----line 3 command 3 of try: throw >> "this is an error" << ----line 10 command 1 of t.spt: end ---- script "t.spt" JmolVersion="14.1.10_2014.02.19" bug fix: color atoms formalcharge not saved in state bug fix: averageAtomPosition never updated. bug fix: load of model with one atom does not set center to that atom bug fix: ==/!= comparison not appropriate for arrays or strings -- string/string comparison should be case sensitive, but wasn't -- (you can use x %9999 == y %9999 to force no-case comparison) -- array/array comparison should be element by element and exact -- assoc.array/assoc.array should be key/value by key/value and exact -- int/decimal comparison should be simply numerical, always -- decimal/decimal comparison should be able to be done without the < 1e-6 cutoff -- you can now use [x] == [y] for exact numerical comparison -- string/int and string/decimal comparison should also only be outside of arrays -- all approximations for type1/type2 should be only outside the context of arrays bug fix: array/string assignment broken in 14.1.9 -- a[2] = ... -- a["testing"] = ... bug fix; HTML5 popup frank mini-menu not implemented bug fix: HTML5 popup menu checkboxes not turning off bug fix: zap <model Number> or zap {atom expression} broken -- does not affect ZAP command without parameters JmolVersion="14.1.9" JmolVersion="14.1.9_2014.02.18" bug fix: recently released 14.0.8 introduced a math bug that caused y = "test" + x.f() to be evaluated as ("test" + x).f() bug fix: long-time multiple unary minus bug (at least 6 years!) that print 3 +(- -3) evaluates to 0, not 6. new feature: WRITE "filename" AS type -- allows setting type at end of WRITE command using AS -- for example: write "t.png" as PNGJ -- meant only for very simple production; no additional parameters. -- all parameterized cases must use standard notation write PNGJ 300 300 "t.png" JmolVersion="14.1.8_2014.02.17" bug fix: JSpecView issues with navigating through spectra bug fix: PyMOL reader multiple bond view bug fix: popup menu fixes bug fix: bond/draw/isosurface picking broken bug fix: [1 -5 6 -2] gives [1 (-5+6-2)] instead of [1 -5 6 -2] bug fix: set defaultLoadScript "{0 0 0}" actually sets that to {1 1 1} -- goes way way back to early Jmol math where there were no point-type variables bug fix: PyMOL reader update for Version 1700 lacking setting 83. bug fix: -m option not working with Jmol.jar bug fix: PNGJ files within ZIP collections not being read. -- full PNGJ models can be extracted from MS Word .docx files. -- for example: show file "t.docx" [Content_Types].xml _rels/.rels word/_rels/document.xml.rels word/document.xml word/media/image1.png word/theme/theme1.xml word/settings.xml word/webSettings.xml docProps/core.xml word/styles.xml word/fontTable.xml docProps/app.xml load t.docx|word/media/image1.png new feature: JSmol Info.z, Info.zIndexBase bug fix: tensor("efg", "value") should return sparce array, not dense for missing tensors bug fix: JSmol now allows writing POVRAY, MAYA, IDTF, VRML, etc. both from Java and from HTML5 code: reworking of export classes bug fix: label @{math expression...} not working bug fix: interpretation of x and @x in select commands and {...} phrases -- Variable substitution has been unintuitive and inconsistent. For instance: x = "C or T" select @x -- works fine print {@x} -- fails The problem is the use of @ to reference the variable NAMED BY another variable within a math expression (print context) but not a select context. For instance: y = 3 x = "y" print x --> "y" print @x --> 3 Such referencing is important for math expressions, but the extension of this to atom expressions is not necessary and not generally useful. -- The current situation is as follows: x = "A or T" select @x --> all A and T groups print {@x} --> nothing (because @x is "the contents of the variable 'A or T'") -- This fix simplifies the situation by not allowing variable-variable referencing within atom expressions bounded by braces, just like within implicit atom expression commands (select, display, hide, delete, etc.). -- The result is much more consistent. The following do exactly what you think they would do: x = "A or T" select @x print {@x} -- The current way of doing this, by defining a temporary atom expression using the DEFINE (or @) command still works: x = "A or T" @y @x select y same as select @x -- Note that the difference between "select x" and "select @x" may be significant: ala = "cys" select ala --> selects all alanines select @ala --> selects all cysteines code: way more efficient for loop -- loop overhead decreased by > 80% bug fix: for(i in ...) does not exit when i is assigned a value, as per documentation bug fix: for(x in ...) command broken and also quite inefficient. JmolVersion="14.1.8_dev_2014.02.06" new feature: set cartoonRibose -- draws in ribose rings, with facets showing puckering -- connects via C4'-C5'-O5'-P explicitly -- shows C3'-O3' for reference. -- disables cartoonBaseEdges (Leontis-Westhof Edges) -- disabled by SET cartoonBaseEdges ON -- suggested by Rick Spinney, Ohio State new feature: anim frame [a,b,c,d] works with negative numbers to indicate ranges: -- anim frame [1, -5, 10, -6] --> [1,2,3,4,5,10,9,8,7,6] -- read as "1 through 5 and then 10 through 6" new feature: Tinker file reader (and FoldingXYZ reader upgrade) -- see http://dasher.wustl.edu/tinker/ -- Can use Tinker:: but this is only required if first line is JUST an atomCount -- accommodates older Tinker format with n-1 atoms for atomCount -- allows for trajectories and desired model number new feature: (actually 13.1 but undocumented) animation frame [ 51 50 49 48 47 46 45 (etc) 27 1 2 3 4 5 6 7 (etc)....] new feature: x = compare({atomset1}, {atomset2}, "MAP") new feature: x = compare({atomset1}, {atomset2}, "MAP", "all") new feature: x = compare({atomset1}, {atomset2}, "MAP", "best") new feature: x = compare({atomset1}, {atomset2}, "MAP", "H") new feature: x = compare({atomset1}, {atomset2}, "MAP", "allH") new feature: x = compare({atomset1}, {atomset2}, "MAP", "bestH") -- generates one or more correlations lists based on non-aromatic SMILES -- optionally includes H atoms -- optionally generates all possible atom mappings -- returns int[][] = [ [a1 b1],[a2 b2],[a3 b3],... ] where an and bn are integer atom indices or list<int[][]> when "all" option is chosen. -- the following will generate one atom correlation map for two structures including hydrogen atoms: load files "a.mol" "b.mol" x = compare({1.1} {2.1} "MAP" "H") (useful for 2D/3D model atom matching) -- the following compares the model of caffeine from NCI to that from PubChem: load $caffeine;load append :caffeine;frame * select 2.1; label %[atomIndex] compare {1.1} {2.1} SMILES rotate translate x = compare({1.1}, {2.1}, "MAP" "bestH") for (a in x) {a1 = a[1];a2=a[2];select atomindex=a1;label @a2} new feature: compare {model1} {model2} SMILES -- no need to give SMILES; Jmol can generate it from {model1} new feature: x = {*}.find("SMILES", "H") -- generates SMILES with explicit H atoms bug fix: substructure() function using SMILES instead of SMARTS, so only full structures; bug fix: better error trapping and messages in SMILES-related methods bug fix: make webexport discovery of path to Jmol.jar and jsmol.zip more robust. bug fix: getProperty extractModel not honoring subset bug fix: set pdbGetHeader TRUE does not capture REMARK3 REMARK290 REMARK350 bug fix: getProperty("JSON",....) should wrap value in {value:...} bug fix: MO persistent translucency broken in 11.x bug fix: show MENU write MENU load MENU all broken in 12.2 bug fix: {*}[n] should be empty if nAtoms <=n bug fix: abinit reader was nonfunctional bug fix: assign atom into into PDB file loses atom names bug fix: y = ([3])[1][1] should be [3] not 3 bug fix: break n nonfunctional bug fix: format() and label() functions limited to 4 arguments; should be unlimited bug fix: errors in paths to js code in web export templates. code: JSmol: applying atom mapping between mol2D and mol3D for viewSets code: refactoring to enable SWING in JavaScript for all menus code: methods from jcampdxReader extracted to org.jmol.jsv.JDXMOLParser code: reader overhaul for setting atom coordinates in a consistent fashion JmolVersion="14.1.7" JmolVersion="14.1.7_dev_2014.01.20" bug fix: 14.0.6 fatally bugged -- unitcell and echo rendering, getProperty JmolVersion="14.1.6" bug fix: translucent geosurface was turned off; JmolVersion="14.1.6_dev_2014.01.19" bug fix: Jmol2.js should have commented lines in Jmol.Info but does not bug fix: JSpecView cannot close "Options...Show Header" panel in HTML5 bug fix: select visible not right after this sequence: load $C\C=C\CC select _C wireframe off spacefill off display !_H select visible // 5 (but nothing is showing) bug fix: for (a in {displayed}) { a.property_x = 3 } construction fails bug fix: FireFox browser in mode to open files in new tabs in the background fails to load second applet of a page unless Jmol.__execDelay is more than 55 ms and the user specifically right-clicks a link to open a page in a new tab. bug fix: write ....?POST? fails bug fix: getproperty broken in 14.1.6_dev_2014.01.15 bug fix: GETPROPERTY command and function can return SV.toString() rather than property escaped value bug fix: getProperty for certain arrays returns string "[object Array]" bug fix: Jmol2.js not working when there is no jmolInitialize() bug fix: _DirectDatabaseCalls not including NMR prediction site bug fix: reading of *co*mmensurately modulated structures (e.g. Lilianite) working bug fix: wrong name for coverimage in WebExport. code: refactored matrix classes javajs.util.M34/M3/M4 code: JSpecView upgrade includes -- operational applet from jnlp -- append options from menus -- file helper for local files using load ? -- file helper for URL using load http://? -- file helper for simulation using load $? code: reader refactoring isolates symmetry aspects update: images and instructions for WebExport JmolVersion="14.1.5" JmolVersion="14.1.5_dev_2014.01.09" bug fix: LCAOCartoon translucency broken bug fix: translucent backbone broken bug fix: pqr,p2n readers broken bug fix: isosurface map property xxx can fail if surface is a fragment that (somehow) has a point not associated with an underlying atom. 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 (http://www.math.ucsd.edu/~sbuss/ResearchWeb/spheremean/) new feature: print quaternion([array of quaternions], true) -- returns standard deviation for spherical mean a la Buss and Fillmore (http://www.math.ucsd.edu/~sbuss/ResearchWeb/spheremean/) -- 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 http://sourceforge.net/p/jmol/code/18631/tree/trunk/Jmol-datafiles/xyz/3structs.xyz?format=raw; 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 -- org.jmol.io.JmolOutputChannel 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}" -- wher
Source: README-14.1.12.properties, updated 2014-03-31