The last release of Jmol was 14.2.4, in Aug. This release of 14.2.7 adds
several more features:

Jmol.___JmolVersion="14.2.7_2014.10.12"
release

FEATURE CHANGE: atoms without vibration will no longer report out as vxyz =
{0 0 0} or vx = 0
 -- print {atomno=3}.vxyz and {*}.vxyz.all will report -1
    instead of {vx vy vz} when atom does not have a vibration
 -- print {atomno=3}.vx  will report "NaN" (also vy and vz)
 -- label %[vxyz] will be blank
 -- label %[vx] will be blank (also vy and vz)
 -- select vxyz >= 0 will select for atoms with vibrations of any magnitude
 -- select vxyz < 0 will select for atoms without vibrations of any
magnitude
 -- select vx = 0 will NOT select atoms with no vibration vector
 -- select vx != 0 will NOT select atoms with no vibration vector
 -- select vx = 0 || vx != 0 will select for atoms with vibrations of any
magnitude
 -- same with modulations and modxyz, modx, mody, modz

FEATURE CHANGE: {xxx}.vxyz = a,  where a is an array
 -- no longer throws an exception if a[i] is not a point
 -- simply does not set that value.
 -- allows for  v = {*}.vxyz.all; {*}.vxyz = v;

FEATURE CHANGE: DSSR reference to "lonePairs" changed to "isolatedPairs"
 -- select within(dssr,"isolatedPairs") preferred
 -- select within(dssr,"lonePairs") still OK



----- file loading ------

new feature: Molden reader adds [CellAxes] block
  -- three vectors -- a, b, c
  -- Angstroms assumed; no other option, actually
  -- Use 0 0 0 for c to indicate slab
  -- example
  [CellAxes] (Angs)
    2.963407 0.0 0.0
    0.0 6.513587 0.0
    0.0 0.0 0.0

new feature: TOPOS Crystal Graph Data (CGD) file reader

new feature: load =xxxx/rna3d
  -- mmCIF only
  -- fetches http://rna.bgsu.edu/rna3dhub/loops/download/xxxx
  -- hairpinLoops, internalLoops, junctions
  -- allows for such constructs as:
       select within(rna3d,"hairpinLoops")
       select within(rna3d,"hairpinLoops where index=5")
       x = getproperty("auxiliaryInfo.models[1].rna3d.internalLoops.5")
       x = getproperty("auxiliaryInfo.models[1].rna3d.internalLoops")[5]
       print x
        {
          _atoms  :  ({3023:3062 3639:3706})
          _isres  :  true
          _path  :  "internalLoops"
          index  :  5
          units  :
"1S72|1|0|C|153,1S72|1|0|C|154,1S72|1|0|G|182,1S72|1|0|A|183,1S72|1|0|G|184"
        }
       y = x._atoms
       select y

new feature: load =xxxx/val
new feature: load =xxxx/dom
 -- extends PDBe validation/domain annotation to RCSB calls

new feature: load *xxxx/dssr
new feature: load *xxxx/rna3d
 -- DSSR analysis extended to PDBe calls
 -- RNA3D analysis extended to RCSB calls

new feature: Legendre polynomials for MSCIF file reading

new feature: load quartz.cif supercell "2a,2b+a,c;1/2,0,0"
  -- allows adjusting origin without changing symmetry operations
  -- same as load quartz.cif filter "cell=2a,2b+a,c;1/2,0,0"
  -- default lattice set to {555 555 -1} (i.e., PACKED)
  -- sets packing range based on the supercell
  -- packing can be avoided by specifying the lattice:
     load quartz.cif {1 1 1} supercell "2a,2b+a,c;1/2,0,0"

new feature: load(filename, asbinary, async)
  -- 3rd parameter loads file asynchronously in HTML5

new feature: pmesh files can contain triangle colors

new feature: MOLDEN extensions [SpaceGroup] [Operators] [Cell]

new feature: magCIF file reading for incommensurately modulated magnetic
structures
  -- very preliminary only; not tested

