VMD Changelog

What's new in VMD 1.9.3

Jul 21, 2017
  • Major features included in VMD 1.9.3:
  • Connecting the user-friendly molecular graphics program VMD to the widely adopted MD program NAMD, the new QwikMD plugin guides users to prepare common molecular simulations in just a few minutes, allowing for quickly study of point mutations, partial deletions or even steering experiments. While making it easy for a new user to perform simulations, QwikMD also works as a learning tool with "info buttons" that guide the user and provide the theoretical background underlying the procedures that are followed. Each "info button" generates a window where the user can find fundamental information related to Molecular Dynamics simulations, such as the description of solvent models and protein structure, as well as short explanations of the options available in QwikMD graphical interface and the actions triggered by the buttons. For more information, the user is redirected to web-pages through links present in the bottom of the information window. QwikMD incorporates logging of procedures for reproducibility, and to enable simulation workflows and protocols to be shared among users.
  • The Force Field Toolkit (ffTK) plugin provides a comprehensive toolset for the development of CHARMM-compatible (e.g., CGenFF) force field parameters, including charges, bonds, angles, and dihedrals. Two new major features have been added to the Force Field Toolkit for the VMD 1.9.3 release.
  • A new tool has been added to the BuildPar toolset that processes output from the CGenFF Program webserver to automatically construct all of the structural and parameter input required for entry into the ffTK parameterization workflow, bypassing a common stumbling block in structure preparation. The CGenFF Program web server performs an analysis of molecular structure and assigns parameters based on analogy to molecules contained with in the standard CGenFF parameter set. ffTK can now leverage the output from this resource to automatically prepare the PSF+PDB files required by ffTK, analyze penalty scores associated with each returned parameter, visualize all instances of a given parameter directly within the molecular structure, and write a parameter file that is initialized to the CGenFF values as a starting point for refinement.
  • A new analysis and plotting utility, named Torsion Explorer (accessable from the Scan Torsions tab), is designed specifically to aid in troubleshooting difficult dihedral parameter fits providing visual and numerical analysis of the relaxed QM torsion scans. The key function of this tool is to load each optimized structural conformation into VMD and to construct a color plot of the associated potential energy surface (PES) for side-by-side comparison. Numerical analysis can also be performed to provide detailed information on how all dihedrals change throughout the scan, helping to identify highly coupled torsions that often complicate parameter fitting.
  • In addition to the major tools described above, ffTK contains several new but smaller features, such as the ability to output the MM relaxed conformational scan used as the baseline in dihedral fitting, and bug fixes. Documentation and screencast tutorials are available on the plugin website.
  • VMD 1.9.3 contains several updates for the Molecular Dynamics Flexible Fitting (MDFF) Method. The MDFF setup plugin now supports the use of multiple density maps in a single MDFF simulation. The MDFF graphical user interface (GUI) in the Modeling section of the VMD Extensions menu has been updated to reflect the use of multiple maps in addition to many other usability improvements. The cispeptide, chirality, and the new TorsionPlot, and QwikMD plugins now connect to the MDFF GUI to simplify finding and fixing errors or setting up your structure for MDFF. Both the MDFF GUI and command line plugins now use CHARMM36 as the default parameter set.
  • The collective variables module implemented in VMD (and shared with NAMD and LAMMPS) incorporates many new features and improvements, including: histogram calculation on ensembles of variables, with optional weights; probability distribution restraints analysis; newly contributed variable types "dipoleAngle" (Alejandro Bernardin), "groupCoordNum" (Alan Grossfield); scripting command "cvcflags" to optimize performance of complex colvars; and improved error handling in user input and scripting.
  • VMD 1.9.3 contains many features for generating high quality renderings of molecular graphics and for creation of movies of both static structures and molecular dynamics simulation trajectories.
  • VMD includes an improved built-in GPU-accelerated version of the Tachyon ray tracing engine, using NVIDIA CUDA and OptiX to achieve interactive ray tracing performance, even for molecular systems containing tens to hundreds of millions of particles. The improved GPU-accelerated "TachyonL-OptiX" ray tracer supports the vast majority of Tachyon rendering features, with emphasis on ambient occlusion lighting, shadows, depth-of-field, high quality transparent surface rendering, and parallel movie rendering for large complexes such as viruses, and cellular organelles.
  • The new GPU ray tracing engine in VMD 1.9.3 supports the generation of omnidirectional stereoscopic images and movies, suitable for use with YouTube VR movies, which are playable on a wide variety of VR headsets based on phones and computer-driven head mounted displays, including Google Cardboard, GearVR, Oculus Rift, and others. A new VMD VR movie rendering minitutorial details the steps necessary for creating VR movie content for YouTube and VR headsets.
  • VMD 1.9.3 also debuts a new built-in interactive CPU-based ray tracing engine based on Intel OSPRay, that allows systems based on Intel x86 CPUs and in particular the new Xeon Phi Knight's Landing processors to interactively display VMD scenes with ambient occlusion lighting, shadows, and depth-of-field, with support for parallel movie rendering. The new "TachyonL-OSPRay" renderer in VMD 1.9.3 achieves higher performance than the standard Tachyon renderer, and supports many of the most widely used VMD materials and shading features. The new OSPRay-based ray tracing engine in VMD is outlined in this recent article.
  • The updated ViewChangeRender plugin provides an easy-to-use graphical interface for managing multiple VMD camera viewpoints and making movies that fly the camera between multiple viewpoints. The latest version of ViewChangeRender also supports improved parallel movie rendering on clusters and supercomputers.
  • The speed of the new interactive ray tracing engines in VMD 1.9.3 allow users to interactively visualize moderate size molecular complexes containing a few million atoms with shadows, ambient occlusion. Even the depth-of-field focal blur effect can be rendered in real-time on recent hardware. The interactive ray tracing engines use progressive refinement to allow users to manipulate the view using the mouse, and once the mouse is released, the image is refined with monte carlo sampling of lighting, focal blur, and so on. The interactive ray tracing engines allow multiple views to be saved at any time, as well as the default behavior of saving the final image shown when the user exits the viewer. Future versions of VMD will more closely integrate interactive ray tracing, enabling interactive ray tracing in the main VMD window, as an alternative to the traditional OpenGL-based visualization engine in VMD.
  • As reported in several publications, VMD uses GPUs to accelerate many of the most computationally demanding visualization and analysis features of interest to biomedical researchers. VMD 1.9.3 advances these capabilities further, adding support for the latest generation of NVIDIA "Pascal" GPUs. The new version includes an improved GPU-accelerated implementation of the QuickSurf molecular surface representation which can now handle rendering of large biomolecular complexes and cellular organelles containing several hundred million particles, with significant improvements for the display of coarse-grained models of such as proto-cell membranes. The QuickSurf representation enables smooth interactive animation of moderate sized biomolecular complexes consisting of a few hundred thousand to one million atoms, and interactive display of molecular surfaces for multi-million atom complexes such as virus capsids. The range of acceleration provided by GPUs depends on the capabilities of the specific GPU device(s) installed, and the details of the calculation. Typical (approximate) acceleration factors for the algorithms in VMD comparing a single high-end GPU vs. a single quad-core CPU are: molecular surface display 2.5x to 11x, electrostatics 5x to 11x, implicit ligand sampling 4x to 7.5x, calculation of radial distribution functions 7.5x to 22x, molecular orbital calculation 10x to 30x.
  • VMD 1.9.3 adds support for the new Cray XC50 supercomputer with compute nodes that combine the latest Intel Xeon CPUs and NVIDIA P100 GPU accelerators utilizing die-stacked memory. The new version of VMD also adds support for workstations, clusters, and supercomputers based on the new IBM POWER8 (OpenPOWER) and Intel Xeon Phi (Knight's Landing) CPUs to be used in the DOE/ORNL Crest (OpenPOWER/NVLink/Tesla P100), NSF/TACC Stampede-2 (Dell/Intel KNL), and DOE/ALCF Theta (Cray/Intel KNL) systems. New hand-vectorized CPU kernels for commonly used VMD analysis and visualization algorithms increase performance significantly beyond standard C++ on both platforms, making advantageous use of the native VSX and AVX-512 vector instruction sets on each processor, respectively.
  • The new OpenPOWER version of VMD supports CUDA GPU acceleration for key analysis kernels, and benefits from the large memory capacity and memory bandwidth available on these systems, as reported here. VMD takes advantage of the high performance NVLink CPU-GPU interconnect on the new IBM "Minsky" platform containing POWER8 CPUs paired with NVIDIA Tesla P100 GPUs.
  • The new Intel Xeon Phi AVX-512 version of VMD has been developed to exploit the wide 16-element SIMD units for key analysis and visualization tasks, incorporating new hand-written AVX-512 analysis kernels and support for the Intel OSPRay ray tracing engine optimized for the new Xeon Phi processors.
  • VMD 1.9.3 incorporates initial support for a variety of ARM processors paired with GPU accelerators (on-chip and/or add-in-board). Due to lack of standardization among ARM operating system distributions, ARM platforms currently require compilation from the VMD source code.
  • One of the features of VMD 1.9.3 is support for off-screen rasterization on clouds, clusters, and supercomputers, through the use of the latest Embedded GL (EGL) graphics APIs for managing OpenGL contexts and rendering surfaces. With EGL, it is no longer necessary for a compute node to have a complete windowing system installation to be able to perform routine post-hoc molecular visualization tasks in place on compute nodes where the data are generated and stored, thereby eliminating the need for time consuming data staging and file transfer activities. The use of EGL eliminates the need for special compilations of VMD for GPU-accelerated or software-based rasterization, eliminating many of the technical hurdles and administrative tasks that would have previously been required for deployment of a full OpenGL-enabled VMD installation on large parallel computers. The new EGL-based graphics feature in VMD supports all of the standard VMD OpenGL features including pixel-rate lighting, multisample antialiasing, high quality transparency, text rendering, and all of the standard VMD materials and shading features.

New in VMD 1.9.3 Beta 1 (Jul 30, 2016)

  • Updated MSVC project settings for new source files in the default build.
  • Added default config for 64-bit Linux text+EGL Pbuffer builds.
  • Prevent interactive RT engines from being compiled when VMD is compiled without interactive OpenGL support.
  • Roll forward to CUDA 7.5 since both Blue Waters and Titan are now also on CUDA 7.5 finally. This means that RHEL 5.x is now too old for the default Linux makefile options.
  • Updated OptiX library directories on the Cray XK and XC machines including Blue Waters, Piz Daint, and Titan
  • qwikmd: bug fix on a sel deletion out of place
  • qwikmd: delete atomselection that were left active unnecessarily. Avoid tablelist celledition and atom representation triggered by the code. Special important for explicit solvent systems. Redo macros when topology added.
  • qwikmd: avoid tablelist cell edition triggered by the code itself. CellEdition makes all procs slower. Create representation only when requested by the user and not when loading the structure.
  • autopsf: Add quotes to atomselection containing chainIDs to prevent the error generated by the lower case x,y,z
  • qwikmd: Edit protocol proc was not checking in the tmpdir
  • qwikmd: Load previous edited protocol file (if exists) make sure that multitext can open the protocol file to be edited only locking protocol editing after generating the file to be edited (in case of save as template and template lock variable = 0)
  • qwikmd: previous winfo exists command syntax was wrong. bind the main notbook tab event in the end of the GUI construction
  • qwikmd: bug fix when trying to disable the pressure and volume radiobutton in the basic analysis according to the solvent bug fix when canceling protocol edition, values were still be changing.
  • qwikmd: correct restraints selection in the protocol table
  • qwikmd: Account for user defined macros when deleting and adding residues in the Structure Manipulation window
  • qwikmd: Water molecules don't have a dedicated macro like qwikmd_protein. Corrected code that was preventing adding and deleting water residues from working properly.
  • qwikmd: quotes in atomselection containing chain keyword to account for lower case x,y,z. Fix bug in the creation of the qwikmd lib folder when open for the first time. Change the last "qwikMD" to "QwikMD" render proc clean for unsued variables allow user to type the name of the atoms in the "Edit Atoms" window
  • qwikmd: use quotes in the atomselection of chains
  • qwikmd: Fix render frame and proc for missing variables. Change the name of structurecheck plugin. Add quotes to atomselection containing chains to account for lowercase x,y or z which are otherwise interpreted as coordinates in a selection
  • structurecheck: change the name used by the Tcl package commands to structurecheck instead of strctcheck
  • Added new structurecheck plugin required by QwikMD.
  • qwikmd: Updated to QwikMD 1.1 and added new source and config files to the build.
  • torsionplot: Applied Joao's updates to torsionplot which add a text scripting interface so that it can be used in QwikMD workflows, along with updates to check for Ramachandran outliers and marginals in PDBs without segnames.
  • autopsf: Applied Joao's patch to update the list of glycan residues and provide residue sorting functionality required for QwikMD
  • chirality: Applied Joao's patch to change the behavior of chirality text commands to return the same information available via the GUI so that it can be used as part of automated workflows such as within QwikMD or other plugins.
  • cispeptide: Applied Joao's patch to change the behavior of cispeptide text commands to return the same information available via the GUI so that it can be used as part of automated workflows such as within QwikMD or other plugins.
  • membrane: Applied Joao's patch to cause the membrane plugin to load the necessary water and ions topologies for charmm 36
  • multitext: Applied Joao's patch to allow QwikMD to call multitext with a flag to wall-in the user so that they cannot change the filename via "save as" when multitext is being driven as part of a workflow. The patch also makes the window resizable and uses ttk for layout rather than legacy pack for now.
  • Use OpenACC vector size of 256 which reduces runtime for the 1000x1000 matrix from 12.2 sec down to 3.047 sec, yielding a speedup of 4.0x over the perf achieved solely by compiler heuristics
  • Implemented 1-D loop scheme for OpenACC necessary to avoid conflicts with complex loop carried dependencies in the i,j loops
  • Misc cleanup, migrated Theobald's solver routine to the end of the file and added OpenACC directive-based variant of the key loops.
  • Converted QCP matrix code to use a single array allocation for all frames, making it straightforward to implement host-device copies for GPUs and to simplify NUMA-aware data placement.
  • Added ifdefs to protect PGCC from some hand-vectorized x86 intrinsics that cause it some trouble.
  • Added basic support for PGI compilers on Linux
  • Revised Tcl interface to use a multi-dimensional list structure to avoid max list length limitations with very large RMSD matrices (over 1 billion elements).
  • use long ints for linear indexing computations in the multithreaded load balancer and in the dissimilarity matrix, to avoid problems that start to arise around for matrices dimensions of 30,000 or more. The Tcl interface still needs to be adjusted to accomodate similarly large problem sizes.
  • Added code path to use hand-vectorized kernels if needed
  • Coarsened the RMSD matrix work scheduling granularity to 8 work items per scheduler iteration so that each worker thread operates on 8 consecutive work item indices, which promotes much greater L2/L3 cache performance that is particularly important for modern NUMA hardware. Consecutive work items are generally spatially coherent since they will be neighbors in the triangular matrix until they reach the diagonal or an edge.
  • Added multithreaded RMSD matrix implementation
  • removed some testing code from the QCP dissimilarity matrix routine
  • Implemented the QCP RMSD dissimilarity matrix calculation
  • Added measure command for testing of developmental QCP-based RMSD solver
  • Added an initial implementation of the Quaternion Characteristic Polynomial method for determining the minimum RMSD and optimal least-squares rotation matrix for a pair of atom selections. Variations of this code will be used for fast trajectory clustering analyses that require computation of very large dissimilarity (distance) matrices for use with Partition Around Medoids, k-medoids, and other clustering methods. Since clustering analyses require dissimilarity (distance) values for all N^2 structure pairs arising fron N MD simulation trajectory frames, the API will evolve to facilitate blocked/tiled computation of the the dissimilarity matrix given one or two atom selections and a range of frames.
  • Use only the multiply-add QuickSurf code path for POWER8 VSX
  • Added POWER8 VSX implementation for orbital density calculations, from the wavefunction amplitude.
  • Added initial hand-vectorized MO kernel for POWER8 VSX machine instructions
  • Completed hand-coded QuickSurf density map kernel based on POWER8 VSX vector instructions. This version avoids computing the integral power component using bit shifts and masking and instead uses the vec_expte() intrinsic which has no error for exact integer powers of two. The new code runs 20% faster overall than with xlC's autovectorized loops.
  • fftk: added hand tuning of dih parameters
  • fftk: documentation updated to include the Save MM Traj. feature
  • fftk: fixed an atomselection leak; added ability to keep the MM scan conformations
  • fftk: fixed gui sizing issue when console is turned off
  • fftk: added buttons to reorder dih scan log files
  • fftk: rearranged and updated fftk doc website
  • readcharmmtop: added new hybrid topologies from Chris Chipot
  • membrane: change default from c27 to c36
  • mutator: update to use new Charmm36 topology files
  • Applied patch from Robin Betz that corrects the parm7 plugin so that AMBER prmtop files with CHARMM parameters are parsed correctly. The prmtop files contain both comment lines and different format flags than expected by the original code. This patch allows this type of prmtop to be read in correctly.
  • fastio: Change the default I/O write strategy on Linux to limit writes to 1GB or less per call, to avoid problems with some kernel versions.
  • jsplugin: Emit more debugging information in cases where the Linux kernel returns errors and does not do partial writes
  • jsplugin: added more debugging info useful when testing with massive structures
  • Corrected PDBx plugin use of inthash
  • Upgrade integer indexing math to use long type constants
  • Upgrade internal counter types from int to long to allow 2-billion-atom selections and min/max calculations without overflow.
  • psfgen: Implement the "rename" function (although maybe it should be "renameAtom") that changes the atom name field in PDB output. Also topo_mol_set_vel() and topo_mol_set_bfactor(), both available in the Tcl interpreter as "vel" and "bfactor", in analogue to "coord".
  • Ensure that JS plugin uses long typed constants everywhere that buffer size logic is done.
  • Replaced internal indexes with long types so we don't encounter problems with arrays containing billions of atoms
  • Promote IntStack internal types to longs so we don't encounter problems past 2 billion items.
  • Added typecasts so that format specifiers work correctly with both 32-bit and 64-bit index sizes for various internal data structures.
  • Minor refactoring of BaseMolecule to streamline some of the routines involved in the initial structure analysis process after a file is loaded or "mol new atoms" has been called. Changed the code to reuse the same stack data structure across multiple iterative functions that traverse the molecular graph, so that we don't needlessly create and destroy stacks that have memory space for billions of atoms. Similarly revised some code that had been using new[]/memset/delete[] syntax in favor of old school calls to calloc() as that gives a performance boost when the OS has a large number of already-zero-cleared memory pages available for an allocation, and it pushes the clearing operation outside of our process, as something the OS could be doing itself on other CPUs while we're otherwise busy. These and similar optimizations are worth a 10% speed gain for some of the billion atom test cases run recently.
  • psfgen: Include line number and content when printing topology file errors.
  • psfgen: Support 2 billion atoms.
  • namdbinplugin: Support 2 billion atoms, reduce transient memory usage.
  • Enable rendering of structures with 2 billion atoms
  • Rewrote BaseMolecule::add_atom() to accept a count parameter that allows an arbitrary number of atoms of identical properties to be added consecutively. This provides a tremendous speed boost for the "mol new atoms" case with large atom counts in the billion range, but should not harm normal performance.
  • Rewrote the atom/residue type classification loops to achieve much higher performance which is critical when loading structures with atom counts in the billions. Added various early-exit opportunities in the analysis code which are employed in some common cases related to the use of "mol new atoms".
  • Updated BaseMolecule::find_subfragments_topologically() and BaseMolecule::find_subfragments_topologically() to allow short-circuit fast paths in the (very unusual) case when none of the NameList typecodes that we're going to search for actually exist. This is a big time saver when doing the "mol reanalyze" step after building a partial structure using "mol new atoms", particularly for hundreds of millions to billions of particles.
  • Added code to short-circuit BaseMolecule::find_waters() when we know that none of the residue names VMD looks for exist in the molecule.
  • Updated indexing arithmetic to use long typed integral constants so VMD can load systems with 2 billion atoms without trouble.
  • Define the MAXATOMBONDS macro as a long integer type so we don't encounter 32-bit integer wraparound for systems with 2 billion atoms.
  • Corrections to the Timestep class so VMD can load structures with 2 billion atoms without problems.

New in VMD 1.9.2 (Jan 5, 2015)

  • New Features and Performance Improvements:
  • Fast GPU-accelerated quality-of-fit cross correlation enables analysis of results from molecular dynamics flexible fitting (MDFF) and other hybrid structure determination methods: http://dx.doi.org/10.1039/C4FD00005F
  • New built-in TachyonL-OptiX GPU-accelerated ray tracing engine speeds up high quality image and movie renderings, particularly for scenes using ambient occlusion lighting and shadows: http://dx.doi.org/10.1145/2535571.2535595
  • VMD now includes a built-in implementation of the collective variables feature also implemented in NAMD, enabling easier preparation and analysis of NAMD simulations using collective variables: http://dx.doi.org/10.1080/00268976.2013.813594
  • Built-in support for parallel analysis and visualization using MPI, with new VMD "parallel" commands: http://dx.doi.org/10.1109/XSW.2013.10
  • Added initial support for large scale parallel scripting with Swift/T: http://www.ks.uiuc.edu/Research/swift/
  • VMD supports off-screen OpenGL rendering, enabling large scale parallel visualization runs on "headless" GPU clusters and petascale computers, using a new "-dispdev openglpbuffer" flag: http://www.ks.uiuc.edu/Publications/Papers/paper.cgi?tbcode=KLEI2014-JS
  • An improved "QuickSurf" molecular surface representation allows molecular dynamics trajectories to be animated for selections of 10,000 to over 1,000,000 atoms depending on the speed of the host machine. Fast multi-core and GPU-accelerated implementations of the QuickSurf representation enable faster/smoother trajectory playback for moderate system sizes, and interactive surface calculation for systems containing up to 100 million atoms on machines with sufficient host and GPU memory capacity: http://dx.doi.org/10.2312/PE/EuroVisShort/EuroVisShort2012/067-071 http://dx.doi.org/10.1145/2535571.2535595
  • The improved QuickSurf implementation now supports visualization of coarse-grained and cellular scale models: http://dx.doi.org/10.1002/jcc.23130 http://dx.doi.org/10.1016/j.parco.2014.03.009
  • Other updates and improvements:
  • Added initial support for ARM processors and the Android OS
  • Added support for compilation of VMD with Tcl 8.6.x
  • New and improved plugins and extensions:
  • Bendix: calculates and visualizes both dynamic and static helix geometry, and abstracts helices without sacrificing conformation: http://sbcb.bioch.ox.ac.uk/Bendix/
  • FFTK: The Force Field Toolkit (FFTK) plugin is a set of tools that aid users in the development of CHARMM-compatible force field parameters, including: charges, bonds, angles, and dihedrals http://www.ks.uiuc.edu/Research/vmd/plugins/fftk/
  • MDFF: added option in mdff setup to use implicit solvent
  • NetworkView: a plugin for the study of allostery and signalling through network models, allowing networks can be loaded and mapped onto molecular structures loaded in VMD
  • NMWiz: A normal mode analysis plugin
  • psfgen: Add non-plugin NAMD binary file writing command "writenamdbin". Properly handle insertion codes by appending the code to the resid string as in "48A". Read and write insertion code in resid field of psf file. Add "readpsf file.psf pdb file.pdb" to read insertion code from pdb file. Add "regenerate resids" to remove insertion codes with minimal residue renumbering. Leave atoms in reasonable order when applying patches. Do not generate O-H-H angles (assume these are water molecules). Free old memory when regenerating angles or dihedrals for entire structure. Handle masses as large as 99999. Use 6-wide atom type when writing CHARMM EXT format X-PLOR psf file. Use field width of 10 when reading CHARMM EXT angles/dihedrals/impropers/cmaps.
  • Remote: A plugin for managing VMD remote control connections from mobile phones and wireless tablet devices
  • Timeline: improved graphical interface with better zooming, and improved display of very long timescale trajectories
  • topotools: New topogromacs features, allow support replication of non-orthogonal cells, handle low-dimensional system box dimensions consistent with LAMMPS, fix bug in writing non-orthogonal boxes reported by Sandeep Kumar Reddy, add support for new Coeff section in LAMMPS data files, add support for writing LAMMPS data files with triclinic cells.
  • Modified TkCon to prevent it from sourcing command line args as script files at startup.
  • New and improved file import and export:
  • cubeplugin: Make the parser for the cubefile header more resilient when new fields are added like in g09 rev d.01.
  • dcdplugin: Changed the dcdplugin reader code to avoid using readv() to prevent problems when reading 240M-atom trajectories on some versions of Linux.
  • dlpolyplugin: Fixed a typo in the PBC unit cell basis vector orthogonality check.
  • gamessplugin: Fixed reading of minimization steps for recent builds of Firefly 8
  • gromacsplugin: Updates to gromacsplugin adding .gro write support, contributed by Magnus Lundborg. Changed .gro parsing code to use fixed field widths to address problems with files that had no spaces between the coordinate fields.
  • jslugin: Changed the jsplugin reader code to avoid using readv() to prevent problems when reading 240M-atom trajectories on some versions of Linux.
  • lammpsplugin: Support LAMMPS native trajectories with variable number of atoms through provisioning constant storage via an environment variable LAMMPSMAXATOM. Fixed bug in handling triclinic cells with negative tilt factors.
  • maeffplugin: Fixed uninitialized optflags state in maeffplugin, so that compilations that don't define DESRES_CTNUMBER will behave correctly.
  • moldenplugin: Fixed various limitations that had previously caused problems for Terachem users. Use case-insensitive string comparisons when reading shell types from Molden files.
  • molemeshplugin: Added Brian Bennion's plugin for reading mesh files produced by MOLE 2.0.
  • offplugin: Fixed internal initialization bug
  • psfplugin: Handle various bond/angle/dihedral/improper misformattings for 10M-100M-atom structures. Made the PSF plugin allow NAMD-tagged PSF files to use a space delimited bond record format since NAMD accepts that variation.
  • rst7plugin: Added support for reading and writing box and velocity information.
  • tngplugin: Added support for the new Gromacs TNG plugin
  • vtfplugin: Allow compilation of VTF plugin without Tcl, updated to latest version by Olaf Lenz
  • xsfplugin: Fixed a problem with the interpretation of the cell vectors in cases that must be rotated.
  • User documentation updates:
  • Minor improvements and corrections to the VMD User's Guide, added documentation for new commands, graphical representations, and environment variables.
  • parsefep: Updated ParseFEP docs with latest files from Chris Chipot.
  • vdna: Updated Tom Bishop's contact info in the docs
  • Bug fixes and small improvements:
  • NetworkView: small GUI improvements and fixes
  • fftk: fixes to GenZMatrix to allow for more general ACC/DON assignments
  • Fixed a potential crash in the x86 SSE-accelerated version of the wavefunction calculation for the Orbital representation
  • Fixed an Interactive MD force cancellation bug that occured most frequently when using Mouse-based control and multi-atom targets
  • Fixed an old bug with 2-atom and 3-atom alignments
  • Fixed a bug prevented clean compilations without Tcl, needed for early Android testing.
  • Updated the VMD copy of WKFThreads from the latest version of Tachyon.

New in VMD 1.9.2 Beta 1 (Sep 15, 2014)

  • New Features and Performance Improvements:
  • Fast GPU-accelerated quality-of-fit cross correlation enables analysis of results from molecular dynamics flexible fitting (MDFF) and other hybrid structure determination methods: http://dx.doi.org/10.1039/C4FD00005F
  • New built-in TachyonL-OptiX GPU-accelerated ray tracing engine speeds up high quality image and movie renderings, particularly for scenes using ambient occlusion lighting and shadows: http://dx.doi.org/10.1145/2535571.2535595
  • VMD now includes a built-in implementation of the collective variables feature also implemented in NAMD, enabling easier preparation and analysis of NAMD simulations using collective variables: http://dx.doi.org/10.1080/00268976.2013.813594
  • Built-in support for parallel analysis and visualization using MPI, with new VMD "parallel" commands: http://dx.doi.org/10.1109/XSW.2013.10
  • Added initial support for large scale parallel scripting with Swift/T: http://www.ks.uiuc.edu/Research/swift/
  • VMD supports off-screen OpenGL rendering, enabling large scale parallel visualization runs on "headless" GPU clusters and petascale computers, using a new "-dispdev openglpbuffer" flag: http://www.ks.uiuc.edu/Publications/Papers/paper.cgi?tbcode=KLEI2014-JS
  • An improved "QuickSurf" molecular surface representation allows molecular dynamics trajectories to be animated for selections of 10,000 to over 1,000,000 atoms depending on the speed of the host machine. Fast multi-core and GPU-accelerated implementations of the QuickSurf representation enable faster/smoother trajectory playback for moderate system sizes, and interactive surface calculation for systems containing up to 100 million atoms on machines with sufficient host and GPU memory capacity: http://dx.doi.org/10.2312/PE/EuroVisShort/EuroVisShort2012/067-071 http://dx.doi.org/10.1145/2535571.2535595
  • The improved QuickSurf implementation now supports visualization of coarse-grained and cellular scale models: http://dx.doi.org/10.1002/jcc.23130 http://dx.doi.org/10.1016/j.parco.2014.03.009
  • Other updates and improvements:
  • Added initial support for ARM processors and the Android OS
  • Added support for compilation of VMD with Tcl 8.6.x
  • New and improved plugins and extensions:
  • Bendix: calculates and visualizes both dynamic and static helix geometry, and abstracts helices without sacrificing conformation: http://sbcb.bioch.ox.ac.uk/Bendix/
  • FFTK: The Force Field Toolkit (FFTK) plugin is a set of tools that aid users in the development of CHARMM-compatible force field parameters, including: charges, bonds, angles, and dihedrals http://www.ks.uiuc.edu/Research/vmd/plugins/fftk/
  • MDFF: added option in mdff setup to use implicit solvent
  • NetworkView: a plugin for the study of allostery and signalling through network models, allowing networks can be loaded and mapped onto molecular structures loaded in VMD
  • NMWiz: A normal mode analysis plugin
  • psfgen: Add non-plugin NAMD binary file writing command "writenamdbin". Properly handle insertion codes by appending the code to the resid string as in "48A". Read and write insertion code in resid field of psf file. Add "readpsf file.psf pdb file.pdb" to read insertion code from pdb file. Add "regenerate resids" to remove insertion codes with minimal residue renumbering. Leave atoms in reasonable order when applying patches. Do not generate O-H-H angles (assume these are water molecules). Free old memory when regenerating angles or dihedrals for entire structure. Handle masses as large as 99999. Use 6-wide atom type when writing CHARMM EXT format X-PLOR psf file. Use field width of 10 when reading CHARMM EXT angles/dihedrals/impropers/cmaps.
  • Remote: A plugin for managing VMD remote control connections from mobile phones and wireless tablet devices
  • Timeline: improved graphical interface with better zooming, and improved display of very long timescale trajectories
  • topotools: New topogromacs features, allow support replication of non-orthogonal cells, handle low-dimensional system box dimensions consistent with LAMMPS, fix bug in writing non-orthogonal boxes reported by Sandeep Kumar Reddy, add support for new Coeff section in LAMMPS data files, add support for writing LAMMPS data files with triclinic cells.
  • Modified TkCon to prevent it from sourcing command line args as script files at startup.
  • New and improved file import and export:
  • cubeplugin: Make the parser for the cubefile header more resilient when new fields are added like in g09 rev d.01.
  • dcdplugin: Changed the dcdplugin reader code to avoid using readv() to prevent problems when reading 240M-atom trajectories on some versions of Linux.
  • dlpolyplugin: Fixed a typo in the PBC unit cell basis vector orthogonality check.
  • gamessplugin: Fixed reading of minimization steps for recent builds of Firefly 8
  • gromacsplugin: Updates to gromacsplugin adding .gro write support, contributed by Magnus Lundborg. Changed .gro parsing code to use fixed field widths to address problems with files that had no spaces between the coordinate fields.
  • jslugin: Changed the jsplugin reader code to avoid using readv() to prevent problems when reading 240M-atom trajectories on some versions of Linux.
  • lammpsplugin: Support LAMMPS native trajectories with variable number of atoms through provisioning constant storage via an environment variable LAMMPSMAXATOM. Fixed bug in handling triclinic cells with negative tilt factors.
  • maeffplugin: Fixed uninitialized optflags state in maeffplugin, so that compilations that don't define DESRES_CTNUMBER will behave correctly.
  • moldenplugin: Fixed various limitations that had previously caused problems for Terachem users. Use case-insensitive string comparisons when reading shell types from Molden files.
  • molemeshplugin: Added Brian Bennion's plugin for reading mesh files produced by MOLE 2.0.
  • offplugin: Fixed internal initialization bug
  • psfplugin: Handle various bond/angle/dihedral/improper misformattings for 10M-100M-atom structures. Made the PSF plugin allow NAMD-tagged PSF files to use a space delimited bond record format since NAMD accepts that variation.
  • rst7plugin: Added support for reading and writing box and velocity information.
  • tngplugin: Added support for the new Gromacs TNG plugin
  • vtfplugin: Allow compilation of VTF plugin without Tcl, updated to latest version by Olaf Lenz
  • xsfplugin: Fixed a problem with the interpretation of the cell vectors in cases that must be rotated.
  • User documentation updates:
  • Minor improvements and corrections to the VMD User's Guide, added documentation for new commands, graphical representations, and environment variables.
  • parsefep: Updated ParseFEP docs with latest files from Chris Chipot.
  • vdna: Updated Tom Bishop's contact info in the docs
  • Bug fixes and small improvements:
  • NetworkView: small GUI improvements and fixes
  • fftk: fixes to GenZMatrix to allow for more general ACC/DON assignments
  • Fixed a potential crash in the x86 SSE-accelerated version of the wavefunction calculation for the Orbital representation
  • Fixed an Interactive MD force cancellation bug that occured most frequently when using Mouse-based control and multi-atom targets
  • Fixed an old bug with 2-atom and 3-atom alignments
  • Fixed a bug prevented clean compilations without Tcl, needed for early Android testing.
  • Updated the VMD copy of WKFThreads from the latest version of Tachyon.

New in VMD 1.8.6 (Jun 9, 2008)

  • User documentation updates
  • Minor improvements and corrections to the VMD User's Guide, added documentation for new commands and environment variables.
  • New and updated tutorials available for advanced images and movie making, 3-D PDF export, Tachyon ambient occlusion lighting, electrostatic surface coloring, and density map based atom selections.
  • User interface changes
  • New "User" picking mode for use with user defined scripts and plugins
  • General Improvements
  • Support for 3-D capture with Acrobat 3-D, for creation of documents which embed 3-D molecular structures.
  • VMD renderings can now use Tachyon's advanced ambient occlusion lighting for tremendously improved 3-D renderings of molecular graphics. This advanced lighting mode can greatly enhance the shading of pores and channels, structures with cavities, and other cases which typically require the use of depth cueing for better depth perception.
  • VMD now supports the nVidia "Gelato" GPU-accelerated production quality rendering package. VMD exports scenes in Gelato's native PYG file format, as well as the RenderMan RIB format.
  • By default VMD will now use all of the available processors to accelerate parallelized portions of the code which currently include several structure analysis routines, Interactive MD, and ray tracing.
  • Overall per-atom memory use has been significantly decreased. VMD now uses just over half as much memory per atom compared with previous versions, leaving more space available for additional trajectory frames or for more molecules to be loaded at once.
  • VMD structure loading and analysis scalability have been significantly improved. VMD has been successfully tested loading and analyzing structures of up to 72,000,000 atoms.
  • Automatic bond determination algorithm now runs up to 3 times faster on single processor systems, and uses multiple processors for improved performance on multicore processors and multiprocessor workstations.
  • Drastically improved multi-thousand-file structure loading performance when display update is disabled. This benefits batch mode VMD analysis jobs involving analysis of thousands of structures, e.g. loading and searching large subsets of the PDB.