From: <ni...@us...> - 2007-04-13 17:40:57
|
Revision: 7401 http://svn.sourceforge.net/jmol/?rev=7401&view=rev Author: nicove Date: 2007-04-13 10:40:55 -0700 (Fri, 13 Apr 2007) Log Message: ----------- Jmol version in only one file with Change Log (org/jmol/Jmol.properties) Bob: you can remove the Change Log in JmolConstants after updating Added Paths: ----------- trunk/Jmol/src/org/jmol/Jmol.properties Added: trunk/Jmol/src/org/jmol/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/Jmol.properties (rev 0) +++ trunk/Jmol/src/org/jmol/Jmol.properties 2007-04-13 17:40:55 UTC (rev 7401) @@ -0,0 +1,710 @@ +version=11.1.29 + +# adds translucency for echo and hover, both text and backgrounds +# +# adds echo script to defined state +# +# adds hourglass cursor during MO/Isosurface operations +# +# fixes inoperative set pickingstyle measures on + +# ----------------------------------------------------------------------------- + +#version=11.1.28 + +# adds +# +# a = script("some script command") +# a = javascript("some javascript") +# +# putting output into a from commands such as "show" or "getProperty", for instance. +# +# reinstates tempManager properly. +# +# adds support for CAChe CSF files with MOPAC (AM1, PM3, etc.), +# Density Functional, and Extended Huckel Gaussian/Slater-based molecular orbitals. +# +# CHANGES DEFAULT RENDERING FOR MOLECULAR ORBITALS TO: MESH NOFILL FRONTONLY +# +# adds MOPAC 2007 graphf output reader (gpt2 files, MOPAC molecular orbitals) +# based on the VERY latest version (not released yet), which includes +# "MOPAC-Graphical data" on the first line, character index 6. +# +# adds +# +# mo HOMO [+/- n] +# mo LUMO [+/- n] +# +# fixes bugs found by FindBugs: +# +# labels: default z setting for labels (set labelFront, set labelGroup, set labelAtom) +# was not being recorded properly +# move: with slab or zoom was doing integer math +# GhemicalMMReader -- was incorrectly assigning aromatic to bond type 4 via fall-through of switch +# +# adds xodydata reading of "boundary" as unitcell +# enhances default axis rendering for axes unitcell +# +# adds expanded isosurface-related commands: +# +# draw list +# isosurface list +# lcaocartoon list +# (mo list) -- not particularly useful +# pmesh list +# +# Listing gives id, number of vertices, number of polygons, visibility, +# and title (usually the command that was given that created this isosurface) +# +# CHANGED BEHAVIOR FOR ISOSURFACE COMMAND WITHOUT ID INDICATED: +# +# Now if no ID is indicated, the previous ID is used for all commands +# EXCEPT "isosurface delete", which deletes all isosurfaces. +# +# This is a change from Jmol 10.2 and 11.0, where if you leave +# off the ID, a new isosurface is created. +# +# This was a needed change to prevent unwanted multiple isosurfaces. +# +# CHANGED BEHAVIOR FOR ISOSURFACE DEFAULT COLOR +# +# The default isosurface color no longer changes shade among 5 possible shades. +# That was necessary only because it was easy to mistakenly make multiple +# isosurfaces that otherwise would look the same. + +# ----------------------------------------------------------------------------- + +#version=11.1.27 + +# fixes two state bugs: +# 1) dots/geosurface not being saved properly in state +# 2) animation parameters not being saved properly in state + +# ----------------------------------------------------------------------------- + +#version=11.1.26 + +# fixes two nasty bugs relating to isosurfaces and JVXL files. +# -- JVXL files created from molecular orbitals will show up with no color +# in 11.1.0 - 11.1.25 because of a missing number in the definition line :( +# -- JVXL files created from molecular orbitals will show unwanted cross-over +# surfaces from + to -. + +# ----------------------------------------------------------------------------- + +#version=11.1.25 + +# --fully dissociates geosurface from dots; +# --allows coloring and transparency of geosurface +# similarly to the way stars are colored + +# ----------------------------------------------------------------------------- + +#version=11.1.24 + +# refactored Geodesic3D, Dots, DotsRenderer +# independent dots/geosurface +# +# isosurface CAVITY + +# ----------------------------------------------------------------------------- + +#version=11.1.23 + +# fixes a number of bugs, some critical +# +# adds isosurface CAVITY x.xx -- a new way to depict the cavities of +# a molecule in terms of color. + +# ----------------------------------------------------------------------------- + +#version=11.1.21/22 + +# adds +# +# load files ..... # just a cleaner version of loading multiple files. +# load append ..... # APPENDS the file(s) or model(s) as new frames onto the current set. +# data append ..... # same thing, but inline +# +# isosurface MODEL n +# pmesh MODEL n +# isosurface within x.x (what) +# +# Introduces "real" color translucency +# +# color xxxx translucent N +# +# where N is -1 to 9. +# +# OR OR +# translucent -1 same as Jmol 10.2 +# translucent 0.0 opaque +# through +# translucent 1.0 transparent (invisible) +# +# translucent 2 0.125 32 1/8 translucency (slightly translucent) +# translucent 3 0.25 64 2/8 translucency +# translucent 4 0.375 96 3/8 translucency +# translucent 5 0.5 128 4/8 translucency (default) +# translucent 6 0.625 160 5/8 translucency +# translucent 7 0.75 192 6/8 translucency +# translucent 8 0.825 224 7/8 translucency (very sheer) +# translucent 9 1.00 255 8/8 transparent (invisible) + +# ----------------------------------------------------------------------------- + +#version=11.1.20 + +# cleans up axes/boundbox/unitcell business +# +# allows for individually colored axes: +# +# color axis1 ... +# color axis2 ... +# color axis3 ... +# color axes ... (of course) +# +# and these objects are considered more like background -- +# colors and sizes persist past file load +# +# to turn on and off without messing with size, just use +# +# showAxes = true +# showBoundBox = true +# +# etc. + +# ----------------------------------------------------------------------------- + +#version=11.1.19 + +# allows comparison of user-defined atom properties in SELECT: +# +# select property_myprop < 1e-5; +# +# and +# +# x = {carbon}[5].property_test +# x = {carbon}.property_test.min +# x = {carbon}.property_test.max +# +# etc. +# +# This is it! :) + +# ----------------------------------------------------------------------------- + +#version=11.1.18 + +# introduces user-definable atom properties that can be used +# to color isosurfaces: +# +# x = load("file.dat"); +# isosurface variable x # simple 100% vdw radius mapping +# +# select 1.3 +# data "property_myprop @x" +# isosurface property_myprop +# +# allows isosurface mapping of general atom properties: +# +# isosurface sasurface colorscheme bwr map property temperature +# +# adds "bwr" colorscheme as opposed to "rwb", which I think is backward. +# +# isosurface -- now supports APBS ( ) +# molecular electrostatic potential output files +# +# write -- modified to allow unquoted filename in +# write isosurface file.name +# +# jvxl 1.0 -- adds ANGSTROMS flag on line with # of atoms (line 3) + +# ----------------------------------------------------------------------------- + +#version=11.1.17 + +# deprecation of SET +# ------------------ +# +# The "SET" command is no longer necessary. Anything that could have +# been set using "SET x .... " can now be set using +# +# x = .... +# +# This allows for a much cleaner interface because we simply make +# settings in a normal sort of way: +# +# axes on +# axes = molecular +# +# measures = angstroms +# +# It will take a bit more to make it all consistent, but the idea +# is that there are then some special reserved variables that +# mean something special when set, like "bondmode" +# +# This build allows for the applet to be "bare-bones" -- only the +# essential classes included in the Jar file; others never included +# or possibly in accompanying jar files, such as, perhaps, JmolPopupMenu.jar, +# JmolNavigation.jar, JmolBio.jar, Jm olSurface.jar, JmolXtal.jar, etc. +# +# Then a developer can slim down the download. The minimum is 697K, +# about 58% of the full package. All that gets you is atoms, bonds, +# and measures. + +# ----------------------------------------------------------------------------- + +#version=11.1.16: + +# First incompatibility found: +# +# set echo myecho (atomno=3) or (atomno=5) +# 1) adds two new modifiers: +# .min +# .max +# +# as in: +# +# x = {*}.bonds.length.max #the longest bond length +# x = {*}.atoms.max #the last atom +# +# 2) extends find() to sets of lines. For example: +# +# longLine={*}.bonds.label("%=, %LENGTH").lines.find({*}.bonds.length.max) +# message @longLine +# longest = longLine%(longLine.find(",")-1) +# b = {*}.bonds[longest] +# select b_set;color bonds yellow + +# ----------------------------------------------------------------------------- + +#version=11.1.15: + +# APPLICATION: adds undo/redo to a fixed depth of 50 commands +# +# TYPE CONVERSION +# +# We have eight different variable types now: +# boolean True/False +# integer 0, 1, 2, .... +# decimal 3.5, 3.25E-3 +# string "test" "3.5" +# point {2.3 3.4 5.6} {0 1/2 1} +# plane {0 1 1 0} +# atomset {oxygen} +# bondset {oxygen}.bonds + +# plane and bondset are new; arithmetic operations are not fully developed. + +# These can be mixed and matched to good effect. Certain relatively +# intuitive rules apply. Usually the operand on the left sets +# the overall type, allowing for easy type conversion depending upon +# operand order: +# int + float: +# 0 + 3.6 ==> 3 (int on left rounds float on right) +# 3.6 + 0 ==> 3.6 (float on left sets result) +# +# int/float + string: +# 0.0 + "3.5" ==> 3.5 (string converted to float) +# 0 + "3.5" ==> 3 (string converted to float, then int) +# "3.5" + 0 ==> "3.50" (integer converted to string) +# "3.5" + 0.0 ==> "3.50.0" (float converted to string) +# +# 1.0 + {carbon}.xyz ==> 1 + distance from {0 0 0} to {carbon} center +# {carbon}.xyz + 1 ==> {carbon} center point offset by {1 1 1} +# +# x = {carbon}.xyz * {1 0 0} ==> (dot product) +# +# Now x is the average x coordinate of carbon +# +# Boolean expressions are a bit different in that the operators +# AND, OR, XOR, and NOT all require conversion to boolean UNLESS both +# operands are atom expressions, in which case these operate directly on the +# atom sets and return a new atom set, just like in SELECT. +# +# 3 and 0.5 ==> TRUE (both are nonzero) +# false OR 2.0 ==> true (2.0 is not 0, so it is TRUE) +# {oxygen} and {molecule=1} ==> all oxygen atoms in the first molecule +# +# x = ({oxygen} and {molecule=1}).xyz +# +# x is now the center point of all oxygen atoms in the first molecule +# +# In standard math, boolean TRUE evaluates to 1.0; FALSE evaluates to 0.0 +# +# true + 2.0 ==> 3.0 ("TRUE" evaluates to 1.0 in math operations) +# 2 + true ==> 3 ("TRUE" evaluates to 1.0 and is then turned into an integer) +# +# +# ATOM EXPRESSION AUTOMATIC DEFINE +# +# When you set a variable to a value, and that value is a point, plane, or atom expression, +# then Jmol automatically registers the result as follows: +# +# points: +# x = "{x y z}" +# +# planes: +# x = "{x y z w}" +# +# atom expressions: +# x = n +# x_set = "({i j k ...})" +# +# set x = {oxygen}.xyz +# set y = {carbon}.xyz +# draw @x +# draw @y +# draw line1 @x @y +# +# and +# +# set x = {carbon}[3][5] +# select @x_set +# color green +# +# set x = {carbon or oxygen}.bonds +# select BONDS @x_set +# color bonds green +# +# +# DATA() function and variable option for DATA command +# +# x = data({atomno < 10},"xyz") +# x = data({atomno < 10},"mol") +# x = data({atomno < 10},"pdb") +# +# data "model @x" +# +# write data t.xyz +# write data t.mol +# write data t.pdb +# +# +# Better BITSET implementation +# +# CHANGE: default string value for a bitset is now the ({n:m}) +# string format, which can be used in numerous commands. +# +# To get the count within a string context, just use .size: +# +# x = "number selected is " + {selected}.size +# +# or force integer math: +# +# x = "number selected is " + (0 + {selected}) +# +# merges math functions within(), connected(), substructure() into molecular math +# +# adds connected() both for finding atoms and for identifying bonds: +# xAtoms = connected(3, {carbon}) +# xBonds = connected(1.3,2.5,"single", {carbon} {oxygen}) +# +# adds +# x.atoms +# to go along with x.bonds +# +# adds distance({carbon},{oxygen}) +# adds angle({carbon}[4],{oxygen}[3], {nitrogen}[2]) +# +# angle function accepts from three or four +# atom expressions or XYZ coordinates and returns a decimal number for +# the distance, angle, or dihedral relating these points. +# When more than one atom is involved, average positions are used. +# +# Note that when more than one atom is involved in a set, +# the following are different: +# +# x1 = {molecule=1}.distance{molecule=2} +# x2 = {molecule=1}.xyz - {molecule=2}.xyz +# +# x1 is a NUMBER that is the "average distance measured +# from each molecule 1 atom to the average molecule 2 position" +# x2 is a point representing the VECTOR from the "average position of molecule 2" +# to the "average position of molecule 1" +# +# The following are all equivalent: +# +# x3 = {molecule=1}.xyz.distance{molecule=2} +# x4 = 0.0 + ({molecule=1}.xyz - {molecule=2}.xyz) +# x5 = ({molecule=1}.xyz - {molecule=2}.xyz).distance{0 0 0} +# x6 = distance({molecule=1} {molecule=2}) +# +# They are all the distance from the center of molecule 1 +# to the center of molecule 2 +# +# +# x = load("filename") +# +# The string data in the file are loaded into the string. +# If the file does not exist, then the string contains the error message. +# +# +# Implements ({i j:k m n}) bitset option across all commands +# +# RESET varName +# +# reset varName # clears that variable definition +# +# +# "UNSPECIFIED" and "QUADRUPLE" BOND TYPES +# +# An additional bond type is now avaiable: "UNSPECIFIED". +# This shows up in the MOL2 reader and may be selected for and modified using, for example: +# +# select connected(unspecified) +# color bonds red +# +# or +# +# select connected(unspecified) +# connect (selected) single modify +# +# In addition, we now can depict quadruple bonds. + +# ----------------------------------------------------------------------------- + +#version=11.1.14: + +# 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. +# +# +# MEASUREMENT FORMAT STRINGS +# +# Measurement format strings can be set using +# +# measure "format string..." +# +# where the format string may have the following keys: +# +# %= 1-based index +# %VALUE the value of the measurement +# %UNITS the units for the measurement +# %x1 atom property "x" for atom 1 +# %x2 atom property "x" for atom 2 +# %x3 atom property "x" for atom 3 +# %x4 atom property "x" for atom 4 +# +# for example: +# +# measure "%a1 -- %VALUE %UNITS --- %a2" +# +# +# MATH OPERATOR PRECEDENCE AND PARENTHESES +# +# Jmol 11.1.14 supports full standard operator precedence and parentheses +# in IF, SET, and %{} expressions +# +# degUnsat = ({carbon} * 2 + {nitrogen} + 2 - {hydrogen}) / 2 +# +# +# BRACES INDICATE ATOM EXPRESSIONS +# +# Use {} in IF, SET and %{} for designating atom expressions. +# We are still using () for "embedded expressions" in all other commands. +# +# nOxygen = {oxygen} +# xOxygen = {oxygen}.x +# ptOxygen = {oxygen.xyz} +# +# a = {oxygen}.temperature +# message %{{carbon}.x} +# if {O22}.bondCount > 2;goto ... +# +# but +# +# draw line1 (atomno=2) (atomno=3) +# +# +# ATOM EXPRESSION ITEM SELECTOR [n] +# +# In SET, IF, and %{ } in MESSAGE and ECHO you can now specify a subset of the +# atom expression. +# +# x = {carbon}[3] # the third carbon atom +# x = {carbon}[3][5] # the third through fifth carbon atoms +# x = {carbon}[3][0] # the third through last carbon atoms +# +# This also works in standard select expressions, but using () instead: +# +# select (carbon)[3] # the third carbon atom +# +# and anywhere an embedded expression might be found: +# +# measure ((_C)[1]) ((_C)[2]) +# +# +# POINTS IN IF, SET, and %{} +# +# Points in IF, SET, and %{} can be designated using the standard {x y z} +# notation WITHOUT commas. This is because we have to distinguish between +# atom expressions {1,2,3} and coordinates {x y z}, and this seems to me the +# simplest way to do it. (Comma means "or" in atom expressions.) In all other +# instances, the commas are fine, including "SET UNITCELL" and "SET DEFAULTLATTICE". +# +# x = {1 1 0} + {oxygen}.xyz +# +# { }.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}} +# message %{{atomno=3}.distance{1/2 1/2 1/2}} +# +# +# { }.label "xxxx" ATOM PROPERTY FOR IF, SET, and %{} +# +# The .label format provides a convenient means of delivering a wide range of +# atom-based data back to the user with whatever formatting is desired. +# +# x2 = {atomno=3).label("atom %a\t" + (atomno=3).xyz) +# xyzFile = "" + {selected}.size + "\n\n" + {selected}.label("%a %x %y %z") +# +# +# "....".lines +# +# The .lines operator splits a string into an array based on line termination. +# +# WRITE VAR "filename" (application only) +# +# pdbAtomData = {selected and not hetero}.label("ATOM %5i %-4a%1A%3n %1c%4R%1E %8.3x%8.3y%8.3z%6.2Q%6.2b %2e%2C") +# pdbHeteroData = {selected and hetero}.label("HETATM%5i %-4a%1A%3n %1c%4R%1E %8.3x%8.3y%8.3z%6.2Q%6.2b %2e%2C") +# pdbFile = pdbAtomData + pdbHeteroData +# write VAR pdbFile "test.pdb" +# +# molFileData = "line1\nline2\nline3\n"+(""+{selected}.size)%-3+(""+{selected}.bonds.size)%-3+" 0 0 0\n"+{selected}.labels("%-10.4x%-10.4y%-10.4z %2e 0 0 0 0 0")+{selected}.bonds.labels("%3D1%3D2%3ORDER 0 0 0") +# +# +# GETPROPERTY "evaluate" +# +# You can now use getProperty to get expression information directly: +# +# getproperty "evaluate" "{*}.xyz" +# +# or on a web page the following returns a valid XYZ file for molecule 1: +# +# var info = jmolGetPropertyAsJavaObject("evaluate", '"" + {molecule=1} + "\n\n" + {molecule=1}.label("%a %x %y %z")') +# +# +# SELECTED ATOMS FROM ATOM EXPRESSIONS +# +# You can select atoms from an atom expression using [n]. +# "[0]" means "and everything after". +# +# x = {atom expression}[3].ident +# x = {atom expression}[3][0].xyz # 3 and after (average position) +# x = {atom expression}[3][5].x # 3-5 (average x) +# +# +# SELECTED BONDS FROM EXPRESSIONS +# +# You can select bonds from an atom expression +# +# x = {atom expression}.bonds.ident +# x = {atom expression}.bonds[3].ident +# +# +# BOND INFORMATION +# +# You can specify how to label a set of bonds using format strings. +# Numbers are currently in Angstroms. Keys are +# +# %# sequential number +# %= file 1-based index +# %ORDER the bond order +# %TYPE the bond type +# %LENGTH the bond length +# %x1 atom property "x" for atom 1 +# %x2 atom property "x" for atom 2 +# +# The special atom properties %D1 and %D2 give sequential numbers for the +# atoms FOR THIS SET OF BONDS. This is so that a proper subfile of type MOL +# could be generated. +# +# x = {atom expression}.bonds[3].label("%# %3ORDER %TYPE %a1 %a2 %6.3LENGTH") +# +# +# EXPANDED MODULUS % OPERATOR IN IF, SET, AND %{} +# +# Usually modulus is reserved for integer math, so we +# extend that here to add some useful "modulus-like" capability: +# +# string modulus for trimming and padding +# "test" %3 ==> left trim: "tes" +# "test" %6 ==> right pad: "test " +# "test" %-3 ==> right trim: "est" +# "test" %-6 ==> left pad: " test" +# +# float modulus for rounding and scientific notation +# 3.5456 %3 ==> "3.546" (STRING!) +# 3545.6 %-3 ==> "3.55E+3" (STRING!) +# +# 0.0 + 3.5456 %3 ==> 3.546 (float) +# 0.0 + 3545.6 %-3 ==> 3550.0 +# +# point modulus for getting base unit cell equivalent position +# {3/2 1/2 1/1} % 0 ==> {1/2 1/2 0} + +# ----------------------------------------------------------------------------- + +#version=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 +# +# +# write coords xxxx.spt +# load xxxx.spt # minimal -- just coord. +# script xxxx.spt # this is the full state load +# +# x = (some atom expression).atomProperty -- takes an average if more than one atom +# for example: +# +# x = (* /1).temperature +# x = (C5).bondcount +# +# note that you can even say: +# set echo top left +# echo average position= {%{(selected).x},%{(selected).y},%{(selected).z}} +# +# and it will AUTOMATICALLY update with new values as you select different atoms. + +# ----------------------------------------------------------------------------- + +#version=11.1.12: + +# app fix for console entry messing up cursor position; +# allows for scripting during pause or interrupt of running script using ! as first character of script +# new: within(x.x,plane,$plane1) +# fix for "draw off" not recorded in save state +# fix for within(integer,...) bug using RasMol units +# fix for _modelnumber showing up as 2001 +# reconfigures _modelNumber as x.y for single models; x.x - y.y for range +# adds _currentFileNumber +# adds _currentModelNumberInFile +# disallows user setting of variables with _ as first character +# adds @variableName in any command +# adds frame x.x - y.y +# adds frame 0.0 +# adds frame range x.x - y.y +# adds file command +# adds select file= +# tunes select model= This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |