Revision: 20770 http://sourceforge.net/p/jmol/code/20770 Author: hansonr Date: 2015-09-10 12:34:16 +0000 (Thu, 10 Sep 2015) Log Message: ----------- Jmol.___JmolVersion="14.3.16_2015.09.09"
new feature: SMILES/SMARTS atom designations [C(xxxx)] -- allows pointing to the same atom without connection numbers -- (xxxx) may be anything, including just () -- definition may be anywhere in bracketed atom specification -- any additional primitives in referring expression will be ignored -- involves only a very simple addition to parser code -- Jmol is not currently creating these strings, just interpreting them -- rationale: One basic aspect of SMILES is that it efficiently uses numbers to indicate connectivity using a process of "opening" bonds and "closing" them. Along with radical (.) notation, this is totally sufficient for describing any connected network of atoms, including situations where the ordering of connections is critical (e.g., in describing stereochemistry). Basically, one can simply list all the atoms in an arbitrary order as single-atom components (separated by "."), then assign bonds as desired, in whatever order is desired. The problem comes when attempting to indicate stereochemistry for centers with more than six substituents or with geometries that are outside the standard set of AL, TH, TP, SP, and OH. In such cases, there may arise situations where the ordering of unbonded substituents will be critical. An example is crystal structures of metals and metal alloys. In this situation there are no covalent bonds. The need is to be able to compare two such crystal structures. The solution is to create SMARTS and SMILES strings for complex "atomic environments" consisting of a central atom and any number of nearby atoms, using a cutoff radius rather than a bonding pattern. One possibility is to create a "pseudobond" that connects the central atom to all of its connected atoms, but this is not really necessary and slows processing significantly. Instead, the [@PHn] syntax proposed here allows the polyhedral environment to be specified only for the polyhedron itself, exclusive of the central atom. By providing a means of referring to a specific previously defined atom in a SMILES or SMARTS string, we can allow an atom in such an arrangement to be part of two different polyhedra. Thus, although isolated polySMARTS can be implemented without atom referents, extending that to more complex multi-atom polySMARTS searches requires them. -- example, simple branched organic $ load $t-butylmethylether $ select on search("[O][C(a)H0].[C(a)]C") 5 atoms selected same as $ select on search("[O][CH0](C)") -- note that [C(2)] and [O(2)] are not sensible and may be disallowed. code: javajs.util reconciled with swingjs project bug fix: polyhedra.stereoSmiles --> polyhedra.polySmiles new feature: polyhedron.polySmiles adds central atom -- example: load SF6.smol -1 polyhedra calculate symmetry polyhedra x = {polyhedra}.polyhedra.polySmiles print x //* S1 #1 *// [S@PH6]. //* F6 #7 *// [F]1234. //* F2 #3 *// [F]5672. //* F3 #4 *// [F]849%10. //* F4 #5 *// [F]%11%10%126. //* F1 #2 *// [F]937%12. //* F5 #6 *// [F]8%1151 print polyhedron(x).atomname S1 JmolVersion="14.3.16_2015.09.08" code: Efficient JSON parser javajs.util.JSONParser -- requires object being parsed to be an object (bounded by "{" and "}") Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2015-09-10 12:32:35 UTC (rev 20769) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2015-09-10 12:34:16 UTC (rev 20770) @@ -64,7 +64,9 @@ -- allows pointing to the same atom without connection numbers -- (xxxx) may be anything, including just () -- definition may be anywhere in bracketed atom specification - -- any additional primitives in referring expression will be ignored + -- any additional primitives in referring expression will be ignored + -- involves only a very simple addition to parser code + -- Jmol is not currently creating these strings, just interpreting them -- rationale: One basic aspect of SMILES is that it efficiently uses numbers to This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Monitor Your Dynamic Infrastructure at Any Scale With Datadog! Get real-time metrics from all of your servers, apps and tools in one place. SourceForge users - Click here to start your Free Trial of Datadog now! http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140 _______________________________________________ Jmol-commits mailing list Jmol-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-commits