© 2006 by Eric Martz
This section is for programmers interested in technical details of the implementation of PE. It touches upon some design features that may not be obvious when using Protein Explorer.
For the RCSB, the URL to fetch a gzipped PDB file for 9dna is: www.rcsb.org/pdb/cgi/export.cgi/9dna.pdb?pdbId=9dna&format=PDB&compression=chime
The Explorer (one molecule at a time) has a Ready/Busy indicator below Chime. The Comparator does not have such indicators but internally obeys the same rules. This is because the Comparator would need three separate indicators (one for each Chime and one for Netscape) and this seemed not worth the effort for programming nor the screen space required nor the visual distraction from three indicators.
Surface calculations. Calculation of surfaces and coloring them by distance (QuickViews DISPLAY Surface or Contacts, or in Advanced Explorer, coloring a surface by electrostatic potential, or lipophilicity potential) require significant time. In QuickViews, a small window appears apprising the user of this. For large molecules this may take several minutes, but there is no workaround.
Retaining the selected subset. Several options in QuickViews utilize scripts that involve selecting subsets, but when finished, preserve whatever was selected before the button was pressed. These are the Water, Ligand, and 2o buttons, and DISPLAY Vines or Cartoon. Restoring the initially selected atoms is accomplished with one final "select temporary", where "temporary" was defined as the initially selected subset. Selecting a defined token is exceptionally slow in RasMol and Chime when the subset is large. After loading a large molecule and pressing the Water button, it is quite possible to have the browser and Chime freeze for a full minute or more. On the other hand, if all atoms are selected prior to these operations, the script can end with "select all" which completes instantaneously. Therefore, PE notices whether all atoms are selected and avoids selecting the defined temporary subset in that case. If a subset of the atoms are selected, and if the "select temporary" operation is estimated to need more than 12 seconds, a warning alert informs the user that selecting all will speed up this operation, but offers the option to proceed slowly, preserving the currently selected set. This implementation required that we estimate the speed of a "select temporary" operation in Chime separately for each client computer.
The relative speed is determined five times and the average is saved as a cookie with a one-year lifetime. Based on the total atoms in the PDB file, and the number of atoms selected, we predict the seconds needed for the operation requested. (See predicted_sec() in util_top.js.) You can see these predictions if you enter the command speedwatchon before e.g. pressing the Water button. If the prediction exceeds 12 seconds, the user is warned and given the option to cancel, and it is explained that if all atoms are selected first, the operation will be much faster. For test purposes, here are a series of increasingly large PDB files (total atoms in parentheses): 1IGT (13K), 7AHL (23K), 1G3I (45K), 1AON (59K), 1FFK (64K), 1JJ2 (98K). Larger oligomers including huge virus capsids are available from Probable Quaternary Structures (accessed through the Mol Info window).
The first speed detemination is thown away because it often spuriously reports 0 milliseconds (for reasons unknown). Merely reloading the speed-measuring document did not prevent this (if it was the first time Chime was loaded in the Netscape session), so the window containing that document has to be closed and re-opened. Furthermore, on a very slow computer, the second determination may also be 0 milliseconds, so the second determination is thrown away if it is very small. Thus, it takes 6-7 determinations to get five good ones for the average.
With downloaded copies of PE on Macintoshes, version 1.98 Beta of PE revealed that Chime often fails to load into the window containing the speed_ch.htm document, causing PE to fail to start (since no Chime speed is ever reported). Therefore, in PE 1.981 Beta, for downloaded PE on Macintoshes, the speed test is not attempted. Instead, the user is asked whether the computer is a G3 or a G4, and a rough speed is recorded based on the response. Advanced users may determine the speed of Chime on their Mac by running PE on-line and entering the "speed" command. This relative Chime speed value can then be entered in the next session of the downloaded PE for improved accuracy.
Slow color scheme scripts. Several color schemes in PE use Chime scripts (rather than being built into Chime), and are designed to color only the selected subset of atoms. Limiting them to the currently selected atoms involves using the defined "temporary" set in several selection commands, as well as restoring it with "select temporary" as the last command. Because these involve several selections of "temporary", they are even slower than the operations discussed above. PE's predicted seconds for execution takes this into account. If more than 12 seconds, PE reminds that selecting all prior to applying the color scheme will make it much faster.
Fixing the following limitations is not worth the time required, so these are expected to remain indefinitely.
Elsewhere are short versions of what's new
since PE 2
in PE 2.
Here, below, are the details.
MolSlide Development Enhancements
Because, in this version of PE, MolSlide development can be done only in Windows, these enhancements do not apply to Macs. We will continue to strive to support MolSlide development with Macs.
PE now handles the security barriers and limitations of the Gecko browsers more gracefully. When PE is on-line, the Load Molecule control panel no longer shows the Browse button to load local PDB files in Gecko browsers (since they block this). When PE is downloaded, the Browse button is available in Gecko browsers.
Recorder Improvements (thanks to Timothy Driscoll, www.molvisions.com)
Enhancements and Changes
Documentation / Terminology
Plans for the Next Release
Chime 2.6 SP4 has a newly functional "show version" script command, making it much easier to determine its version in IE. However, it was necessary to maintain compatibility with SP3 plus SP4 in IE in order to avoid suddenly locking out instructional computer labs where software changes take a long time to be made (such as the one I teach in at UMass). Because of the difficulties determining versions of Chime 2.6 SP3 and earlier in IE combined with the requirement for a new mechanism for SP4, a major overhaul of the startup mechanism of PE was required. These changes are detailed under Chime Testing.
In addition, there was an unanticipated change needed to support IMBIF, which required additional recoding.
*** ENHANCEMENTS TO FUNCTION ***
*** ENHANCEMENTS TO DOCUMENTATION ***