IMPORTANT NOTE: The problem described here only affects the reading of
states that
    have been created for crystallographic files, and then only if the
    state was created in Java and then displayed in JavaScript,
    or vice-versa.

    The problem is due to the fact that the Java implementation
    of Jmol uses float values for atom coordinates, while JavaScript
    is restricted to using only double values. The problem arises when
    a comparison must be made between two decimal values. After symmetry
    has been applied, it is possible for atom coordinates to be off in the
    4th-7th decimal digit for floats and 14th-17th for doubles in the
    range -256 to 256.

    The problem is most acute for inorganic crystal systems where
    symmetry has been applied and especially after the CONNECT NONE command
    has been issued.

    Aspects where a problem might arise include:
      -- packing of unit cells, where atoms are discarded
      -- iterating over atoms, where atom order is important
      -- autobonding, where distances and order are critical
      -- comparing Cartesian or fractional coordinate values

    Solution to the problem is to automatically round all fractional
    atom coordinates to a precision of 0.00001 and all Cartesian
    atom coordinates to a precision of 0.0001. This forces both
    double and float implementations to the same value and
    results in no practical error, since these ranges are
    well beyond the precision of atom coordinates in crystals.
    Coincidence is assured for fractional coordinates up to
    about 126 and for Cartesian coordinates up to about 838.

    This rounding is not implemented for state or PNGJ file
    with state version v where

        v < 140206 || v >= 140300 && v < 140306

    and in general only in the case where the file coordinates are
    fractional. Thus, those files will be read exactly as in the
    version they were created by. And they will have have the same
    issues as well.

    The result is also much cleaner-looking atom coordinates.
    For example, in JavaScript:

    print {*}.fxyz

        {0.33333328149215147 0.999999891271352 1.0000000000000024}
        {0.6666666148254848 0.999999891271352 1.0000000000000024}
        {0.9999999844017011 1.000000000000001 0}
        {0.9999999616049127 0.9999999316096356 0.6290004156275991}
        {0.9999999709556066 0.9999999596617175 0.3709995843724032}
        {0.9999999481588181 0.999999891271352 1.0000000000000024}

    becomes:

        {0.33333 1 1}
        {0.66667 1 1}
        {1 1 0}
        {1 1 0.629}
        {1 1 0.371}
        {1 1 1}



-----atom properties and functions -----

new feature: {xxx}.find("MF","CH2O")
 -- returns subset of {xxx}
 -- first atoms that match formula; not necessarily sequential

new feature: {*}.find("MF", TRUE)
 -- calculates EMPIRICAL formula
 -- example:
    $ load $glucose
    $ print {*}.find("MF")
    H 12 C 6 O 6
    $ print {*}.find("MF",true)
    H 2 C 1 O 1

new feature: {cell=555}.find("CellFormula");
 -- calculates cell formula for specified unit cell
 -- weights interior 1, face 1/2, edge 1/4, vertex 1/8
 -- selection should be a single packed unit cell
 -- fails with "?" if end result is not integral
 -- example:
    $ load quartz.cif packed
    $ print {*}.find("cellFormula");
    O 6 Si 3

new feature: {cell=555}.find("CellFormula", TRUE);
 -- calculates empirical cell formula for specified unit cell
 -- weights interior 1, face 1/2, edge 1/4, vertex 1/8
 -- selection should be a single packed unit cell
 -- fails with "?" if end result is not integral
 -- example:
    $ load quartz.cif packed
    $ print {*}.find("cellFormula", true);
    O 2 Si 1

new feature: label %O
 -- lists all symmetry operators leading to this position (as a string)
 -- if more than one operator (contains a comma), this is a special position
 -- same as %[symmetry] but just a simple list of operators

----- miscellaneous -----

new feature: SHOW/WRITE PROPERTIES ... format "%s %i %f %f %f"
  -- allows specifying the format for a set of up to three properties.
  -- %s is atom name; %i is atom number

new feature: AXES TYPE "a"|"b"|"c"|"ab"|"ac"|"bc"|"abc"
  -- for axes position [x y] only shows specified axes

new feature: upgrade of application file...export...Gaussian Input File...

new feature: set legacyJavaFloat
  -- set by Jmol when a state is read that is before 14.2.6 or in the range
14.3.0 - 14.3.5;
  -- prevents fractional and cartesian coordinate rounding.
  -- cleared by ZAP or LOAD or loading of any later state script

new feature: set showModulationVectors true/false
  -- required now for showing modulation vectors rather than vibration
vectors

new feature: vibration max x.x

new feature: vector max x.x  // alternative; the same
 -- renormalizes all vibrations and vibration/spin vectors to have a
maximum value of x.x




-- 
Robert M. Hanson
Larson-Anderson Professor of Chemistry
Chair, Department 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
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://p.sf.net/sfu/Zoho
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to