From: Otis R. <osr...@ch...> - 2010-09-25 04:33:59
|
Bob, I'm working on a multi-user Jmol applet for Skype - i.e. server driven exchange during a Skype call. While I can send/receive model kit edited models, I'm running into problems with bond order. Models edited by atom replacement, breaking a bond, inverting a stereo center, and rotating a bond exchange nicely. Bond order other than zero (break) presents a problem. By way of example, if one user sends a model edited by a single to double bond edit, the other user receives the correct stoichiometry and sp2 geometry, but the sent double bond shows up as single in the receiving browser. Bonds edited to triple are also a problem. I'm using Jmol save/restore state to make these transfers. While trying to track down the multi-user problem, I discovered that the problem is Jmol save/restore state. In other words, if I simply do a save/restore state locally in one browser, the same problems occur. Is this a bug or a misuse of Jmol state on my part? I'm pretty sure just using the extracted molfile would work, but exchanging the entire state would be better. I don't think the extracted molfile would send a model that was simply bond axis rotated. With the state transfer, one user can send another user a conformer rotation. This is all using 12.1.11_dev. Otis -- Otis Rothenberger chemagic.com |
From: Otis R. <osr...@ch...> - 2010-09-25 12:46:55
|
Bob, I stand corrected. I do not lose rotation affects by using the extracted molfiles. So the only issue for our application is partial charges on files that contain this information. Exchange of models originating from NIH are also a problem. Although the state file has the inline load data, I assume this problem is related to the fact that the NIH model url has only a temporary existence. I'm thinking extracted molfiles are my best bet at this point. Otis Otis Rothenberger chemagic.com On 9/25/2010 12:33 AM, Otis Rothenberger wrote: > Bob, > > I'm working on a multi-user Jmol applet for Skype - i.e. server driven > exchange during a Skype call. While I can send/receive model kit edited > models, I'm running into problems with bond order. Models edited by atom > replacement, breaking a bond, inverting a stereo center, and rotating a > bond exchange nicely. Bond order other than zero (break) presents a > problem. By way of example, if one user sends a model edited by a single > to double bond edit, the other user receives the correct stoichiometry > and sp2 geometry, but the sent double bond shows up as single in the > receiving browser. Bonds edited to triple are also a problem. > > I'm using Jmol save/restore state to make these transfers. While trying > to track down the multi-user problem, I discovered that the problem is > Jmol save/restore state. In other words, if I simply do a save/restore > state locally in one browser, the same problems occur. Is this a bug or > a misuse of Jmol state on my part? I'm pretty sure just using the > extracted molfile would work, but exchanging the entire state would be > better. I don't think the extracted molfile would send a model that was > simply bond axis rotated. With the state transfer, one user can send > another user a conformer rotation. > > This is all using 12.1.11_dev. > > Otis > |
From: Otis R. <osr...@ch...> - 2010-09-25 14:54:04
|
Bob - The full email re the following message bounced because of size. I'll send the entire email off list. Bob, In my second note, I was only referring to the extracted file approach. With state saving, I still have the bond issue. I should mention that I'm using the following to "restore:" jmolScript("script ../temp/" + "555556565656" + ".txt") The basic idea is that two users "checks out" a modelkit identified by a unique 12 digit number. Changes to this model are recorded in a server text file, and the remote users see these changes via the shared number and the above script. The state file below (end of email) should be 2-butyne that started from an ethene molfile load. The model kit edit shows 2-butyne, but here is what the above script produces from the state file: Otis Rothenberger chemagic.com On 9/25/2010 8:46 AM, Otis Rothenberger wrote: > Bob, > > I stand corrected. I do not lose rotation affects by using the > extracted molfiles. So the only issue for our application is partial > charges on files that contain this information. > > Exchange of models originating from NIH are also a problem. Although > the state file has the inline load data, I assume this problem is > related to the fact that the NIH model url has only a temporary > existence. > > I'm thinking extracted molfiles are my best bet at this point. > > Otis > > > Otis Rothenberger |
From: Robert H. <ha...@st...> - 2010-09-26 16:32:46
|
OK, I found it. That should be fixed for Jmol 12.1.14 and 12.0.16. Error reading the state script. See http://chemapps.stolaf.edu/jmol/docs/examples-12/Jmol.zip (uploading now) Bob On Sat, Sep 25, 2010 at 9:53 AM, Otis Rothenberger <osr...@ch...>wrote: > Bob - The full email re the following message bounced because of size. > I'll send the entire email off list. > > and the above script. The state file below (end of email) should be > 2-butyne that started from an ethene molfile load. The model kit edit > shows 2-butyne, but here is what the above script produces from the > state file: > > > > Otis Rothenberger > chemagic.com > > -- Robert M. Hanson Professor of Chemistry St. Olaf College 1520 St. Olaf Ave. Northfield, MN 55057 http://www.stolaf.edu/people/hansonr phone: 507-786-3107 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 |
From: Robert H. <ha...@st...> - 2010-09-26 16:39:58
|
make that http://chemapps.stolaf.edu/jmol/docs/examples-12/Jmol-12.zip On Sun, Sep 26, 2010 at 11:32 AM, Robert Hanson <ha...@st...> wrote: > OK, I found it. That should be fixed for Jmol 12.1.14 and 12.0.16. Error > reading the state script. > > See http://chemapps.stolaf.edu/jmol/docs/examples-12/Jmol.zip (uploading > now) > > Bob > > On Sat, Sep 25, 2010 at 9:53 AM, Otis Rothenberger <osr...@ch...>wrote: > >> Bob - The full email re the following message bounced because of size. >> I'll send the entire email off list. >> >> and the above script. The state file below (end of email) should be >> 2-butyne that started from an ethene molfile load. The model kit edit >> shows 2-butyne, but here is what the above script produces from the >> state file: >> >> >> >> Otis Rothenberger >> chemagic.com >> >> > -- > Robert M. Hanson > Professor of Chemistry > St. Olaf College > 1520 St. Olaf Ave. > Northfield, MN 55057 > http://www.stolaf.edu/people/hansonr > phone: 507-786-3107 > > > 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 > -- Robert M. Hanson Professor of Chemistry St. Olaf College 1520 St. Olaf Ave. Northfield, MN 55057 http://www.stolaf.edu/people/hansonr phone: 507-786-3107 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 |
From: Robert H. <ha...@st...> - 2010-09-25 13:51:07
|
Otis, anytime you find that save/restore does not work, I'm interested. It indicates a flaw in the save state business. I see your second message. My checking suggests, like you say, the double bond issue seems fine. What's the story on partial bonds? On Fri, Sep 24, 2010 at 11:33 PM, Otis Rothenberger <osr...@ch...>wrote: > Bob, > > I'm working on a multi-user Jmol applet for Skype - i.e. server driven > exchange during a Skype call. While I can send/receive model kit edited > models, I'm running into problems with bond order. Models edited by atom > replacement, breaking a bond, inverting a stereo center, and rotating a > bond exchange nicely. Bond order other than zero (break) presents a > problem. By way of example, if one user sends a model edited by a single > to double bond edit, the other user receives the correct stoichiometry > and sp2 geometry, but the sent double bond shows up as single in the > receiving browser. Bonds edited to triple are also a problem. > > I'm using Jmol save/restore state to make these transfers. While trying > to track down the multi-user problem, I discovered that the problem is > Jmol save/restore state. In other words, if I simply do a save/restore > state locally in one browser, the same problems occur. Is this a bug or > a misuse of Jmol state on my part? I'm pretty sure just using the > extracted molfile would work, but exchanging the entire state would be > better. I don't think the extracted molfile would send a model that was > simply bond axis rotated. With the state transfer, one user can send > another user a conformer rotation. > > This is all using 12.1.11_dev. > > Otis > > -- > Otis Rothenberger > chemagic.com > > > > > > ------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > _______________________________________________ > Jmol-users mailing list > Jmo...@li... > https://lists.sourceforge.net/lists/listinfo/jmol-users > -- Robert M. Hanson Professor of Chemistry St. Olaf College 1520 St. Olaf Ave. Northfield, MN 55057 http://www.stolaf.edu/people/hansonr phone: 507-786-3107 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 |
From: Otis R. <osr...@ch...> - 2010-09-25 14:35:25
|
Bob, In my second note, I was only referring to the extracted file approach. With state saving, I still have the bond issue. I should mention that I'm using the following to "restore:" jmolScript("script ../temp/" + "555556565656" + ".txt") The basic idea is that two users "checks out" a modelkit identified by a unique 12 digit number. Changes to this model are recorded in a server text file, and the remote users see these changes via the shared number and the above script. The state file below (end of email) should be 2-butyne that started from an ethene molfile load. The model kit edit shows 2-butyne, but here is what the above script produces from the state file: # Jmol state version 12.1.11_dev 2010-09-05 20:18; # fullName = "jmolApplet0__721296650030216__"; # documentBase = "http://localhost:8080/web_molecules/script_page_large.aspx"; # codeBase = "http://localhost:8080/code/jmol/"; function _setWindowState() { # height 460; # width 450; stateVersion = 1201011; background [x000000]; axis1Color = "[xff0000]"; axis2Color = "[x008000]"; axis3Color = "[x0000ff]"; set ambientPercent 45; set diffusePercent 84; set specular true; set specularPercent 22; set specularPower 40; set specularExponent 6; set zShadePower 1; statusReporting = true; } function _setFileState() { set allowEmbeddedScripts false; set appendNew false; set appletProxy ""; set applySymmetryToBonds false; set autoBond true; set bondRadiusMilliAngstroms 150; set bondTolerance 0.45; set defaultLattice {0.0 0.0 0.0}; set defaultLoadFilter ""; set defaultLoadScript ""; set defaultVDW Auto; set forceAutoBond false; #set defaultDirectory ""; #set loadFormat "http://www.rcsb.org/pdb/files/%FILE.pdb.gz"; #set smilesUrlFormat "http://cactus.nci.nih.gov/chemical/structure/%FILE/file?format=sdf&get3d=True"; #set edsUrlFormat "http://eds.bmc.uu.se/eds/dfs/%LC13/%LCFILE/%LCFILE.omap"; #set edsUrlCutoff "load('http://eds.bmc.uu.se/eds/dfs/%LC13/%LCFILE/%LCFILE.sfdat').lines.find('MAP_SIGMA').split(' ')[2]"; set minBondDistance 0.4; set minimizationCriterion 0.0010; set minimizationSteps 100; set pdbGetHeader false; set pdbSequential false; set percentVdwAtom 23; set smallMoleculeMaxAtoms 40000; set smartAromatic true; load /*file*/"http://localhost:8080/models/ethene.txt"; set allowEmbeddedScripts false; set appendNew false; set appletProxy ""; set applySymmetryToBonds false; set autoBond true; set bondRadiusMilliAngstroms 150; set bondTolerance 0.45; set defaultLattice {0.0 0.0 0.0}; set defaultLoadFilter ""; set defaultLoadScript ""; set defaultVDW Auto; set forceAutoBond false; #set defaultDirectory ""; #set loadFormat "http://www.rcsb.org/pdb/files/%FILE.pdb.gz"; #set smilesUrlFormat "http://cactus.nci.nih.gov/chemical/structure/%FILE/file?format=sdf&get3d=True"; #set edsUrlFormat "http://eds.bmc.uu.se/eds/dfs/%LC13/%LCFILE/%LCFILE.omap"; #set edsUrlCutoff "load('http://eds.bmc.uu.se/eds/dfs/%LC13/%LCFILE/%LCFILE.sfdat').lines.find('MAP_SIGMA').split(' ')[2]"; set minBondDistance 0.4; set minimizationCriterion 0.0010; set minimizationSteps 100; set pdbGetHeader false; set pdbSequential false; set percentVdwAtom 23; set smallMoleculeMaxAtoms 40000; set smartAromatic true; load data "append inline" 3 Viewer.AddHydrogens#noautobond H 1.1692474 -1.803469 -1.0238824 - - - - 7 H 1.1692474 -1.9308412 0.7678584 - - - - 8 H 2.5095618 -1.0795374 -0.07202141 - - - - 9 end "append inline" ; set allowEmbeddedScripts false; set appendNew false; set appletProxy ""; set applySymmetryToBonds false; set autoBond true; set bondRadiusMilliAngstroms 150; set bondTolerance 0.45; set defaultLattice {0.0 0.0 0.0}; set defaultLoadFilter ""; set defaultLoadScript ""; set defaultVDW Auto; set forceAutoBond false; #set defaultDirectory ""; #set loadFormat "http://www.rcsb.org/pdb/files/%FILE.pdb.gz"; #set smilesUrlFormat "http://cactus.nci.nih.gov/chemical/structure/%FILE/file?format=sdf&get3d=True"; #set edsUrlFormat "http://eds.bmc.uu.se/eds/dfs/%LC13/%LCFILE/%LCFILE.omap"; #set edsUrlCutoff "load('http://eds.bmc.uu.se/eds/dfs/%LC13/%LCFILE/%LCFILE.sfdat').lines.find('MAP_SIGMA').split(' ')[2]"; set minBondDistance 0.4; set minimizationCriterion 0.0010; set minimizationSteps 35; set pdbGetHeader false; set pdbSequential false; set percentVdwAtom 23; set smallMoleculeMaxAtoms 40000; set smartAromatic true; load data "append inline" 3 Viewer.AddHydrogens#noautobond H -1.152512 1.9360499 -0.769462 - - - - 10 H -1.1511153 1.8175426 1.0228863 - - - - 11 H -2.5008903 1.1038758 0.0766591 - - - - 12 end "append inline" ; } function _setVariableState() { set defaultanglelabel "%VALUE %UNITS"; set defaultcolorscheme "jmol"; set defaultdistancelabel "%VALUE %UNITS"; set defaultdrawarrowscale 0.5; set defaultlattice "{0.0 0.0 0.0}"; set defaultloadfilter ""; set defaultloadscript ""; set defaulttorsionlabel "%VALUE %UNITS"; set defaulttranslucent 0.5; set defaultvdw "Auto"; set allowembeddedscripts false; set allowrotateselected false; set appletproxy ""; set applysymmetrytobonds false; set atompicking true; set atomtypes ""; set autobond true; set autofps false; set axes window; set axesmode 0; set axesscale 2.0; set bondmodeor false; set bondradiusmilliangstroms 150; set bondtolerance 0.45; set cartoonbaseedges false; set cartoonrockets false; set chaincasesensitive false; set dataseparator "~~~"; set delaymaximumms 0; set dipolescale 1.0; set disablepopupmenu false; set displaycellparameters true; set dotdensity 3; set dotscale 1; set dotsselectedonly false; set dotsurface true; set dragselected false; set drawhover false; set drawpicking false; set dynamicmeasurements false; set ellipsoidarcs false; set ellipsoidaxes false; set ellipsoidaxisdiameter 0.02; set ellipsoidball true; set ellipsoiddotcount 200; set ellipsoiddots false; set ellipsoidfill false; set forceautobond false; set fractionalrelative false; set gestureswipefactor 1.0; set greyscalerendering false; set hbondsangleminimum 90.0; set hbondsbackbone false; set hbondsdistancemaximum 3.25; set hbondsrasmol true; set hbondssolid false; set helixstep 1; set helppath "http://chemapps.stolaf.edu/jmol/docs/index.htm"; set hermitelevel 0; set hidenameinpopup false; set hidenavigationpoint false; set highresolution false; set historylevel 0; set hoverdelay 0.5; set imagestate true; set iskiosk false; set isosurfacepropertysmoothing true; set justifymeasurements false; set loadatomdatatolerance 0.01; set logcommands false; set logfile ""; set loggestures false; set measureallmodels false; set measurementlabels true; set messagestylechime false; set minbonddistance 0.4; set minimizationcriterion 0.0010; set minimizationrefresh false; set minimizationsilent false; set minimizationsteps 35; set monitorenergy false; set multiplebondspacing -1.0; set navigatesurface false; set navigationperiodic false; set navigationspeed 5.0; set pdbgetheader false; set pdbsequential false; set percentvdwatom 23; set pickingspinrate 10; set picklabel ""; set pointgroupdistancetolerance 0.2; set pointgrouplineartolerance 8.0; set propertyatomnumbercolumncount 0; set propertyatomnumberfield 0; set propertycolorscheme "roygb"; set propertydatacolumncount 0; set propertydatafield 0; set quaternionframe "p"; set rangeselected false; set ribbonaspectratio 16; set ribbonborder false; set rocketbarrels false; set saveproteinstructurestate true; set selectallmodels true; set selecthetero true; set selecthydrogen true; set sheetsmoothing 1.0; set showhiddenselectionhalos false; set showhydrogens true; set showkeystrokes true; set showmeasurements true; set showmultiplebonds true; set shownavigationpointalways false; set slabbyatom false; set slabbymolecule false; set smallmoleculemaxatoms 40000; set smartaromatic true; set solventprobe false; set solventproberadius 1.2; set ssbondsbackbone false; set stereodegrees -5.0; set strandcountformeshribbon 7; set strandcountforstrands 5; set strutdefaultradius 0.3; set strutlengthmaximum 7.0; set strutsmultiple false; set strutspacing 6; set testflag1 false; set testflag2 false; set testflag3 false; set testflag4 false; set tracealpha true; set usearcball false; set useminimizationthread false; set usenumberlocalization true; set vectorscale 1.0; set vibrationscale 1.0; set wireframerotation false; set zdepth 0; set zoomlarge true; set zslab 0; #user-defined variables; chrg = [-0.1062, -0.1062, 0.053099997, 0.053099997, 0.053099997, 0.053099997]; pickingmode = "ident"; # label defaults; select none; color label none; background label none; set labelOffset 4 4; set labelAlignment left; set labelPointer off; font label 13.0 SansSerif Plain; } function _setDataState() { DATA "atomName set" 2 ; Jmol Property Data Format 1 -- Jmol 12.1.11_dev 2010-09-05 20:18; 4 C [SUBUNIT]1:A.C4_#4 C4 ; 6 C [SUBUNIT]1:A.C6_#6 C6 ; end "atomName set"; DATA "coord set" 10 ; Jmol Property Data Format 1 -- Jmol 12.1.11_dev 2010-09-05 20:18; 1 C [SUBUNIT]1:A.C1_#1 -0.54984075 0.24622107 0.018003711 ; 2 C [SUBUNIT]1:A.C2_#2 0.5521053 -0.2399553 -0.01460026 ; 4 C [SUBUNIT]1:A.C4_#4 -1.4881593 1.3583729 0.09207648 ; 6 C [SUBUNIT]1:A.C6_#6 1.4954495 -1.3478783 -0.08854454 ; 7 H H7_#7 1.3319885 -1.9035021 -1.0328846 ; 8 H H8_#8 1.3328092 -2.023396 0.77426726 ; 9 H H9_#9 2.5341158 -0.9546968 -0.06292417 ; 10 H H10_#10 -1.3230828 2.0329626 -0.7709833 ; 11 H H11_#11 -1.3219352 1.9135363 1.0362012 ; 12 H H12_#12 -2.528371 0.9698703 0.06707128 ; end "coord set"; DATA "element set" 2 ; Jmol Property Data Format 1 -- Jmol 12.1.11_dev 2010-09-05 20:18; 4 C [SUBUNIT]1:A.C4_#4 6 ; 6 C [SUBUNIT]1:A.C6_#6 6 ; end "element set"; DATA "partialCharge set" 6 ; Jmol Property Data Format 1 -- Jmol 12.1.11_dev 2010-09-05 20:18; 1 C [SUBUNIT]1:A.C1_#1 -0.1062 ; 2 C [SUBUNIT]1:A.C2_#2 -0.1062 ; 3 H [SUBUNIT]1:A.H3_#3 0.053099975 ; 4 C [SUBUNIT]1:A.C4_#4 0.053099975 ; 5 H [SUBUNIT]1:A.H5_#5 0.053099975 ; 6 C [SUBUNIT]1:A.C6_#6 0.053099975 ; end "partialCharge set"; } function _setModelState() { connect ({0}) ({2}) delete; connect ({1}) ({4}) delete; data "connect_atoms" 0 1 3 0.3 0.0 triple; 6 5 1 0.3 0.0 single; 7 5 1 0.3 0.0 single; 8 5 1 0.3 0.0 single; 9 3 1 0.3 0.0 single; 10 3 1 0.3 0.0 single; 11 3 1 0.3 0.0 single; end "connect_atoms"; select ({2 4}); Spacefill 0.2525; select ({0 1 3 5}); Spacefill 0.391; select ({6:11}); Spacefill 0.253; select BONDS ({0:8}); wireframe 0.15; measures delete; select *; set measures nanometers; font measures 15.0 SansSerif Plain; set echo off; boundBox off; font boundBox 14.0 SansSerif Plain; boundBox off; hover ""; frank on; font frank 16.0 SansSerif Bold; set fontScaling false; } function _setPerspectiveState() { set perspectiveModel 11; set scaleAngstromsPerInch 0.0; set perspectiveDepth true; set visualRange 5.0; set cameraDepth 3.0; boundbox ({0 1 3 5:11}); center {0.0028723478 0.0047832727 0.0016583204}; moveto -1.0 {0 0 1 0} 100.0 0.0 0.0 {0.0 -5.0008297E-5 0.0} 2.7502866 {0.0 0.0 0.0} 0.0 -9.05576E-4 0.0; save orientation "default" moveto 0.0 { 499 859 -114 7.8} 100.0 0.0 0.0 {0.0028723478 0.0047832727 0.0016583204} 3.9663374 {0.0 0.0 0.0} -0.040259466 0.05803979 0.0;; slab 100;depth 0; set slabRange 0.0; set spinX 0; set spinY 30; set spinZ 0; set spinFps 30; set navX 0; set navY 0; set navZ 0; set navFps 10; } function _setSelectionState() { delete ({2 4}); select ({0 1 3 5:11}); set hideNotSelected false; } function _setState() { initialize; set refreshing false; _setWindowState; _setFileState; _setVariableState; _setDataState; _setModelState; _setPerspectiveState; _setSelectionState; set refreshing true; set antialiasDisplay false; set antialiasTranslucent true; set antialiasImages true; } _setState; Otis Rothenberger chemagic.com On 9/25/2010 9:51 AM, Robert Hanson wrote: > Otis, anytime you find that save/restore does not work, I'm > interested. It indicates a flaw in the save state business. > > I see your second message. My checking suggests, like you say, the > double bond issue seems fine. > > What's the story on partial bonds? > > > |
From: Robert H. <ha...@st...> - 2010-09-27 04:53:07
|
Parial bond connections should be all set. Jmol was misreading the following (undocumented) block, which is specifically for saving and restoring the state. It was ignoring the order, diameter, and energy columns (3-5) On Sat, Sep 25, 2010 at 9:35 AM, Otis Rothenberger <osr...@ch...>wrote: > > data "connect_atoms" > 0 1 3 0.3 0.0 triple; > 6 5 1 0.3 0.0 single; > 7 5 1 0.3 0.0 single; > 8 5 1 0.3 0.0 single; > 9 3 1 0.3 0.0 single; > 10 3 1 0.3 0.0 single; > 11 3 1 0.3 0.0 single; > end "connect_atoms"; > > -- Robert M. Hanson Professor of Chemistry St. Olaf College 1520 St. Olaf Ave. Northfield, MN 55057 http://www.stolaf.edu/people/hansonr phone: 507-786-3107 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 |