new feature: Jmol now implements a way of indicating atropisomer chirality. -- measured dihedral angle is clockwise-positive front-to-back, as for Jmol dihedrals -- matching with {*}.find("SMILES","...a^nm-a...") where n and m are 1, 2, or 3 indicate first, second, or third, respectively, and indicate which bonds of the biaryl bond, as written, are to the reference atoms. -- for example: $ load $biphenol $ connect @{@7|@8} @{@1|@2} atropisomer $ print {*}.find("SMARTS","c1(O)ccccc1^23-c2c(O)cccc2") ({0:13}) Explained below. new feature: CONNECT {pair1} {pair2} ATROPISOMER -- creates a new bond of type atropisomer (bond chirality in biaryl systems) -- each pair must include the bonded atom and its reference connected atom -- example: $ load $biphenol $ connect @{@7|@8} @{@1|@2} atropisomer $ getProperty bondinfo[7].type bondinfo[7].type "atropisomer_23" new feature: BONDORDER ATROPISOMER_nm -- not for general use; will be found in state file -- for example: select BONDS ({6}); bondOrder atropisomer_23; new feature: Jmol SMILES bond atropisomerism ^nm- and ^^nm- -- indicates atropisomerism (bond chirality in biaryl systems) -- ^ and ^^ for bonds similar to @ and and @@ for atoms -- n and m are single-digit bond selectors, generally one of 1, 2, or 3 -- n = 1/2/3 means "reference atom is first/second/third bonded -- ^- and ^^- same as ^22- and ^^22-, respectively -- example: $ load $biphenol $ connect @{@7|@8} @{@1|@2} atropisomer $ print {*}.find("SMARTS","c1(O)cccc{c1^23-c2}c(O)cccc2") ({1 6}) Here the "^23-" refers to the two carbons with connected oxygen atoms, because the second bond listed for the carbon on the left is to the c1(O) atom, and the third bond listed for the carbon on the right is to the other c(O) atom. Note that bond numbering includes the implicit bond to the atom coming from the atom on its left, which for the second carbon, starts with the atropisomeric bond itself, at least in this case. 1*23 1*23 c1(O)ccccc1^23-c2c(O)cccc2 JmolVersion="14.7.0_2016.05.23" new feature: setting DSSR on the fly: model 1 property dssr "1d66.dssr" // file containing data model 1 property dssr @{load("1d66.dssr")} // actual data select iloops new feature: print {*}.find("SMILES/hydrogen/") adds hydrogen atoms new feature: symop(3,@3,"atom") -- returns target atom or atoms new feature: show symop 3 @3 "atom" -- shows target atom or atoms JmolVersion="14.5.4_2016.03.29" new feature: Polyhedra command allows for min and max radius -- polyhedra 2.8 3.0 @3 new feature: polyhedra ID xxx SCALE x.x -- ID named polyhedra only -- x.x is the scaling factor, initially 1 -- x.x > 0 does normal scaling -- x.x < 0 does "explode" from {0 0 0} (for higher-order Brillouin zones, for instance) new feature: POLYHEDRON ID "xxx" OFFSET {3 3 3} -- allows cartesian offset of named polyhedra JmolVersion="14.5.0_2015.10.20" new feature: polyhedra with arbitrary center and vertices, without atom center -- for example: polyhedra ID "myid" {0 0 0} TO [{1 1 -1}, {1 -1 1}, {-1 1 1}, {-1 -1 -1}] # tetrahedron around origin polyhedra ID "myid" @{{*}.xyz} TO @{{*}.xyz.all} # polyhedron to center of all atoms JmolVersion="14.5.0_2015.10.18" new feature: x = within(0.01, [array of points]) -- cleans points of duplicates with a tolerance of 0.001 Angstroms -- allows multiple pmesh faces to be turned into polyhedra using: faces = [] for (var i = 1; i <= nPlanes; i++) { var f = ("$f" + i).getProperty("face") faces.push(f) } polyhedra @1 to @{within(0.01, faces.join())} color white JmolVersion="14.3.16_2015.10.06" new feature: print within(distance, point, array_of_points) -- point array distance iterator -- returns subarray of points (in differing order, probably) of array_of_points that are within distance of point. new feature: load =aflow/AgAu -- easy access to binary metal alloy CIF files -- http://aflowlib.mems.duke.edu/users/jmolers/binary_new/%FILE.aflow_binary new feature: show SMILES TRUE -- shows bioSMILES JmolVersion="14.3.16_2015.08.25" new feature: JmolSMILES $(.x:1,2,3,4,5,6,7,8) -- x is oen of d,a,t -- up to four ranges per measurement new feature: print {2.1}.find("SMILES",{1.1})