VMD Development Status

  • VMD 1.8.4 final release (April 16, 2006)
    • updated win32 installer
    • docs: added uhbdplugin to molfile plugin docs
    • docs: added missing doc page for uhbd plugin
    • doc pics are in cvs now, so the symlink is just for access to original images and not the ones used in the doc builds.
    • docs: Added latex pictures directory to CVS after moving out the original PNG, Targa, PDF, and other source images so CVS users won't wait forever the first time they download the source.
    • docs: updated example for diffing versus the previous release
    • docs: updated doxygen info for 1.8.4 final CVS tags
    • docs: updated volume slice docs with current UI organization.
    • docs: changed tutorial to start 'em off with NewCartoon instead of Tube
    • docs: Significant updates to the graphical representations documentation to reflect new reps and added options for some older reps.
    • docs: fixed bad table reference in volumetric keyword docs.
    • docs: Added rendermode and cachemode descriptions to the UI docs.
    • docs: replace examples that used 'mol load' with 'mol new' and 'mol addfile' commands.
    • docs: Update the credits/acknowledgements info for all of the recent contributions.
    • docs: No longer list authors on the title page. There's not enough room to properly credit all of the main authors of VMD without making a mess, and it seems tacky not to include the full list of major developers. We give props to all of the contributors in the body of the text, which is probably best anyway.
    • docs: updated Tachyon copyright info
    • docs: Updated old TBG group name strings to TCBG, updated copyright date, etc.
    • docs: Updated and re-sorted key features list for current version.
    • docs: Updated the current version authors list to credit all of the people that contributed plugins and significant patches or bug fixes.
    • docs: comment out JMV and SBSDB
    • More updates to the readme for final release
    • Disable the use of the RescaleNormal extension on MacOS X (PowerPC and x86) since it appears to have the same behavior as on Win/IRIX.
    • Updated VS2005 Win x64 project with intstack source files.
    • Prettied up the comments in the per-arch configure-driver makefile to be easier to glance at. Changed the default MacOS X PPC build to disable Python until we come up with a better Python framework/solution of some sort. Enabled remaining optional features on the MacOS X Intel builds.
    • contactmap: Hide the broken load/save features from the user-visible File menu
    • OpenGLExtensions.C: Added comments about the deprecated status of the NSIsSymbolNameDefined() family of dynamic loading functions in MacOS X 10.4 and later. Apple recommends using tests of weakly-linked OpenGL entry points as the new way of doing things.
    • Added code to identify the DCD format on read, and an environment variable check to allow the user to override the default behavior of emitting DCD files in Charmm format by default. Setting the VMDDCDWRITEXPLORFORMAT environment variable will force VMD to emit DCD files in X-PLOR format, even though that means losing periodic cell information.
    • Enable GLSL and 100% OpenGL extension capability on MacOS X Intel
    • Enable identical opengl features for MacOS X x86 and PPC (bugs fixed)
    • Added MacOS X x86 build ifdefs in a couple of key OpenGL extension headers
    • flat namespaces don't fix the python module loading problem, apparently this problem is pretty well known with the older revs of Python, and the fix requires both source and Python library build changes: http://mail.python.org/pipermail/pythonmac-sig/2002-January/004977.html
    • try -flat_namespace to cure Python ills on osx..
    • nope, -rdynamic isn't possible on macosx, we'll try adding -fPIC on the executable. Failing that, the only option is to link against the framework version of Python instead.
    • Added -rdynamic to the mac build flags, we'll see if it fixes the Python module loading problem as it did on AMD64...
    • enable netcdf plugin on Itanium
    • renamed cdfplugin docs to netcdfplugin etc.
    • updated internal messages to match renamed netcdfplugin source file.
    • added -rdynamic for AMD64 builds as well to please netcdf etc.
    • Eliminated cdfplugin source file now that it has been copied/renamed
    • Renamed cdfplugin to netcdfplugin, and preserved revision history
    • Enable netcdf plugin on AMD64 now that linkage problems are fixed.
    • Added -rdynamic for Itanium builds, same/similar to -export-dynamic on some linkers
    • Updated itanium plugin build flags to fix psfgen loading problem
    • Added ICC build flag, currently only used on Itanium builds, but could also be used for x86 and x64 builds too.
    • Switch from Intel C/C++ to GCC to workaround Tcl plugin dynamic loading problems on the Itanium platform.
    • Added comment about Psfgen not accepting PSF files with the Charmm EXT expanded format, presently.
    • Updated win32 installer for release
    • autopsf: Fixed bug where not all temp files were deleted
    • crank minor versions of PDB-related plugins for element symbol record length fix.
    • Added a record length check to get_pdb_fields() when copying in the element symbol string. This prevents non-standard PDB ATOM record lines shorter than 80 chars from potentially causing problems with element/mass/radius/bond determination.
    • Updated the link to Ilya's MEAD Ionize plugin
    • added note about default behavior if no parameters are given for 'measure avpos' or 'measure rmsf'.
    • updated docs for 'measure rmsf' and 'mesaure avpos' command syntax.
    • Fix vmdmovie return handling on the durationChanged routine, and added several more validity tests to make sure that various cut/paste operations don't break the code when null strings are sent in as arguments which were expected to be numeric values.
    • force reset of inclipgroup when none are on, regardless of what the previous state was.
    • initialize inclipgroup to zero, caught by purify.
    • Modified documentation to reflect new plugin features
    • fix durationChanged behavior for the user-defined movie procedure
    • qmtool: Improved docs and added screenshot.
    • made the 'measure rmsf' and 'measure avpos' commands use the same syntax as the mol new/addfile first/last/step keywords for better self consistency.
    • changed measure_avpos() to accept last frame of -1, to match 'mol addfile' syntax.
    • changed measure_rmsf() to accept last frame value of "-1" to match 'mol addfile' syntax.
    • paratool: Improved documentation and added a couple of screenshots.
    • volmap: Adjusted the electrostatic claculation to be kQq(1/r - 1/cutoff) instead of using the Coulomb energy. Without this hack, the computed maps look like complete garbage.
    • STL output: reverse polygon winding order for lower hemisphere of generated spheres
    • Added all know single atom ion names (and hydrated versions) from the PDB into the "ion/ions" atomselection macros to make it more useful.
    • update version number
  • VMD 1.8.4houston (For biomachina.org workshop) (April 6, 2006)
    • Added two more sanity check routines in the CCP4 map reader to deal with maps that have zeros for the crs2xyz vector and zeros for the cell dimensions vector. In the case of crs2xyz, we force axes to 1/2/3. For the cell dimensions, we default to xyz cell dimensions of 1.0 A each.
    • paratool: Fixed bug that in some cases would omit the ! sign before comments in topology files.
    • eliminated distrib reference to previously eliminated file
    • qmtool: Fixed problem with extensions menu.
    • paratool: Removed reference to a nonexistent file
    • mutator: Added GUI warnings for cases mutator doesn't presently handle.
    • autopsf: eliminated spurious debugging info
    • autopsf: Fixed a problem where DNA sometimes wasn't fixed properly
    • marked the builds for biomachina workshop specially since the final release version may differ in some minor way.
    • updated top level plugin doc links
    • molefacture: Added proper dependency ordering
    • mutator: Added proper dependency handling
    • mutator: Changed to use readcharmmtop, and fixed a bug where the topology file sometimes doesn't load
    • dataimport: now checks if the file to be written exists or not (to avoid overwriting data). The previous check was not working because the path was not included in $outprefix. Instead of using "mol addfile", now it uses "mol new". Checks for file format are now uncommented.
    • molefacture: deleted unused topology file
    • autopsf: deleted unused topology file
    • prettied up namdgui docs
    • Added paratool to the VMD extensions menu. QMtool is ready to be added, but it fails during window creation when called by itself outside of autopsf/paratool, as far as I can tell.
    • Added qmtool tk callback for extensions menu
    • updated namdgui documentation
    • Added checks for Gromacs "O1" and "O2" atom names for terminal oxygens
    • prettied up the autopsf docs a bit
    • updated autopsf screen shot image
    • reorganized paratool docs to match structure of other plugins
    • Updated solvate screen shot
    • updated plugins main doc page
    • Updated rmsdtt window with "WMC Physbio" and mesg box
    • Added Luis Gracia's RMSDTT plugin to the extensions menu for testing.
    • updated rmsdtt documentation with new files from Luis
    • Added Luis Gracia's rmsdtt plugin to the VMD plugins tree
    • Set version to final 1.8.4, now we'll just pick from release candidates.
  • VMD 1.8.4b14 (internal test build) (April 3, 2006)
    • updated journal citation for "ligand" volmap method
    • gamessplugin: No apparent problems during further testing, hence changed version from 0.3-rc1 to 0.3.
    • molefacture: Added a warning when people try to load a large structure
    • Fixed bug that would lead to wrong fixed atom pattern in the QM setup of the supramolecular system.
    • paratool: Initialized totalcharge to 0.0 Enabled loading of molecules with no unknown residues. Improved psf input generation. Fixed other minor bugs.
    • namdenergy: Fixed argument parsing which was skipping and swapping stuff in some cases. Added switch -server. This will cause namdenergy to produce a NAMD input file that defines the server for the NAMDserver plugin (to be committed soon).
    • Fixed bug in the Gaussian input file reader that would cause that fixed atoms aren't fixed.
    • Added demomaster plugin to docs page
    • added basic demomaster docs and example image
    • made the verbose flag a demomaster global state thing rather than a parameter specificaly to autorun, since we might want to add other debugging info for other procs at a later time.
    • added more docs for demomaster
    • demomaster: force flush of stdout, fix reset of time delay array, fix loop range so that the last step isn't skipped
    • Added handling of optional AMBER scale factors and unit attributes, added "AMBER" or "MMTK" to all output messages to help clarify which code is active at any moment, and added code to detect the new format MMTK files that include conventions information.
    • Fixed another evil bug that in some cases would prevent angles diheds and impropers to be written to the topology file
    • Fixed evil bug that would swap parameter values when you choose analog parameters from the list. Made metal-complexx window less annoying (it doesn't raise itself all the time).
    • Added yet further I/O checking on dlpolyplugin
    • MacIntel still crashes when OpenGL extensions are enabled...
    • Added stricter I/O error checking to dlpolyplugin
    • Eliminated unused variables and dead code in various plugins.
    • Added link to Andriy Anishkin's VMD scripts
    • Added make target to compile the CatDCD binary on Windows platforms. This is currently disabled to avoid trouble with the Win64 builds, but could be enabled as the Tcl linkage issues are resolved.
    • updated URL for the dlpoly file format specs
    • Make paratool aware of atom types when loading projects.
    • cdfplugin: replaced return codes with defined constants, added checks for AMBER 9 coordinate scale factor variable, etc. More testing is needed before the AMBER 9 side is fully nailed down for release.
    • Hmm, last change fixed one map but another test revealed that there's still an issue for some maps. More testing is needed..
    • pretty up spider header info printing, and add header data offset bytes to info for more sanity checking
    • Added the simple testing oriented Molefacture front-end GUI to the extensions menu, as it will attract people to play with it.
    • Swapped buttons for GAMESS and Gaussian back to normal.
    • Made VMD much more permissive of badly generated AMBER9 NetCDF files, though it will whine and complain when loading such bogus files.
    • Added a molefacture_tk Tk callback for use in the extensions menu
    • molefacture: Added a small entry proc (molefacture_start) that can be hooked up to the vmd extensions menu safely.
    • Added a small entry proc (molefacture_start) that can be hooked up to the vmd extensions menu safely.
    • paratool: Fixed various bugs. Improved psfgen input file writing.
    • qmtool: In normal mode analysis you can choose if you want to display the vectors.
    • brixplugin: fix xyz axis lengths, this plugin never got updated in past rounds.
    • Fix CCP4 origin calculation. Now CCP4, BRIX, and SPIDER all match, will need to test with others still.
    • The top file was missing several patches needed for DNA/RNA terminii.
    • Autopsf now properly handles DNA patching. Made some changes to the chain chooser as well.
    • qmtool: Fixed GUI bug that Leonardo pointed out.
  • VMD 1.8.4b14 (internal test build) (March 27, 2006)
    • fix mutator makefile
    • pretty up molefacture link
    • fix image link
    • Added dataimport and mutator plugins to the main doc page
    • Added mutator to the build
    • added basic placeholder docs for dataimport plugin
    • added basic mutator doc placeholder
    • Added Marcos' dataimport and mutator plugins to the extensions menu
    • fix up residue mutator to link to the VMD extensions menu
    • Added dataimport plugin to the build
    • Added tk callback for data import plugin
    • Changed label plotting so that selected labels are plotted all at once in a single graph with multiplot rather than in N separate graphs, by default.
    • Improve label plotting with multiplot, added better axis labels, added data labels to the legend etc.
    • assume firefox as the browser on Unix for now, until smarter code is added...
    • Enable OpenGL extensions, and higher versioned features on MacOS X x86 for more testing now that other bugs have been fixed.
    • Changed the add/edit chain gui to allow the user to input an arbitrary selection for the chain instead of just indices.
    • molefacture: Much better assignment of atom types
    • paratool: Forbid *.com as filename for Gaussian logs again.
    • paratool: Added warning message that last step of the charmm charge module doesn't work yet and that the user should check for new plugin version. This is in case I won't manage it to finish it before the release.
    • qmtool: Minor bug fixes and some cleanup. Allowing *.com as filename for Gaussian logfiles.
    • Added link to VolMap plugin docs
    • move molefacture up into the list of modeling plugins
    • Pretty up molefacture doc page
    • Use smaller image for molefacture
    • Added molefacture doc link
    • Initial molefacture documentation
    • applied Marcos' fixes and improvements to the mutator plugin
    • gracefully handdling attempt to transform empty hessians by ignoring them. (Bug reported by Leonardo) Added safety check to warn users that load QM logfiles with different QM methods of bassis sets.
    • improved netcdf info messages
    • Applied Konrad's patch to make remaining nucleic acid atom names PDB-like, which should finish up the MMTK side of things unless bugs show up.
    • Introduced new psfcontext calls that make it easy (possible?) to write plugins using psfgen that don't mess up the user's context in case of an error. Also added "psfcontext reset" to do what resetpsf should do.
    • cranked version number
  • VMD 1.8.4b13 (March 22, 2006)
    • Added molecule file drag-and-drop handling to FltkOpenGLDisplayDevice.
    • Updated win32 installer
    • Initial VolMap plugin html docs (without a screenshot)
    • Added biomoccaplugin to the plugin documentation page and updated the text a wee bit.
    • Added biomocca plugin to the make file.
    • Added biomocca plugin for reading volumetric maps generated by the 'biomocca' program written by the CEG at UIUC.
    • reverted the Itanium builds to depending on the Intel C++ libs and dynamic linkage since the statically linked binaries fail on some people's machines. We may wish to add an ICC configure flag to make it easy to build with Intel or GCC as some people prefer one or the other.
    • paratool: Minor bugfixes. Removed futile warnings and dialogs. Added some general documentation and user guide. There's still a lot missing:-(
    • improved error messages in situs plugin
    • Cleanup and improved commenting of the MolBrowser drag-and-drop handling code.
    • Added text about the atom and residue naming conventions currently employed by VMD in it's structure analysis and representation generation code.
    • Applied Konrad's patch to correct atom and residue names VMD looks for when identifying nucleic acids.
    • Applied Konrad's first rev of improvements to the MMTK routines, for PDB-like atom and residue names that'll work for cartoo/ribbon reps, and structure analysis code in VMD.
    • bgfplugin/xbgfplugin: Generally safer handling of pointers. In particular, xbgfplugin didn't properly initialize the bondlist pointer to null, which lead to crashes if you loaded a structure with only one atom.
    • qmtool: Improved behaviour regarding disabling buttons in the setup window.
    • paratool: Improved the code for picking and selecting internal coordinates. It's a lot more robust and faster now. Decreased verbosity of the logging output since most of the stuff was useless for the normal user. I might have introduced new few new bugs somewhere in the periphery like the charmmcharges module but I'll find them soon, since I'm doing a lot of heavy testing on the entire beast.
    • psfgen: Update version number, add message to resetpsf.
    • Added Marcos' mutator plugin
    • Added Konrad's patch to enable reading of PBC info from MMTK NetCDF files, eliminated printf() warnings, and print comment fields etc.
    • cdfplugin: Added Konrad's fix for handling of the minor step dimension
    • Added a VMDApp pointer to the display device classes so that they can make calls to VMDApp::molecule_load() in response to file drag-and-drop operations and similar user interface events (such as dragging an image of the VMD OpenGL window screenshot into other publishing applications, for example). Added drag-and-drop handling for the Win32 OpenGL Window. Similar code should be straightforward for the FLTK OpenGL Window on MacOS X, but based on what I did for the MolBrowser. For X11, it's not entirely clear what the best strategy is, since there are a lot of complexities there.
    • Added a first-rev of simple implementatoin of drag-and-drop support to the molecule browser. This allows the user to drag a bunch of PDB files onto the main VMD window molecule browser and have them get automatically loaded in separate molecules. If VMD doesn't recognize a file type by it's extension, the offending file is simply skipped. This code doesn't ask the user for any input at all, it just does it. It might be nice to make this code smarter, and to pop up a dialog where the user could manually select filetypes for any files that failed to load when all else is finished. It might also be nice to be able to specify that all of the files should be appended to an existing molecule as an alternative, but for now this is already pretty useful if you've got 30 PDB files to load in a hurry and don't want to write a script.
    • Force renormalization of interpolated surface normals to prevent blowout of highlights, and generally better shading quality. Since renormalization follows the vertex fusion step, the runtime cost should be minimized.
    • Added a normalize() method to the isosurface class, for renormalization of interpolated normals from the volume gradients. Cures some oversaturation of highlights on many surfaces, and if done after vertex fusion, comes at a relatively minor additional runtime cost.
    • Fixed spider plugin to seek to the correct data offset before beginning to read density data. Corrected the origin calculation to match the equivalent CCP4 map.
    • Small potential bug fix to ensure guessed atom counts are correct.
    • psfgen: Modify resetpsf to clear topology and aliases as well as structure since this seems to be the expected behavior. Increment version number.
    • psfgen: Check for angles under 45 degrees between two atoms with set coordinates and an atom with coordinates guessed based on conformation records; revert to default coordinate guessing instead. This should eliminate bad guesses for, e.g., LEU:HG when chemically identical CD1 and CD2 are reversed.
    • ccp4plugin: Added in code to correct the data offset in the case of SPIDER files that are larger than usual. The original code checked the file size as a means of working around problems with the symmetry bytes record in some files. The new code still does this, but in the case that the file is larger than expected, it depends on having an accurate symmetry bytes value since the filesize can't be used to find the data offset.
    • autoionize: Added a description of what autoionize means by "ionic concentration", since this is NOT the usual definition of either "salt concentration" or "ionic strength". (This is actually a pretty bad metric to use, but it's unclear if we should change it at this point)
    • autopsf: Fixed several minor bugs, including problems with resetting the gui
    • autopsf: Fixed problem with losing structure when you delete a fragment in the chooser.
    • autopsf: Fixed some numbering issues in the chain splitter
    • cranked version number
  • VMD 1.8.4b12 (back to regular build) (March 16, 2006)
    • updated for new host node on copper at ncsa
    • improve error string for corrupted DCD files
    • Replaced cryptic numeric DCD error messages with human readable text
    • pretty things up, add checks for can_read/write_bonds() routines on close
    • Set plugin pointer to NULL by default, simplified early exit cases, and set plugin pointer to NULL after all deletion cases, in case of read after free situations. (related to paratool/autopsf crash I'm chasing down)
    • split branch and data dependencies among the min/max tests in the measure_minmax() code for better instruction level parallelism.
    • break branch dependencies in min/max code for better instruction level parallelism for better performance on current CPUs
    • Now using the mdash html markup rather than '--', to work around mozilla browser bugs
    • updated plugin page to use html mdash markup rather than '-'
    • updated script library for new web site format, fixed up paragraph tags
    • Added docs about how to call/link molfile plugins from other programs written in C/C++/Fortran
    • added docs describing how to call molfile plugins from other programs, in C/C++ and in Fortran.
    • Added text about UIUC Open Source license to make it more obvious that people can use the VMD molfile plugins in their own code. Added link to the VMD Plugin Programmer's Guide.
    • Explicitly added the UIUC Open Source license text to the plugin documentation directory so people realize that the plugins (with only a few exceptions) are all open source and may be used by other packages.
    • removed mrcplugin in favor of extending ccp4plugin
    • there shouldn't be a need for a separate mrc map plugin since the CCP4 map plugin should eat them both now.
    • Added CatDCD and atomedit plugins to the main page
    • added a link to the MDTools page where the CatDCD binaries are posted.
    • added ultra lame description of atom edit plugin
    • Added links to docs for paratool, hesstrans, resptool, namdgui, and qmtool
    • added intersurf binary libs
    • added intersurf docs
    • Added intersurf to main plugin tree since it's now listed as an exception in the license agreement etc.
    • Added link to Ilya's Mead Ionize web page
    • updated license info for plugin tree, updated copyright dates, etc.
    • autopsf: Added missing variable chaintoseg into proc afterchains_gui
    • namdgui: removed futile comment
    • hesstrans: Added very rudimentary info.
    • resptool: Added very rudimentary documentation.
    • qmtool: Fixed a few bugs that occured while testing charmm charge stuff. Added ability to read dipole moments.
    • paratool: Great improvement of the charmm style charge module. Many things work automatic now and the management of several charge groups functions finally. The downside is that I found out that the charge scaling procedure produces crap in many cases. Alongside these changes I fixed many bugs and improved stuff in various other places. Hence, I commit this anyways. A new scaling proc will be provided soon.
    • Added much more debugging info and some code to allow SPIDER-generated CCP4 maps which are larger than they should be, to be loaded.
    • uhbdplugin: Print more useful messages when errors occur during parsing
    • uhbdplugin: updated comment about color info
    • ccp4plugin: improved error messages and doc links
    • solvate: Fixed a bug where the boundary parameter wasn't properly harvested from the gui, and added rudimentary logging.
    • namdenergy: Fixed high memory usage in windows version.
    • change capitalization of Amber to AMBER
    • Added info about the NetCDF plugin
    • Added placeholder bgf/xbgf plugin docs
    • Added docs for situs plugin
    • Added Axel's f77 bindings for the molfile plugins, and updated the Makefile to work with the recent addition of the NetCDF libraries etc.
    • Added WIN64 test to updater
    • Added WIN64 test to namdgui
    • Updated comment about WIN32 ifdef test in vmdplugin.h
    • Added WIN64 tests to exectool
    • Added WIN64 handling to apbs plugin
    • Updated the movie maker plugin for WIN64 and MACOSXX86 builds
    • Added handling of MacOS X x86 and Win64 builds in the vmdinit.tcl script
    • cranked version
  • VMD 1.8.4b12 (Frankfurt Workshop Version) (March 9, 2006)
    • mark special b12 build for the frankfurt workshop
    • fix textview doc link
    • fixed navigate plugin link
    • added link to the new preview rmsdtt2 plugin
    • Updated plugin docs for the new web site coding standard.
    • Updated plugin docs page for new web site structure
    • Force Itanium builds with the Intel compilers to link against the special Intel libraries statically, and use the GCC C++ libs rather than the Intel provided libs, to eliminate the need for users to have the Intel stuff installed on their machine. These settings work with the Intel 8.0 compiler, but may or may not fly for the 9.x versions. For 9.x, we may want -i-static instead.
    • Added the integer stack routines to the msvc6 win32 project
    • Updated windows installer version
    • Updated Windows installer with new/updated plugins
    • added missing typecast to please msvc
    • disable NetCDF on itanium linux builds until linkage issues are resolved.
    • itanium shared object builds fail to link against NetCDF libs currently.
    • fixed cut/pasted typo
    • Added MacOS X x86 checks for the extensions headers. Force other linux builds to use the specific glext headers in CVS rather than whatever's on the machine.
    • Make MacOS X x86 use the same code for dynamic loading and event handling that the PPC build does, even though it may work otherwise. Hopefully this will improve consistency between the two.
    • Force other linux builds to use the specific glext headers in CVS rather than whatever's on the machine.
    • Added missing check for Linux on IA64 for processor count syscalls.
    • Changed the lowest level mouse code to stop mapping both mouse buttons to B_MIDDLE by default, and added explicit checks for B_RIGHT to the places that had previously been looking for B_MIDDLE only to preserve existing behavior. Added a new "userpoint" mouse mode which scripts can watch for by setting up a callback and tracing vmd_mouse_pos, which contains x position, y position, and the pressed mouse button.
    • added explicit handling of B_RIGHT for the right mouse button so that we can stop mapping both the middle and right mouse buttons to the same functions in all of the mouse handling code. For now, we'll stay with the behavior that both middle and right mouse buttons are treated identically for built-in mouse functions, but by making the code explicitly handle these together, we can now open up the other buttons to user-defined callbacks and so on. This will be particularly useful now that it's easy to find mice with 5 or more buttons, which a user may concievably wish to program for their own use.
    • Fixed a small bug in water box rotation that could crash solvate (previous commit) and made solvate load the finished structure at the end
    • When a structure is loaded and analyzed, we recenter the rep to force molecules that started life as volumetric data to be updated appropriately.
    • Check to make sure that the atom count for a rep's selection matches the atom count for it's molecule before looping over them to find the on atoms for all reps. In the specific case that a volumetric dataset is loaded before a structure dataset, there's a brief period where, after the first coordinate set is loaded, the existing volumetric rep still has an atom selection with a num_atoms value of zero, and no 'on' list. Later, when the structure has finally been analyzed, everything is consistent and there's no problem. The centering code now watches out for this and skip reps that haven't been updated for newly loaded structures yet.
    • misc atomsel cleanup, added some extra code to forcibly invalidate pointers to members that have been deleted just in case code tries to access them after deletion.
    • Added complete but rudimentary docs about the ligand map type parameters
    • fix minor issue with order of example proc in the demomaster plugin
    • This is -rc1 of the 0.3 version for the gamessplugin. What's new? - The plugin can now display and animate normal modes calculated via Hessian runs. This function is disabled by default since it needs a GUI for mode selection and configuration. Besides some litte tweaking it works fine. To test proper compilation of the normal mode code use the -DANIMATE_MODE preprocessor flag, but don't turn this on for production code for the moment. - Lot's of small fixes, mostly proper unsigned int types for the counters.
    • molefacture: Set a minimum bond length (0.0001) and made sure that angles are updated when new bonds are added.
    • namdgui: GUI bugfix. Closing the edit simparams window works now.
    • qmtool: Fixed bug that could lead to wrong counts of the number of existing conformations.
    • multiplot: Improved geometry management of ticmark labeling
    • paratool: Added support for explicit exclusions. Cleanup. Minor bugfixes
    • molefacture: Fixed a bug that didn't tolerate emty atom type fields.
    • take off netcdf flags from amd64 build until the library link problem is fixed or worked around.
    • Added explicit list of the optional plugins since macro tricks didn't work.
    • Added the netcdf link flags to the rest of the Unix platforms by default.
    • disable netcdf on amd64 until I rebuild NetCDF in a .so compatible manner somehow...
    • Run xmgrace processes in the background detached, don't wait for them to complete.
    • fix typo in build script for SOLARIS2 target
    • Added notes about requires POV-Ray 3.6 settings
    • Removed unused variables, one of which may have been causing very minor memory leaks in the "measure rmsf" Tcl command
    • VolMap: now can specify VDW params for both atoms of a diatomic probe for ligand and slowligand map types, using the -probe1 and -probe2 directives. Also did some code and reporting clean-ups.
    • Change default behavior for 'animate write' to 'waitfor all' by default...
    • Define the dist files after the optional plugins have been added to the target lists.
    • detect the distrib target and force-add optional plugins when found.
    • change default unit cell lengths to zero, as a reliable indicator of a non-periodic structure.
    • Fixed "redeclaration of `int j'" compiler errors
    • Removed all of the old recursive structure analysis routines, as the new stack based iterative routines seem to work fine so far.
    • Changed the structure analysis routines to avoid linking residues which are members of different chains, as would otherwise potentially occur if blindly following disulfide bonds during the residue/fragment linkup phase. Could potentially occur in other cases as well. This was particularly troublesome for the 1IGT structure.
    • Fix gui to work with logfiles containing spaces and added space before (obviously untested) -width 12 option for checkboxes.
    • fixed a problem with parsing CONECT records when atom serial numbers were large enough to fill all 5 digits of the field.
    • psfgen: Substitute _snprintf for snprintf on WIN32.
    • countdown bond partners to process them in the order that the old code did, and to get that last inkling of efficiency.
    • Added built-in help and better error messages to moue command
    • Added the intstack code to the configure script
    • Rewrote most of the recursive molecular analysis routines as iterative routines using a simple integer stack class. This makes VMD safe from stack overflow when working with really huge structures and non-biological molecules with very high connectivity, such as metal slabs. While still in testing, the code can be disabled by undefining the ITERATIVEMOLTRAVERSAL macro. The new routines should be nearly as fast as the old ones, and should not fail so long as memory is available for stack expansion.
    • Wrote a very simple stack implementation for integers for use by the BaseMolecule class when analyzing huge structures, in order to replace recursion with iteration, making VMD safe from stack overflow when working with really huge structures, or non-biological molecules with very high connectivity, such as metal slabs.
    • Specified explicit widths for all the checkbutton widgets, since otherwise the Mac version of Tk doesn't size them properly.
    • Prettied up backbone and water finding routines, fixed a comment.
    • Fixed the DCD header checks for endianism, and the CHARMM -i8 64-bit DCD variant. This fixes some bugs introduced by the previous patch, only tested on Solaris and Linux thus far.
    • Updated copper and teragrid builds to add NetCDF
    • Enable NetCDF on all of the plugin builds
    • Added NetCDF support to all of the remaining builds.
    • Added NetCDF to MacOS X ppc/x86
    • cdfplugin will now accept more of the AMBER 9 NetCDF file variations by properly handling some of the optional fields.
    • Fixed bug in gromacsplugin when reading POSITIONS records from .g96 files, where the X coordinate was getting it's sign character truncated off in the parsing code.
    • moved the NetCDF link flags behind the molfile_plugin static lib link flags to resolve remaining references.
    • removed old contrib files that aren't in the distribution anymore, and added the netcdf config option includes and libs completely.
    • configure: added NETCDF option to in-file docs
    • Added NetCDF to 32/64-bit linux builds, and 64-bit solaris builds
    • autopsf: eliminate includes of unnecessary string header from C++ standard library since this caused windows builds to complain about exception handlers and other fun stuff.
    • Revised AMBER 9 code to match current NetCDF convention, with double precision unit cell lengths and angles.
    • Added Axel's patch to fix up the SWIG generated VMDApp bindings
    • Changed Win64 runtime library to static MSVC80 rather than DLL, to match what we do on Win32.
    • Updated DCD plugin to read in DCD files produced by recent versions of Charmm that have been compiled with -i8, which causes generated trajectories to have 8-byte integer offset/length fields instead of the 4-byte size used in all other cases. The new code detects the 8-byte length offset size during while reading the header and performing endianism checks. More testing is needed in order to verify correct operation on opposite endianism platforms and so on, but this has a good chance of working while not disturbing the correct function of the normal 32-bit offset size DCD files. The patch was written by Axel Kohlmeyer, with some editing by me to change things to use defined macros to make it more readable and to fix some portability issues.
    • Added the VMDPLUGIN_API external linkage specification macro to all of the VMDPLUGIN_init(), VMDPLUGIN_register() and VMDPLUGIN_fini() routines to correctly specify linkage as required for building with MSVS 2005.
    • Added a check for definition of STATIC_PLUGIN to prevent redefinition of DllMain() when compiling static plugins on Windows. The new Win64 compilers are intolerent of unspecified linkage when building DLLs and static libraries, so we're finally going to be using the VMDPLUGIN_EXTERN and VMDPLUGIN_API stuff for the Windows builds. The mechanism was always there, but we hadn't been using it previously since MSVC6 was content to link things correctly anyway.
    • Updated static plugin builds to define STATIC_PLUGIN during compilation to solve some of the issues with Win64 builds being more strict about duplicated symbols (as DllMain would be otherwise) being present in a static library.
    • Win64 build doesn't like linking webpdbplugin against the Tcl static lib for some reason, still working on that. May have to use the DLL build of Tcl instead since that's what we do for Win32.
    • Added DEF macro so subsequent makefiles can modify compile time preprocessor definitions safely (Windows uses /D rather than -D). Disabled compiler warning 4996 on Windows x64, which is the whining about all of the stdio and string functions being deprecated in favor of the new Microsoft/ISO offerings, since we have no intention of changin all of the VMD code to stop using printf/scanf/sscanf/strcpy/strdup/etc at this time.
    • mrcplugin: fix bad printf call
    • Fixed bug that prevented proper loading of some pdb's
    • Improvement of CHARMM charge module and the potential scanning. Various little bugfixes.
    • Improved Gaussian logfile reader.
    • Bugfix in the code that writes config files.
    • molefacture: Major changes to gui, numerous small bugfixes, and added an angle slider.
    • Added some extra debugging info to the x64 startup to make it obvious which mode the compiler is running in when the binaries are generated.
    • Added a hack to let an x64 VMD binary find the install location of a 32-bit version, as a crutch for testing until we have a proper 64-bit installer written. The 32-bit installers that we've been using so far have no way to access the 64-bit registry, so for now I can hack this to use the 32-bit installation directory and just copy in the various 64-bit specific stuff.
    • Also handle conversion of shorter atom names, like 1HB to HB1.
    • psfgen: Updates after testing on all available CHARMM topology files.
    • updated x64 target with name of hacked Tcl library/include areas
    • Updated msvs2005 projects with fixed directories. Still not ideal, but the 32-bit project builds ok now. The 32-bit builds are now flagged as LARGEADDRESSAWARE to be able to use >2GB of memory on Windows NT/2000/XP machines that have been booted with the /3GB option. This should also allow access to more than 2GB when running the 32-bit binary on XP x64, but all of that will need testing. Also changed the default optimization strategy and inlining settings to take advantage of the new features in vs2005 versus what was available in vc6. The full-featured build configuration with VRPN, Spaceball, etc still needs work and adjustement, but that's mostly an issue of compatibility with the C++ dialect used by VS2005.
    • added resources for vs2005 builds
    • Added initial VS2005 project. The 32-bit project mostly works, still fixing various directories etc. The 64-bit project would work if we had a working Tcl build available.
    • added info on vs2005 project area
    • Disable compilation of the hesstrans plugin on LINUXIA64 and WIN64 since the newmat10B code doesn't compile with the Intel or Microsoft compilers
    • updated mol2plugin mol2 file format documentation URLs
    • Axel's patch to change printf() format string specifiers from %i to %d to fix some bugs that occured on unusual platforms.
    • Added Axel Kohlmeyer's mol2plugin writer patch which autodetermines whether or not to emit charges, changes the charge type string from "GASTEIGER" to "USER_CHARGES", and prints bond orders as integers which is required by the standard mol2 format.
    • only compile pmepot if we have valid TCLLIB, TCLINC, and TCLLDFLAGS info
    • only compile psfcheck if we have valid TCLLIB, TCLINC, and TCLLDFLAGS info
    • only compile psfgen if we have valid TCLLIB, TCLINC, and TCLLDFLAGS info
    • Made the webpdbplugin an optional build, if TCLLIB, TCLINC, and TCLLDFLAGS aren't all set, then the webpdb plugin won't be compiled, and no errors will be generated. In actual use this just makes it easier to do an initial port to a new target platform (i.e. win64 for example) when you don't yet have a full Tcl installation setup.
    • Added plugin ifdef checks for compilation on WIN64
    • Added C++ exception handling flags for psfcheck plugin. We'll have to review whether using exceptions in a plugin is safe or not at some point...
    • Added 64-bit windows plugin build commands
    • begin hacking for win64 builds
    • added NetCDF libs to linux builds
    • Added Windows XP x64 build target
    • solvate: Put the rotate proc into the solvate namespace
    • pdbtool: updated Procheck button to use the PDBsum server since the old site is no longer available.
    • pdbtool: updated PDB download URL for new PDB site layout
    • eliminated old macros used on multi-file plugins that have since become single-source-file plugins.
    • added NETCDFLDFLAGS to catdcd build
    • Added documentation about building plugins and binaries that use the NetCDF library.
    • Added comment and a hack to successfully read AMBER 9 prmtop files with titles containing spaces etc. How did this ever work before? Code is disabled until more testing is done.
    • increase maximum atom name/type string length to 16 chars to better support MMTK atom naming conventions.
    • Added NetCDF flags for 64-bit Solaris builds.
    • conditionally compile the cdfplugin depending on whether or not the NETCDFINC, NETCDFLIB, and NETCDFLDFLAGS variables have been set/provided by the user.
    • Added the Solvate and Ionize buttons back in, since people seemed to miss them.
    • The NetCDF plugin now uses the MOLFILE_NOSTRUCTUREDATA return value when read_cdf_structure() is called on an AMBER trajectory, rather than returning MOLFILE_ERROR, since this is not indicative of a problem.
    • Changed the behavior of VMDApp with respect to structure loading, so that no error messages are generated when we call read_structure() on a plugin that can load files that may or may not contain structure information depending on the file. This is necessary for the NetCDF plugin since there's no way to determine what type of NetCDF file you're dealing with until you actually open it and start parsing it. Rewrote the plugin handling code to use the error constants defined by the molfile_plugin.h header file, rather than hard-coding -1, 0, etc.
    • Added a new error for the case where a plugin registers a read_structure() callback, but the file loaded doesn't actually contain any structure information. This can happen with NetCDF files, and possibly others.
    • First working implementation of read_mmtk_cdf_structure() to parse the MMTK Python command string embedded in the NetCDF file.
    • All generic vector operations (such as vecsum, vecadd, vecmean, vecstd, etc..) now use doubles internally and better match what one would get from the equivalent Tcl construct (tested). All transformations and matrix operations on atomic coordinates are still float.
    • Fix MMTK coordinate scaling (convert from nanometers to angstroms)
    • read in MMTK description dimension info
    • first version of the code that can process the trajectory part of an MMTK NetCDF file.
    • Started splitting out the amber-specific state from the generic state, so that there's a cleaner separation between the code for reading AMBER and MMTK NetCDF trajectories.
    • Started reorganizing the cdfplugin so it can handle both AMBER 9, and MMTK trajectory data, no MMTK code written yet however.
    • Lots of cleanup of the cdf plugin, correctly handle optional global attributes, and improve info messages.
    • Added the first version a of NetCDF trajectory reader plugin. The first version only works with AMBER 9 trajectories. It could presumably be made to work for reading MMTK trajectories as well at a later time.
    • Added new NETCDF build option to VMD, needed by NetCDF trajectory reader plugin for AMBER 9. (and possibly MMTK eventually)
    • Made veclength use double precision to match the precision used by Tcl. All vector routines should eventually be converted to double, but this one has a "sqrt" and thus is more critical.
    • Normal mode vibrabions are now displayed in a list, can be picked and animated. Added a module for thermochemical reaction energies. You can load a list of educts and products and qmtool calculates various thermochemical properties like the Gibbs free energy of the reaction.
    • Added significant additional text about writing molfile plugins in C/C++.
    • Fixed a bug that could crash molefacture if the type field is empty.
    • Improvement of the Charmm charge module.
    • Made Thermochemistry output more readable and corrected some of the calculations. Parses some more of the Hindered Rotator output. Using keyword Geom=NewRedundant to make hindered rotor analysis more robust.
    • bold the build.csh script name
    • added minimal python example
    • language specificity of molfile directions is now mentioned.
    • updated plugin doxygen page link to point to the top level page
    • Added links to the Tcl style guide, Tcl web site, Tcl wiki etc on the Tcl/Tk plugins doxygen page, and removed some duplicated text from the molfile plugins page.
    • added more descriptive text about how the Tk extension plugins are written and registered
    • Added text viewer plugin as an example of how to write one, since it's relatively simple
    • updated plugin doxygen info, separating plugin types into new pages and preparing to add some up-to-date examples of each.
    • added various dev/loaners to the doxygen page on dev tools
    • cranked version
  • VMD 1.8.4b11.1 (February 10, 2006)
    • Updated the win32 installer infolist file
    • Updated win32 installer
    • updated readme with latest stuff
    • renamed loop variables from hz/hx/hy to ihz/ihx/ihy to avoid problems with AIX5 compiles due to the existence of both HZ and hz system macros.
    • Fixed definition of VolMapCreateFastEnergy and VolMapCreateSlowEnergy subclasses for AIX5.
    • fix namdgui pkgIndex.tcl script
    • namdplot: Remove debugging data written to console.
    • Imlemented NAMD execution through exextool. Monitoring job in APBSrun style.
    • gamessplugin: Removed conversion of dihedral/improper force constants into CHARMM format, since it really only makes sense for bonds and angles.
    • updated delaunay page with links to Ken Clarkson's Bell Labs page
    • Added the namdgui plugin to the Simulation extensions menu.
    • Added a tk callback for namdgui
    • Improved CHARMM charge module: * Charge scaling preserves total group charge * Can handle a list of charge groups
    • biocoreplugin: Remove "{" and "}" from saved state pdbs that may have been saved from older versions of VMD.
    • changed namdgui to use exectool to find the NAMD2 binary.
    • Added Jan Saam to CVS commit emails..
    • namdgui: use 'file delete -force' instead of execing 'rm'. added comments about stuff that should be done with exectool...
    • namdgui: Solved the problem with config file reading. Implemented a small set of command to interpret config files. Must add more and hook up the parameters that are retrieved with the existing code.
    • paratool: Improved the CHARMM type charge module. Calculation and scaling of these charges works now if the group charge is zero. If it is nonzero you have to scale manually in order to reproduce the QM based interaction energy. Added default logfiles for optimized water structures of common methods and basis sets.
    • atomedit: Bugfix regarding GUI geometry management.
    • qmtool: Bugfixes in the code for file parsing, thermochemistry and Gaussian input setup.
    • If you don't make the env variables into a list, it will hose loading when you have spaces in the filename because tcl isn't smart enough to keep the string together.
    • Fixed bug when the install path has a space in it.
    • Page describing the details of what autopsf does automatically.
    • New picture, and updated docs to point to the technical documentation page.
    • namdgui: Fixed a bug that prevented loading of a project file that was moved to another directory. Added code for NAMD test simulations.
    • namdgui: A few minor bug fixes. Started working on code that reads NAMD config files.
    • Added comments into the code.
    • tmpnam() isn't quite the same as tempnam() so have to copy strings etc..
    • workaround lameness with MacOS X x86 implementation of tempnam(), use tmpnam() instead for now.
    • Fix binary names for MacOS X x86
    • Fix resource editor use on the x86 MacOS X build
    • Add support for CHARMM stream files and cross-term maps (CMAP).
    • Disable all OpenGL extensions until we get past the immediate crashes on startup on the x86 builds for MacOS X. Things seem to work ok so far in the simplegraphics mode with no extensions.
    • Added MacOS X x86 target
    • MacOS X x86 builds need the latest FLTK, since the old ones don't work with 10.4, so we hard code this until all of the build targets are building against the same rev of FLTK.
    • psfgen: Increase allocated block size from 128 to 128000.
    • Add dependencies for docs.
    • Added x86 iMac build box 'juneau' to the builds.
    • Read CHARMM files where atom name HE21 in psf becomes 1HE2 in pdb.
    • volmap: updated the credits/citation string for the ligand volmap type
    • added namdgui to the distrib target
    • removed reference to eliminated files
    • Added code for automatic setup of QM rigid potential scans
    • Added support for AMBER parameters which are supported in CHARMM format in readcharmmtop/top_amber2charmm.inp and readcharmmpar/par_amber2charmm.inp
    • NAMDgui automatically sets up NAMD config files and can also run NAMD jobs. It provides reasonable defaults for many parameters and a GUI to adjust them. Usage: namdgui -min 100 -run 1000 -psf mymolecule.psf -pdb mymolecule.pdb -sel water -o "mymolecule"
    • Added field for scanwidth and scansteps for potential scans to zmat. Zmat-reader recognizes "S" flag now.
    • autoimd: removed unnecessary paratool dependency
    • updated PDB file format URLs to match new PDB web site layout.
    • readcharmmtop: Added AMBER parameterrs in CHARMM format
    • Expanded the atom list's contents, and added an atom editor dialogue. I'd like to clean up that interface and add an angle manipulation tool soon as well.
    • Cranked version
  • VMD 1.8.4b11.0 (February 2, 2006)
    • Updated README with new plugins and various improvements
    • textview: Added New, Save, and Save As, options to the file menu, and fixed a few minor buglets here and there.
    • molefacture: Fixed bug involving $tmpmolid
    • updated multiplot example
    • added example of the "export" command
    • Make multiplot the default label plotting method for VMD, since it can now export to xmgrace.
    • Xmgrace export now includes all available Y columns
    • Added initial implementation of a multiplot to Xmgrace export routine. This version only emits a file containing one Y column
    • Added multiplot file/help menus back in as they were before.
    • autopsf: Spruced up the log file a bit, and removed all of the disabling gui things; instead, people will just get an error message if they try doing something before there's enough information entered.
    • Added bond length scaling and rotation.
    • Added options -dash and -hline and -vline Updated documentation Inproved axis scaling code
    • Improvement of potential scan feature
    • Made qmtool compliant with new multiplot
    • updated namdenergy docs
    • Modified autopsf docs for use with new gui
    • autopsf: Changed name of logfile
    • autopsf: Added some basic logging. At this point it puts in the logfile all of the atoms from the original pdb, along with what it had psfgen do with them. This should be enough to reconstruct the entire procedure.
    • This is the supergreat new multiplot, this time without bugs;-) * Tremendous speedup by using replot to plot all changes that have been made previously through 'configure' and 'add' * The legend is drawn into the upper left corner inside the plot but you can drag it anywhere you want on the canvas using the mouse. * Multiplot can emit postscript files!
    • paratool/qmtool/namdplot: Adjusted to work with new multiplot.
    • New multiplot
    • bgf/xbgf/mol2 plugins: Fixed memory leaks and other various gotchas pointed out by John
    • Cranked version
  • VMD 1.8.4b10 (January 27, 2006)
    • Change fio_size_t to be off_t for Unix builds, as the ssize_t type is only 32-bits when doing LFS enabled builds, whereas off_t is 64-bit. This allows code using fio_size_t to work at the largest addressing size possible.
    • Added a -gui flag to the command line version; if run with this, it will simply open up the gui with the command line arguments filled in as default values (this is intended for use by other plugins)
    • Make the ramaplot GUI more intuitive by making the background color of the atom selection text entry area white, rather than gray like the text fields that are read-only.
    • fix widths of various plugin file/help menus on MacOS X
    • changed namdplot to work with the previous version of multiplot since we rolled back one rev to a stable version.
    • added text viewer to the list of data plugins
    • improve the multiplot defaults
    • Added a -gui flag that brings up the gui with values filled in from the textmode arguments, at Jan's request (to facilitate integration with other plugins). Also, fixed a bug in text mode that might prevent multiple different energy types from being recognized.
    • Added text about 'mol default' to the user's guide.
    • Added some examples of how to use the 'mol default' command to the default .vmdrc, though they are leff off by default.
    • Added built-in help for 'mol default'.
    • Added a label graphing callback for the multiplot plugin
    • Added a menu bar to multiplot and an option to save the plot to a Postscript file.
    • prettied up fopen code
    • cleaned up the UHBD plugin, renamed it's open_dx_read() to open_uhbd_read(), got rid of tabs, etc.
    • made uhbdplugin warning messages identify which plugin and made the formatting more consistent with other plugins
    • deleted tons of dead code, spurious debug messages, reformatted the code to be readable, and added comments about questionable memory allocation/deletions
    • massive cleanup of the xbgf plugin. Deleted lots of dead code, begin auditing the code, much left to do.
    • Massive cleanup of bgfplugin. Made warning and information messages consistent with the other plugins. Fixed code tabbing and formatting. Deleted large bodies of dead code. Added comments where there are questionable allocation/deallocations occuring.
    • readcharmmpar: Added code for explicit exclusion reading (NNB section in PSF).
    • readcharmmtop: Bugfix.
    • namdplot: Improved plotting
    • paratool: Improved Potential scans and parameter refinement.
    • qmtool: Improved Energy output
    • multiplot: Improved geometry management
    • Added simple text viewer plugin
    • Docs: added a short caption to table that had a long caption to show in the "List of Tables" page
    • Docs: small refinements to the new volumetric data-related text
    • Docs: Added a table and index entries listing the two read-only atomselect keywords that can be used to query volumetric data in VMD.
    • Added UHBD grid reader plugin by Alexander Spaar
    • Added CHARMM27 topo file to readcharmmtop plugin
    • Added CHARMM param file to readcharmmpar plugin for all other plugins to use
    • change osx builds to run on sydney due to filesystem corruption on cupertino
    • VolMap GUI: Added utility procs to load VDW params from a charmm par file into the radius/beta fields of VMD. This is needed in order to use the ligand and slow ligand map types. (In the future, we may wish to make use of the readcharmmpar plugin instead)
    • AutoIMD: use parfiles from paratool for now.
    • DCD plugin now emits a warning when the DCD header contains a nsets value greater than zero, but not matching what we calculate from the actual file size.
    • Updated the DCD plugin to use the fastio fio_ftell() fio_fseek() routines instead of stat() to determine file size on Win32, since the stat() implementation on Windows is woefully inadequate. For other platforms we continue to use stat() for the time being. When stat returns a 32-bit file size in the current code, this will prevent VMD from loading all of the frames, as the DCD plugin recalculates the number of timesteps based on the file size. We should probably emit a warning rather than silently truncating the file as this can indicate 32-bit file I/O issues.
    • First working version of the fastio routines using the native Win32 I/O system calls supporting large file offsets.
    • First draft of the fastio routines written with native Win32 system calls which should theoretically work with 64-bit file offsets. The code compiles on MSVC6, even with the "LONGLONG" type, so with any luck this will allow Windows builds of VMD to work with huge DCD files and the like. The in-core working set size of 32-bit builds of VMD will still be limited to 2GB or less however.
    • AutoPSF: Some cleaning up: -Radiobutton for nucleic acid typing works, although right now it just gives an error if you try to make DNA. I'll add this using Alek's scripts later. -An appropriate disclaimer is given when PSF generation is finished -General prettification of the gui
    • Added display of oxidation state to atom list, and controls for users to raise/lower it
    • The new molecule is now loaded properly after autopsf finishes.
    • fixed non-static function in xsfplugin
    • fixed non-static functions in pqrplugin
    • fixed non-static function in phiplugin
    • recognize both .face and .vert files for msms plugin
    • fixed non-static functions in the MDF plugin
    • fixed non-static routine in map plugin
    • ClipTool GUI: slightly changed GUI wording
    • solvate: Fixed silly bug that was crashing the gui.
    • autopsf: MAJOR changes to the workings of the GUI. The gui is now a multistep setup to help people better understand the choices they are making. It is not yet ready for non-beta deployment (FIXME issues listed below), but is at least usable. Todo list: -Fix counting of number of residues per chain -Add warning boxes -Fix handling of DNA/RNA issues (this may be a quick warning box for now) -(Possibly) add solvate/ionize portion
    • use TMPDIR rather than VMDTMPDIR for vmdmovie/apbsrun now.
    • Make the X-PLOR EDM plugin accept density maps that don't strictly conform to the written documents, which provides compatibility with files generated by AMBER tools.
    • check total atom count as another means of detecting an extended charmm coordinate file. Cleaned up warning/error messages so the plugin identifies itself.
    • fixed non-static local functions in several plugins
    • Fixed code that could cause memory corruption, a runtime linkage problem with the (now static) whitespace stripping function, and bad logic in the whitespace stripping routine, all of which conspired together to crash in a lot of cases.
    • Moved LFS 64-bit file I/O defines into a single shared header file.
    • central file containing platform dependent defines to enable large file support on various platforms.
    • Updated the AIX branch of the 64-bit file access defines to define _LARGE_FILES, as the most recent versions of AIX need this instead of the documented _LARGE_FILE that used to work.
    • Fix illegal use of non-constant array sizes which prevented compilation on most non-GCC platforms.
    • Updated win32 installer.
    • Volmap: Added ligand/slowligand acknowledgments, and set occupancy maps to return fractional values rather than percentages
    • Volmap: Added parsing of optional arguments for the ligand/slowligand maptypes (preliminary)
    • Docs: Added reasonably complete docs for the volmap command
    • VolMap: Wired the command-line to access the new "ligand" and "slowligand" map types (optional parameters not supported yet). Also updated inline help to reflect many previously "secret" optional parameters for volmap.
    • Cranked version
  • VMD 1.8.4b9 (January 19, 2006)
    • Prevent compilation failures on platforms that have std::log() implementations for both float and double.
    • Added the back-end (no UI) for the energy volmap type, which allows the calculation of ligand migration PMFs inside a protein/system. There is a slow (easy to read/test against) and fast (optiomized, more complex) version of the map
    • Merged in some newer back-end code for the frame averaging/combining operations which will allow for the use of checkpoint files
    • Fixed potential bug where namdenergy destroyed previous beta values
    • Added solvent support for setting up simulations. Improved thermochemistry support. Prints nice tables of energies now.
    • Added potential scanning and refinement for all types of internal coordinates. (Uses namdenergy)
    • Added legends for the datasets. Improved canvas drawing code. Added support for angle scales (-180 to 180) or arbitrary axis units.
    • Cranked version
  • VMD 1.8.4b8 (January 12, 2006)
    • added docs for the multiplot plugin
    • updated with more information, examples of text commands, etc.
    • updated namdplot graph picture
    • crude help page for the namdplot plugin
    • update APBS version requirement
    • Resized the namd energy screen shot down to something reasonable.
    • Added the namdplot plugin to the extension menu
    • namdplot: more error checking, added tk callback, etc.
    • Implemented a mostly working GUI that still needs lots of work to make it look decent.
    • Added the namdplot plugint to the builds
    • Added namespace export/import of the main namdplot routine
    • Added initial rev of NAMD log file plotting plugin
    • paratool: Reorganized Gui for internal coordinates.
    • updated comments for CatDCD 4.0 build process
    • Spammed in the current catdcd usage message in addition to the existing usage examples.
    • Posted the latest CatDCD-4.0 binaries.
    • Removed paratool_nbo.tcl
    • NamdEnergy now does force calculations as well as energy calculations
    • autopsf: Fixed RESI ACT.
    • xbgfplugin: Fixed bug regarding reading of REMARKs.
    • multiplot: Improved code for calculation of minor/major tics at axes.
    • qmtool: Added code for Thermochemistry data reading.
    • paratool: Added parameter refinement feature.
    • commit more recent win32 build info
    • improve warning message when ignoring Tcl I/O error
    • cope with Win32 lameness when running APBS processes and ignore errors that occur once things have started up cleanly.
    • Make the apbs plugin deal with windows paths..
    • Improve automatic finding of the APBS binary on Windows.
    • Added the new required 'sdens' keyword control elements into the APBSRun GUI, added the standard APBS default value of 10.0, and improved the guesswork for findertool slightly.
    • Updated APBS run for APBS 0.4.0 input file syntax, and changed the workdir defaults to work better for Win32.
    • enable readv/writev on all linux
    • added kernel readv support to MacOS X and 64-bit Linux builds (assumes all 64-bit linux targets are already at kernel 2.4 and most likely newer..)
    • Recommitting changes to fix windows; they were broken by a subsequent update
    • Updated autopsf structure downloader for recently changed PDB web site
    • Updated the APBS home page and documentation URLs since they have moved the project to sourceforge.
    • Updated URL to P.R. Rand's web site in membrane plugin docs.
    • cleanup of hesstrans plugin
    • Added RESI IMD and IME to top_all27_prot_lipid_na.inp
    • Implemented HessianTransform in Paratool
    • Code changes in Qmtool nedded for hesstrans.
    • Cranked version
  • VMD 1.8.4b7 (January 5, 2006)
    • Updated copyright headers on VMD source code
    • Take sergei's old 3DP address off the CVS commits
    • Added Large File Summit build options to XSF/AXSF trajectory reader
    • Added Large File Summit build flags to the Tinker coordinate/trajectory reader
    • Added Large File Summit options to the PDB plugin, for multi-structure files that are frequently used as if they were trajectory files.
    • Added Large File Summit build options to the XYZ plugin
    • cranked version of CPMD plugin
    • cranked version of DLPOLY trajectory reader plugin
    • added Large File Summit build flags to the LAMMPS history file reader plugin
    • Added Large File Summit build options to the CPMD trajectory reader plugin
    • Added Large File Summit build flags to the binpos plugin
    • Added large file summit build flags to the crd plugin
    • Not certain about using crd extension for corplugin just yet, more community input needed before changing this.
    • Not certain about using crd extension for corplugin just yet, more community input needed before changing this.
    • autopsf: Fixed the file deletion bug on windows. A read-only file handle to the segment PDB was opened but not closed to check what the N terminal residue was. Squash.
    • Automatically recognize the .prmtop and .mdcrd filename extensions that are produced by the newest Amber 8/9 versions so users will have less manual GUI selection to do.
    • Updated the URL used by the webpdb plugin to download PDB files from the RCSB web site, as the old URL became unusable on 1/1/2006.
    • Various changes to make written bgfs more compatible with other programs
    • Fixed autopsf crash when the absolute path to the plugin directory has a space in it.
    • Added a set of usage guidelines to print when the command line version of autopsf is used improperly. Also, the command line version now REQUIRES the use of the -mol switch to tell which molecule you're acting on. This WILL BREAK scripts that used older version, but it makes autopsf's behavior more consistant with the rest of the body of vmd plugins, and I thought it was better to do this now than after it entered general release.
    • Make the pdb record parser more accepting of variants of "END", "ENDMDL", etc, particularly since we've changed the code not to remove trailing linefeed characters like we used to. Now anything that begins with "END" will result in a PDB_END token being returned.
    • Added scaled clipping planes to be used when using the coordinate scaling working used when rendering large meshes and triangle strips in POV-Ray. This fixes problems that occured when rendering surfaces with the non-solid clipping planes (where the coords were getting scaled back by the matrix transform, but the clip plane distance from the origin wasn't being setup ahead of time in preparation for the inverse scaling matrix)
    • force the clipping plane tool to update when the solid mode is checked/unchecked
    • Cranked version
  • VMD 1.8.4b6 (December 22, 2005)
    • Current AIX5 compilers don't like the floating point math lib macros, so they are disabled for those builds now.
    • fix socklen type for AIX5 builds
    • autopsf: get rid of 1, 2, startup messages when package requiring paratool
    • Preserve per-residue chain identifier if present in input PDB files.
    • Document new "chain" argument to residue command.
    • gamessplugin: Lots of rearrangement and new code in the orbital grid part. Since this part of the plugin is disabled by default it should't at all affect the stability. What's new: - The plugin now has a rudimentary logic to determine an optimum orbital grid size. The box is initially shrunk to the smallest possible value in the x,y,z directions. Next, the grid spacing is decreased until either a lower limit is reached or the number of grid points increases beyond a constant (20000 points at the moment). It works pretty well and gives fairly good results but the code needs some tuning. - The grid code was somewhat modularized to make it easier callable; this should facilitate incorporating it into a GUI framework. - Introduced GRID_ACTIVE pre-processor macro to facilitate turning grid code on/off for testing.
    • Added initial doc pages for volmapgui, dataimport, catdcd, and resptool plugins
    • Added first rev of Marcos' data import plugin
    • Added docs for the new 'measure' subcommands.
    • Take execute flags off of the fastio file creation permission modes
    • Fixed bug that prevented proper parameterfile writing. Improvement of metal-ccomplex code.
    • Atomedit: GUI bugfix.
    • Cranked version
  • VMD 1.8.4b5 (December 16, 2005)
    • Paratool writes proper TM-complex PRES topologies.
    • autopsf: Resolved bad CVS merge.
    • Eliminated unnecessary class specifier
    • free the vectors when the sum/mean/stddev routines are done.
    • added new 'vecsum', 'vecmean', and 'vecstddev' Tcl commands to assist various script writing.
    • Added new measure command to make it easy to sum up mass, charge, or one of the other scalar floating point values with a simple command: measure sumweights $sel weight charge
    • Cleaned up measure_center(), measure_rgyr(), and measure_minmax() and hopefully made measure_minmax() a wee bit faster.
    • fix missing sqrtf() in new measure_rmsf()
    • fix post-scaling of rmsf and avpos values
    • autopsf: Minor improvements.
    • molefacture: Cleaned up a bit. Fixed bug in reload_selection that leads to wrong atom indices.
    • Updated the interface to the measure_rgyr() routine, added new measure_avpos(), and measure_rmsf() routines and matching Tcl measure subcommands.
    • qmtool: Bugfixes Added support for CBS-based methods. Added support for some more semiempirical methods.
    • paratool: Improvement of metal-complex GUI and analysis code Cleaned up the code a bit some bugfixes
    • readcharmmtop: Bug that omits last group in RESI entries fixed.
    • quiet compiler warnings and fix printf args in mrcplugin
    • fix cubeplugin typecast to quiet compiler warnings.
    • fix corplugin header reading code
    • autopsf: Fixed out-of-bounds array element initialization used to NUL terminate the element string.
    • Added beeps and print a message when the plugin builds complete.
    • Added comments about the new build.csh behavior which makes it easier for people to customize the 'make world' target for their own environment.
    • improve build.csh help message for unrecognized build host
    • updated build.csh to work at remote sites as well as locally
    • added a default to the switch to that people know how to add their own custom build options
    • Updated the pbcwrap script with Jerome Henin's patch to update existing selections instead of creating new ones, and deleting them after use.
    • When displaying error messages when loading a state, give the user the option to skip the following messages.
    • test script for the hesstrans plugin
    • N-terminal glycines and prolines now receive the proper patching
    • Accept Numeric version numbers greater than 22.0. The check is done as a string comparison in case they ever make major.minor.minor version numbers, patch versions, or some other unsual version numbering scheme.
    • Modified documentation for rotation slightly.
    • Added documentation for the new solvate rotation feature
    • Incorporated Anton's rotation script into solvate; this provides the option to orient the molecule prior to solvation for minimal water use.
    • biocoreplugin: Minor typographical change: Changed "BioFs" to "BioFS".
    • Eliminated old tests for the VMDUSEGALPHA environment variable since we've had a production release with new Display->Rendermode interfaces.
    • Added docs for VMDMSMSUSEFILE environment variable
    • added docs for VMDFREEVRMEM environment variable
    • added docs for new VMDFORCECONSOLETTY environment variable
    • Added checks for new VMDFORCECONSOLETTY override to force VMD to treat the text console as an interactive session, for use only when running interactive VMD sessions on cluster nodes.
    • All molefacture procs are now gui-independent; there are $proc_gui dummy procedures attached to the buttons where needed, which call the actual procs
    • rename linux.clustermatic to linux.text since the config changes would be just as usable on a non-Bproc system.
    • Added startup processing of new -node flag to start VMD on cluster slave nodes, and various additional logic required to make the shared libs work, and to be able to start the executable from the cluster master node filesystem but assign the slave node filesystem paths to VMDDIR when Bproc forks the process and transports the process image to the slave node.
    • Added processing for "-node X" flag used for starting VMD on a cluster node
    • Deleted lines 357/358 from hesstrans.C, these were modifying apexCoeff, but were using uninitialized data. J. Eargle said to axe them so they're outta here.
    • make 'text' a valid graphics system target for building distributions, which is nice for making analysis-only VMD distros to run on cluster nodes
    • improve 'animate' usage messages
    • begin cleanup of animate usage help messages
    • Added VMD configuration for running in text mode only on a cluster for doing PDB searches and such.
    • Added package index for hesstrans plugin
    • Added package index file for hesstrans plugin
    • Fix hesstrans compilation flag usage
    • Fix checkpsf compilation flag usage
    • Eliminate redundant compile flags
    • Added the new hessian plugin to the plugin builds
    • Added source files for hessian transform plugin
    • Bumped the plugin header to v0.2.4 12/09/2005
    • Changed GAMESS version detection code such that it handles all future version bumps automagically instead of having to hardcode it every single time.
    • Initialize matchindex to please gcc, though it should always be set first.
    • Initialize atom color index to please gcc
    • Changed floating point types on periodic tables to please msvc, and prettied up the source
    • Fixed compiler warnings about VolMapCreate type conversions
    • Added comments about the type conversions from VolMapCreateDensity * to VolMapCreate *, which the compilers don't like, but will generate.
    • Improve floating point type consistency to please msvc, and force initialization of local variables before the first time through the loop
    • moved the tmpmask buffer into the scope that uses it if/when it's enabled.
    • improve floating point type consistency to please msvc
    • improved floating point type consistency in the fractional bond order drawing code in DrawMolItem.
    • more msvc type consistency improvements.
    • changed use of fabs() to fabsf() for speed and to quiet msvc type conversion warnings
    • eliminated msvc type warnings
    • eliminated annoying compiler warnings about hidden member variables etc.
    • prevent msvc from doing type redefinitions
    • fix const correctness of tclvolmap code
    • eliminated compiler warnings about hiding 'i' fltk member, and replaced hard coded mouse menu clear loop range with size-based computation as is done when it's initially created.
    • fix const correctness and eliminate conflict warnings with fltk 'i' member
    • replace usage of M_PI and VMD_PI macros with PI macro provided by utilities.h
    • eliminated unused local variable
    • Eliminated compiler warnings about unused local variables, printf format specifiers, etc on IRIX6
    • eliminated compiler warnings about default 'private' VolMapCreate subclassing on IRIX
    • Eliminate compiler warnings about FLTK 'i' being overridden.
    • cranked version
  • VMD 1.8.4b4 (December 7, 2005)
    • Fixed code to look for the radii.dat file in the correct directory.
    • specify what residue we're complaining about when they exceed the max number of bonds between residues
    • The webpdb plugin now returns all CONECT record bonds to VMD but sets the MOLFILE_BONDSSPECIAL to indicate that they are most likely only a partial bond description since CONECT records are normally only used to describe bonding for nonstandard residues. As such, VMD will merge these bonds with the distance based bond search results.
    • Added new "Conformation" coloring method which colors structures by the per-atom altloc code as provided in the PDB and similar file formats. The empty "" string had to be handled specially, by catching it and replacing it with "all".
    • Added docs for 'graphics tricolor'
    • molefacture: Modified bond dialogue organization to match atoms
    • molefacture: Major changes to layout of interface. Also, fixed a bug in the bond selection dialogue. Still need to add proper headers to the atoms/bonds windows.
    • autopsf: Fixed ssbond bug.
    • resptool: Bugfix for automaticc RESP input file writing.
    • paratool: Improvement of metal complex code. Many other little bugfixes
    • XBGF has records for LEWIS charges and VDW parameters now which are read in as REMARKs by the molfile plugin.
    • Added check for network connection before trying to open browser for "Show State Info"; Revised "publish" so it doesn't show the error window twice if the user tries to save a state without network connection; removed some old comments and unused code.
    • Added a new 'filebonds' flag to the 'mol new' command to allow the user to have complete control over whether file-specified bonds are used or automatic bond search is used, neither, or both (both only in the case of PDB files or other plugins that set the MOLFILE_BONDSSPECIAL flag).
    • Added new add_bond_dupcheck() routine to be used when merging the results of the distance based bond search with plugin-provided bonds for nonstandard residues etc. This method checks for duplicates when adding bonds.
    • Added a flag to enable duplicate bond checking when adding distance based bond search results, for the case where VMD is merging bonds from the distance search with partial bond information provided by files for nonstandard residues.
    • Added a filebonds flag to the read_structure() code to allow the user to enable/disable reading of bonding information from files.
    • Changed the append_frame() code to perform duplicate bond checking when the automatic bond search is invoked, if necessary.
    • Added support for merging plugin provided bonds for nonstandard residues with the results of the automatic distance-based bond search, and added code to honor the 'filebonds' flag status so the user can ignore the file-specified bonds in favor of the automatic bonds, etc.
    • The PDB plugin now returns all CONECT record bonds to VMD but sets the MOLFILE_BONDSSPECIAL to indicate that they are most likely only a partial bond description since CONECT records are normally only used to describe bonding for nonstandard residues. As such, VMD will merge these bonds with the distance based bond search results.
    • Added new MOLFILE_BONDSSPECIAL option flag to indicate that the bonds returned by the plugin are only for part of the structure, and do not necessarily specify bonding for the entire structure. These include bonds for nonstandard residues or bonds which wouldn't be found with a simple distance based bond search. When this flag is set, VMD will merge these bonds into the bondlist along with the distance-based bond search results. If this flag is not set, then bonding returned by a plugin is assumed to be complete, and no distance based bond search will be performed by VMD.
    • Added pick points for the "DynamicBonds" representation.
    • grasp plugin now solicits .srf and .grasp
    • Fixed up default filename extensions used for grdplugin and phiplugin. grdplugin now solicits .grd and .phi, and phiplugin only looks for .big.
    • Added code to process multiple plugin file extensions, though the current VMD file browser code doesn't properly accept them. For now only the first filename extension is listed, subsequent ones are dropped from the file browser file selection extension mask.
    • Added molfile plugin header comment about how to list multiple filename extensions.
    • added comments regarding differences between variants of DSN6 map files
    • fs4plugin now solicits .fs and .fs4 filename extensions
    • CCP4 plugin solicits both .ccp4 and .map file extensions
    • Delphi ascii phimap reader now solicits both .phi and .big filename extensions.
    • The PDB plugin now solicits filenames with .pdb and .ent extensions
    • VMDApp now parses comma separated filename extension lists from the plugins, and will use the comma separated lists to do filetype guessing. The filename extension lists must not contain spaces, i.e.: "pdb,ent,foo,bar,baz,ban"
    • cranked version
  • VMD 1.8.4b3 (December 1, 2005)
    • Added several conformation selection atomsel macros for working with multi-conformation PDB files with altLoc records: conformationall, conformationA, conformationB, ..., conformationF
    • docs: added info on 'graphics delete all'
    • PDBTool: Automaticaly fill in the right filename (xxxx.pdb) and dirname in the save file dialog box when saving a PDB entry to disk.
    • Removed a test that prevents membrane from re-reading a topology file. There's no real harm in this, and under certain circumstances it could crash the membrane plugin if it was run more than once per session.
    • molefacture: Demoted cursel from namespace variable to local variable, and ensured that it gets deleted appropriately
    • Write Lewis charge into XBGF charge field.
    • Added some more PDB ion names to the "ion" macro (TL RB CS), good for the Kcsa case study. Added some CHARMM lipids and a "heme" macro.
    • Eliminated another pointer dereference in the rmsd loop and made the code more readable. It's now good enough that adding atom index permutations won't necessarily kill me.
    • improve the speed and readability of the measure_rmsd() routine substantially
    • added comment that I need to add the order paramter for Python as well.
    • Added code to allow permutation of atom index ordering for 'measure fit' on the second selection.
    • Atom order permutation is off by default in the 'measure fit' implementation.
    • Added code to allow permutation of the atom order used to within measure_fit() to allow people to align structures that have atom index sequences that are reversed or otherwise mismatched.
    • Fixed another evil paratool bug that in some cases led to wrongly assigned force constants.
    • revised Linux build flags to work better with the latest distros and to have better end-user debugging behavior when vmd -debug is used to trace crashing caused by video drivers, stack overruns, etc.
    • Fixed autopsf so it properly generates angles and dihedrals for "other" fragments.
    • Minor improvemnts in the atom type setting code. Bugfix in proc reset.
    • Additional check to correctly open error window after the first time if the user does not have an internet connection.
    • Added notification to the user if an error occurred while restoring the saved state file. It currently pops up a window for each error as it occurs, though this method could be changed. Also added a comment about some errors that occur. Some "color Rename" calls that are written in the vmdrestore my colors proc can be left over from previous molecules that have been deleted. This still causes an error to be thrown.
    • molefacture: * replaced draw command by graphics $tmpmolid to make sure we draw in the right molecule. * replaced references to the selected listbox elements like [.molefac.val.list.list curselection] by references to $picklist because you only get the listbox element when the window focus is on the listbox. Thus, if you would click on something else the mechanism would break. I asserted that $picklist is updated whenever atoms are selected not only when they are picked in the graphics window using the mouse. * added proc ::Molefacture::user_select_atoms This function can be used by external programs to select atoms.
    • paratool: Bugfixes and improvements in type selection code.
    • Removed -timeout in biocorehttpcopy, so long file downloads complete.
    • Fixed autopsf so it only automatically downloads files for a true webpdb. Also added a chooser in case the program can't find the original file.
    • All data will now be imported into one molecule which makes handling easier. Improved picking behaviour. More metal-complex functionality.
    • more qmtool bug fixes
    • added selection function to atomedit
    • move amd64 builds to a different machine
    • biocore plugin: Corrections for uploading a local file.
    • Fixed a molefacture bug with the oxidation state code (not all atoms were getting assigned) and made it so that changes are fixed upon saving.
    • Removed a bunch of molefacture debug crap, and added in the first pieces for fragment addition (It won't go into the gui for awhile; there's more coding to do and we need to develop a fragment library)
    • Docs: added mention of using the middle or right mouse buttons to circumvent the resolution change while dragging the isovalue slider.
    • Added snapshot support for Windows (currently uploads .bmp); Error window if there is no internet connection when saving a state.
    • Added molefacture file type choices to save dialogue
    • Set up the connect search code to fetch a PDB file if someone used web pdb for loading; also made it so it doesn't crash if there's a local file that went missing.
    • Open psf file for reading in binary mode.
    • IsoSurface Rep: Do not decrease volumetric data resolution while dragging the isovalue slider if the right/middle mouse button is used for dragging.
    • Fixed qmtool bug that prevented writing multiple structure PDBs correctly
    • Added comment about the evils of the recurions in make_uniq_residue() until I have a chance to fix it.
    • molefacture: Added in vector normalizations to a couple places where they were missing in calc_trigbi_geo
    • molefacture: Fixed aromaticity detection; it was accepting double bonds from further away than it should. Fxed barbell drawing code to make things planar
    • Fixed bug where user tried to open saved states window without an internet connection, and then tried again with a connection.
    • Added a new draw_finish() method to the scene class where state caching members such as light_changed can be safely updated without causing race conditions in the CAVE or FreeVR slave renderers.
    • Added comment marking race condition that breaks the cave lighting.
    • fixed typo in built-in help
    • Added API versions in comments to the saved state header.
    • Added proper checking for bondlist lengths on lone pair drawing
    • molefacture: Fixed a typo that could crash calc_trgbi_geo
    • autopsf: minor bugfix relared to unpar selections (includes segid now).
    • qmtool typo bug fix
    • Cranked xbgfplugin version number to get new formatting to apply
    • cranked version of the cor plugin
    • improved metal complex recognition code. Bonding patters from original CONECT (from autopsf) are imported.
    • molefacture: reload_selection wrote invalid XBGF files -> fixed
    • Autopsf: Renamed a few proc to better reflect their function Added a lot of comments Deleted unused variables Reorganized code in a more logic way Better tempfile cleanup Gui related bugfixes We alias the C-terminal OXT atoms to OT2 during the build so that psfgen has to guess on atom less. Otherwise psfgen's CTER oxygen guesses do not reproduce the crystal structure exactly. It also makes sure that the bonding pattern stays the same.
    • After many, many hours of hard work, this commit includes a *working* orbital reader for gamess for all Pople style basis sets with s,p,d, and f shells. Others will likely work as well but I haven't tested them yet. Clearly, the code is still alpha and I need to shake out some small bugs and wavefunction normalization issues, but visual comparison with other orbital vizualization software shows very good agreement. To be really useful I need to - provide a GUI to select the orbitals - more efficient grid code (best would be geometry-adapted) to speed up computation - make code more efficient in general - simulatanous display of positive and negative lobes - proper initial selection of surface rather than have user play around with the slider until it looks good
    • Clean up molefacture temp files when done.
    • autopsf/psfcheck: Added support for bonds from CONECT records.
    • Added support for bonds from CONECT records of the original PDB. Paratool gets a bondlist with atoms specified through segid, resid and name. Bugfix for the Chemical component dictionary parser.
    • added an 'expf' macro for platforms that don't provide a single-precision version.
    • Initial revision of adding labels, angles, dihedrals, etc.
    • cranked version
  • VMD 1.8.4b2 (November 4, 2005)
    • removed reference to psfbondlist.h from autopsf
    • I broke xbgf before, this is the fix.
    • psfcheck now reads xbgf files instead of pdb. It also recognized bond information.
    • Added functioning support for reading CONECT records to pdbplugin and webpdbplugin. The logic for whether we actually trust the connectivity information in the CONECT records uses some simple heuristics which are: 1) more than 99,999 atoms -> fall back to automatic bond search ignoring any CONECT records that may be present 2) no CONECT records -> fall back to automatic bond search 3) number of CONECT records looks suspiciously small for the number of atoms (i.e. only 20 CONECT records for 20,000 atoms) -> fall back to automatic bond search ignoring any CONECT records that may be present 4) number of CONECT records seems reasonable for the number of atoms, say number of CONECT records is >= 85% of the number of atom records, use the CONECT record information only, and don't do any automatic bonding
    • Fall back to automatic bond search if the plugin can read bonds but indicates that the file being loaded didn't contain optional bond information
    • Added comments describing proper behavior of the read_bonds callback in cases where the file only optionally provides bond information (such as with PDB CONECT records), without triggering an error.
    • autopsf bugfix: SOlvate and ionize had been moved to a part of the code that never executes
    • Fixed bond read/write in bgf
    • VolMap: Added commented very fast version of the density mode which creates smooth surfaces (but not gaussian, and hence not scientifically precise).
    • Added SOMETHING for the octet numbers on all elements so it wouldn't crash molefacture
    • revved minor version of the DCD plugin to force it to supercede the older versions with swapped alpha/gamma angles.
    • After autopsf is done it loads the real finished molecule instead of keeping the temp molecule.
    • Fixed intermittent autopsf crash on AMD64 with pdbs that had a segid specified.
    • VolMap GUI: added suuport for the new "density" map changes
    • VolMap: rewrote the density code to use a gaussian function directly rather than random points. The error is negligible and the high-precision maps look much better and get calculated much faster. Also added an convenience option to premultiply the VDW radii by a contant factor.
    • paratool updates: Added and corrected UFF related things in paratool_parameters.tcl At some point we want to use UFF for preoptimization of structures. Continued work on CHARMM-style charges. Bugfixes for the .editcoor window. Added simple parser for ASN1 files. In order to use ASN1 file we have to build 3D structures automatically from 2D info. Have to think about how this is done best.
    • qmtool updates
    • unfinished code for parsing CONECT lines and storing the data.
    • eliminated assert() calls in plugins since these will terminate VMD and the user won't see any of the debug output anyway. Might as well have seg faulted really.
    • Fix swapped alpha/gamma cell angles in DCD unit cell reading/writing code which became apparent when the internal unit cell code in VMD was fixed.
    • fixed bad pdb buffer size logic, added a new PDB_BUFFER_SIZE macro to make the code more maintainable.
    • don't strip LF chars from pdb records, as they are needed by plugins for processing remark lines and other information.
    • New pdb/webpdb/babel minor rev since I changed the remark reading behavior to include the unrecognized records (for the short term at least)
    • Read unrecognized PDB records as remarks so Jan can try his Tcl CONECT reader, I may set this back to the previous behavior later when I get the CONECT code implemented.
    • xbgfplugin: Silenced some of the debugging output. Corrected the FORMAT line. Extended the index field from 5 to 6 digits.
    • Added autopsf code to read PDB CONECT records.
    • paratool: Working towards metal complex and iron-sulfur cluster support.
    • AutoIMD: update docs
    • updated autoimd doc images
    • AutoIMD: use a much better param file selector (similar to autopsf's)
    • ColorScale Bar: fixed menu truncation in OSX
    • Sequence Viewer: fixed menu truncation in OSX
    • RamaPlot: fixed menu truncation in MacOSX
    • AutoIMD: * Allow the setting of many additional options through the GUI, including: sim temperature, dcd save frequency, vmd keep frequency and the namd-vmd communication rate. (see the new Sim Parameters dialog) * Also removed custom fonts since this is no longer necessary (Tcl ugliness problems have gone away...) * Set the communication rate to 1 for smoother animation in Local mode
    • Molefacture now draws barbell-shaped lone pairs for nitrogens in conjugated pi systems.
    • Added better handling of re-opening the window, so it doesn't reset the project each time it is opened or redrawn.
    • Fixed vector scaling error that was causing "laser beams" in calc_trigbi_geo
    • Added molefacture support for oxidation numbers (still currently invisible from the GUI), and removed TONS of debugging output.
    • Removed molefacture debugging output from previous update
    • Changed autopsf to better handle pre-existing waters (it will split them into chains appropriately, instead of making one chain per water).
    • Revised window text, telling use they'll have to open the saved states window from the VMD menu after logging into BioCoRE.
    • Fixed error in publish; Modified error window text; Added "View state info" to popup window.
    • cranked version
  • VMD 1.8.4b1 (October 28, 2005)
    • biocore: Corrected test for when a user doesn't have an internet connection.
    • biocore: Corrected which window is displayed when a user logs in for the first time.
    • Revert to the non-shaded points for the default isosurface method since there seem to be some NVidia drivers that crater with the shaded version at the moment. When we solve the nVidia problem we can set it back to shaded by default if the performance issue on Mac was merely one of point size.
    • quiet the vertex fusion info messages, since the code seems stable.
    • Added '=' hotkey to the Display->Reset View menu item similar to what was done for the mouse modes
    • added mention of new '=' reset/recenter view hotkey
    • eliminated spurious molefacture puts statements that were spamming VMD at startup.
    • VolMapGUI: minor gui improvements
    • updated announcement text, will need final dates updated still
    • updated README with recent feature additions and improvements
    • VolMap GUI: added new occupancy options to GUI
    • VolMap: Allow the user to specify using "point particles" or "spherical particles" in "occupancy" mode
    • Corrected PSF/DCD loading when re-publishing a state on Windows; CVS:
    • Corrected default server to the main BioCoRE server.
    • Fixed handling of atoms with more than 6 bonds
    • Fixed small bug in trigbi geometry.
    • Added 6-bond geometry to molefacture
    • Added scrollwheel support for state scrollboxes.
    • Finished RESPtool integration in Paratool.
    • Minor qmtool bugfixes and enhancements.
    • Paratool does actually write topology and parameter files (finally!). Finishe RESPtool. Repaired parts of CHARMM-type charge module (still completing it...) Many bufixes.
    • Updated biocoreapi version to 1.13
    • Removed some logging statements; reset "default" project when re-logging in as a different user.
    • Added text to the login window displaying a user's current login and server, if the user is already logged in.
    • Handled displaying the correct saved-state window after re-logging in as a different user.
    • Version 1.13 of the BioCoRE API, with Kirby's modifications on session files, etc.
    • Fixed several bugs with handling placed hydrogens, and added a trigonal-bipyramidal geometry function
    • Several updates to the gamessplugin: - properly implemented multidimensional arrays (I hope); ideally this should fix the segfaults on Windows - restructured some of the orbital grid data structures - plugged some memory leaks - properly initialize *all* data structures - adjust some array lenths to conserve memory - rewrote the GBASIS detection code such that we bomb out when GBASIS is unknown
    • Added a missing header file
    • fix typos in the architecture-specific setting of arch_depend_flag
    • initialization of arrays now properly implemented; code compiles and works for all gamess files in my test set. Hopefully it will fix the segfaults on windows
    • Applied Axel's 'make depend' improvement
    • revert previous gammessplugin changes since they break a whole lot of gamess test set - will have to do it step by step
    • Properly gamessplugin initialize ALL arrays in code; this also fixes a bug with improper multidimensional character arrays; hopefully this will fix the problem of mashaojie
    • Fix missing class specifier in ATI enum test.
    • added informational message when ATI linux driver is detected and also added code to disable programmable shading appropriately.
    • Added prototype of default ATI Linux driver crash workaround.
    • Move renderer recognition code out of the extension registration routine and into it's own function so that it may be called independently of whether the VMDSIMPLEGRAPHICS mode is in force.
    • Added new renderer/vendor string tests for ATI and nVidia so I can automatically enable workarounds for Linux driver problems by default.
    • gamessplugin some minor changes to interface better to the QMTool
    • VolMap GUI: *Added "weights" option to density volmap generation * Added a file browser for the file output
    • Updated multiseq2 build scripts
    • VolMap: for density maps, output the real density, and do not pre-multiply it by 1000 anymore.
    • Changed formatting of IsoValue slider from %5.3f to %8g, allowing the user to specify a wider range of values (for example, removing the need to pre-multiply the volmap density maps by 1000 just to make the values non-zero), as well as allowing for more precise (and more convenient) value.
    • update windows build
    • Added logf() to the macro replaced single-precision libm routines that aren't necessarily portable to all platforms.
    • cranked version, special build with new multiseq for testing purposes, won't be made available to the public yet
  • VMD 1.8.4a22newmseq (October 14, 2005)
    • Volmap: density maps now use a gaussian random distribution around each atom. Also added the ability to specify the number of random points sampled
    • VolMapGUI: Added support for the "volmap density" -numpoints flag
    • Added a slow but accurate normal/gaussian-distributed random number generator.
    • VolMapGUI: Better logic for automatic rep creation
    • Renamed loop variables in VolMapCreateMask::compute_frame() to avoid conflicts with AIX header file definition of 'HZ' and 'hz'.
    • Eliminated dependence on having '.' in the search path when running the 'use' script in the library directory.
    • Added support for Charmm style periodic dihedral potential instead of harmonic potential. Many small bugfixes.
    • AutoIMD: removed "Close Window" menu item
    • AutoIMD: minor updates to docs.
    • AutoIMD: Use autopsf's CHARMM parameter files by default (instead of no file)
    • cranked version
  • VMD 1.8.4a22 (October 11, 2005)
    • Fixed bug which could cause a publish to go to the wrong project if the window was refreshed.
    • Added "volN" identifiers in front of each volumetric dataset name in the volumetric data selector menu in the Representations window (when drawing Isosurfaces, etc.). This identifier corresponds to the keyword to be used in atom-selections.
    • Enabled the creation of atom-selections which depend on values taken from underlying volumetric maps. Removed the #ifdefs protecting this feature and made the code deal with non-orthogonal cells. This can be accessed through the hard-coded atomselect keywords "volN" "interpvolN" and "volindexN", where N=0-7, is the ID of the desired volumetric map, and "volN" is the value of the voxel at the location of the queried atom.
    • Update to enable parametrization by analogy. readcharmmpar now reads also the comments.
    • Added Parametrization by analogy functionality. You can pick analog parameters from a list.
    • psfgen: Use fgetpos and fsetpos to print correct count of remarks lines.
    • Minor changes; removed some puts statements and changed plugin help label.
    • Modified molefacture to use xbgf internally
    • Using XBGF as internal paratool/molefacture file format.
    • I quickly added support for segnames and I had to initialize the insertion code with " " in get_bgf_fields(...) otherwise writexxx prints random characters to the file. Moreover I extended the field size for resname from 3 to 4 in order to hold names like "TIP3".
    • Fixed appearance of default top file. Also, added a boolean switch useParatool to the autopsf namespace; if this is set to false, calls to paratool will be intercepted and a pdb of the chosen fragment will be written instead. This flag can be enabled for distribution builds before paratool is ready for release, if needed.
    • Fixed a problem with passing the number of bonds around that could cause a crash on some architectures, and removed some silly debugging statements
    • fixed xbgf plugin charge reading code.
    • Added undocumented camera/eye manipulation Tcl commands To use these in the model coordinate system, one must set the model to world coordinate system transformation matrices to identity matrices. Future code should automatically transform the provided eye position/direction/up etc into the model coordinate system.
    • Eliminated several old eye position manipulation routines and replaced them with new ones that correctly update the display and which can be used to replace much of the disorganized direct state initialization code we have now.
    • VolMapGUI: fixed GUI glitch caused by new "mask" pane.
    • VolMapGUI: Added "mask" volmap type generation...
    • VolMap: Added a "mask" volmap type, which simply creates a binary mask for each frame by painting spheres of a given radius around each selected atom. Supports the "-cutoff" option for specifying the sphere radius. A mask could then be multiplied to any other volmap (feature not checked in to the VMD CVS yet) in order to produce a new map that is localized around a selection (getting rid of all the extra garbage away from the selection)
    • Fixed a potential but unlikely buffer overflow through an unsafe use of sprintf().
    • Fixed bond and order readers to be column based, not field based (this is in line with the bgf specification). Also fixed a bug that could lead to random characters in the resname field.
    • Fixed crashing due to undefined booleans
    • Fix illegal (for strict ANSI C) variable declarations in psfgen
    • New version of psfgen supports a simple session log with info about applied patches.
    • autopsf uses xbgf files instead of pdb for communication with paratool.
    • cranked version
  • VMD 1.8.4a20 (September 27, 2005)
    • Added readcharmmpar to the distrib target
    • Pop up dialog box if user has no internet connection when trying to log in, instead of letting the browser produce an error; modified login message.
    • Increased handling of loss of internet connection; added dialog message boxes for actions if a state must be selected but it is not; modified menubuttons for Mac.
    • Fixed statements which were occuring prior to the last local variable declaration, not ANSI C compliant code...
    • Update psfgen to 1.4.1, check for destroyed molecule to avoid crashes.
    • mmcif plugin placeholder with stubs which will eventually be filled out and made functional.
    • Removed bogus use of strtok_r and bad redefinitions of counter varibales
    • Fixed memory leak that I stupidly added while properly allocating memory for dynamically sized arrays
    • Properly allocated dynamically sized arrays
    • Improved mipmap generation status messages
    • Added code to automatically downsample 3-D textures to fit available accelerator texture memory.
    • Fixed bgfplugin charge reading
    • Added xbgf plugin, an extended version of the bgf format for paratool/molefacture
    • cleaned up comments about display list caching etc.
    • Added a missing test for simplegraphics mode when initializing vertex array pointers, and added a warning message at startup to make it obvious when simplegraphics mode is in use.
    • replace glColor3f() calls with glColor3fv() calls.
    • Force use of OpenGL 1.0 immediate mode when VMDSIMPLEGRAPHICS mode is set.
    • Simplified a few OpenGL feature test ifdefs and cleaned up comments in preparation to add additional VMDSIMPLEGRAPHICS fallback code for users of ATI cards on Linux.
    • Disable ACTC again. A purify run shows that ACTC is corrupting itself and dumping core in some cases.
    • Switched from using extendedpdb to using bgf, and eliminated a couple minor bugs. Note that I had to add back in the assign_element function for now because BGF doesn't carry element indices. We need to decide if we want to extend the format to do that, use the type field to pass them in to molefacture, or just do the typing within molefacture as is done now.
    • Readcharmmpar provides some routines to parse CHARMM parameter files and to access elements of the resulting lists. It also contains all UFF parameters.
    • Fixed some focussing problems of the GUI.
    • extendedPDB now Includes atom type info.
    • autopsf stores the atom types using extendedPDB in the file that is sent to Paratool. This makes life easier for automatic parameter assignmet in Paratool.
    • The comment in the MASS record is now read and returned, too.
    • Paratool now automatically reads and assigns VDW parameters of known atomtypes. For unknown atoms the user can select a type from a list of known CHARMM types. For all atoms also the VDW parameters of the Universal Force Field (UFF) are available. Bonds of known types are recognized and the parameters assigned accordingly. The same has to be done for the other bonded parameters. All Charmm params are in par_all27_prot_lipid_na.inp, the UFF parameters are hard coded in paratool_parameters.tcl.
    • Mol2: Minor changes to output formatting
    • Bgf: Added connectivity writing. Should be functioning fine.
    • Updated gridsearch comments to match current behavior and added a few where they were missing.
    • Made grid search code more conservative in its use of memory
    • cranked version
  • VMD 1.8.4a19-2 (September 23, 2005)
    • cleaned up the molfile plugin atom struct definition comments, and reduced the size of the altloc, chain, and insertion members to 2 characters since these are currently only 1-character strings in the existing file formats.
    • use strod() rather than strtof() since it is more portable.
    • Added BGF writing capabilities (but doesn't write bonds yet)
    • Replace the use of strcpy()/strncpy() with direct NUL termination in the VMD plugins.
    • Fix insertion code writing behavior of pdbplugin when caller doesn't provide insertion code records.
    • Eliminated the last uses of bondType, which saves us a lot of memory when working with really large structures in trade for a small bit of extra work at runtime when we do sidechain selections, backbone coloring, and the subfragment search in the structure analysis code.
    • Initial import of bgf plugin. Read functionality fully implemented; writing still to be done.
    • mol2plugin bond order code is working for reading and writing
    • Eliminated the use of MolAtom::bondType in the connected subfragment search code.
    • clean up comments in subfragment code that references bondType array
    • Made the atomselect 'sidechain' keyword work without the need for the MolAtom::bondType[] array
    • Make the backbone coloring method work without the need for the MolAtom::bondType[] array.
    • added comment about seemingly unnecessary tests in the backbone coloring method.
    • Correct old code that predates the use of the HYDROGEN atomType.
    • Updated Atom comments a bit more
    • Eliminated the 'index' member variable from the Atom class to save memory.
    • Started separating the stuff that every atom absolutely must store from the stuff that we might eventually try and move to per-residue or other data in order to save memory when loading 4 million atom structures.
    • Atom selection code no longer relies on the Atom->index member variable.
    • Picking code no longer relies on the availability of the Atom->index member variable.
    • Don't generate an error if a plugin can't write timesteps at all. Only return errors if it should write one but fails.
    • Sorted atom struct members to promote better memory access behavior, and cleaned up some of the comments for better readability of the code.
    • Added comments specifying that each bond returned from read_bonds should only be specified once, and each bond provided to write_bonds will similarly be specified only once. File formats that list bonds twice (both the 'from/to' and 'to/from' pairs are listed) will require special handling by the plugin.
    • Added bond counting code as per Peter's request.
    • Added bond writing code to the PSF plugin. While the generated PSF files still don't include angles, dihedrals, or impropers, this is one step closer, and PSF files with just the bonding information are still useful for people doing things like Willy Wrigger's new tools that (ab)use PSF files as a means of describing connectivity for his vector quantization stuff.
    • Molefacture and Paratool should now be solely communicating through extended PDB files. Molefactues electron code is broken and therefore the molecules can't be read in properly. Thus I can't test any further.
    • Cleaned up old procedures. Molefacture and Paratool should now be communicating solely via extended PDB files.
    • autopsf uses a single topology file now.
    • I added another topology file to the topology defaults for autopsf. Now we have top_all27_prot_lipid.inp and top_all27_na_inp.
    • Autopsf now does distance dependent ssbonds.
    • Paratool finding a component in the database is now 5-6 times faster.
    • Added support for reading and writing bond orders to the plugin handling code. If a particular plugin doesn't supply bond order information, it is free to return NULL for the bond order array address, in which case VMD assumes a default bond order of 1.
    • The VMD bond search code now explicitly assumes a bond order of one.
    • Added a bond order parameter to BaseMolecule::add_bond()
    • Added bond order parameters to all of the plugins that read/write bonds.
    • Cleaned up the plugin headers a bit, improved the comments, added new bond order parameters to the read_bonds() and write_bonds() routines along with commentary about default behavior and handling of NULL as a valid return for the bondorder array when calling read_bonds().
    • Added writer functionality, and got rid of the hang that was occuring. This plugin now has all the functionality it should until bond orders are added to the molfile API.
    • Mol2 reader now functions properly, including bond info
    • Add atomicnumber info to the read_optional_structure() update code
    • XYZ PLugin: When the number of atoms was incorrect, the plugin was miscounting the number of entries, thus leading to weird error messages such as: "wrong number of atoms, expected 201 but only found 201". This has been fixed.
    • Eliminated unused 'point' seek offset global from rst7plugin found by Justin
    • If psfgen>=1.4.1 is used, then the bond orders for all bonds, including the ones in patches are set correctly using the info from the topology file and the REMARK patch data from the psf.
    • cranked version
  • VMD 1.8.4a19 (September 21, 2005)
    • Reads SSBOND info from pdb file (using TCL -> slow!) and applies appropriate DISU patch. Added PRES DISU to default topology file. Does not care about alternate residue locations yet and doesn't do distance based heuristics! User is not yet informed about SSBONDs.
    • readcharmmtop plugin reads PRES entries now.
    • cranked version number
  • VMD 1.8.4a18 (September 20, 2005)
    • Added test code to print the bondlist from the psfplugin write_bonds callback
    • Added bondlist generation code and enabled the use of plugin->write_bonds() when supported by the target plugin.
    • fixed mismatched delete vs. delete []
    • Pretty up the molfile_plugin header
    • Improve centering behavior when no coordinates are loaded
    • Added a small bit of safety code to the header sanity check so that the BRIX plugin doesn't core when it reads a bogus file.
    • added brixplugin name to internal error messages
    • don't try to calculate atom min/max values if we don't have a current timestep
    • Fixed remaining places where the chooser text was being used directly to select plugin filetypes.
    • Make the GUI display the "pretty" plugin names rather than the short/scriptable plugin names.
    • Make file chooser search code more robust.
    • Added initial draft "pretty name" ID strings for all of the existing plugins for use in the GUI.
    • Added placeholder for bond writing code, the final bondlist must be processed and corrected according to the active atom selection at writing time.
    • Added a method to return the "pretty name" of a plugin for use in the GUI.
    • Added a new "pretty name" string for all plugins which is to be used in GUI choosers and anywhere else that we will display a description of the plugin but not require the user to type. The short plugin name (no spaces) will still be used for scripting and any situation where the user would specify the name of the plugin manually, and for all internal plugin version comparisons etc. The long plugin name is only for GUIs.
    • Fixed biocore snapshot saving name bug; fixed window name bug.
    • Added can_write_bonds() method.
    • minor cleanup and added a placeholder write_bonds() routine.
    • Added a write bonds callback which will primarily benefit structure building plugins.
    • Added can_read_bonds() method.
    • Set vertex fusion search parameters to 36/36 for now.
    • Eliminated all but one use of dynamic memory allocation by using the new truncatelastn() method of the ResizeArray template. Redundant vertices are now removed through in-place vertex/normal array manipulations rather than by generating a new array. The new implementation can be run several times with different parameters to search further for redundant vertices.
    • Added a method to truncate the array, removing the last N items. In the case that N is equal to or larger than the size of the array, the effect is the same as calling clear(). Memory is not deallocated, only the active size is changed.
    • Enable ACTC stripification of isosurface meshes.
    • Changed the default isosurface display mode to the newer shaded points mode
    • GRASP plugin now protects itself from out-of-range vertex indices.
    • New plugin extendedpdb adds a number of commands to read and write info about bonds, bondorders and charges in pdb files using the REMARK section.
    • Now using the beta value tell Paratool about the unparametrized fragment.
    • added new plugin extendedpdb that stored and reads bonds, bondorders and charge info from toand from the pdb REMARKs.
    • Now using plugin extendedpdb to store bonds bondorders and charges in the remarks of a pdb file. The charge and bond info for the parametrized part is extracted from the given topology file when a new parent molecule is loaded. The bond and charge info for the unparametrized part is - as it has been before- extracted from the pdb component database if the user chooses to do this.
    • Biocore plugin: corrected bug in loading DCDs and "undoing last load" for states with DCDs.
    • Made explorer search path string compatible with the findertool script
    • Change default search path for the explorer binary
    • Updated search path for the latest version of VideoMach (3.4.1)
    • Corrected header comments about the meaning of unit cell parameters A, B, C, alpha, beta, gamma, per page 7 of "Introduction to Crystallography" by Sands.
  • VMD 1.8.4a17 (September 8, 2005)
    • Added a triangle vertex fusion routine that significantly reduces the number of redundant vertices in isosurface triangle meshes. The resulting surface meshes can be post-processed by ACTC, though the current implementation yields triangle strips with an average length of only 4 to 6 vertices depending on how deep of a search is done. This simple search is fast and doesn't require any additional data structures. With a little tweak to the ResizeArray template it could actually be done in-place. A better method would use a grid-based spatial decomposition, and would find more of the connectivity in the Y and Z directions than this code does.
    • Changed some biocore snapshot saving bugs.
    • Added initial mol2 writing capabilities
    • Rename draw_beads() to draw_residue_beads(), since it may be useful to implement several other levels of the "bead" representation.
  • VMD 1.8.4a16 (September 1, 2005)
    • Added ifdefs to replace strcasecmp with stricmp on Windows builds.
    • Added the missing files to the psfcheck build.
    • Fixed illegal C++ style declaration statements in the psfgen C code.
    • To allow using atomicnumber/element field in PDB file in communication between Paratool and Molefacture I had to change the code of psfcheck.so such that it writes the element info into the pdb file. Now unknown residues are marked as XYY while YY is the element symbol.
    • Now using atomicnumber/element field in PDB file in communication between Paratool and Molefacture.
    • Introduced proper scaling factors for internal coordinate force conststants to account for the neglect of electron correlation in Hartree Fock.
    • Now using atomicnumber/element field in PDB file in communication between Paratool and Molefacture.
    • Added psfgen introspection commands from Justin, now version 1.4.0.
    • Updated installer version string
    • Updated version author list
    • Eliminate cliptool errors which occured when loading a molecule with no atoms. The code now checks to see if there are any atoms in the molecule before performing atom selections.
    • Added a lit points (shaded) array primitive for use by the isosurface representation.
    • Fixed wonky isosurface stepsize control behavior
    • Added periodic table files to the msvc project
    • Added biocore plugin fixes for Windows.
    • Added some test code to the beads rep to investigate ways of drawing ellipsoids/cylinders rather than spheres when we encounter long stringy structure like lipids.
    • alphabetized the element color definitions so they are presented in a more user friendly manner in the VMD GUI
    • Unrecognized PDB records are treated as remark lines, for the purposes of completeness. This way no information is lost when loading a PDB, though there may not be a nice interface to it through built-in VMD features.
    • use the memcpy rather than strcat for speed and to mirror what's being done in the webpdb plugin.
    • Added a new "Beads" representation which draws a coarse bounding sphere for each residue.
    • cranked version number
  • VMD 1.8.4a15 (August 30, 2005)
    • Fix a bug in the remark buffer string termination in the webpdb plugin
    • Marked a minor buglet in the handling of 'molinfo top set frame 5' where the GUI isn't being updated correctly. Should probably be calling the VMDApp methods rather than directly twiddling molecule state.
    • Added metadata parsing to the webpdb plugin
    • handle memory deallocation in the case when we get a pdb file with no atoms.
    • Added docs for the new 'molinfo get database', -accession, and -remarks commands and their Python equivalents.
    • Added get_databases, get_accessions, and get_remarks to the Python interface.
    • Added per-file 'database', 'accession', and 'remarks' info to VMD molecule data structures.
    • Added a remark length parameter to ease subsequent string copying, allocations, etc.
    • Added code to save REMARK records for use in VMD's file metadata info
    • Psfgen now adds and preserves the element field in PDB files.
    • Only provide "PDB" as the database when a valid header record is found. Without a header there's no way to make any statement on where the data came from.
    • Added interface for reading molecule metadata from plugins that support it.
    • Added new molecule metadata callback, molfile_metadata_t structure, and cranked the plugin ABI.
    • Added metadata reader code to the pdb plugin.
    • remove spaces from pdb accession codes, fix classification string termination.
    • Added new pdb header enum, and a new routine to parse the pdb header record for the accession code, date, and classification string.
    • Removed unused biocore listener code
    • cranked version number
  • VMD 1.8.4a14 (August 26, 2005)
    • Corrected window title when reopening the saved states window; fixed infinite loop encountered in synchronize when the molecule doesn't contain "http"; Fixed errror when a user was able to delete a message that was not his own (requires biocore restart); Deletion error messages now pop up a dialog box.
    • Revised Biocore_deleteNotebookEntry to better handle errors from the api (when a user cannot delete a message because they do not have ownership.)
    • Fix bug in the interaction between the isovalue slider and the step size control.
    • Added the necessary code to the PDB plugin to allow it to write out atomic element and alternate location identifier information when available.
    • Enable export of atomic number and alternate location identifiers
    • Fixed more issues with the most recent GAMESS version (JUN 27 2005 (R2)) This fixes the bug reported by Yasuo Dobashi and her/his file loads fine now. Added more stuff for the QMTool integration Disbelief in the fact that MSVC 6 does not provide snprintf :(
    • updated readme with recent changes
    • updated version number of the plugin, since it has changed numerous times and we had forgotten to do this previously.
    • added 'element' keyword description
    • Updated the charmm coordinate plugin docs.
    • added notes at the top of the corplugin source to clarify which variant of Charmm coordinate file it reads.
    • cranked version number
  • VMD 1.8.4a13 (August 25, 2005)
    • Fixed elementsymbol string termination with correct character index.
    • Fix recently created bug where occupancy and beta weren't read in properly.
    • Added revisions on determining which window is displayed (saved state window, login window, or error window); revised handling of loss of internet connection.
    • Made revisions for determining which window to open the login window in.
    • Fix output of box dimensions in the crdbox mode of the crdplugin.
    • Changed pdb record parser to test for ATOM/HETATM records first since they are by far the most common in the files we care about. Save a few CPU clock cycles here and there.
    • Added an extra isosurface extraction step size control to make it easier to conveniently work with huge volumetric datasets.
  • VMD 1.8.4a12 (August 24, 2005)
    • If we have valid atomic number data available from a plugin, we'll use that to do a periodic table lookup for mass and VDW radius data before resorting to the old name based mass/radius determination heuristic.
    • Added a new "Element" color category and coloring method, which should finally provide a decent workaround for the age-old limitations of the "name" and "type" coloring methods. If VMD has reliable 'atomicnumber'/'element' data for an atom, this will allow one to unambiguously color C/Cl, S/Si.
    • Added default colors for all of the periodic elements
    • Added new "element" atom selection keyword and set/get routines. This get or sets the atomic element by the element symbol string. This ultimately sets the 'atomicnumber' data for an atom, so this and 'atomicnumber' are just different ways of accessing the same data. The element reported for out-of-range atomic numbers is "X".
    • Added periodic table and access functions.
  • VMD 1.8.4a11 (August 24, 2005)
    • build on some other S9 machines now that asuncion is running S10
    • Disable the use of snprintf in gamessplugin since it doesn't compile on MSVC6 currently.
    • Added untested/disabled code for calling Open Babel 1.100.2
    • Small bugfix to molefacture lone pair handling
    • Added new file type names and plugin name strings for Open Babel 1.100.2
    • rename babel file type and name lists to indicate these are specifically for babel 1.6. This way I can add new ones for openbabel and reuse most of the rest of the code.
    • Fully updated the babel plugin for the features of Babel 1.6
    • Added the bgf, dock, dockpdb, and g94 conversions to the babel plugin
    • Gamessplugin - The plugin now has some rudimentary logic to detect and make decisions based on the GAMESS version used to generate the run. In particular, GAMESS version 27 JUN 2005 (R2) changed the output format for optimizations/saddle point runs (among probably other things). The plugin now detects this and properly reads optimization runs of pre-"27 JUN 2005 (R2)" and "27 JUN 2005 (R2)" runs. This fixes the bug filed by Yasuo Dobashi. Furthermore, until I know what else has changed in version 27 JUN 2005 (R2) the plugin currently bombs out if it detects this version printing a "not supported" message.
    • When all atoms have valid atomicnumber data, the PDB related plugins can provide trustworthy mass and VDW radius information. If any atoms are unrecognized it's probably better to let the caller (i.e. VMD) deal with that problem.
    • Don't parse atom coordinates unless needed.
    • Use 1.0 for the hydrogen radius, but use the periodic table values for all other elements, for now.
    • Fix index of NUL termination on the altloc string for 1 char since that's all PDB allows.
    • only call get_pdb_coordinates() when they are really needed.
    • Fix incorrect PDB frame skipping behavior
    • Added display for lone pairs and lone electrons
    • Added a switch to toggle display of valence numbers and lone pairs/lone electrons
    • Fixed a bug with closing and reopening molefacture
    • Fix a couple bugs in the pte_idx_from_string() routine for identifying elements by their symbol name.
    • Added atomic number, mass, and radius data reading into the babel, cube, pdb, webpdb, xsf, and xyz plugins. The mass and radius data are gleaned from the periodic table where possible.
    • eliminate unnecessary include of the periodic table header in tinkerplugin
    • added an ifdefed test routine to dump the periodic table for verification purposes
    • added a periodic table query function to return VDW radii
    • added table of VDW radii
    • replaced 'elementindex' keyword with 'atomicnumber' keyword.
    • Prevent atoms that aren't members of the same conformation or the all-conformations part of the structure from bonding with each other.
    • Eliminate 'elementindex' keyword since the plugins have already been updated to use 'atomicnumber'.
    • Change 'elementindex' atom selection keyword to 'atomicnumber' due to changes in VMD itself.
    • Added atomic number data to XYZ plugin
    • Added support for new plugin ABI that optionally provides the atomic number of each atom, which is useful for VMD extension that do QM calculations for generation of MD parameters, and other tools that require more pure-chemistry information.
    • updated PDB related plugins to add support for reading in atomic element strings and returning the atomic number to VMD.
    • added a get_pte_index_from_string() function which has safer handling of strings that are not guaranteed to be exactly 2 chars long, may contain whitespace chars, and/or may be zero length.
    • Selection now properly switches to a parent atom after an atom is deleted
    • Fixed a bug in which bonds of order >2 weren't considered more than a single bond for the purposes of valence calculations
    • Replaced the molefacture "add double bonds" button with raise and lower bond order buttons. These buttons will increment or decrement the bond order; if you decrement a single bond the bond is deleted, and if you increment a nonexistant bond a single bond is added.
    • added optional atomic number field to molfile plugins
    • change elementindex keyword to 'atomicnumber', since I don't think we have any plans to make a version that accepts arbitrary atom name strings. This will also make more sense as a general purpose atom selection keyword than 'elementindex' did.
  • VMD 1.8.4a10 (August 12, 2005)
    • Fixed PDB reading bugs induced by recent plugin changes
    • Cranked version number
  • VMD 1.8.4a9 (August 12, 2005)
    • added resptool to the distrib target
    • added resptool makefile
    • Added vmd_molecule Tcl callback, and removed mention of vmd_initialize_structure for when deleting a molecule...
    • updated readme with recent features
    • Added new atom selection keywords to the User's Guide.
    • Added a one-based atom indexing scheme "serial" as a convenient alternative for people who are sick of having to keep the VMD/NAMD or VMD/PDB atom numbering schemes straight.
    • Fixed a bug in msg_timer_init(), and a typo in the new angle() routine, and eliminated some MSVC warnings.
    • Added Alexei Podtelez's angle() routine in place of our old one.
    • VolMapGUI - Updated to use the new vmd_molecule callbacks. The mol menus are now in perfect sync with VMD and feature other niceties such as in sync molecule names and molecules are grayed out if they dont contain any coordinates (i.e. cannot be used as inputs). This should serve as a template for the "molecule" menus in all the other Tk plugins...
    • Callbacks: Added a new vmd_molecule (Tcl) and molecule (Python) callback to indicate when a molecule was created or its attributes were modified. Values for vmd_molecule(molid) are: 0: deleted (identical to vmd_initialize_structure(molid)) 1: created (though no data is loaded at time of call) 2: renamed This should allow Tk plugins to have molecule menus that remain in sync with VMD's actual molecule list.
    • Added the Situs and MRC map reader plugins to the build.
    • New MRC EM map reader plugin based on the CCP4 plugin. Their file formats are very similar but diverging, so it seems to make sense to implement them separately.
    • Added experimental code to incorporate volumetric data into atom selections. This code is demarcated by using VOLMAP_SELECTION_HACK #ifdefs.
    • New plugin for directly reading Situs EM map files
    • Fixed measure sasa docs, was missing the 'srad' in the parameter list, though it was listed in the built-in VMD help.
    • VolMapGUI: * Added option to output volmap to a "new" molecule. * Commented out the snazzy 3-pane interface until this functionality is fully implemented (so that the plugin doesn't look like a work in progress...). For now only the volmap generation pane is shown.
    • Fix bug that would let the plugin read only up to 100 trajectory points; gotta love those free format output files
    • Added code to make the CCP4 plugin accept maps that have MX/MY/MZ sample interval values of zero. It will construct them by setting them to N[XYZ] - 1, as necessary. It would seem that if these values aren't really trustworthy, we may wish to alter the plugin to work without them.
    • Added support for reading PDB alternate location identifiers
    • make the default alternate location identifier be "" rather than "A", since this will allow us to single out just pieces that have alternate locations more easily.
    • Added support for the PDB altloc codes to the molfile plugin interface in VMD.
    • new plugin ABI version to accomodate upcoming changes adding several new fields to the data that plugins can read/write
    • Hard-code altloc identifier to "A" until I update the molfile plugin interface.
    • Add initial internal support for PDB alternate location identifiers
    • We'll have to add a workaround for platforms that lack atan2f() and only have atan2(). For now we'll just use atan2() in the short term.
    • Uncommented tls error; removed addition of env(REAL_URL)
    • Added locked/unlocked icon and server info; Added some loss of network connection help.
    • Introduced scaling factos for force constants to account for anharmonicity and for the lack electron correlation in the HF method. See Rauhut and Pulay (1995), J Phys Chem 99, 3093 and Pulay et al. (1983), JACS 105, 7037
    • Molecule data can now be sent back and forth betweeen Paratool and Molefacture. But this does not work when you delete atoms in Molecfacture since the indexlist gets screwed during deletion. Thus we BADLY NEED the new molfileplugin!!! Furthermore I cleaned up molefacture quite an bit: Removed unmany unused variables,... I also added a TODO list in the comment at the top of the file.
    • Added "locked" and "unlocked" images for displaying connection to a secure or unsecure biocore server.
    • Replaced incorrect "FindTool" with "FinderTool".
    • Replaced old dihedral() function with a faster implementation based on the use of atan2f().
    • Added current trajectory frame to picked atom information
    • changed namd file parsing to work with NAMD 2.6
    • added more debugging info to the spider plugin
    • Molefacture can now interpret chemical data that were sent by Paratool. Next the info has to be passed back to Paratool after editing has finished.
    • paratool now passes chemical info to molefacture
    • Revised biocore login window text to include a link to a web page with more information on the Saved State Window.
    • VolMap GUI: Many GUI improvements, such as auto-updating molecule selection menus, a better output pane, and auto-displaying of the computed volmap rep (the last feature works by cheating and assuming all existing volmaps come from this plugin, since there is currently no way to query the number of volmaps in a molecule in VMD)
    • Eliminated bogus source of redcharmmtop.tcl, fixed with proper package require.
    • Labeling unparam atoms in the fragment file with ocupancy=0.2 Paratool uses that info.
    • My last little bugfixed before I leave! (minor stuff)
    • fixed "precn" bug. included gaussian like internal coordinate sorting when reading coord transformation files.
    • Removed hardcoded /tmp path
    • Updated the VMD Win32 installer with the newly added plugins, source files, and other changes since a3.
    • Fixed bug if you switch which molecule you're working on while the fragment chooser is open
    • Added error checking in case the temp files don't write properly.
    • VolMap GUI: Added the option to compute all frames, and how to combine them in the GUI.
    • volmap: Only compute current frame by default. Added an "-allframes" flag to compute all frames in a trajectory. Also reimplemented the missing "-combine" tag. In most cases, users will want to compute all frames, but since this can be exceedingly slow, it's safest to make sure they know what they're doing, using the -allframes flag.
    • VolMap GUI: Add "Analysis/VolMap Tool" to the VMD extensions menu
    • VolMap: Fixed an alignment bug when adding a volmap directly to a molecule, as opposed to through a DX file.
    • Fixed a number of bugs, added the ability to set geometries to planar or tetrahedral, and added a proper parser for information passed from paratool.
    • VolMap GUI: Added volmapgui to Makefile such that it will get installed in official VMD revs
    • VolMap GUI: Implemented per-volmaptype param frames
    • Thoroughly tested and fixed the driver for qm jobs.
    • Fixed dangerous bug in the file reader that would in some cases lead to a wrong assignment of internal coordianes and force constants. This is because Gaussian sorts the internal coordinates by its own criteria, not by the user input sequence.
    • implemented remaining API functions; plugin should now be ready for hooking it up to the QMtool.
    • VolMap GUI Plugin: First version of GUI plugin. Some features are still missing but its a start.
    • Cranked version number
  • VMD 1.8.4a8 (July 28, 2005)
    • Updated MSVC project for new volmap code.
    • fixed non portable unprotected use of NAN with the vmd_NAN hack.
    • VolMap: Added a "-mol " flag to place the computed volmap directly into a molecule instead of (or along with, if both are specified) exporting to a DX file. If nothing is specified, volmap still exports to a generic file by default.
    • Fixed a memory leak that occurs when I didn't properly delete an object in the branch of the conditional where it was unused.
    • Slightly improved inline help
    • Removed unportable references to NAN and floorf
    • VolMap: Wired the volmap command to be usable in the Tcl shell
    • VolMap: Implemented a new "volmap" command to generate volumetric data based on atomic coords. Currently, three types of maps are supported: "density" (creates a weighted volume density map), "occupancy" (indicates per-voxel occupancy) and "distance" (basically creates a map of the surface accessible to the center of a sphere of a given radius). volmap will calculate volumetric maps for each frame and allows the user to decide how the various frames should be combined (currently: max, min, avg rules)
    • Added VolMap.[Ch] to Makefile
    • Added VolMap.C, VolMap.h to be used as a temporary volumetric data storage class supplanting VolumetricData for all the volmap-generation code. VolMap is meant to be as compatible with VolumetricData as possible such that these two classes can be fused together at a later time. However, different needs (which may not be completely apparent in the current commit) require that for now, VMD use VolumetricData.C and that the volmap command related code use VolMap.C.
    • Changed autopsf water chain name to allow more than 99 waters
    • default coordinates for singlepoint are now "internal (auto)"
    • fixed nboread bug
    • Finished fixing the behavior of the fragment chooser (Jan's bugs from the morning are now closed)
    • Can load pdb files as optimized geometries now.
    • Removed unneeded patch residues to avoid residue naming conflicts.
    • Added an error handler if the user accidentally/foolishly deletes the molecule they're working on in autopsf
    • Corrected the molecule delete bug.
    • Corrected another selection bug.
    • Added component database atom aliasing for atoms with leading asterisks (*).
    • Added paratool atom name aliasing for automatic setup of QM simulations because Gaussian is not happy with CHARMM atom names. Must still take care of atom mapping when QM logfiles are read.
    • Removed extraneous header
    • start adding items we're going to need for BGF and any custom structure file formats we'd perhaps invent for use by autopsf/molefacture/paratool/etc
    • Fixed some problems with topology reading file logic
    • Bond orders need to be floating point quantities in order to allow fractional bond orders for molecules and ions with resonance structures
    • Upgraded paratool to version 1.2 with various bug fixes.
    • Added todo item to fix viewmaster so it doesn't bomb if the user starts vmd from a nonexistent directory (i.e. pwd returns an error)
    • Added readcharmmtop package to the distrib target
    • Removed autopsf file handle leaks
    • Put another autopsf error handler on output file opening
    • Fixed one more problem preventing Paratool from being called properly. Still messy now, but it should work.
    • Fixed a stupid bug from previous update, and fixed major problem with the paratool chooser.
    • Fixed traces to allow multiple molecules to work properly, and added error handling for psfcheck
    • Fixed QMtool autoinitialize bug
    • Modified command line version to work properly with recent changes, removed quit/resetpsf buttons, and cleaned up the traces. Still may need some debugging when there are multiple molecules involved (I'm on it), but this version is significantly better.
    • changed outcommented ::autopsf::quit into ::autopsf::reset. We might want to include this for tmpmolecule cleanup at the beginning of each new psfgen run.
    • Fixed slight initial problem with command line version.
    • Fixed paratool internal coordinate autogeneration problem
    • Fixed the paratool dihedlist problem
    • cranked gamess plugin version, since it hadn't been done yet.
    • Added missing paratool_components.tcl and paratool_topology.tcl files to the distribution targets in the Makefile.
    • Updated the minor versions of the CCP4 and DSN6 plugins since this wasn't done when the alignment bugs were fixed, preventing users from getting the new plugin when the VMD 1.8.3 plugin updates were correctly installed.
    • Cranked version number
  • VMD 1.8.4a7 (July 25, 2005)
    • automatic assignmet of total charge and multiplicity if they are available in one of the files.
    • Internal coordinates should work now.
    • * Paratool now works alot better with QMtool. * Another bugfix regarding fragment selection * Atomlabeling now works fine. * Internal coordinate window should now show up without problems (some functions dont work yet) * Cleaned up the main menu * Got rid of the quit buttons that would break Paratools integration into VMD's menu * Improved setup GUI (NBO part).
    • Automatic aliasing of non CHARMM compliant atom names in the component database. (No leading digits)
    • RESPTool is now accessible from Paratool. Paratool does not yet import the RESP charges from a completed RESP run.
    • internal coordinate gui works again (but not the functionality)
    • fragment selection and component info retainiing now works smoothly!
    • Reselection now retains bondorder and element info. The added hydrogens of the fragment are still lost after reselection
    • atomselection of fragments works, but a component search resets your selection. molefacture badly needs robust atom deleting and exporting that to Paratool. Anything related to internal coordinates doesn't work in Paratool but does in QMtool. Component finder has a more robust parser now, I think it can take everything now.
    • Minor improvements regarding inheriting info from mother molecule
    • autopsf now sends the tmpmolecule to paratool because it contains the hydrogens of the parametrized part and the user might want to increase the selection around the unpar. fragment. Then this increased fragment should contain the hydrogens.
    • automatic hydrogen adding in the Component finder works now!
    • Lot's of gamessplugin improvements: - implemented several new 'paratool-API-functions' - better handling of a few GAMESS logfile corner cases - fixed several memory leaks - the plugin now handles trajectories of RUNTYP HESSIAN and processes a whole bunch of hessian related data
    • hooking up paratool with molefacture.
    • working towards importing information in molefacture
    • added package require paratool to autopsf
    • fixed the env(MOLEFACTURE) bug
    • prevent Tk from crashing in reentrant code
    • eliminated unused atomline[] array
    • Tiny qmtool improvements, I forgot.
    • Started to hook up Molefacture and enable change of selection size.
    • Improved main paratool GUI
    • AutoPSF sends $unparsel to Paratool
    • Committed the RIGHT version of molefacture this time
    • autopsf does now only remove its own traces.
    • NAMDRun: Removed all files, since they are obsolete
    • improved the sketch for a RESP file writer
    • Lots of fixes to make the membrane plugin work correctly.
    • Added a topology file for molefacture to use.
    • Added hard-coded width/height parameters to make AutoPSF GUI look like it should on MacOS X
    • Added a hack to deal with filesystems that use spaces in autopsf.
    • Changed autoimd plugin to use on-the-fly home directory determination at package require registration time rather than using the hard-coded method of determining installation location.
    • Added file descriptions and cvs id tags to autoimd files
    • Fix autopsf plugin's Makefile, adding a missing distrib target and correcting the version number of the target install directory.
    • Changed the plugins TCLSHLD build command to use the C++ compiler on MacOS X for now. (for autopsf plugin in particular)
    • Eliminate use of namespace std since this bombs on MSVC.
    • Removed all usage of standard library strings
    • Improved focussing behavior of the autopsf fragment chooser
    • Added autopsfgui proc for easier access of the GUI. Optimized space utilization in the GUI
    • Added CVS ID tags and file descriptions to most plugin source files
    • Changed autopsf version number to 1.1
    • fix typo in readcharmmtop package name
    • fixed up molefacture to advertise it's package version and properly require the charmmtopread plugin
    • added placeholder docs for readcharmmtop plugin
    • added placeholder docs for atomedit
    • qmtool requires the atomedit plugin
    • package-ized the readcharmmtop code
    • paratool now requires atomedit package
    • added atomedit GUI plugin
    • Initial addition of readcharmmtop
    • copycharges in Atomedit works now.
    • added molefacture, multiplot, paratool, and qmtool plugins to the plugin distrib targets.
    • added placeholder docs for molefacture
    • added placeholder docs for multiplot plugin
    • added multiplot plugin
    • Added molefacture plugin: First version; still very rough around the edges, but needed for paratool
    • Changed psfcheck to remove usage of iostreams/fstreams, etc
    • Cleaned up paratool.tcl working on atomedit copycharges
    • Fix psfcheck builds for all unix platforms
    • make qmtool source all of the source files it needs at startup.
    • Added placeholder qmtool docs
    • paratool requires qmtool, added in a hack to source atomedit.tcl until it's a package
    • first rev of qmtool makefile
    • Added package index for qmtool
    • added paratool makefile
    • First rev of paratool pkgindex setup, needs to be tested to see if this method works correctly on windows.
    • Added a login window with BioCoRE information and to allow user to choose the BioCoRE server; Searched for javaws on user's machine with FinderTool to open BioCoRE Control Panel
    • Open up a login window if the user is not logged in
    • Minor AutoPSF change to keep compatibility with paratool
    • Changed Makefile to work with new directory structure Added sources for psfcheck module, which is needed to plug in to Paratool
    • Added recognition of alternate resnames CYX, HSE, HSD and HSP to coloring by ResType, Resname, and in saved states
    • Added recognition of the HSD, HSE, HSP and CYX resnames to the sequence atomselect keyword
    • Added VMD 1.8.3 plugin update 2 to the index page.
    • Added a new per-atom element index field, and bond order fields all of which will be used by the QM and Parameterization plugins. Added initial code to the "Bonds" representation to draw bonds with order > 1 with multiple cylinders.
    • First attempt at centering the SPIDER volume to match PDB files of the same structure.
    • Fixed gamessplugin bug; typecast to int was applied to lhs instead of rhs of assignment.
    • Fixed handedness of the SPIDER volume coordinate system, and swapped the X/Y axes due to the ordering of the volume data. Added code to use the volume scale factor when it's set to a nonzero value.
    • gamessplugin: Implemented parsing functions for a whole bunch of the new API data structures mainly charges (Mulliken, ESP, ...) and other small bits from the output file.
    • added a proc to use mencoder, but much remains to be done before this will actually work correctly. mencoder only accepts jpeg input files, so we may have provide a conversion step for that. mencoder can produce files that'll be higher res than MPEG-1, but still work on windows without any additional codecs, by using the msmpeg4v2 option. The newest revs of ffmpeg seem more stable, so I may return to working on that again also.
    • Added membrane building GUI to the extensions menu
    • rename to membrane_tk a bit shorter.
    • added tk callback function
    • fix bogus 'namdenergy' global proc, and "AutoPSF" window names obviously left from some fast cut/pasting.
    • Added a gui and put the whole thing into a "Membrane" namespace to avoid polluting the global namespace. The gui is called from the proc ::Membrane::membrane_gui, but I don't know how to add in the proper hooks to put it on the extensions menu.
    • Completed abstraction of interface; it should now be fairly straighforward to generalize the code to either read GAMESS or GAUSSIAN files. The next step will be to implement GAMESS routines that scan for and fill the additional data structures in the API that Jan and I have come with for now. Most importantly is the ability to scan runtyp=HESSIAN output files to read in the hessian, force constants,..... Once the API is done for GAMESS we can implement the same stuff for GAUSSIAN.
    • 64-bit NVidia drivers no longer crash when GLSL and other OpenGL extensions are used, so we can enable the procaddressarb code now.
    • Undo libGLU hack for 64-bit Solaris x86, now that we've got the symlinks
    • Added Solaris x86 targets to interactive list, fixed build flags to use -xarch=native64 rather than amd64 specifically.
    • Updated both the 32-bit and 64-bit Solaris x86 build configurations for the optional libraries I've succeeded in building so far.
    • workaround a Solaris x86 amd64 64-bit compiler bug, and hack around a problem with linking the 64-bit libGLU
    • Added amd64 64-bit Solaris x86 OpenGL extensions ifdef as well.
    • Added flags for 64-bit Solaris x86 (amd64) builds.
    • Changed one of the namdenergy labels so it fits right on the grid Added a graphic, and changed documentation to correspond to renaming Timestep Length to Step Length.
    • Finished autopsf documentation and added a graphic.
    • Added a global namespace tie-in for the autopsf command
    • Reduce optimization level to -xO2 for Solaris x86 C++ compiler to workaround a compiler bug.
    • Solaris x86 will use the ARB extension routines like Linux does, since the device drivers are provided by NVidia.
    • Cranked version number
  • VMD 1.8.4a5 (July 7, 2005)
    • This represents a *complete* rewrite of the open_gamess_read function to present a clean interface that calls specific subfunctions for property evaluation/determintation. This should allow the plugin to eventually read either GAMESS or GAUSSIAN input files and fill a common data structure that can also be parsed via TCL. The same thing has to be done to read_gamess_structure, read_next_timestep, etc. Once this is done, the plugin can initially determine if he's dealing with a GAMESS or GAUSSIAN output file, call the appropriate parsing functions; once the data structures are filled, the actual data processing (e.g. orbitals, vibrations, etc) is independend of GAMESS/GAUSSIAN or whatever QM code we chose to support in the future.
    • gamessplugin bugfixes; optimized the orbital reader - looks like s-orbitals for H+ and H_2 work fine now; I can therefore move to p,d,.. orbitals next
    • Implemented a routine that checks the basis set and skips basis set specific routines for the semiemprical methods (PM3, AM1, etc) since otherwise the plugins runs into problems due to missing data blocks in the GAMESS output files. This will also allow a more fine-grained control for the orbital code. This fixes the bug of mashaojie163 and his file 3.3-90C-op.log should now load just fine.
    • Fix broken hard-coded version number in the autoimd source code. I personally think that this is the wrong strategy for getting the plugin directory, as one cannot have multiple versions of this plugin in their path and expect them to work then. This is just a temporary fix so that the plugin stops bombing on startup. The code should be reverted to the previous directory finding mechanism, which was much safer.
    • Added the colorscalebar plugin to the VMD menus
    • added color scale bar to docs
    • added colorscalebar plugin to distrib
    • docs for the color scale bar plugin
    • Added color scale bar drawing plugin
    • Updated the biocore plugins: Used "file join" for filenames; Added comments to variables in namespace eval; Added session id to "Show state info" URL; Used biocorelogin's open_control_panel; Removed several output statements
    • Updated VMD version requirements for the APBS plugin.
    • updated sting plugin image with one of a more appropriate size.
    • Added links to the main biocore page early in the text.
    • updated pub/sync image with one of appropriate size.
    • Updated autoionize plugin documentation with the new GUI written by Marcos.
    • image of Marcos' autoionize GUI
    • updated with biocore links
    • update docs with STING links.
    • added STING plugin
    • added newest pubsync image to CVS
    • biocore pub/sync window image
    • basic sting doc page, LOTs to do yet.
    • Eliminated spurious status messages that end users don't need to know about. If we want to clearly indicate that connections are going over HTTP rather than HTTPS, we should be using the GUI conventions used by browsers such as the "lock" security icons.
    • Added biocore and sting plugins to distrib build
    • Added STING access plugin, though the picking feature is disabled until I add controls for enabling/disabling it.
    • prevent picking until I have a nice way to enable/disable it.
    • first rev of stingtool, needs more work to interface to sting nicely, particularly with the mouse picking etc.
    • added CVS id tags to the headers and added the autoionize gui to the makefile
    • Updated PME potential window name, added biocore plugins, added autoionize gui.
    • added Marcos' autoionize GUI
    • Fixed some file menu commands.
    • fixed sscache script bug pointed out by Jerome Henin
    • Made some changes in implementing the temporary directory so that publish and synch work. It's a temporary fix, since John had suggested changes to its implementation.
    • Updated BioCoRE Plugin web page.
    • Made changes to better handle the biocore API.
    • Made changes to better handle BioCoRE logins.
    • Added Justin's 'mol default' patch, which provides a method for setting the default color, rep, material, etc for new reps.
    • Added MACOSXX86 target to the configure script May have to use the X11 build until Framework-based Tcl/Tk works right...
    • Added support for MacOS X on Intel x86
    • Updated AtomParser and utilities code for MacOS X on Intel x86
    • Added plugin support for MacOS X on Intel x86 chips
    • Changed namdenergy that it no longer searches for the namd executable on startup.
    • Added basic namdenergy documentation.
    • AutoIMD: cranked version to 1.5 (Windows compatibility version)
    • AutoIMD: Fixed bug preventing the copying of param files to the scratch dir on Windows.
    • Eliminated the 'readdel' command from the docs since it was taken out of the source code way back in 2002.
    • Added 32-bit and 64-bit AIX5 and 64-bit Solaris x86 distribution targets
    • Added plain AIX5 32-bit builds to legal list
    • added 32-bit and 64-bit builds for AIX5 to the top level makefile
    • VMD startup script now uses the AIX release number to determine which binary to run.
    • Added AIX5 target to plugin builds.
    • Added IA64 platform detection in VMD startup script
    • Added ACTC and PTHREADS to IA64 build
    • Added IA-64 platform to make_distrib script.
    • Added Solaris x86 32-bit and 64-bit build targets, updated ssh command for Win32 builds.
    • Added Solaris x86 32-bit and 64-bit build targets for the plugins
    • Updated apbsrun docs.
    • Modernize Solaris x86 build flags to match current Sun compiler behavior
    • Add Solaris x86 configurations based on Sparc settings for now.
    • Make Solaris x86 builds use Solaris 10 settings by default.
    • Modified BioCoRE URLs to "vmdBiocore.do" (At least for now, so it works with the current BioCoRE. The path can be changed at the next BioCoRE release, if we want to change the name back.)
    • Sorted plugin list into the same categories used in the Extensions menu, and added links to some of the plugins that weren't previously listed.
    • Added basic cliptool doc page
    • Added a help menu to the NAMD Energy plugin
    • Added a help menubar to AutoPSF.
    • Cranked version number
  • VMD 1.8.4a4 (June 13, 2005)
    • Crank version of the DCD writer plugin since the previous Unix versions were linked against a previous fastio routine that appended rather than truncated when opening trajectory files for output.
    • Opening a file for write in the Unix fast I/O code was incorrectly resulting in an append operation if the file already existed due to lack of O_TRUNC in the open flags.
    • Fixed the ugliness in the autopsf traces, and a bug that came up when you decided not to do all atoms in one psf generation, but to do them all in the next.
    • Changed the plugin from trying to id what files the user had loaded, into just writing a dcd of whatever they actually had and working from that. This fixed a lot of issues when people tried to merge multiple files, and is just plain more intuitive anyway.
    • Changed the autopsf topology file selection to be more intuitive and use the native tkOpenFile, and added a molecule selection tool. This still uses the uber-ugly hackaround for the traces; I'm working on a nice clean setup to do it the right way.
    • Fixed the ugliness in the namdenergy trace commands.
    • Changed parameter file selection tool to use the native tk openfile
    • Added namdenergy and autopsf plugins to the default distribution
    • Update biocore plugin headers
    • Initial biocore plugin, lots of work to do still
    • Initial biocore plugin docs
    • Fixed a bug in the checking of your energy types when doing an interaction calculation.
    • Send cvs logs to Peter, no longer send to Eamon
    • First version of new AutoPSF plugin
    • First version of new NAMD Energy plugin
    • Fix un-escaped underscore in URL
    • Added a new startup script option that spawns VMD in a debugger rather than starting it up the normal way. This will make it much easier to have users run debuggers on VMD.
    • Make AIX5 use Posix threads by default, add another catch-all macro test.
    • Added AIX5 threads implementation for 64-bit builds etc.
    • Added a new VMD AIX5 build target with 64-bit support.
    • Use the AR variable when running commands to build static link libs.
    • Added a new 64-bit AIX5 build target for the plugins. Added a new AR variable containing the appropriate AR command needed to build 64-bit libraries. For most platforms this is simply 'ar', but for AIX5_64, it is 'ar -q64'.
    • AMD64 builds are on tijuana presently.
    • Eliminate old FLTK 1.0.10 hack for AIX4 builds, works fine with FLTK 1.1.4 with the latest IBM xlC compilers, as far as I can tell in initial testing.
    • Added a new build target for Linux running on Intel Itanium (LINUXIA64) for SGI Prism and various NSF Teragrid machines.
    • Change compiler executable names for LINUXIA64 to 'icc' and 'icpc' which are the names that are now in common use with Intel's latest Itanium development tools.
    • Fix illegal C++ style comments in plain C source file which upset AIX5 compilers.
    • AIX5 compilers disallow const return types for float/int, etc.
    • Added newest plugin update to the docs (actually last week, just forgot to commit it...)
    • Added demomaster to distrib target
    • added comments, cvs tags, author list etc.
    • Added first rev of demomaster plugin, lots of work left to do.
    • Updated vmdmovie home page URL, added Justin to author list
    • Change vmdmovie script version to 1.4
    • Applied Justin's patch to control movie length in terms of seconds rather than frames. New behavior of the movie plugin is as follows: If you change rotation angle, MovieMaker automatically updates the number of frames to keep the current movie duration correct; If you change trajectcory step, MovieMaker updates movie duration to show what the length of the movie will be. The number of frames in the movie is not changed; If you change movie duration, which is allowed only for rotation and rock 'n roll movies, the angle step and numframes are automatically recalculated to achieve the specified duration; Changing the frame rate in the compression settings menu automatically updates numframes without changing the movie duration. Also includes two other fixes that affect the Mac platform only: workdir is taken from VMDTMPDIR, if available (the current default, '/', is not a very good choice for workdir on OS X; even /tmp would be preferable); and the GUI is not updated during file cleanup since this seems to be very slow on OS X and takes much longer than simply deleting the files without updating the GUI.
    • Make display commands and DrawMolItem more robust if/when runtime memory allocations fail.
    • Updated comments about SPIDER plugin for loading CryoEM maps etc.
    • Eliminated unused sinBC variables in timestep unit cell methods.
    • Eliminated unused local variables and an uninitialized data warning
    • Changed gridsearch1() routine to scale the maximum number of boxes by the number of atoms we have to engrid using roughly the same amount of memory for the grid as it takes for the atom coordinates, print periodic status messages in case a user loads a bogus PDB VMD doesn't appear to be stuck dead in the water, and reject atom coordinates within 0.0333 of each other as a more reliable and speedier test, not just those with exactly identical coordinates which wasn't a safe FP programming idiom anyway.
    • Improved bonding error message handling, limiting max errors printed to 25 before VMD throws up its hands and declares it a futile effort. When printing warnings about bonds between different residue types, VMD now courteously prints the residue types in addition to the residues in question, so as to be more informative.
    • Converted several key pieces of structure analysis and initialization code from depth-first recursion to breadth-first recursion, preventing stack overflows from occuring with abnormally large/dense molecules.
    • Added more comments to make_uniq_resid() and added smarter error message handling when VMD encounters crazily dense structures where we'd get thousands of max bonds errors.
    • Added simple routines for generating progress/status update messages if more than a specified period of wall-clock time has elapsed. This is useful for providing user feedback during potentially non-trivial calculations in VMD, so they know it isn't completely hung.
    • Added '=' as a hotkey to perform 'display resetview' as per Klaus' request.
    • Enable the new centering mode by default to see who screams. In theory it ought to be more usable than what we did before. In practice, I undoubtably missed a detail or two in the first implementation.
    • Added new view centering mode based on the displayed representations rather than the maxima and minima of all loaded atoms a given molecule.
    • Disable Axel's 'two click' fix patch, as it has the side effect of breaking the VMDApp::molrep_get_scaleminmax(), with cascading results in ViewMaster, etc.
    • Replace calls to assert() with code that returns errors when something bad happens. Somehow VMD builds were being compiled in such a way that the assert macro was enabled and would terminate the program. In these simple cases where we already had some safety checks that would return error codes, there's no reason in particular to be using assert rather than returning an error like the other checks do, though we may wish to emit a serious error warning in the cases where we're dealing with inconsistent internal data structures. In that case, we should be printing useful information that user's would be able to email us rather than aborting the process entirely with no explanation.
    • eliminate unnecessary include of assert.h in PluginMgr.C
    • Eliminated the use of assert() as a safety check in cmd_mol.C since it exits the program just as ungracefully and unhelpfully as a seg fault does, and the particular case it was intended to handle could be dealt with trivially by returning an error code and message instead.
    • Fixed top level 'mol scaleminmax' code to prevent it from continuing to call IdList::find() with a NULL parameter.
    • Cranked version number
  • VMD 1.8.4a3 (May 5, 2005)
    • Added new 'color scale colors' command to allow users to override the primary colors used to define color scales/gradients in VMD with an easy-to-use command.
    • Added extra sanity check to the configure script. The configure script will now refuse to continue if it doesn't find a "plugins" subdirectory or "plugins/include/vmdplugin.h". If those are missing, then error messages are printed and the configure script terminates. This behavior will affect both source and binary distributions. The informational message instructs the user to build the plugins first.
    • Include plugin headers with binary distributions. Seems like a reasonable thing to do in case people want to compile their own stuff against the binaries supply, and also this simplifies some new sanity check logic in the main configure script, which will now refuse to continue if the plugin directory is missing. This way, the plugin/include area will always be there, in both source and binary distributions.
    • Added some minimalistic file I/O error checking to write_dcdstep()
    • Fix OpenGLShader parameter types to please MacOS X 10.4
    • Added SPIDER plugin to the build, eliminated the old readcd.h header.
    • Eliminated the old readdcd.h header file now that it's in the main dcdplugin source file.
    • Merged the ancient readdcd.h header into the body of the DCD plugin, having them separate just made it more annoying to fix things.
    • Added note about SPIDER plugin to the main README
    • Added docs for the SPIDER volume set reader plugin
    • Added a plugin for reading the SPIDER volumetric map file format.
    • Sort the list of surface file readers alphabetically
    • Mention that the MSMS plugin requires both the facet and vertex files to be properly named.
    • Added initial documentation for the MSMS surface file reader plugin.
    • Updated GRASP plugin version number, corrected comments regarding default surface color of loaded GRASP surfaces.
    • Updated the text describing the movie maker plugin to mention the new user-defined movie type.
    • Added documentation for the new "user-defined" movie type and updated the version number information.
    • Added a new "user defined" movie type, which is essentially the same as the others, but the body of the loop consists only of a 'set ::MovieMaker::userframe' command, which can be traced by user defined Tcl procs. With the trace in place, a user defined proc will get called each time the current frame updates, immediately prior to being rendered, giving it an opportunity to manipulate the view. If no user-defined procs have a trace going on the userframe variable, then the movie will consist of a bunch of identical frames since the driver loop can't determine this currently and won't know to abort the movie when no procs are tracing the userframe variable.
    • The mol delete all command now triggers special-case code path for efficient deletion of all loaded molecules.
    • Added a VMDApp::molecule_delete_all() method for efficient deletion of thousands of structures at once, avoiding N^2 lookup table update behavior.
    • Added a new method for deleting all molecules. It does exactly what the normal molecule-at-a-time method does, but it avois N^2 lookup table update behavior for the worst case of deleting all molecules at once. It only rebuilds the lookup table once, not once per molecule being deleted.
    • AutoIMD (localdqs) will abort if it takes too long for a queued job to start, causing occasional problems. AutoIMD has been adjusted to (1) have a slightly longer timeout for this and (2) exit more gracefully and output a more helpful error message when it happens. Also the "submit.sh" job submission script is now created in the scratch dir, rather than the cwd.
    • Updated APBSRun plugin version number for recent APBS input file syntax updates, stdout EOF handling, etc.
    • Changed the APBSRun proc called by the fileventhandler setup to follow the suggested methodology, not referencing any local data, only the channel parameter it gets passed in. The file read event handler proc now unregisters itself when it encounters an EOF on input, before calling the stop routine. The initial command pipeline file mode is changed to non-blocking to prevent us from getting bogus errors when APBS finishes running since the new version of APBS upsets Tcl with the last line of output preceding EOF otherwise. This seems to make Tcl happy and doesn't adversely effect the operation of the plugin.
    • The mol addfile/new "autobonds " option was completely undocumented
    • Added inline docs for the mol new/addfile "autobonds " option
    • Change the file extension for the GRASP plugin
    • GRASP plugin no longer sets a default drawing color, it uses whatever the currently active drawing color is. This allows the user to control the color of the loaded surface, albeit only for the entire surface.
    • MSMS plugin no longer sets a default drawing color, it uses whatever the currently active drawing color is. This allows the user to control the color of the loaded surface, albeit not in the same league as is possible with the built-in MSMS feature.
    • Added comments about updated APBS plugin, new MSMS surface file reader plugin.
    • Updated APBSRun to emit the new syntax for the chgm, srfm, bcfl, calcenergy, and calcforce input file parameters, to eliminate warnings with APBS versions 0.3.1 or newer.
    • Added MSMS surface reader plugin to the build
    • Added comments to the MSMS plugin sources and eliminated an unnecessary memory allocation
    • Wrote a new plugin to read the face and vertex output files from MSMS and load them in as a graphics object. This can be handy if you want to load a precalculated surface that has a tendency to crash MSMS, takes forever to compute, etc.
    • Added a default search location for the 'pvengine.exe' binary included in POV-Ray 3.6 for Windows.
    • Fixed movie maker POV execution code for windows, don't use /RENDER otherwise it interprets command line arguments as a literal filename string of some sort.
    • Fix a typo, add updated URLs to get the STRIDE and SURF source codes.
    • Added support for rendering movies with POV-Ray 3.6.x on Windows and cleaned up the code a tad.
    • Fix the Tachyon command generation code to that the executable is found properly on Windows.
    • Update vmdmovie package to version 1.3
    • Fix command formatting for the Tachyon rendering option so it works even when the installation directory contains spaces in the filename.
    • Fix configure script and resulting Makefile so that VMD can correctly install into directory names that contain spaces.
    • Updated VMD win32 installer for VMD 1.8.4
    • Added integer hash code to the win32 build.
    • Updated registry key used by Win32 vmd startup code to use 1.8.4 as the key it looks for.
    • Updated comments in the Grid plugin to mention UHBD as another program that emits these grid files.
    • ClipTool: Made some empirical changes to the clip plane selector buttons so that they look normal on more platforms. If weirdness persists elsewhere, perhaps we should switch to GUI interface better supported by Tk. Also increased the clip plane placement resolution to allow for more control over appearance.
    • updated README with recent bug fixes and improvements.
  • VMD 1.8.4a2 (April 18, 2005)
    • Fix latex for force field URL in AutoIMD docs.
    • Fixed a crash in 'within' atom selections where a while loop ran off the end of the atom flags list and subsequently read garbage into the min/max values, came up with a large negative box dimension, and proceeded to attempt to make a huge negative memory allocation. All caused by a while loop that didn't have a termination condition for the array index, only based on its value. (looking for the first 'on' atom)
    • The file creation access mode bits should be set to be maximally permissive, since they are then ANDed with the complement of the active umask bits.
    • cranked version number to a2 for significant changes that need testing.
    • Enable hash table acceleration for now.
    • Force the molid to molindex hash table to be rebuilt when molecules are deleted. This brings back the potential for N^2 performance issues when you've got 30,000 molecules loaded and you call 'mol delete all' or exit VMD, but we can special-case those situations to avoid triggering that condition, then only pathological scripts would result in N^2 operations. There's undoubtably a better way to store this stuff, but adding a hash to accelerate the common case for improving load performance is expedient, and we can revisit this later if pathological cases become more common.
    • Enable the no-disrupt code by default, but have it trigger from an environment variable for now. To enable it on-the-fly in VMD, just do 'set env(VMDNODISRUPTHACK) 1' in the VMD console, to disable just do 'unset env(VMDNODISRUPTHACK)'. Good enough for preliminary testing...
    • Added new routines for a "no disrupt" view reset mode when new molecules or coordinate data are loaded. File loaders now call a new VMDApp::scene_resetview_newmoldata() routine which decides whether or not to recenter the whole scene or just the newly loaded molecule, and whether the new centering parameters come from the "top" molecule, or from the existing viewing parameters.
    • Oops. Hashing molecule IDs and indices works great so long as you don't delete molecules, but then it fails because the enhashed molecule indices are then out of date. More work is required before this is usable, since we need molecule index access methods for iteration, but IDs as handles.
    • Minor efficiency improvements and cleanup all over DrawMolecule
    • Efficiency tweaks, added and corrected comments, and prettied up MoleculeList code.
    • Force the Inform class to flush its output when sendmsg() is called, to prevent jumbled output when running VMD as a batch mode job with intermixed output from the VMD console, Tcl, Python, etc.
    • Updated comments and eliminated an ineffectual call to center_top_molecule() from add_molecule().
    • Eliminate unnecessary ifdefs from new hash code since it has been tested fairly well.
    • Replaced linear search implementation of mol_index_from_id() with a new one based on an hash table using integer keys.
    • Eliminate string-based atom type != Hydrogen tests during generation of the final pairlist. Atom type is now tested using the atomType member variable set during the structure initialization process.
    • Added inthash source files to the build
    • A first implementation of a hash table for integer keys. Functions just like the string hash table otherwise.
    • fix typo, add date for Python posting
    • added python library link below the molfile plugins.
    • fix typo in main plugin index page
    • titan seems to behave itself without the need for two-stage builds anymore.
    • Fix links to charmm force field parameter files on Alex MacKerell's web site.
    • Added a first revision of a new ribbon drawing mode that draws nucleotides with cylinders rather than drawing the base/sugar rings that VMD normally draws. Disabled by default, but this could become a ribbons representation mode switch. Alek also suggested adding a thickness parameter to the base/sugar ring feature to draw them in a space filling manner when desired.
    • Added GramA tutorial link to the psfgen page
    • Increased the size of the diagram image for better readability
    • Added small versions of the GUI and diagram images as PNG files for the plugin web page, added a link to the nanotube autoimd tutorial.
    • Added a link to the TkCon section of the VMD tutorial.
    • Added a link to the sequence viewer part of the VMD tutorial
    • Updated URLs in the multiple alignment plugin documentation page
    • Added a link to the solvate part othe NAMD tutorial.
    • Added tutorial links and a flowchart image to the psfgen plugin docs
    • Added configure comments to allow builds on Solaris 10 when the time comes.
    • Revved version to VMD 1.8.4a1
    • Added new 'gettimestep' command to the User's Guide, even though it's intended to be used by plugins etc.
    • Added new 'gettimestep' command, which takes the form: gettimestep molid frame and returns a timestep in binary form in a Tcl byte array. This can be used directly by C/C++ Tcl extensions which is far more direct and efficient than doing similar things with atom selections. Justin observed a factor of 10 performance improvement for one of his applications. Patch submitted by Justin.
    • Print a useful error message when problems occur during Python callback registration.
  • VMD 1.8.4a1 (April 1, 2005)
    • Added a "reversed" crystaleyes stereo mode for projection systems that are one frame out of phase with the actual stereo sync pulse, such as the Christie Digital Mirage series projectors.
    • Use boolean for the 'autobonds' suboption of 'mol new' so that values such as 1, on, true, yes, 0, off, false, and no all work rather than just 1 and 0.
    • Disable selection text input field for volumetric reps (but preserve selection text value anyways), since this is not currently used. For now, put "" as the selection text in the rep browser for volumetric reps. Ideally this should be set to the selected volumetric dataset, when this can be done cleanly. This would help in finding the right volumetric rep when dealing with a large number of such reps, since at present they all look identical in the rep browser.
    • Fixed volumetric grid aligmnent for CCP4 and DSN6 plugins. They were scaled in each dimension by an extra factor of N/(N-1).
    • The isovalue slider's range now updates when the selected isosurface rep is changed and/or the dataset is switched. Previously, tweaking isovalues was frustrating when switching between many isosurfaces with very different min/max ranges.
    • Added note about new pbcwrap requiring pbctools script
    • Added new pbctools script
    • Updated pbcwrap with the newest version from Jan Saam
    • Updated solvate plugin docs with nicer text
    • Added a few links to the PMEpot plugin docs
    • Changed OpenGL version number tests to work correctly for video drivers that advertise themselves as OpenGL 2.0 or later.
    • Updated User's Guide text about the MSMSSERVER environment variable for Windows.
    • pqrplugin: PQR files are like pdb files, but not quite. They're fixed format for the the identifier data up to resid, but after that it's free-format for the floating point data. Patch by Justin
    • fixed missing 'clipplane color' subcommand in User's Guide
    • fix multiple alignment plugin description text
    • Titan is back from the dead, start doing automated builds on IRIX again.
    • Added Mention of POV-Ray in ClipTool GUI
    • Updated the URL for the Uppsala Ramachandran plot server to the new location. Also added the "ramaServer=YES" key needed to use their new server.
    • AutoIMD: Added a missing "$sel delete" in a while loop, whose absence was causing bad, bad stuff...
  • VMD 1.8.3 final release (February 15, 2005)

Please email any questions to vmd@ks.uiuc.edu.