Jmol developers -- 11.1.15 is a must-see.

Well, that was quite the week. I really didn't expect to do all this 
molecular math stuff, but once I got started, and the compiler/eval 
connection became tighter and tighter, I kept seeing the next solution 
only "moments" --ahem, read "hours" away--and it all fell into place.

I'm actually quite happy to see how the scripting language has evolved. 
I trust others are of the same opinion, but I guess I'm working too 
fast. There's been no feedback about this at all. It is immensely more 
powerful now than it was in "Chime" mode. We have:

-- user definable variables
-- eight data types (boolean, integer, real, string, point, plane, 
atomset, and bondset)
-- standard math manipulations +-*/% AND/OR/NOT/XOR, and parentheses, 
including some very powerful set/point/plane combinations.
-- several powerful functions including load(), data(), connected(), 
substructure(), within(), distance() [to points and planes], angle(), 
.distance() [average], .label(), .find(), .bonds, .atoms, .ident, 
.lines, .size, .length, .xyz, and all atom properties (.x, .y, .z, 
.temperature, .phi, .psi, .model, .file, .molecule, .site, 
.surfaceDistance, .symop, and several more).
-- FULL integration now into SELECT --- you can use the EXACT same 
syntax for SELECT, IF, and SET. I just put the finishing touches on this 
out today, and it is WONDERFUL!
-- automatic construction and writing of XYZ, MOL, and PDB data. I still 
can't believe how easy that is.
-- new atomset and bondset descriptors ({m:n q p:r}) and [{m:n q p:r}] 
usable anywhere an atom expression might be used.
-- new SELECT BONDS option.
-- smooth integration into all commands using @x, as in:

x = {1.0 2.0 1.0}
y = {1.0 1.0 0.0}

draw line1 @x @y

p = {1 1 1 0}

isosurface plane @p

The only caveat is that you cannot use comma as "OR" within braces: 
{_C,_H} is not allowed because it is too similar to {0,1,0}, a 
coordinate, which can more simply be indicated without the commas 
anyway: {0 1 0}. So I'm recommending the only use of commas to be 
between parameters:

x = within(5.0,{carbon}[3] or {oxygen}[2])

But it's all fully backward-compatible with 11.0 and 10.2. You can still say

  select within(5.0, carbon, oxygen)    # YUCK

if you really must. It's just that I will never recommend this. Instead, 
I recommend:

  select within(5.0, {carbon or oxygen})  

Once you get used to this {} stuff, you will like it, because it's the 
same with variables:

x = within(5.0, {carbon or oxygen})

So I'm done for a while so as a attend to some other tasks that I was 
supposed to do two weeks ago.

Enjoy!

Bob






-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Jmol-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-developers

Reply via email to