There is an apparent bug, or at least over-sensitivity in the way Jmol
reads in a state script for a small molecule which contains calculated
hydrogen bonds. I attach two scripts derived from Bob's sucrose example
("load sucrose.cif {1 1 1}; hbonds calculate;"). The first is as written out
by the signed applet with "Save script with state"; the second is identical
excepte for some white-space changes (most notably the inclusion of a blank
line within the data "connect_atoms" block).
The first loads and renders fine; the second causes the applet to crash
and the Java console shows the following error trace:
Exception in thread "QueueThread0" java.lang.ArrayIndexOutOfBoundsException: 0
at org.jmol.modelset.ModelSet.connect(Unknown Source)
at org.jmol.viewer.Viewer.connect(Unknown Source)
at org.jmol.script.ScriptEvaluator.data(Unknown Source)
at org.jmol.script.ScriptEvaluator.instructionDispatchLoop(Unknown
Source)
at org.jmol.script.ScriptEvaluator.runFunction(Unknown Source)
at org.jmol.script.ScriptEvaluator.runFunction(Unknown Source)
at org.jmol.script.ScriptEvaluator.function(Unknown Source)
at org.jmol.script.ScriptEvaluator.instructionDispatchLoop(Unknown
Source)
at org.jmol.script.ScriptEvaluator.runFunction(Unknown Source)
at org.jmol.script.ScriptEvaluator.runFunction(Unknown Source)
at org.jmol.script.ScriptEvaluator.function(Unknown Source)
at org.jmol.script.ScriptEvaluator.instructionDispatchLoop(Unknown
Source)
at org.jmol.script.ScriptEvaluator.evaluateCompiledScript(Unknown
Source)
at org.jmol.viewer.Viewer.evalStringWaitStatus(Unknown Source)
at org.jmol.viewer.ScriptManager$ScriptQueueRunnable.runScript(Unknown
Source)
at
org.jmol.viewer.ScriptManager$ScriptQueueRunnable.runNextScript(Unknown Source)
at org.jmol.viewer.ScriptManager$ScriptQueueRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source
Can this be easily fixed? (The IUCr enhanced figure toolkit saves scripts
is a manner that is not guaranteed to preserve whitespace.)
The problem appears to have been present since at least Jmol 12.0.10, but is
still present in 12.1.44.
Thanks
Brian
function _setWindowState() {
stateVersion = 1201045;
background [x000033];
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 true;
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 defaultStructureDssp true;
set defaultVDW Auto;
set forceAutoBond false;
set legacyAutoBonding false;
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://chemapps.stolaf.edu/jmol/docs/examples-12/data/sucrose.cif"
/*options*/ {1 1 1};
}
function _setVariableState() {
set defaultanglelabel "%VALUE %UNITS";
set defaultcolorscheme "Jmol";
set defaultdistancelabel "%VALUE %UNITS";
set defaultdrawarrowscale 0.5;
set defaultlattice "{0 0 0}";
set defaultloadfilter "";
set defaultloadscript "";
set defaulttorsionlabel "%VALUE %UNITS";
set defaulttranslucent 0.5;
set defaultvdw "Auto";
set allowembeddedscripts true;
set allowmoveatoms false;
set allowrotateselected false;
set appletproxy "";
set applysymmetrytobonds false;
set atompicking true;
set atomtypes "";
set autobond true;
set autofps false;
set axes unitcell;
set axesmode 2;
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 defaultstructuredssp true;
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 dsspcalculatehydrogenalways true;
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 isosurfacepropertysmoothingpower 7;
set justifymeasurements false;
set loadatomdatatolerance 0.01;
set measureallmodels false;
set measurementlabels true;
set messagestylechime false;
set minbonddistance 0.4;
set minimizationcriterion 0.0010;
set minimizationrefresh true;
set minimizationsilent false;
set minimizationsteps 100;
set monitorenergy false;
set multiplebondradiusfactor 0.0;
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;
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 true;
set usenumberlocalization true;
set vectorscale 1.0;
set vibrationscale 1.0;
set wireframerotation false;
set zdepth 0;
set zoomlarge true;
set zslab 0;
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 _setModelState() {
data "connect_atoms"
39 47 4096 0.0010 -1.81 hbond;
40 1 4096 0.0010 -1.924 hbond;
43 4 4096 0.0010 -2.516 hbond;
85 46 4096 0.0010 -1.924 hbond;
88 49 4096 0.0010 -2.516 hbond;
end "connect_atoms";
select BONDS ({92:96});
bondOrder hbond;
measures delete;
select *; set measures nanometers;
font measures 15.0 SansSerif Plain;
axes on;
font axes 14.0 SansSerif Plain;
axes scale 2.0;
boundBox off;
font boundBox 14.0 SansSerif Plain;
boundBox off;
unitcell on;
font unitcell 14.0 SansSerif Plain;
frank on;
font frank 16.0 SansSerif Bold;
select *;
set fontScaling false;
}
function _setPerspectiveState() {
set perspectiveModel 11;
set scaleAngstromsPerInch 0.0;
set perspectiveDepth false;
set visualRange 5.0;
set cameraDepth 3.0;
boundbox corners {-1.7380257 -0.52142906 -1.4827764} {10.863301 12.111266
9.044098} # volume = 1675.7596;
center {4.562638 5.7949185 3.7806609};
moveto -1.0 {0 0 1 0} 100.0 0.0 0.0 {4.562638 5.7949185 3.7806609} 9.813673
{0.0 0.0 0.0} 0.0 0.0 0.0;
save orientation "default";
moveto 0.0 {0 0 1 0} 100.0 0.0 0.0 {4.562638 5.7949185 3.7806609} 9.813673
{0.0 0.0 0.0} -23.113495 29.35601 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() {
select ({0:89});
set hideNotSelected false;
}
function _setState() {
initialize;
set refreshing false;
_setWindowState;
_setFileState;
_setVariableState;
_setModelState;
_setPerspectiveState;
_setSelectionState;
set refreshing true;
set antialiasDisplay false;
set antialiasTranslucent true;
set antialiasImages true;
}
_setState;
function _setWindowState() {
stateVersion = 1201045;
background [x000033];
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 true;
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 defaultStructureDssp true;
set defaultVDW Auto;
set forceAutoBond false;
set legacyAutoBonding false;
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://chemapps.stolaf.edu/jmol/docs/examples-12/data/sucrose.cif"
/*options*/ {1 1 1};
}
function _setVariableState() {
set defaultanglelabel "%VALUE %UNITS";
set defaultcolorscheme "Jmol";
set defaultdistancelabel "%VALUE %UNITS";
set defaultdrawarrowscale 0.5;
set defaultlattice "{0 0 0}";
set defaultloadfilter "";
set defaultloadscript "";
set defaulttorsionlabel "%VALUE %UNITS";
set defaulttranslucent 0.5;
set defaultvdw "Auto";
set allowembeddedscripts true;
set allowmoveatoms false;
set allowrotateselected false;
set appletproxy "";
set applysymmetrytobonds false;
set atompicking true;
set atomtypes "";
set autobond true;
set autofps false;
set axes unitcell;
set axesmode 2;
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 defaultstructuredssp true;
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 dsspcalculatehydrogenalways true;
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 isosurfacepropertysmoothingpower 7;
set justifymeasurements false;
set loadatomdatatolerance 0.01;
set measureallmodels false;
set measurementlabels true;
set messagestylechime false;
set minbonddistance 0.4;
set minimizationcriterion 0.0010;
set minimizationrefresh true;
set minimizationsilent false;
set minimizationsteps 100;
set monitorenergy false;
set multiplebondradiusfactor 0.0;
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;
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 true;
set usenumberlocalization true;
set vectorscale 1.0;
set vibrationscale 1.0;
set wireframerotation false;
set zdepth 0;
set zoomlarge true;
set zslab 0;
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 _setModelState() {
data "connect_atoms"
39 47 4096 0.0010 -1.81 hbond;
40 1 4096 0.0010 -1.924 hbond;
43 4 4096 0.0010 -2.516 hbond;
85 46 4096 0.0010 -1.924 hbond;
88 49 4096 0.0010 -2.516 hbond;
end "connect_atoms";
select BONDS ({92:96});
bondOrder hbond;
measures delete;
select *; set measures nanometers;
font measures 15.0 SansSerif Plain;
axes on;
font axes 14.0 SansSerif Plain;
axes scale 2.0;
boundBox off;
font boundBox 14.0 SansSerif Plain;
boundBox off;
unitcell on;
font unitcell 14.0 SansSerif Plain;
frank on;
font frank 16.0 SansSerif Bold;
select *;
set fontScaling false;
}
function _setPerspectiveState() {
set perspectiveModel 11;
set scaleAngstromsPerInch 0.0;
set perspectiveDepth false;
set visualRange 5.0;
set cameraDepth 3.0;
boundbox corners {-1.7380257 -0.52142906 -1.4827764} {10.863301 12.111266
9.044098} # volume = 1675.7596;
center {4.562638 5.7949185 3.7806609};
moveto -1.0 {0 0 1 0} 100.0 0.0 0.0 {4.562638 5.7949185 3.7806609} 9.813673
{0.0 0.0 0.0} 0.0 0.0 0.0;
save orientation "default";
moveto 0.0 {0 0 1 0} 100.0 0.0 0.0 {4.562638 5.7949185 3.7806609} 9.813673
{0.0 0.0 0.0} -23.113495 29.35601 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() {
select ({0:89});
set hideNotSelected false;
}
function _setState() {
initialize;
set refreshing false;
_setWindowState;
_setFileState;
_setVariableState;
_setModelState;
_setPerspectiveState;
_setSelectionState;
set refreshing true;
set antialiasDisplay false;
set antialiasTranslucent true;
set antialiasImages true;
}
_setState;
------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network
management toolset available today. Delivers lowest initial
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users