Visualization is the primary way to interpret the vast amount of data generated by computational science techniques. As a result of the rapid development of new and more powerful computer systems, the execution of complex calculations becomes a routine task. Therefore there is a need for efficient software for analyzing and visualizing large data sets. To address these needs we have developed a new quantum chemistry visual analysis software called the Network Visualization System for Computational Chemistry (NVSCC).

Processing of data
A Data Processing module collects original data from data sources, links them, and modifies them into data set for subsequent visualization operations. As external data, this module gathers data from the GAUSSIAN output files, taking into account various input formats, and transforms the data into a format which is suitable for visualization. The main data, which is read from the output, are the atomic coordinates, which are usually presented in Cartesian form and sometimes in a z-matrix or redundant form. One of the main advantages of this program is the possibility to read atomic coordinates not only from archive output when the optimization is fully completed but also from the data of the last step, during the geometry optimization. This feature allows one to control the process of optimization directly. Moreover, this module collects the information from all steps and creates from it initial data sets for the animation of the geometry optimization path. Apart from geometric data, this module reads molecular property information such as electronic spectra, vibration spectra, atomic charge, etc. This module can also accept the GAUSSIAN “cube” files with cubical grids of values of appropriate molecular properties as a function of the x, y, and z coordinates. As internal data, the Data Processing module gathers metadata (units, scales, color tables, and another mapping attributes), command data (mouse screen coordinates, scale width, scale height), and data from built-in libraries. Before visualization, the data set may be scaled to fit on the screen. The necessary information (not concerning the data set) such as task conditions is displayed in a separate pop-up window.

Visualization of spatial geometry
For better visual presentation of molecular systems, there are many rendering options available including sticks, ball-and-cylinders, and overlapping spheres. Rendering is very flexible, allowing users to change sticks and cylinder width, ball and sphere radii, colors of atoms, as well as to switch easily between rendering styles. The stick rendering permits rotation, translation, and changes in the magnification of molecules faster than other styles. The ball-and-cylinder and overlapping spheres rendering is slower and demands more computer memory but provides a better 3D view of molecules. In order to set a convenient display of the whole system or its separate parts, there are such tools available in the visualization module as in-plane (around the z axis) and out-of-plane rotation, translation, and zoom functions of molecular systems. All tools can work dynamically by dragging a mouse in the workspace or step-by-step by choosing rotation, translation, or zoom factors in the appropriate dialog boxes. The reconstruction of original state of the molecular system after the use of the tools could be accomplished by the restore function. For better monitoring the size of the molecular system, the ability to set the coordinate grid on the screen is available.

In many cases it is necessary to visualize not only a molecular system after the final stage of optimization but also the molecule’s changes through all cycles of optimization. To provide such an opportunity, the Visualization module has an Animation function. When an output file is read, the coordinates of the molecule from all cycles are preserved in the buffer. This function retrieves the coordinates from the buffer and creates a picture for animation. The displayed time of each animation picture can be set in the dialog box. In addition, this function allows users to choose any parameter (for example, bond length or angle) and monitor its change during animation. Moreover, this function allows users to display any step of the optimization instead of the whole process of animation.

The Visualization module can work in single screen as well as in multiscreen mode. In the multiscreen mode users can split the screen into two screens for visualizing the information from two files simultaneously. This feature is very useful for comparing close molecular configurations using outputs from different two tasks. In this and following figures the provided data is taken from our resent studies on the DNA bases and their complexes. This module allows one to switch between screens for manipulating molecules and to return to one-screen mode. Moreover, the multiscreen mode allows one to merge two molecules into one. If the molecules are scaled differently, their coordinates are normalized into equal scale.

The program also offers a selection function. This tool allows for the selection of atoms, molecules, residues, and fragments of a molecular system for specific procedures or operations. The selected structures can be rotated around the atomic bond or a chosen point on the screen, translated on the screen, or deleted from the molecule. Users can also specify length for precision translation or plain or torsion angles for precise rotation of any fragment. This module also allows one to draw single, double, and triple bonds between the selected atoms as well as to delete atomic bonds. Moreover, it allows one to retrieve atoms on the screen from the Periodic Table or to pick up standard molecular structures such as an aromatic ring or alcohol side chain from the built-in Molecular Fragments Library (which is convenient for the creation of input files). The selection tool can also be used to obtain geometry information concerning the selected structure, which can be displayed in the status line.

Visualization of molecular properties
It is important for studies of molecular structures to display not only geometrically reconstructed molecules but also such molecular features as electrostatic potential, spin density, orbitals, etc. The program can visualize them in the form of 2D contour maps or 3D isosurfaces using the GAUSSIAN “cube” files with simple cubical grids of values of appropriate molecular properties as a function of the x, y, and z coordinates .

A contour map is a two-dimensional plot on a plane of a chosen cross-section of the molecule. The values of a function are displayed using contour lines. To plot this, the Level Curve Tracing algorithm has been implemented. This algorithm takes as input a two-dimensional array of function values in all grid points on a selected plane and an array of level curve heights and is based on the curve tracing through all appropriate grid cells. Comparing the height of the level curve with the function values at the endpoints of each cell, we can determine whether the curve intersects this cell or not and plot a line segment of the curve in the positive case. In degenerative cells, when the cells contain a saddle point or have a ridge or a valley running through them and all four edges contain vertices, two line segments are plotted from the lower towards the higher coordinates. The level curve heights are determined by boundary values and a step assigned from the dialog box. An appropriate vertical, horizontal, or frontal plane for plotting the contour map can be chosen, and users can interactively shift the plane step-by-step. Curves can be plotted in monochrome as well as in color.

Isosurfaces are shapes connecting points of constant value in 3D space. They are created displaying all points in the grid at a reference value. Rendering for isosurfaces is presented with point, wire mesh, and solid surface models. An algorithm for the wire-mesh model is quite the same as for contour maps, but curves are plotted in all vertical, horizontal, and frontal planes. The solid surfaces are constructed using the modified Marching Cubes algorithm. The surface value is compared with the function values at the endpoints of each cubic cell, whereupon a triangulated cubic pattern is picked up from the built-in base of 128 cubic patterns. In degenerative cells, to relate side patterns with each other, the side patterns from lower towards higher coordinates are directed. This is a very fast and effective method to plot solid surfaces.

Moreover, the program visualizes vibration spectra of molecules in the form of bar diagrams: frequencies versus IR intensity. Picking up from this diagram the appropriate vibration mode, the vibration spectrum can be visualized in the form of an animated picture as well as in the form of displacement vectors according to this vibration mode.

Visualization of periodical structures
The program also includes a module that allows one to construct and display any 3D periodic molecular structures based on lattice parameters such as the Bravais lattice, atom positions, and symmetry. These structures can be displayed as a single unit cell or an array of cells up to 1000 units. The general procedure for building such structures consist of three steps:

  • the specification of an asymmetric unit that can be performed by loading a model;
  • the specification of a crystal lattice type for unit cells with appropriate crystallographic parameters (cell lengths and cell angles);
  • the selection of a space group (which also may be built from various symmetry operators).

  • These structures are represented in ball-and-sticks and coordination polyhedrons rendering models. This module can also display crystallographic planes specified by Miller indices and can change the view plane of a crystal arrangement along a set of planes.

     | Go to Top | Home |
    2000-2003 © CCMSI