Fast and furious! 11.1.14 is ready. Forget 11.1.13 -- this is better. :)
The two things I've been working on are (a) a new way to get detailed
information out of Jmol and (b) rotating/translation/inversion of
selected atoms.
(a) The idea here is that we might want to ask questions like:
"Did the user select a tetrahedral carbon?"
"How many bonds are there to C5?"
"what is the average distance from this set of atoms to that set of atoms?"
"As I move this model relative to this other model, how do the distances
change?"
These sorts of questions can now be addressed very easily. The notation
is {atom expression}.atomProperty.
So we have: "Did the user select a tetrahedral carbon?"
if {selected and carbon and connected(4)};echo Yes;else;echo No;endif
and "How many bonds are there to C5?"
x = {c5}.bondcount
message The number of bonds to C5 is %{x}.
or, even easier:
message The number of bonds to C5 is %{{c5}.bondcount}
and "what is the average distance from this set of atoms to that set of
atoms?"
define chainA *:A
define chainB *:B
message The average distance from chain A to chain B is
%{{chainA}.distance{chainB}}.
and "As I move this model relative to this other model, how do the
distances change?"
set echo top left
echo The O5-C12 distance is %{{O5}.distance{C12}}
Now, if you move atom O5 relative to C12 (maybe they are in different
molecules), then the echo text will change automatically.
The same goes for measurements. Just
set dynamicMeasurements
to indicate that they should be recalculated when the screen is repainted.
I have the feeling that this now allows for quite an interesting set of
possibilities for using Jmol in new ways.
A demo of these features is now at
http://www.stolaf.edu/academics/chemapps/jmol/docs/examples-11/new.htm
Bob
11.1.14:
BRACES NOT PARENTHESES
BIG change is that now we use {} in SET and %{} for designating atom
expressions.
This was necessary in order to align SET and %{} with IF, where ()
are also allowed.
set a {oxygen}.temperature
message %{{carbon}.x}
if {O22}.bondCount > 2;goto ...
.DISTANCE ATOM PROPERTY FOR SET, IF, and %{}
d = {oxygen and * /1}.distance{oxygen and * /2}
set echo top left
echo the O-O distance is %{{oxygen and * /1}.distance{oxygen and * /2}}
message %{{atomno=3}.distance{atomno=4}}
DYNAMIC MEASUREMENTS
Now that we can move atoms so easily, we don't want those
measurements getting stale.
set dynamicMeasurements
allows measurements to be recalculated on the fly.
11.1.13:
DATA "coord set"
invertSelected POINT ....
invertSelected PLANE ....
invertSelected HKL ......
rotateSelected ....
rotateSelected spin ....
full state support for "tainting" atom positions using
translateSelected or invertSelected
set allowRotateSelected # then use ALT-LEFT for rotating just the
selected molecule
this all definitely needs some work and discussion in terms of user
interface via mouse
-------------------------------------------------------------------------
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-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users