From: Otis R. <osr...@ch...> - 2011-01-10 20:33:54
|
Bob, It looks like the problem is V2000 standards. V3000 has an actual CHG block. In V2000 atom block reference to charge, the following is used: 0 = uncharged or value other than these, 1 = +3, 2 = +2, 3 = +1, 4 = doublet radical, 5 = -1, 6 = -2, 7 = -3 Bizarre! Symyx reference: http://www.symyx.com/downloads/public/ctfile/ctfile.jsp Otis -- Otis Rothenberger Department of Chemistry Illinois State University Normal, IL 61790-4160 http://chemagic.org ---------------------------------------- From: "Otis Rothenberger" <osr...@ch...> Sent: Monday, January 10, 2011 2:17 PM To: jmo...@li... Subject: [Jmol-users] Extract Molfile Bob, I see that version 12.1.30_dev produces a more structured molfile on Extract that includes charge data. That's neat. This did break one of my scripts, and I can't find the problem. The broken script involves a single model duplication. In this script, first the data is extracted: var modTxt = 'echo Copying model data...;mod1 = "' + jmolGetPropertyAsString("extractModel", "all") + '";javascript "dupMod2()";'; jmolScript(modTxt); dupMod2() then does the following: var scpt = 'delay 1;echo;var i = {*}.atomIndex.max + 1;var t = {*}.atomIndex.min;select within(branch, {atomIndex = i}, {atomIndex=t});var x = {selected}.size;var y={*}.size;var z = y - x;'; scpt += 'if (y > 40 || z != 0){echo This feature is limited to a single model with|less than 40 atoms.;delay 3;echo;}'; scpt += 'else{var sz = 5;if (y > 8){sz = 6};if (y > 11){sz = 7};if (y > 30){sz = 9};set appendNew false;'; scpt += 'select *;translateSelected {@sz @sz 0};load APPEND "@mod1";'; scpt += 'mod1="";hover off;' + loadScpt + 'select *;wireframe 0.15;spacefill 23%;boundbox {*};centerat boundbox;javascript "getFormula();lnkSwitch()";}'; jmolScript(scpt); The global variable loadScpt is just some echo and label settings. For neutral models the above still works, but if I have an original ion, I end up with charge problem. By way of example duplicating the 2-propyl cation results in the following (end of email) extracted molfile for the two models. Note the duplicated cation is now +3. I've run into conflicting standards for charges in the molfile atom block before. Some standards use actual charges while others use an integer code!!! Is that what's going on here, or do you see a problem with my code?? Otis string __Jmol-12_01101114153D 1 1.00000 0.00000 0 Jmol version 12.1.30_dev 2010-12-06 22:36 EXTRACT: ({0:5 8:21}) 20 18 0 0 0 0 1 V2000 -5.25897 2.94760 -5.22727 C 0 0 0 0 0 0 -6.40696 3.88045 -4.97901 C 0 1 0 0 0 0 -5.19679 2.67627 -6.29968 H 0 0 0 0 0 0 -5.40453 2.03269 -4.62526 H 0 0 0 0 0 0 -4.32125 3.44406 -4.91922 H 0 0 0 0 0 0 -6.57636 4.30536 -3.56545 C 0 0 0 0 0 0 -5.64464 4.81988 -3.22194 H 0 0 0 0 0 0 -6.73390 3.40107 -2.92615 H 0 0 0 0 0 0 -7.43260 4.98898 -3.43879 H 0 0 0 0 0 0 -7.07100 4.22428 -5.77467 H 0 0 0 0 0 0 -0.31570 0.36779 0.60032 C 0 0 0 0 0 0 0.29552 -0.34440 -0.56970 C 0 3 0 0 0 0 0.12635 0.01278 1.55223 H 0 0 0 0 0 0 -1.40380 0.17640 0.60730 H 0 0 0 0 0 0 -0.13472 1.45247 0.49351 H 0 0 0 0 0 0 -0.23199 0.06232 -1.89775 C 0 0 0 0 0 0 -0.05836 1.15762 -2.04269 H 0 0 0 0 0 0 -1.33430 -0.12533 -1.92861 H 0 0 0 0 0 0 0.25017 -0.49061 -2.72136 H 0 0 0 0 0 0 1.07055 -1.10543 -0.45844 H 0 0 0 0 0 0 1 2 1 0 0 0 1 3 1 0 0 0 1 4 1 0 0 0 1 5 1 0 0 0 2 6 1 0 0 0 7 6 1 0 0 0 8 6 1 0 0 0 9 6 1 0 0 0 10 2 1 0 0 0 11 12 1 0 0 0 11 13 1 0 0 0 11 14 1 0 0 0 11 15 1 0 0 0 12 16 1 0 0 0 17 16 1 0 0 0 18 16 1 0 0 0 19 16 1 0 0 0 20 12 1 0 0 0 M END -- Otis Rothenberger Department of Chemistry Illinois State University Normal, IL 61790-4160 http://chemagic.org |