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
Processing of data
Visualization of spatial geometry
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,
the data into a format which is suitable for visualization. The
main data, which is read from the output, are the atomic coordinates,
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
when the optimization is fully completed but also from the data
of the last step, during the geometry optimization. This feature
one to control the process of optimization directly. Moreover,
module collects the information from all steps and creates from
it initial data sets for the animation of the geometry optimization
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,
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
necessary information (not concerning the data set) such as task
conditions is displayed in a separate pop-up window.
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
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
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
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 |